欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle 10g 增强的导入导出工具 expdp/impdp[Linux]

程序员文章站 2024-01-23 18:59:46
...

1. 创建目录,导入导出前都必须先创建 directory # sqlplus / as sysdbagt; create directory dump_dir as

步骤:
1. 创建目录,导入导出前都必须先创建 directory
# sqlplus / as sysdba
> create directory dump_dir as '/home/Oracle/dump';
注意: dump_dir 指向实际的物理路径 /home/oracle/dump, /home/oracle/dump 目录必须存在。
2. 授权给相应用户读写目录权限
> grant read,write on directory dump_dir to linuxidc;
3. 导出
--从数据库 orcl 导出 linuxidc 用户下的表结构及数据,但不包括表 JK_COMPANY_VIDICON_INFO.
expdp linuxidc/linuxidc@orcl directory=dump_dir dumpfile=test4.dmp nologfile=y exclude=table:\"in \(\'JK_COMPANY_VIDICON_INFO\'\)\"
注意: 如果expdp的参数是直接写在命令行中,则如本例中 exclude 的值需要添加转义符 '\'. 如果放在
*.par 参数文件中,则无需加转义符,添加反而会报错误。表名要大写。
--导出指定表 jk_company_vidicon_info:
expdp linuxidc/linuxidc@orcl directory=dump_dir dumpfile=test5.dmp nologfile=y tables=jk_company_vidicon_info
4. 导入
--将原方案 linuxidc 中的对象依旧导入 linuxidc 这个方案下,,并非 idcfree 这个方案,存在表冲突时使用替换操作
impdp idcfree/idcfree@orcl directory=dump_dir dumpfile=test4.dmp nologfile=y schemas=linuxidc table_exists_action=replace
--将原方案 linuxidc 中的对象导入新方案 idcfree 中
impdp idcfree/idcfree@orcl directory=dump_dir dumpfile=test4.dmp nologfile=y remap_schema=linuxidc:idcfree

5. 使用参数文件 *.par 举例
# vi exp_table.par
DIRECTORY=dump_dir
DUMPFILE=expdp_linuxidc.dmp
LOGFILE=expdp_linuxidc.log
CONTENT=METADATA_ONLY

# expdp linuxidc/linuxidc@orcl parfile=exp_table.par
------------------------
# vi exp_evwp.par
directory=dump_dir
dumpfile=test3.dmp
nologfile=y
exclude=table:"in ('JK_COMPANY_VIDICON_INFO')"

# expdp evwp/evwp@orcl parfile=exp_evwp.par

Oracle 10g 增强的导入导出工具 expdp/impdp[Linux]