当前位置:  数据库>oracle

Oracle Data Pump使用范例及部分注意事项(expdp/impdp)

    来源: 互联网  发布时间:2017-05-22

    本文导语: 最近系统要“缩容”,原因我不想多说,非常麻烦的一件事情,因为要把数据提出来压缩、存放。 和操作系统无关,主要系Oracle的数据。 Oracle版本:Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production 另外,系统有进...

最近系统要“缩容”,原因我不想多说,非常麻烦的一件事情,因为要把数据提出来压缩、存放。
 
和操作系统无关,主要系Oracle的数据。
 
Oracle版本:Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
 
另外,系统有进行了6个节点的RAC集群,每个表都按照月份或者日期进行了分区。
 
一、前置工作:
 
1. 在系统中建立生成dmp文件(导出的数据文件)的目录(一般情况下都需要root权限,这个自由发挥了^_^):
 
root@bidb04# mkdir -p /data/oracle_backup
root@bidb04# chown oracle:oinstall /data/oracle_backup
 
另外提个醒,无论你导出导入的时候用的是什么用户和密码登陆,数据库都是用(linux系统中的)oracle用户导出文件的,所以这个目录一定要让(linux系统中的)oracle用户有写权限。
 
2. 在oracle中定义生成dmp文件(导出的数据文件)的目录:
 
使用sqlplus / as sysdba进入sqlplus:

sql> grant create any directory to scott;        --这一步也可以不用。
sql> create or replace directory oracle_backup as '/data/oracle_backup';        --有了上面那一步,目录也可以使用scott用户建立,当然直接就这么建立就完了。
sql> grant read, write on directory oracle_backup to scott;                --赋予目录访问权限。
sql> create or replace directory DATA_PUMP_DIR as '/oracle/app/oracle/product/11.2.0/dbhome_1/rdbms/log/';        --这个貌似我是没有这么建立的,系统自己有了。
sql> grant read, write on directory DATA_PUMP_DIR to scott;                --同上备注。
sql> grant EXP_FULL_DATABASE to scott;        --导出权限
sql> grant IMP_FULL_DATABASE to scott;          --导入权限

二、Data Pump导出(expdp):

expdp TABLES=KR.TR_DATA_APP_2A3R_D:P20130101DIRECTORY=ORACLE_BACKUP DUMPFILE=KR.TR_DATA_APP_2A3R_D0101%u.dmpLOGFILE=DATA_PUMP_DIR:KR.TR_DATA_APP_2A3R_D0101.logCONTENT=data_only CLUSTER=N PARALLEL=8 FILESIZE=2G ENCRYPTION=data_only ENCRYPTION_PASSWORD=password

备注:

#1. (红色部分)用户名密码和SID,这个就和sqlplus登陆的一致了。
#2. TABLES (绿色部分)表名(表名称:分区)
#3. DIRECTORY (蓝色部分)要生成导出文件的目录名--在oracle dba_directories中定义(定义方法见前文)
#4. DUMPFILE (黄色部分)生成的导出文件名%u参数表示对个文件的后缀,与parallel、filesize一起使用
#5. LOGFILE (紫色部分)日志记录文件名称(log目录:log名称,其中log目录在oracle dba_directories中定义)(定义方法见前文)
#6. CONTENT (橙色部分)要包含的内容
#7. CLUSTER (灰色部分)是否使用集群,默认是Y,这里需要N(可以看看后记)
#8. PARALLEL (灰色部分)并行处理
#9. FILESIZE (灰色部分)单个文件最大大小
#10. ENCRYPTION (灰色部分)加密选项1,指定加密内容(附录中有描述参数可选内容)
#11. ENCRYPTION_PASSWORD (灰色部分)加密选项2,指定加密密钥

 

三、Data Pump导入(impdp):

impdp TABLES=KR.TR_DATA_APP_2A3R_D DIRECTORY=ORACLE_BACKUPDUMPFILE=KR.TR_DATA_APP_2A3R_D0101%u.dmp LOGFILE=DATA_PUMP_DIR:IMP_KR.TR_DATA_APP_2A3R_D0101.log CONTENT=data_onlyCLUSTER=N PARALLEL=8 FILESIZE=2G ENCRYPTION_PASSWORD=password

 

备注:

基本和expdp的参数配置一致,有区别主要在第2个和第10个,另外,导出的日志名最好稍微修改一下,不然就覆盖掉了。

#2. TABLES (绿色部分)表名(只要表名就好了,不用加上分区,因为导入的数据里面已经包含了分区信息)
#10. ENCRYPTION (不再需要了)


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • ORACLE日期相关操作
  • Linux系统下Oracle的启动与Oracle监听的启动
  • ORACLE数据库常用字段数据类型介绍
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • Oracle 12c的九大最新技术特性介绍
  • 网间Oracle的连接,远程连接Oracle服务器??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,