|
前言:DMP文件的导入,导出有两种方式,分别为EXP/IMP和EXPDP/IMPDP,EXPDP/IMPDP是Oracle 10G以后的一种新的数据导入导出方式,也称为数据泵,本文只介绍EXPDP/IMPDP的导入导出方式。 一:查看当前Oracle的directory SELECT * FROM dba_directories; 
此directory为dmp文件导入,导出的路径,在实际应用中,可以新建一个directory用来放dmp文件。 新建directory:CREATE [OR REPLACE] directory dir_name AS 'path_name'; 授权directory:grant READ, WRITE ON directory dir_name TO user_name; 删除directory:drop directory dir_name; 二:导出 expdp 用户名/密码@数据库实例名 directory=导出目录 dumpfile=导出的文件名.dmp logfile=导出的日志名.log (一).基于表模式的导出: expdp user_name/user_password directory=dir_name dumpfile=dmp_file_name.DMP logfile=log_file_name.log tables =table_name1,table_name2,table_name3 示例如下: expdp hap_prod_230_0304/hap_prod_230_0304 directory=DUMP_DIR dumpfile=circ_method_f_imp.DMP logfile=circ_method_f_imp.log tables=circ_method_f_imp

(二).基于用户模式导出: expdp user_name/user_password directory=dir_name dumpfile=dmp_file_name.DMP logfile=log_file_name.log schemas=user_name 示例如下: expdp hap_prod_230_0304/hap_prod_230_0304 directory=DUMP_DIR dumpfile=hap_prod_230_0304.DMP logfile=hap_prod_230_0304.log schemas=hap_prod_230_0304 

(三).基于表空间导出: expdp user_name/user_password directory=dir_name dumpfile=dmp_file_name.DMP logfile=log_file_name.log tablespaces=tablespaces_name 示例如下: expdp hap_prod_230_0304/hap_prod_230_0304 directory=DUMP_DIR dumpfile=hap_prod_230_0304.DMP logfile=hap_prod_230_0304.log tablespaces=HAP_PROD_TBS 

三:导入 impdp 用户名/密码@数据库实例名 directory=导入目录 dumpfile=导入的文件名.dmp logfile=导入的日志名.log DMP文件的导入需要考虑两个问题: 1.导入的表空间与原数据表空间是否一致(不一致的话,使用remap_tablespace参数) 2.导入的用户与原用户是否一致(不一致的话,使用remap_schema参数) 示例如下: impdp user_name/user_password directory=dir_name dumpfile=dmp_file_name.DMP logfile=log_file_name.log remap_schema=user1:user2 remap_tablespace=tablespaces_name1:tablespaces_name2 EXCLUDE=USER; 原用户为user1,导入用户为user2 ;原表空间为tablespaces_name1,导入表空间为tablespaces_name2 如果user2已存在,需要加EXCLUDE=USER 如果user2不存在,不需要加EXCLUDE=USER,user2会自动建立,其权限和使用的表空间与user1相同,但此时用user2无法登录,必须修改user2的密码 |