为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: 8
【操作系统】:windows11
【CPU】: inter
【问题描述】*:
我有SYSDBA用户,我从public模式下导出了dmp文件。
现在我想把public模式下的表和数据都导入到test模式。
我使用一下的命令,我发现并不能新建test并完成导入。
相反如果不存在public的话 它总是会新建public模式 然后导入到public模式下。 remap_schema 指令为什么不生效呢????????
我发现生成的dmp文件中带有public模式字眼,但是remap_schema命令不就是做更改模式用的吗。
/dimp
USERID=SYSDBA/SYSDBA123@127.0.0.1:5231 NOLOG=N FILE=C:\Users\user\Desktop\imp_exp.dmp ROWS=Y TRIGGERS=Y INDEXES=Y GRANTS=Y CONSTRAINTS=Y FULL=Y LOG=db_str.log REMAP_SCHEMA=public:test
dimp help中是否支持REMAP_SCHEMA参数
大小写是否有关系,模式名改成大写,测试下看看呢
参考下,我这里是大小写敏感的库
当模式public是小写的
dexp sysdba/SYSDBA:5238 FILE=/tmp/dexp.dmp log=/tmp/dex.log SCHEMAS=\"public\"
dimp sysdba/SYSDBA:5238 FILE=/tmp/dexp.dmp log=/tmp/dimp.log remap_schema=\"public\":test
当模式public是大写的
dexp sysdba/SYSDBA:5238 FILE=/tmp/dexp.dmp log=/tmp/dimp.log SCHEMAS=public
dimp sysdba/SYSDBA:5238 FILE=/tmp/dexp.dmp log=/tmp/dimp.log remap_schema=public:test
模式映射的话应该不会新建映射后的模式,如果目的模式不存在需要先新建模式,然后在继续导入