0

I imported dump file using data pump to another DB_B on the same server. The server already contains the same DB_A which has similar contents as the dump file. I did the following command (below) with DB_A and it works perfectly but when I used it to make DB_B i hit several errors most notable is posted below. We need DB_A for a different purpose and DB_B also has its purpose but we're short on Servers so I had to put both of them in one server. I know the error would overwrite some files already used by DB_A. But how do I make another DB_B instance that has its own set of files and is not being shared by DB_A? Any advice on this is greatly appreciated. Thanks

import command

C:\>impdp SYSTEM/password@DB_B directory=imp_dir dumpfile=dumpFile.dmp logfile=Log.log full=yes

Error Log

 CREATE TABLESPACE "SOPLOG_IDX" DATAFILE 'D:\APP\ADMINISTRATOR\ORADATA\DB_A\IDX01.DBF' SIZE 104857600 AUTOEXTEND ON NEXT 1048576 MAXSIZE 32767M LOGGING ONLINE PERMANENT BLOCKSIZE 8192 EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEF
    ORA-39083: Object type TABLESPACE failed to create with error:
    ORA-01119: error in creating database file 'D:\APP\ADMINISTRATOR\ORADATA\DB_A\LOG01.DBF'
    ORA-27038: created file already exists
    OSD-04010: <create> option specified, file already exists

update

I don't think that there is no solution to what I wanted to happen. I found this site explains something about what I want. The only option for me right now is to create a VM that will host an oracle database 11g or higher and import my dump file to that VM. Then I'll just configure network options so others can see the database. This way I can get to retain the same tablespaces, schemas, users and so on without remapping or renaming the whole thing. This link will download Oracle DB VM where I can import my DB. Although am still open to suggestions if there are any :)

dimas
  • 2,487
  • 6
  • 40
  • 66

1 Answers1

0

You are having this error because you don't have the SOPLOG_IDX in DB_B so import datapump tries to create it on DB_B but it can't because the datafile D:\APP\ADMINISTRATOR\ORADATA\DB_A\IDX01.DBF exists already on your server which is what we expect because it is a part of your DB_A.

What you can do is to create the tablespaces necessary for the import on DB_B before executing it with the same names but different datafiles. Par Ex:

CREATE TABLESPACE "SOPLOG_IDX" DATAFILE 'D:\APP\ADMINISTRATOR\ORADATA\DB_**B**\IDX01.DBF' SIZE 104857600

Or you can use the parameter remap_tablespace to send the objects to a tablespace which exists already on your DB_B. This will change tablespaces(Mr.Obvious) but the rest will be the same thing another Database.

NSNoob
  • 5,548
  • 6
  • 41
  • 54
BulentB
  • 318
  • 1
  • 4