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

前端之家收集整理的这篇文章主要介绍了Oracle数据泵(Dump)导出、导入前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

导出、导入前准备

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

 
 
  • 1
  • @H_502_9@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)导出指定表

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

    2)导出整库(方案)

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

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

    猜你在找的Oracle相关文章