Oracle schema 级别的数据迁移
Oracle schema 级别的数据迁移
最近一段时间,跟着FALABELLA和FM两个项目组,做Oracle DB相关的支持工作,因为项目属于开发阶段,总有一些数据库的复制工作,比较了几种方法,感觉用EXPDP/IMPDP还不错,能顺利实现开发人员的需求。 需求:实现user/schema级别的数据迁移。
版本:Oracle Enterprise 11g R2
总体来说分为以下几步:
1.查看原库和目标库的DUMP目录。
- SQL> select * from dba_directories;
- SYS SUBDIR /opt/oracle/app/oracle/product/11.2.0/dbhome_1/demo/schema/order_entry/2002/Sep
- SYS SS_OE_XMLDIR /opt/oracle/app/oracle/product/11.2.0/dbhome_1/demo/schema/order_entry/
- SYS LOG_FILE_DIR /opt/oracle/app/oracle/product/11.2.0/dbhome_1/demo/schema/log/
- SYS DATA_FILE_DIR /opt/oracle/app/oracle/product/11.2.0/dbhome_1/demo/schema/sales_history/
- SYS XMLDIR /ade/b/2125410156/oracle/rdbms/xml
- SYS MEDIA_DIR /opt/oracle/app/oracle/product/11.2.0/dbhome_1/demo/schema/product_media/
- SYS DATA_PUMP_DIR /opt/oracle/app/oracle/admin/oracle/dpdump/
- SYS ORACLE_OCM_CONFIG_DIR /opt/oracle/app/oracle/product/11.2.0/dbhome_1/ccr/state
- 8 rows selected.
上面 DATA_PUMP_DIR就是直接可以用的DUMP目录,导出文件和导入文件就放在上面的路径下,如果没有,则需要手动创建并赋给读/写权限。
- SQL>CONN sys /as sysdba
- SQL>CREATE DIRECTORY DATA_PUMP_DIR AS '/opt/oracle/app/oracle/admin/oracle/dpdump/';
- SQL>GRANT READ,WRITE ON DIRECTORY TO TEST;
2.对比原库和目标库的username和tablespace
如果目标库中没有需要导入的username和tablespace,则需要在目标库中创建username和tablespace。
- SQL> select username,default_tablespace from dba_users; --查看原库中的用户和对应的默认表空间
- SQL> create tablespace test_tbs datafile '/opt/oracle/oradata/test/TEST_TBS01.DBF' size 1024m autoextend on;
- SQL> create user test identified by test default tablespace test_tbs;
3.导出脚本
- expdp system/oracle@orcl DIRECTORY=DATA_PUMP_DIR DUMPFILE=FALABELLA_20111014.DMP SCHEMAS=FALABELLA_CL_CATA,FALABELLA_CL_CATB,FALABELLA_CL_PUB logfile=falabella_expdp_20111014.log status=10 parallel=4 CONTENT=ALL
4. 导入脚本
- --需要从一个schema导入到另一个schema
- impdp system/oracle@TEST DIRECTORY=dump_dir DUMPFILE=ATG_12OCT11.dmp LOGFILE=impdp_mf_20111013_2.log SCHEMAS=QA2_ATGPUB_MF,QA2_ATGCATALOGA_MF REMAP_SCHEMA=QA2_ATGPUB_MF:QA2_ATGPUB_MF,QA2_ATGCATALOGA_MF:QA2_ATGCATALOGB_MF CONTENT=ALL PARALLEL=4 STATUS=10 TABLE_EXISTS_ACTION=REPLACE
- --不需要更名schema
评论暂时关闭