作者:樊赜思 | 来源:互联网 | 2023-10-16 18:48
看一本OracleDBA的书上谈及到数据库物理设计的时候说:如果将数据文件与日志文件存储在同一磁盘,则数据文件不应当属于SYSTEM表空间和RBS表空间,也不应当属于非常活跃的D
看一本Oracle DBA的书上谈及到数据库物理设计的时候说:
"如果将数据文件与日志文件存储在同一磁盘,则数据文件不应当属于S Y S T E M表空间和R B S表空间,也不应当属于非常活跃的D ATA或I N D E X表空间。这些都会导致与重做日志文件直接发生冲突,并且增加日志文件写操作被数据库读操作影响的可能性。" 请问这是什么原因啊?
还有, "。使用A R C H I V E L O G选项的数据库在频繁进行数据事务处理时,将会遇到联机重做日志文件磁盘方面的冲突,这是因为在A R C H试图读取另一个文件时,L G W R正在写入一个重做日志文件。避免这种冲突的唯一方式是通过多个磁盘来分配联机重做日志文件。因此,如果以A R C H I V E L O G模式在一个面向事务的数据库上运行,通过把联机重做日志文件分配到多个设备上就可以避免L G W R - A R C H冲突。" 为什么归档进程和写日志进程会冲突?通过多个磁盘来分配日志文件就能解决问题啊?
菜鸟初学DBA,请各位大虾指教啊.
5 个解决方案
归档与写日志可能会并发, 文中说的应该是避免操作磁盘冲突.
一般日志和数据要分开物理磁盘存储的,这样是为了不会同时读写同一物理扇区,提高存储的效率。一般日志放在效率高的盘,比如Raid0或1。呵呵
数据文件为什么不应当属于SYSTEM,RBS,DATA,INDEX表空间?属于这些空间就与重做日志文件冲突?难道重做日志文件是存在这几个表空间里的?要免冲突也应该是日志文件不应该存在这些表空间才是啊.再说只要DBWR进程和LGWR进程不是对同一个文件进行读写的话就应该不会有冲突啊,数据文件,日志文件两个不同的文件上的操作怎么会有冲突呢? 郁闷.......