在归档情况下  ,对数据库的效率的影响是不是只是在切换日志的时候?》
跟非归档模式相比,归档模式在效率上和 进程上有什么影响?

解决方案 »

  1.   


    大家可以想一想:归档是在什么时候进行的?对于非归档模式的db,也是需要日志切换的,只不过他不需要关注以前的日志是否归档,直接覆盖即可。对于归档模式下的db,在日志切换之前确保可用的日志已经归档,不然系统就会挂起的。所以开启归档的情况下:db的性能是有一点点下降,关键在于额外的IO。所以对于开启归档的db,以下几个问题需要注意:
    1、多消耗一些额外IO。
    2、归档日志存放保留期,如果过多则需要消耗存储空间。
    3、由于归档目录满可能会导致系统挂起。
      

  2.   

    Oracle数据库有联机重做日志,这个日志是记录对数据库所做的修改,比如插入,删除,更新数据等,对这些操作都会记录在联机重做日志里。一般数据库至少要有2个联机重做日志组。当一个联机重做日志组被写满的时候,就会发生日志切换,这时联机重做日志组2成为当前使用的日志,当联机重做日志组2写满的时候,又会发生日志切换,去写联机重做日志组1,就这样反复进行。
      如果数据库处于非归档模式,联机日志在切换时就会丢弃. 而在归档模式下,当发生日志切换的时候,被切换的日志会进行归档。比如,当前在使用联机重做日志1,当1写满的时候,发生日志切换,开始写联机重做日志2,这时联机重做日志1的内容会被拷贝到另外一个指定的目录下。这个目录叫做归档目录,拷贝的文件叫归档重做日志。
    非归档覆盖文件,归档拷贝文件。所以说性能没什么影响。主要是有足够的空间来存储你的日志文件。
      

  3.   

        归档模式数据库在发生日志组切换的时候会创建一个联机日志的副本,所以在I/O上面会有一定的占用,这个影响非常小,和安全性相比,这个完全是值得的。
         如果数据库处于归档模式下,则在发生日志切换时会调用ARCH进程对日志进行归档(即创建连接日志副本)。
      

  4.   

    如果删除归档文件,是不是需要重新备份数据库。还有是 我现在是非归档模式,我打算开启到归档模式并且进行数据库全备份。
    操作步骤是什么?
    对于数据库备份我打算用直接物理拷贝  ,---首先  进行将数据库弄到归档操作
    shutdown immediate;
    startup mount;
    alter database archivelog;
    alter database open;
    --进行数据库全备。
    shutdown immediate;
    物理拷贝
    startup;
    我们对数据库的数据完整性要求不是特别严格的。所以可以进行关闭操作(短时间的)我这样操作是否合适?
    在转成归档时,有哪些参数需要重新设置并注意的吗?
      

  5.   

    恩  开启归档之后,有几个问题需要注意一下:
    1、归档目录设置
    2、归档目录大小设置
    3、制定归档删除策略,是手工定时删除还是使用rman备份时自动删除。你这样也可以,一般开启归档之后,可以使用rman进行备份的。