加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ORACLE expdp导出/导入以XX开头的所有表

发布时间:2020-12-12 14:58:22 所属栏目:百科 来源:网络整理
导读:场景:有2个oracle用户,userA默认表空间tablespaceA, userB默认表空间tablespaceB。 现在需要将userA中的系统表(该用户表空间中以SYS开头的表)导出到userB中,将userB的系统表覆盖,但不覆盖userB的业务表。方法如下: 导出userA用户schema中SYS开头的表,

场景:有2个oracle用户,userA默认表空间tablespaceA, userB默认表空间tablespaceB。

现在需要将userA中的系统表(该用户表空间中以SYS开头的表)导出到userB中,将userB的系统表覆盖,但不覆盖userB的业务表。方法如下:

导出userA用户schema中SYS开头的表,使用tables=SYS%

expdpuserA/passworddirectory=TMP_BAKdumpfile=userA-170504-expdp-tab.dmplogfile=userA-170504-expdp-tab.logtables=SYS%

若只需导出某几张表,则使用tables=table1,table2

expdpuserA/passworddirectory=TMP_BAKdumpfile=userA-170504-expdp-tab02.dmplogfile=userA-170504-expdp-tab02.logtables=table1,table2


将导出的dmp文件导入到userB用户的schema中。

需要注意此处SCHEMA与表对应的TABLESPACE已经发生改变,并且原userB的表空间中已经存在SYS表。故导入时需要加上以下几个参数:

①remap_schema指定源SCHEMA与目的SCHEMA。

②remap_tablespace指定源TABLESPACE与目的TABLESPACE。

③table_exists_action=replace将重名表进行覆盖。


导入前注意先备份userB的数据,避免导出出错造成数据丢失。

expdpuserB/passworddirectory=TMP_BAKdumpfile=userB-170504-expdp.dmplogfile=userB-170504-expdp.log


正式将SYS开头的表导入userB用户中。

impdpuserB/passworddirectory=TMP_BAKdumpfile=userA-170504-expdp-tab.dmpremap_schema=userA:userBREMAP_TABLESPACE=tablespaceA:tablespaceBTABLE_EXISTS_ACTION=REPLACElogfile=userB-0504-impdp-tab.log

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读