前端之家收集整理的这篇文章主要介绍了
Oracle数据泵(Dump)导出、导入,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
导出、导入前准备
注:使用sys、system等系统用户操作!
1)创建DIRECTORY目录对象
- 1
@H_502_9@CREATE DIRECTORY exp_dir AS '/oracle/db/zone';
2)为使用户user_local授权该目录
GRANT READ,WRITE ON DIRECTORY exp_dir TO user_local;
本地导出、本地导入
1:本地导出
1)导出指定表
1
2
@H_
502_9@expdp user_local/user_local DIRECTORY=exp_dir DUMPFILE=
tab.dmp LOGFILE=
tab.
log TABLES=USER_OFFICE
2)导出整库(方案)
1
2
@H_
502_9@expdp user_local/user_local DIRECTORY=exp_dir DUMPFILE=
tab.dmp LOGFILE=
tab.
log SCHEMAS=user_local
3)导出全库
1
@H_
502_9@expdp
system/orcl DIRECTORY=exp_dir DUMPFILE=
tab.dmp LOGFILE=
tab.
log FULL=Y
2:本地导入
1)导入指定表
1
@H_
502_9@Impdp user_local/user_local DIRECTORY=exp_dir DUMPFILE=
tab.dmp LOGFILE=
tab.
log TABLE_EXISTS_ACTION=APPEND TABLES=USER_OFFICE
说明:TABLES=USER_OFFICE :可以不写
TABLE_EXISTS_ACTION=APPEND :追加数据,数据不重复可多次导入
当TABLE_EXISTS_ACTION=REPLACE时,则全量导入,该方法会直接删除表,然后重新创建该表并将数据全部写入
2)导入整库(方案)
1
@H_
502_9@impdp user_local/user_local DIRECTORY=exp_dir DUMPFILE=
tab.dmp LOGFILE=
tab.
log SCHEMAS=user_local
3)导入全库
1
@H_
502_9@impdp
log FULL=Y
不落地导入
1:说明
远程数据库数据导入本地数据库!
1)远程数据库:
IP:192.168.1.200
用户名:user_remote
密码:user_remote_
实例名:orcl
表空间:remote_space
2)本地数据库:
用户名:user_local
密码:user_local
表空间:local_space
2:本地增加监听(REMOTE_ORCL)
1
2
3
4
5
6
7
8
9
@H_
502_9@
REMOTE_ORCL =
(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.200)(PORT = 1521)) ) (CONNECT_DATA = (sid = orcl) ) )
3:创建远程链接database link(source_db_link)
create database link source_db_link connect to user_remote identified by user_remote_ using 'REMOTE_ORCL'
REMOTE_ORCL :上一步增加的监听名
4:远程库表(USER_OFFICE)导入本地库
1
2
@H_
502_9@impdp user_local/user_local
directory=exp_dir logfile=
tab.
log network_link=source_db_link TABLE_EXISTS_ACTION=APPEND
tables=user_remote.USER_OFFICE remap_schema=user_remote:user_local REMAP_TABLESPACE=remote_space:local_space
注:若提示权限不足,可用sys系统用户将dba权限赋予本地用户user_local即可解决,或者将导入的用户连接改为‘system/orcl’ 1)network_link=source_db_link :上一步建立的连接名 2)TABLE_EXISTS_ACTION=APPEND :追加数据,不重复数据可多次导入 注:可以将‘APPEND’改为‘REPLACE’,该方法将删除原表,然后重新创建该表并导入数据 3)tables=user_remote.USER_OFFICE :表名,多张表用‘,’隔开 4)remap_schema=user_remote:user_local :不同用户之间的数据搬移,写法:远程用户:本地用户,如果相同可以不写 5)REMAP_TABLESPACE=remote_space:local_space :不同表空间之间数据的搬移,写法:远程表空间名:本地表空间名,如果相同可以不写