如何将linux数据库用rman备份到远端win平台
如何将linux数据库用rman备份到远端win平台
将win下的共享目录挂载到linux下即可
#挂载windows共享目录
mount -o rw,uid=oracle,gid=oinstall,username=yallonking,password='oraking' //192.168.137.1/back_dir /tmp/back_dir
如果出现
[root@OELx64 ~]# mount -o rw,uid=oracle,gid=oinstall,username=yallonking,password='oraking' //192.168.137.1/back_dir /tmp/back_dir
mount error(12): Cannot allocate memory
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
是因为文件过大导致,可以采取以下措施
1、将备份脚本修改,拆分备份文件
可采取以下备份脚本
run {
allocate channel c1 type disk maxpiecesize=512m;
allocate channel c2 type disk maxpiecesize=512m;
backup as compressed backupset database format '/tmp/back_dir/db_full_%U_%p_%T_%s.bak' tag 'dbl0';
backup current controlfile format '/tmp/back_dir/contorlfile_%T_%U_%s.ctlbak';
release channel c1;
release channel c2;
}
2、设置win下的注册表项(win7 用samba或者cifs)
Set “HKLMSYSTEMCurrentControlSetControlSession ManagerMemory ManagementLargeSystemCache” to “1″.
Set “HKLMSYSTEMCurrentControlSetServicesLanmanServerParametersSize” to “3″.
Restart the “server” service.
#同步数据
/usr/bin/rsync -vzrltogp /home/ups_tmp/* /home/ups_bak/01_DB_BAK
#删除windows上过期备份文件
find /home/ups_tmp -type f -mtime +31 -exec rm -f {} ;
#删除本地过期备份文件
find /home/ups_bak/01_DB_BAK -type f -mtime +62 -exec rm -f {} ;
#卸载共享目录
umount /tmp/back_dir