IMPDP
只能把低版本中的数据导入高版本中
如果高版本导入低版本的话 需要加一个参数
version=11.2.0.4.0
hdsoaware_test
create directory BACKUP_DIR as ‘/oracle/oradata/hdsoaware/backup_dir’
导入impdp
[oracle@localhost ~]$ impdp ‘sys/sys as sysdba’ parallel=2 directory=BACKUP_DIR dumpfile=SOAWARE_BAK.DMP remap_schema=SOAWARE:hdsoaware_test remap_tablespace=SOAWARE:hdsoaware_test;
impdp soaware_test/soaware_test parallel=2 directory=BACKUP_DIR dumpfile=SOAWARE_BAK.DMP schemas=fmis1500
impdp ‘sys/sys@soawaret as sysdba’ directory=BACKUP_DIR dumpfile=SOAWARE_BAK.DMP PARALLEL=2 schemas=soaware_test
C:\Users\Administrator\Desktop\2015-08-10
TABLE_EXISTS_ACTION Action to take if imported object already exists.
Valid keywords: (SKIP), APPEND, REPLACE and TRUNCATE.
table_exists_action=replace
full=y
#导入时更换用户(原用户名:新用户名)
remap_schema=scott:b
#导入时更换表空间(原表空间:新表空间)
remap_tablespace=users:b;
impdp ‘’/ as sysdba’’ parallel=2 directory=aa dumpfile=scott01.dmp,scott02.dmp remap_schema=scott:b remap_tablespace=users:b version=11.1.0.6.0;
impdp system/sys parallel=3 directory=backup_dir dumpfile=CWDB_BAK.dmp logfile=IMP_CWDB.log table_exists_action=replace EXCLUDE=TABLE_STATISTICS
db_linke
create public database link <DBLink名称> connect to <被连接库的用户名> identified by <被连接库的密码> using ‘tnsnames.ora中定义的’;
B库
create public database link toa connect to system identified by system using ‘orcl’;
drop public database link toa;
tnsnames.ora
orcl =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.77)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
impdp XXXX/XXXX NETWORK_LINK=XXXXX FULL=Y
impdp '/ as sysdba ’ directory=DATA_PUMP_DIR network_link=gomftst logfile=imp_mftst.log version=10.2.0.3
parallel=2 schemas=‘goex_admin,fix_admin’
CREATE DATABASE LINK dmp_link CONNECT TO rman IDENTIFIED BY rman USING ‘catalog’;
四、在目标数据库上创建directory对象
以oracle用户登录目标数据库
1、创建一个目录,假设为 /oracle/dmp,并保证这个目录oracle用户可读写
2、以sysdba身份登录数据库,创建directory对象,并给这个对象赋予读写权限
3、然后登录数据库,执行如下语句:
复制代码 代码如下:
$ sqlplus / as sysdba
create or replace directory BACKUP_DIR as ‘D:\Backup’;
grant read,write on directory BACKUP_DIR to public;
sql> exit;
五、在目标数据库上执行impdp命令,导入数据
impdp rman/rman/orcl network_link=dmp_link remp_schema=source_schema:target:shcema remap_tablespace=source_tablespace:target:tablespace
总结:从以上经历可以看出,成功地通过网络导入数据库(不生成DMP文件)需要注意以下内容:
1、 在B服务器数据库创建到A服务器数据库的public db link;
2、 在system下创建Directory,并赋予其读写权限,同时赋予SYS.UTL_FILE的执行权限;
3、 执行脚本参数位置,DIRECTORY=TEMP_A_USER1必须放在前面,parallel=8不能放在最后,是不是Oracle bug没确定过。