这里记录了本人一次在Linux环境下使用expdp和impdp实现oracle数据库不同用户间某些表的导入导出经历。
环境信息
- 系统:CentOS 7.5
- ORACLE 11g
这里主要情形:
- 用户不同;
- 表空间不同;
- 设置进程数调整导出、导入作业数;
操作前提
- 使用用户oracle登录Linux服务器;
- 配置好oracle的ORACLE_HOME环境变量;
- 创建好数据库oracle目录;
相关参数
- directory:oracle目录,进行导入、导出指定该目录,导出的文件、待导出文件放在该参数对应的实际物理目录下;
- dumpfile:数据文件名;
- parallel:作业数;
- table_exists_action: 导入时,如果对应表已经存在应进行的操作,比如replace为删除后新建表并插入数据;
- data_options:数据选项,比如权限约束等;
- logfile:日志文件;
- remap_schema:模式映射,原数据库和目标数据库的模式映射,用户不同时需要此选项;
- REMAP_TABLESPACE:表空间映射,原数据库和目标数据库不同时需要此选项;
进行导出、导入
导出示例:
expdp ww_iarp/ww_iarp@ora11g directory=temp_dir dumpfile=waiwang_init_%U.dmp tables=JW_GTDJ_DXXX_ZS_INIT,JW_GTDJ_JBXX_ZS_INIT,JW_GTDJ_JYZXX_ZS_INIT,JW_GTDJ_ZXXX_ZS_INIT,JW_E_LI_ILLDISHONESTY_INIT,JW_NB_GT_JBXX_MAIN_INIT,JW_NB_GT_ZCZK_MAIN_INIT,JW_NB_HZS_JBXX_MAIN_INIT,JW_NB_HZS_ZCZK_MAIN_INIT,JW_NB_QY_JBXX_MAIN_INIT,JW_NB_QY_ZCZK_MAIN_INIT,JW_QYDJ_BGSX_LS_INIT,JW_QYDJ_CWFZR_ZS_INIT,JW_QYDJ_CZXX_ZS_INIT,JW_QYDJ_DXXX_ZS_INIT,JW_QYDJ_FZJG_ZS_INIT,JW_QYDJ_JBXX_ZS_INIT,JW_QYDJ_LLR_ZS_INIT,JW_QYDJ_RYXX_ZS_INIT,JW_QYDJ_ZXXX_ZS_INIT parallel=4 logfile=waiwang_export.log ;
导入示例:
impdp sdjw_ww_query/sdjw_ww_query@ora11g directory=temp_dir dumpfile=waiwang_init_%U.dmp parallel=8 table_exists_action=REPLACE data_options=skip_constraint_errors logfile=neiwang_import.log remap_schema=ww_iarp:sdjw_ww_query REMAP_TABLESPACE=JW_TABLESPACE:JW_TABLESPACE;
最新评论
不错挺好用的,东至梅城何红涛林场的 何红涛2个月前 (10-18)回复
识别码不对
呵呵
我的是ipv4网络,如何使用直播源啊!