Oracle数据泵(Dump)导出、导入

*该导入导出方式完全适用于分区表*

导出、导入前准备

注:使用sys、system等系统用户操作!
1)创建DIRECTORY目录对象

CREATE DIRECTORY exp_dir AS '/oracle/db/zone'; --存放dmp、log文件

2)为使用户user_local授权该目录

GRANT READ, WRITE ON DIRECTORY exp_dir TO user_local;

本地导出、本地导入

1:本地导出
1)导出指定表

expdp user_local/user_local DIRECTORY=exp_dir DUMPFILE=tab.dmp LOGFILE=tab.log TABLES=USER_OFFICE  
--TABLES=表1,表2,表3等

2)导出整库(方案)

expdp user_local/user_local DIRECTORY=exp_dir  DUMPFILE=tab.dmp LOGFILE=tab.log SCHEMAS=user_local  
--SCHEMAS=用户(所有可操作表等)

3)导出全库

expdp system/orcl DIRECTORY=exp_dir DUMPFILE=tab.dmp LOGFILE=tab.log FULL=Y

2:本地导入
1)导入指定表

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)导入整库(方案)

impdp user_local/user_local DIRECTORY=exp_dir DUMPFILE=tab.dmp LOGFILE=tab.log SCHEMAS=user_local

3)导入全库

impdp system/orcl DIRECTORY=exp_dir DUMPFILE=tab.dmp LOGFILE=tab.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)

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)导入本地库

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 :不同表空间之间数据的搬移,写法:远程表空间名:本地表空间名,如果相同可以不写

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论 1

打赏作者

Silence_Figure

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值