 |
|
 |
|
 |
| Oracle Standby数据库专题探讨 |
来源:
www.itpub.net
作者: www.itpub.net
时间:2008-04-19 阅读:13
|
|
本文章共17851字,分6页,当前第1页,快速翻页:
|
| Oracle Standby数据库专题探讨 |
Copy to clipboard |
Posted by: chao_ping
Posted on: 2002-11-01 17:54
1。 nologging 操作,在Primary Database执行了。这样,Standby里面的数据就不灵光了。
[$nbsp][$nbsp][$nbsp][$nbsp][$nbsp][$nbsp]解决办法是重新手工拷贝所有受到影响的Datafile。当一个对象分布在一个大的表空间的时候,这个查找和拷贝是很麻烦的。所以表空间不要太大,太复杂也是比较方便的。当然最好还是不要在用standby的数据库上,做Nologging操作了。 |
| 回复: Oracle Standby数据库的常见问题 |
Copy to clipboard |
Posted by: chao_ping
Posted on: 2002-11-01 17:56
2。使用manual archive log transfer还是automatic archivelog transfer?
个人偏好不同。其实用Cron来实现,可能比Oracle 的自动归档到远程稳定,而且控制容易。即使自动归档到standby, 还是要手工删除standby数据库的归档日志的,或者通过Cron来删除。还是一样。 |
| 回复: Oracle Standby数据库的常见问题 |
Copy to clipboard |
Posted by: chao_ping
Posted on: 2002-11-01 17:59
3。有时候,查询standby open做报表的时候,会碰到会话挂住的情况。表现症状是oracle 在吃CPU,但是会话始终得不到查询的结果。
这个时候检查Oracle的v$session_wait,可以看到很奇怪的现象。就是在read only open的数据库里面,Oracle居然也会有undo segment recovery的等待事件!
原因,是由于某个事务在Primary数据库里面失败了,但是还没有来得及会滚,在standby里面查询的时候,Oracle发现scn不一致,但是data buffer已经写道了数据文件里面,想从RBS里面得到准确数据,但是RBS 在standby 里面不可用的,于是就进入死循环了。
解决方法也很简单,shutdown abort standby 数据库,然后继续Apply archived redo log。 |
| 回复: Oracle Standby数据库的常见问题 |
Copy to clipboard |
Posted by: chao_ping IXDBA.NET技术社区
Posted on: 2002-11-10 21:51
Standby 妙用
Standby作为数据库的高可用解决方案,还是一个极好的备份方法。
1。 standby 数据库用来做恢复,可以高效的restore datafile, recover 很少的归档日志,就可以重新online datafile, 这个对于单个数据文件的恢复,是非常好的策略。
2。 Rman备份,对数据库的IO压力是非常大的。如果系统没有明显的的峰使用时间段的话,rman备份很难实施。 从Oracle 817开始,Rman可以用来备份standby 数据库。主数据库和standby 数据库的备份文件可以互相使用。
3。 exp 备份,可以在standby 作为Readonly 打开的时候进行。这样,就可以从standby 机器进行exp备份。 read only open的时候,数据库还可以作为data report使用。这样,就大大降低了大的查询,报表对primary instance的性能影响,降低了对OLTP的用户的性能影响。 |
| 回复: Oracle Standby数据库的常见问题 |
Copy to clipboard |
Posted by: chao_ping
Posted on: 2002-11-10 21:57
Standby的妙用--2
我们知道,数据库的经常进行大量的DML的表上面的索引,需要进行定期重建。
但是,不是所有的索引都需要重建,有些索引的重建,并没有什么明显的效益。但是有些索引的重建 ,则可以起到非常好的效果。
分析索引是否需要重建,很重要的是通过analyze index xxx validate structure.
但是这个是各很霸道的操作,会对数据库的表加一个Exclusive的Lock。对于高可用的系统,这个是不能接受的。
我们可以通过read only open的standby, 对索引进行分析,通过一个plsql block, 分析所有索引,把需要重建的索引列出来,生成SQL语句,到主数据库来执行。
这样,既重建了需要重建的索引,又不会对主数据库造成可用性的影响。
值得一提的是,索引是可以在线重建的:), alter index xx rebuild online; (有些索引不能online rebuild, 比如compressed index, IOT上的索引等)。 |
阅读更多内容:1 · 2 · 3 · 4 · 5 · 6 · 下一页>>
|
|
|
|
| |
|
|
|
| | |
|