以前有个网友在我blog上提到,他们公司的报表查询占用了很多的资源以至于严重影响到EBS的性能。我当时提出的方案是采用物理DG。优化SQL也是一个办法,但对DBA来讲工作量确实太大。如果你有足够的硬件资源,建议配置成一对二的形式:一个主库,一个物理备用库,一个逻辑备用库。如果只有一台机器,建议配置成物理备库。因为对于报表来说,对当天的数据不一定有要求。那么我们可以把归档在备用机上的恢复放到晚上进行。我们知道物理库用库通常在managed recover状态是不能提供查询的,如果想提供查询,就必须在open read only状态。11g好像有所改善。在open read only状态,当然是不可以再进行即时归档恢复,但并不防碍主生产库将归档源源不地传送到备用库。
通过crontab在每天早上凌晨2:00开始运行备用库进行恢复的shell,然后在凌晨7:00钟左右crontab进程再将managed recover取消,将数据库打开到open read only状态,这样就物理备用库在安全性、高可用没有降低的情况,可以提供一部分的报表业务,可以很大程度减轻主生产库的压力。
#cat startrecovery
su - oracle
sqlplus /nolog <
conn as sysdba;
alter database recover managed standby database disconnect from session;
exit
!
#cat stoprecovery
su - oracle
sqlplus /nolog <
conn as sysdba;
alter database recover managed standby database cancel;
alter database open read only;
exit
!
OS调度:
00 02 * * * /oracle/backup/script/startrecovery
00 07 * * * /oracle/backup/script/stoprecovery
阅读(1242) | 评论(0) | 转发(0) |