我正在将数据库从一台服务器迁移到另一台服务器。在迁移过程中,我们将文件系统结构从:
/appli2/oradata05/HISTO/
/appli2/oradata06/HISTO/
/appli2/oraredolog01/HISTO/
/appli2/oraarch/HISTO/
至
/appli2/oracle/HISTO/oradata05
/appli2/oracle/HISTO/oradata06/HISTO/
/appli2/oracle/HISTO/oraredolog01/HISTO/
/appli2oracle/HISTO/oraarch/HISTO/
根据这些变化,我得到了错误:
Starting "SYSTEM"."SYS_IMPORT_FULL_01": SYSTEM/******** DIRECTORY=MIG11G DUMPFILE=20131125_full_HISTO.expdp LOGFILE=impdp_dump_HISTO_r7.log parallel=4
Processing object type DATABASE_EXPORT/TABLESPACE
ORA-31684: Object type TABLESPACE:"UNDO" already exists
ORA-31684: Object type TABLESPACE:"TEMP" already exists
ORA-31684: Object type TABLESPACE:"TOOLS" already exists
ORA-39083: Object type TABLESPACE failed to create with error:
ORA-01119: error in creating database file '/appli2/oradata05/HISTO/HISTO_tab_anc_01.dbf'
ORA-27040: file create error, unable to create file
IBM AIX RISC System/6000 Error: 13: Permission denied
Failing sql is:
CREATE TABLESPACE "TAB_ANC" DATAFILE '/appli2/oradata05/HISTO/HISTO_tab_anc_01.dbf' SIZE 1048576000,'/appli2/oradata05/HISTO/HISTO_tab_anc_02.dbf' SIZE 2146435072 LOGGING ONLINE PERMANENT BLOCKSIZE 8192 EXTENT MANAGEMENT LOCAL UNIFORM
ORA-39083: Object type TABLESPACE failed to create with error:
ORA-01119: error in creating database file '/appli2/oradata06/HISTO/HISTO_idx_anc_01.dbf'
ORA-27040: file create error, unable to create file
IBM AIX RISC System/6000 Error: 13: Permission denied
Failing sql is:
CREATE TABLESPACE "IDX_ANC" DATAFILE '/appli2/oradata06/HISTO/HISTO_idx_anc_01.dbf' SIZE 1048576000,'/appli2/oradata06/HISTO/HISTO_idx_anc_02.dbf' SIZE 2146435072 LOGGING ONLINE PERMANENT BLOCKSIZE 8192 EXTENT MANAGEMENT LOCAL UNIFORM
是否可以只导入当前文件系统结构中的数据?我看到了 remap 命令,但我从未使用过它,如果它是问题的答案,有人可以举一个例子来使用它。
remap_tablespace:source_tablespace_1:user,source_tablespace_2:user
回复你的评论,
all
是content
keyword的默认值,所以你可以忽略这个。无论如何,我已经做了一些测试。我不知道您的旧数据库是如何构建的,但是从您的问题中我注意到您只想导入两个表空间(TAB_ANC,IDX_ANC)以及其中的所有对象/模式。如果你想这样做,你可以执行这种导入:
参数文件是这个:
如您所见,您需要包含这些表空间中包含的所有模式(或者您也可以在新数据库中从头开始创建它们)。要验证这些模式,您可以运行如下查询:
当您在具有不同文件命名约定的平台之间移动数据库时,重新映射数据文件很有用。
我认为
remap_tablespace
当您已经(手动)在目标数据库中创建了所有必需的表空间但名称不同时,您可以使用。