数据库泵(expdp/impdp)导入导出流程
时间:2014-08-30 19:28 来源:linux.it.net.cn 作者:it
一、 数据库的导出(expdp)
1. 创建默认导出目录
SQL>create directory [dirname] as ‘[dirpath]’;
2. 赋予指定用户在此目录的读写权限
SQL>GRANT READ, WRITE ON DIRECTORY [dirname] to [dbuser];
3. 使用expdp导出数据库
① 导出完整schema
> expdp [username/passwd] DUMPFILE=[dmpname].dmp DIRECTORY=[DIRECTORY_NAME] SCHEMAS=[schema_name]
② 导出除表以外的部分数据对象
可通过exclude参数排除无需导出的数据对象,如:
>expdp [username/passwd] DUMPFILE=[dmpname].dmp DIRECTORY=[DIRECTORY_NAME] logfile=[logname.log] exclude=[object_type]:”in (‘name_clause’,’ name_clause’,…)”, [object_type],…
example:
>expdp scott/tiger directory=dump_dir dumpfile=exc1.dmp logfile=exc1.log exclude=table:\”in \(\‘EMP\’,\’DEPT\’\)\”,view
其中单引号中的内容必须用大写才能生效
其他数据对象以此类推
③ 导出若干张表和若干张数据对象
>expdp [username/passwd] DUMPFILE=[dmpname].dmp DIRECTORY=[DIRECTORY_NAME] logfile=[logname.log] include=[object_type]:”in (‘name_clause’,’name_clause’,…)”,[object_type],…
example:
>expdp scott/tiger directory=dump_dir dumpfile=exc1.dmp logfile=exc1.log include=table:\ “in (\‘EMP\’,\’DEPT\’\)\”,view:\”in \(\‘V\_EMP\’\)\”,procedure
二、将导出的文件通过SCP传到需要导入的服务器上
example:
>scp * oracle@192.168.1.52:/data/dpdump
三、 将dmp文件导入到指定库中
1. 创建默认导出目录
SQL>create directory [dirname] as ‘[dirpath]’;
2. 赋予指定用户在此目录的读写权限
SQL>GRANT READ, WRITE ON DIRECTORY [dirname] to [dbuser];
3. 使用impdp工具导入
① 导入完整schema
用DBA权限登陆,指定schema进行全库导入
>impdp [dba_user/passwd] directory=[DIRECTORY_NAME]dumpfile=[dumpfile_name].dmp logfile=[logfile_name].log schemas=[schema_name]
如果想要更新已经存在的表则可以进行如下操作
> impdp [dba_user/passwd] directory=[DIRECTORY_NAME]dumpfile=[dumpfile_name].dmp logfile=[logfile_name].log schemas=[schema_name] table_exists_action=replace[truncate/append/skip]
② 导入除表以外的部分数据对象
>impdp [dba_user/passwd] directory=[DIRECTORY_NAME]dumpfile=[dumpfile_name].dmp logfile=[logfile_name].log schemas=[schema_name] exclude=table, [object_type]:”in (‘name_clause’),(‘name_clause’),…”,…
example:
>impdp system/oracle directory= dump_dir dumpfile=fulldb.dmp logfile=full_imp.log schemas=scott exclude =table,view:\”in \(\‘V\_BONUS\’\)\”
③ 导入若干张表和若张数据对象
>impdp [dba_user/passwd] directory=[DIRECTORY_NAME]dumpfile=[dumpfile_name].dmp logfile=[logfile_name].log schemas=[schema_name] include=[object_type]:”in (‘name_clause’),(‘name_clause’),…”, [object_type]:”in (‘name_clause’),(‘name_clause’),…”,…
example:
> impdp system/oracle directory=dump_dir dumpfile=fulldb.dmp logfile=full_imp.log schemas=scott include=table:\"in \(\'EMP\',\'DEPT\'\)\",view:\"in \(\'V\_EMP\',\'V\_DEPT\'\)\"
四、注意事项
1. 如果导出的是指定模式下所有的数据对像,则想获得指定的数据对象时需在impdp中进行参数指定。
2. 如果导出的是指定模式下的指定的数据对象,则impdp时无需指定可选参数。
补充:
1. 仅导出数据库结构
impdp system/oracle directory=dump_dir dumpfile=fulldb.dmp logfile=full_imp.log schemas=scott content=metadata_only
(责任编辑:IT)
一、 数据库的导出(expdp)1. 创建默认导出目录SQL>create directory [dirname] as ‘[dirpath]’; 2. 赋予指定用户在此目录的读写权限SQL>GRANT READ, WRITE ON DIRECTORY [dirname] to [dbuser]; 3. 使用expdp导出数据库① 导出完整schema> expdp [username/passwd] DUMPFILE=[dmpname].dmp DIRECTORY=[DIRECTORY_NAME] SCHEMAS=[schema_name]② 导出除表以外的部分数据对象可通过exclude参数排除无需导出的数据对象,如:>expdp [username/passwd] DUMPFILE=[dmpname].dmp DIRECTORY=[DIRECTORY_NAME] logfile=[logname.log] exclude=[object_type]:”in (‘name_clause’,’ name_clause’,…)”, [object_type],… example: >expdp scott/tiger directory=dump_dir dumpfile=exc1.dmp logfile=exc1.log exclude=table:\”in \(\‘EMP\’,\’DEPT\’\)\”,view 其中单引号中的内容必须用大写才能生效 其他数据对象以此类推 ③ 导出若干张表和若干张数据对象>expdp [username/passwd] DUMPFILE=[dmpname].dmp DIRECTORY=[DIRECTORY_NAME] logfile=[logname.log] include=[object_type]:”in (‘name_clause’,’name_clause’,…)”,[object_type],…example: >expdp scott/tiger directory=dump_dir dumpfile=exc1.dmp logfile=exc1.log include=table:\ “in (\‘EMP\’,\’DEPT\’\)\”,view:\”in \(\‘V\_EMP\’\)\”,procedure 二、将导出的文件通过SCP传到需要导入的服务器上example:>scp * oracle@192.168.1.52:/data/dpdump 三、 将dmp文件导入到指定库中1. 创建默认导出目录SQL>create directory [dirname] as ‘[dirpath]’; 2. 赋予指定用户在此目录的读写权限SQL>GRANT READ, WRITE ON DIRECTORY [dirname] to [dbuser];3. 使用impdp工具导入① 导入完整schema用DBA权限登陆,指定schema进行全库导入>impdp [dba_user/passwd] directory=[DIRECTORY_NAME]dumpfile=[dumpfile_name].dmp logfile=[logfile_name].log schemas=[schema_name] 如果想要更新已经存在的表则可以进行如下操作 > impdp [dba_user/passwd] directory=[DIRECTORY_NAME]dumpfile=[dumpfile_name].dmp logfile=[logfile_name].log schemas=[schema_name] table_exists_action=replace[truncate/append/skip] ② 导入除表以外的部分数据对象>impdp [dba_user/passwd] directory=[DIRECTORY_NAME]dumpfile=[dumpfile_name].dmp logfile=[logfile_name].log schemas=[schema_name] exclude=table, [object_type]:”in (‘name_clause’),(‘name_clause’),…”,…example: >impdp system/oracle directory= dump_dir dumpfile=fulldb.dmp logfile=full_imp.log schemas=scott exclude =table,view:\”in \(\‘V\_BONUS\’\)\” ③ 导入若干张表和若张数据对象>impdp [dba_user/passwd] directory=[DIRECTORY_NAME]dumpfile=[dumpfile_name].dmp logfile=[logfile_name].log schemas=[schema_name] include=[object_type]:”in (‘name_clause’),(‘name_clause’),…”, [object_type]:”in (‘name_clause’),(‘name_clause’),…”,…example: > impdp system/oracle directory=dump_dir dumpfile=fulldb.dmp logfile=full_imp.log schemas=scott include=table:\"in \(\'EMP\',\'DEPT\'\)\",view:\"in \(\'V\_EMP\',\'V\_DEPT\'\)\" 四、注意事项1. 如果导出的是指定模式下所有的数据对像,则想获得指定的数据对象时需在impdp中进行参数指定。2. 如果导出的是指定模式下的指定的数据对象,则impdp时无需指定可选参数。 补充: 1. 仅导出数据库结构 impdp system/oracle directory=dump_dir dumpfile=fulldb.dmp logfile=full_imp.log schemas=scott content=metadata_only (责任编辑:IT) |