1归档模式
Oracle数据库有联机重做日志,这个日志是记录对数据库所做的修改,比如插入,删除,更新数据等,对这些 *** 作都会记录在联机重做日志里。一般数据库至少要有2个联机重做日志组。当一个联机重做日志组被写满的时候,就会发生日志切换,这时联机重做日志组2成为当前使用的日志,当联机重做日志组2写满的时候,又会发生日志切换,去写联机重做日志组1,就这样反复进行。
如果数据库处于非归档模式,联机日志在切换时就会丢弃 而在归档模式下,当发生日志切换的时候,被切换的日志会进行归档。比如,当前在使用联机重做日志1,当1写满的时候,发生日志切换,开始写联机重做日志2,这时联机重做日志1的内容会被拷贝到另外一个指定的目录下。这个目录叫做归档目录,拷贝的文件叫归档重做日志。
数据库使用归档方式运行时才可以进行灾难性恢复。
1归档日志模式和非归档日志模式的区别
非归档模式只能做冷备份,并且恢复时只能做完全备份最近一次完全备份到系统出错期间的数据不能恢复
归档模式可以做热备份,并且可以做增量备份,可以做部分恢复
用ARCHIVE LOG LIST 可以查看期模式状态时归档模式还是非归档模式
2非归档模式
相反非归档就是不保存旧事务日志。
在oracle数据库的开发环境和测试环境中 数据库的日志模式和自动归档模式一般都是不设置的 这样有利于系统应用的调整 也免的生成大量的归档日志文件将磁盘空间大量的消耗 但在系统上线 成为生产环境时 将其设置为日志模式并自动归档就相当重要了 因为 这是保证系统的安全性 有效预防灾难的重要措施 这样 通过定时备份数据库和在两次备份间隔之间的日志文件 可以有效的恢复这段时间的任何时间点的数据 可以在很多时候挽回或最大可能的减少数据丢失 虽然ORACLE数据库的日志模式和自动归档设置并不复杂 但其中的一些概念和 *** 作过程还是容易混淆的 现在根据本人的经验 分析介绍如下 所用环境为UNIX(HPUX SOLARIES AIX TRU UNIX)和ORACLE 一 要使OARCLE数据库进行日志的自动归档 需要做两方面的事情 一是数据库日志模式的设置(database log mode 可为Archive Mode和No Archive Mode) 另外就是自动归档模式设置(Automatic archival 可为Enabled和Disabled) 二 如何查看数据库的现行日志和自动归档模式的设置 可用archive log list命令来查看 例如 运行在日志自动归档模式下的数据库系统查看结果如下(一般是生产环境)SVRMGR> archive log listDatabase log mode Archive ModeAutomatic archival EnabledArchive destination/backup/archivelogOldest online log sequence Next log sequence to archive Current log sequence 没有启动数据库日志模式和自动归档的数据库系统查看结果如下(一般是测试环境)SVRMGR> archive log listDatabase log mode No Archive ModeAutomatic archival DisabledArchive destination/u /app/oracle/product/ /dbs/archOldest online log sequence Current log sequence 三 数据库日志模式的设置 在创建数据库时 可以在CREATE DATABASE 语句中指定数据库的日志模式 假如没有指明 则缺省为NOARCHIVELOG模式 由于如果在创建数据库时指明是Archive Mode的话 会增加约 %的创建时间 而在以后启动INSTANCE时再设置的话 一般只用去几秒的时间 所以一般在创建数据库时是不设置为ARCHIVE MODE的 如要确定一系统数据库的日志模式设置 除了(二)中的方法外也可以执行如下 *** 作查看 SVRMGR> Select from V$DATABASENAME CREATEDLOG_MODE CHECKPOINT ARCHIVE_CH ORCL / / : :NOARCHIVELOG 将数据库的日志模式设置切换(Archive Mode 和No Archive Mode之间的切换)的步骤和 *** 作如下 关闭运行的数据库实例SVRMGRL> shutdown在进行日志模式切换之前 必须将运行的数据库正常关闭 备份数据库该备份跟以后产生的日志一起用于将来的灾难恢复(很重要 如要改为归档日志模式 没有这个数据库备份 仅有日志文件是无法从该时间点恢复的) 启动数据库实例到mount状态 但不要打开 SVRMGRL> startup mount注意 如果是使用OPS的话 请只打开一个数据库实例进行模式切换 *** 作 切换数据库日志模式 SVRMGRL> alter database archivelog;(设置数据库为归档日志模式)或SVRMGRL> alter database noarchivelog;(设置数据库为归档日志模式) 打开数据库SVRMGRL> alter database open; 确认数据库现在处于归档日志模式 SVRMGRL> archive log list;Database log mode Archive ModeAutomatic archival EnabledArchive destination for example: $ORACLE_HOME/dbs/archOldest on line log sequence Next log sequence Current log sequence 将这个时间点的redo logs归档SVRMGRL> archive log all; 确认新产生的日志文件已在相应的归档目录下面 四 自动归档模式设置(Automatic archival 可为Enabled和Disabled) 在该模式下 数据库启动一个arch进程 专门负责将redo logs写到系统归档设备的相应目录下 在数据库的参数文件中设置参数(一般是在$ORACLE_HOME/dbs/init ora文件中) LOG_ARCHIVE_START=LOG_ARCHIVE_DEST=LOG_ARCHIVE_FORMAT=LOG_ARCHIVE_START:如要求自动归档的话 则设为TRUE 如要求为非自动归档的话 则设为FALSELOG_ARCHIVE_DEST:该参数设定了archive logs 归档存放的路径 LOG_ARCHIVE_FORMAT:该参数设定了archive logs的命名格式 例如 如将格式设为: arch%s arclog 文件将为: arch arc arch arc arch arc这几个参数设置只有在数据库实例启动前设置才能生效 如果在数据库运行中进行设置 要使其生效 必须重起数据库 如果数据库正在运行中 不能即刻重起 要设置其为自动归档模式 则做如下 *** 作 SVRMGRL> ALTER SYSTEM ARCHIVE LOG START;如要设置其为非自动归档模式(取消自动归档) 则 SVRMGRL> ALTER SYSTEM ARCHIVE LOG STOP;但如果数据库重起后 给语句修改的结果就失效了 自动归档的设置还是按照系统参数文件中的LOG_ARCHIVE_START的值来设置 五 几种设置情况 ( ) Database log mode Archive ModeAutomatic archival Enabled这是在大部分生产环境中的ORACLE数据库日志及归档模式设置 这种情况下 做好数据库的定期备份(有热备和冷备)和归档日志备份 可有效的将数据库恢复到有归档日志的全部时间点 ( ) Database log mode Archive ModeAutomatic archival Disabled这种情况下 数据库不能自动归档 需要进行手工归档 如果所有在线日志都写满了 又没有的及时进行手工归档的话 由于LGWR没有可用的在线日志可写 数据库将会挂在这儿 只有进行手工归档后 有可用的在线日志后才能继续 在生产环境中应该避免这种情况 手工归档 *** 作如下 SVRMGRL> ALTER SYSTEM ARCHIVE LOG ALL;数据库将会把在线日志进行归档处理( ) Database log mode NO Archive ModeAutomatic archival Enabled有些相对欠缺经验的管理员在进行设置时 只在数据库参数文件中设置了LOG_ARCHIVE_START=TRUE 然后在数据库起来后查看到ARCH归档进程已经起来了 可是尽管ORACLE已经作了几次日志切换 但还是没有归档日志 这时的设置就是这种情况 如果数据库不是处在ARVHIVELOG模式 redolog 还是不会被归档 ( ) Database log mode NO Archive ModeAutomatic archival Disabled这种设置是刚安装的oracle数据库的缺省设置 开发环境也大部分如此 即没有进行归档 lishixinzhi/Article/program/Oracle/201311/18755
以上就是关于数据库归档模式,数据库效率会降低吗全部的内容,包括:数据库归档模式,数据库效率会降低吗、OARCLE数据库归档模式的设置、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)