客户需求对oracle数据库做一个跨机房的备份,原环境已做rman备份和每天expdp全库导出,远端只有虚拟化环境,可提供一个虚拟机,2个机房间网络互通。
首先配置nfs服务端
查看操作系统版本
root@nas199 \~# more /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
yum包
root@nas199 \~# yum -y install nfs-server portmap showmount
把NFS设为开机自启:
root@nas199 \~# systemctl enable nfs && systemctl start nfs
将RPC设为开机自启:
root@nas199 \~# systemctl enable rpcbind && systemctl start rpcbind
关闭防火墙
root@nas199 \~# systemctl stop firewalld && systemctl disable firewalld
查看数据库的oracle用户id和组id
root@db1 \~# id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54323(oper),54327(asmdba),54329(asmadmin)
编辑/etc/exports,如下所示
root@nas199 \~# cat /etc/exports
/backup/ 172.100.18.196(rw,sync,no_root_squash,anonuid=54321,anongid=54321)
/backup/ 122.100.18.197(rw,sync,no_root_squash,anonuid=54321,anongid=54321)
修改/etc/exports后重新加载
root@nas199 \~# exportfs -rv
exporting 172.100.18.196:/backup
exporting 172.100.18.197:/backup
root@nas199 \~#
在db1上操作
root@db1 \~# showmount -e 172.100.18.199
Export list for 172.100.18.199:
/backup 172.100.18.197,172.100.18.196
root@db1 \~# mkdir /nasbackup
root@db1 \~# mount 172.100.18.199:/backup /nasbackup
root@db1 \~# chown -R oracle:oinstall /nasbackup
root@db1 \~# chmod -R 775 /nasbackup
root@db1 \~# df -ht nfs4
Filesystem Size Used Avail Use% Mounted on
nasserver:/backup 11T 815G 11T 8% /nasbackup
root@db1 \~#
orcl1:/home/oracle@db1> crontab -l
10 02 * * * /home/oracle/copy_to_nasbackup.sh &
orcl1:/home/oracle@db1> cat /home/oracle/copy_to_nasbackup.sh
#!/bin/bash
rsync -vzurtopg --progress /backup/orcl /nasbackup
/bin/find /nasbackup/orcl/rmanbackup/ -type f -name "rman_*" -mtime +60 -exec rm {} \;
/bin/find /nasbackup/orcl/logicbacup/ -type f -name "orcl_*" -mtime +60 -exec rm {} \;