环境:内网中有三台服务器做测试用,两台SUSE LINUX 10 和一台RHEL 5.5,都安装有ORACLE11G
需求:测试环境搭建完毕,因没有外部存储进行统一备份而修改和更新又比较频繁,所以需要在三台服务器间搭建互备以实现数据的安全。
实现:
1、首先在三台服务器间设置互信访问(互信访问跟帐户是结合的),实现SSH无密码访问
(参见http://xjsunjie.blog.51cto.com/999372/605365 )
2、在每台机器上用ORACLE帐户做EXP的数据导出,利用crontab设置root帐户的定时拷贝。
oracle@linux-250:/data/orabak> cat exp250.sh
source ~/.profile
a=$(date +%Y%m%d)
exp "'sys/password as sysdba'" owner=nmsdb,nsmsengine01,nms1,nms2 statistics=none file=/data/orabak/250bak/exp250_$a.dmp log=/data/orabak/250log/exp250_$a.log
oracle@linux-250:/data/orabak> crontab -l
0 1 * * * /data/orabak/exp250.sh
注:设置250服务器在每晚1点导出数据备份并生成日志。
[oracle@linux-251 jiaoben]$ cat exp.sh
source ~/.bash_profile
a=$(date +%Y%m%d)
exp "'sys/password as sysdba'" owner=nmsdb,wificity,smsdb,nsmsengine01,smzy file=/home/oracle1/251expbak/full/exp251_$a.dmp log=/home/oracle1/251expbak/fulllog/exp251_$a.log
[oracle@linux-251 jiaoben]$ cat scp.sh
a=$(date +%Y%m%d)
scp /home/oracle1/251expbak/full/exp251_$a.dmp 192.168.1.250:/data/orabak/251bak/
[oracle@linux-251 ~]$ crontab -l
0 1 * * * /home/oracle1/251expbak/jiaoben/exp.sh
[root@linux-251 ~]$ crontab -l
0 3 * * * /home/oracle1/251expbak/jiaoben/scp.sh
注:设置251服务器每晚1点进行数据导出并生成日志,每晚3点将导出的DMP备份到250服务器上。
oracle@linux-252:/bak/orabak # cat exp252.sh
source ~/.profile
a=$(date +%Y%m%d)
exp "'sys/password as sysdba'" owner=smsdb statistics=none file=/bak/orabak/252bak/exp252_$a.dmp log=/bak/orabak/252log/exp252_$a.log
oracle@linux-252:/bak/orabak # cat scp.sh
a=$(date +%Y%m%d)
scp 192.168.1.250:/data/orabak/250bak/exp250_$a.dmp /bak/orabak/250bak/
scp /bak/orabak/252bak/exp252_$a.dmp 192.168.1.250:/data/orabak/252bak/
oracle@linux-252:~> crontab -l
0 1 * * * /bak/orabak/exp252.sh
root@linux-252:~ # crontab -l
0 3 * * * /bak/orabak/scp.sh
linux-252:/bak/orabak # ll
total 20
drwxr-xr-x 2 oracle oinstall 4096 Jul 8 11:56 250bak
drwxr-xr-x 2 oracle oinstall 4096 Jul 8 11:39 252bak
drwxr-xr-x 2 oracle oinstall 4096 Jul 8 11:05 252log
-rwxrwxr-x 1 oracle oinstall 170 Jul 8 11:15 exp252.sh
-rwxrwxr-x 1 root root 162 Jul 8 11:47 scp.sh
注:设置252服务器每晚1点导出数据备份并生成日志,每晚3点把250上的导出数据备份到本机,再把本机的数据备份另存一份到250上。
注:在配置过程中一定要注意脚本的属主和权限。