dataguard在优化中的运用
dataguard不仅在数据安全性、高可用性等方面有很突出的作用,
同时也可以减轻主生产库的压力,即可以承担部分报表的处理任务.
如果有足够的机器,建议主生产库一拖二,一个物理备用库,一个逻辑备用库,
如果只有一台机器的话,那就只能配置成物理备用库,众所周知,物理库用库
通常在managed recover状态是不能提供查询的,如果想提供查询,就必须
在open read only状态.
在open read only状态,当然是不可以再进行即时归档恢复,
但并不防碍主生产库将归档源源不地传送到备用库,通常大的报
表对当天的统计并不是十分关注,所以可以把归档在备用机上的
恢复放到晚上进行。
通过crontab在每天早上凌晨3:00开始运行备用库进行恢复的shell,然后在凌晨6:00钟
左右crontab进程再将managed recover取消,将数据库打开到open read only状态,
这样就物理备用库在安全性、高可用没有降低的情况,可以提供一部分的报表业务,可以很
大程度减轻主生产库的压力。
备用库上开始归档恢复的脚本,注意一定要先kill掉备用库上的连接(假如有的话).
备用库上开始归档恢复的脚本:
[oracle@data2 work]$ more startrecovery.sh
#!/bin/sh
source ~oracle/.bash_profile
$ORACLE_HOME/bin/sqlplus /nolog<
connect / as sysdba;
alter database recover managed standby database disconnect from session;
exit
!
备用库上取消归档恢复,打开数据库到open read only状态的脚本:
[oracle@data2 work]$ more stoprecovery.sh
#!/bin/sh
source ~oracle/.bash_profile
$ORACLE_HOME/bin/sqlplus /nolog<
connect / as sysdba;
alter database recover managed standby database cancel;
alter database open read only;
exit
!
调度crontab进程:
[oracle@data2 work]$ crontab -e
00 02 * * * /home/oracle/backup/work/startrecovery.sh
00 05 * * * /home/oracle/backup/work/stoprecovery.sh
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8570952/viewspace-713547/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8570952/viewspace-713547/