Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2504963
  • 博文数量: 323
  • 博客积分: 10211
  • 博客等级: 上将
  • 技术积分: 4934
  • 用 户 组: 普通用户
  • 注册时间: 2006-08-27 14:56
文章分类

全部博文(323)

文章存档

2012年(5)

2011年(3)

2010年(6)

2009年(140)

2008年(169)

分类: Oracle

2009-06-13 23:52:43

  以前有个网友在我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
 

 
 
 
阅读(1031) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~