您的位置:首页 > 其它

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

2012-07-04 11:47 429 查看
--说明-----------------

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: