现在的位置: 首页 > 综合 > 正文

通过数据泵方式备份每月发送数据、并导入本地库

2018年04月01日 ⁄ 综合 ⁄ 共 2684字 ⁄ 字号 评论关闭

--说明-----------------
1、oop库的bak_sms_sendinfo表5月份的数据有4000多W,备份时间3分钟,比以前大大节省了时间,也减少了对数据库的影响。

2、以下以真实环境操作,导出oop库的bak_sms_sendinfo表5月份数据,及导入本地库smsgate1用户的全部操作,其他表的备份相似。

3、每月3号需要导的数据同前,这里只是介绍另一种导出导入方式。

--toad界面导出操作-----------------
4、toad版本为:9.6.1.1

5、点菜单database--export--data pump export wizard

6、默认下一步

7、把前面bak_sms_sendinfo前的+号点开,选要导出的分区表,点下一步

8、这里写where条件,默认不写,点下一步

9、默认下一步

10、选下面的exclude,并选上面的index,表示不导索引,点下一步

11、directory:选data_pump_dir
    output file name(.dmp):sms_sendinfo_201206
    再按tab键,其他自动填上,不理它,点下一步
    注:如用户没有data_pump_dir目录的读写权限,则请授权:grant read, write on directory data_pump_dir to sms;

12、默认点完成

12.1、toad生成的脚本:
DUMPFILE="sms_sendinfo_201207.dmp"
LOGFILE="exp_sms_sendinfo_201207.log"
DIRECTORY=DATA_PUMP_DIR
TABLES=('SMS.BAK_SMS_SENDINFO:P_SMS201207')
CONTENT=ALL
EXCLUDE=INDEX

12.2、应用库导出脚本:
expdp sms/sms DUMPFILE="sms_sendinfo_oop_201209.dmp" LOGFILE="exp_sms_sendinfo_oop_201209.log" DIRECTORY=EXPDP_DATA TABLES=SMS.BAK_SMS_SENDINFO:P_SMS201209 CONTENT=ALL EXCLUDE=INDEX

--数据传到本地库-----------------
13、数据是生成在数据库所在服务器端的,即192.198.1.11,路径看导出的日志,或看data_pump_dir目录路径:select * from dba_directories

14、用zip sms_sendinfo_201206.zip sms_sendinfo_201206.dmp -1v  进行压缩,速度快,压缩比高

14.1、当压缩后大于4G时,会提示太大,改进全部用gzip sms_sendinfo_201206.dmp 来压缩,压缩比比zip高

15、通过SFTP工具,如filezilla下载到本机windows系统

16、再传到本地数据库linux系统下的/oradata/dataexport1目录下,此目录对应的oracle directory是ZHOUYH_DIR,可通过select * from dba_directories查得

16.1、如果没有目录,可自己创建一个create directory DATA_PUMP_DIR as '/u01/app/oracle/admin/gstsms/dpdump/';

17、进linux的/oradata/dataexport1目录下,进行解压,但不能用unzip,因为unzip只能解压2G以下的文件,要用7zip进行解压,7zip的下载安装:
    wget http://downloads.sourceforge.net/project/p7zip/p7zip/9.13/p7zip_9.13_src_all.tar.bz2?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fp7zip%2Ffiles%2F&ts=1283040874&use_mirror=voxel
    tar -jxvf p7zip_9.13_src_all.tar.bz2
    cd p7zip_9.13
    make
    make install

18、用7zip进行解压:7za x sms_sendinfo_201206.zip,解压后生成sms_sendinfo_201206.dmp,还要注意权限问题:chmod 644 sms_sendinfo_201206.dmp

--toad界面导入操作-----------------
19、在本地库中把表删除,但要保证此数据是没有用的:drop BAK_SMS_SENDINFO 

20、创建空表:create table BAK_SMS_SENDINFO as select * from SMSGATE2.BAK_SMS_SENDINFO_201203 where 1=2

21、点菜单database--import--data pump import wizard

22、默认下一步

23、默认下一步

24、remapped schemas中source填sms,target填smsgate1,下一步

25、if table exists:选append,点下一步

26、默认下一步

27、directory:选ZHOUYH_DIR
    input file name(.dmp):sms_sendinfo_201206
    再按tab键,其他自动填上,不理它,点下一步
    注:如用户没有ZHOUYH_DIR目录的读写权限,则请授权:grant read, write on directory ZHOUYH_DIR to smsgate1;

28、默认点完成

28.1、应用导入脚本:
impdp system/system directory=expdata dumpfile=sms_sendinfo_201209.dmp remap_schema=sms:oop remap_tablespace=GSTGATESMSMTBAK:OOP_DATA TABLE_EXISTS_ACTION=APPEND

29、导入成功后改表名:alter table BAK_SMS_SENDINFO rename to BAK_SMS_SENDINFO_201206

30、建索引

31、如要通过命令行方式操作,或要了解各参数详细说明,请参考:http://blog.csdn.net/wang7dao/article/details/7710593

抱歉!评论已关闭.