ORACLE数据库ARCHIVELOG,NOARCHIVELOG模式转换简单总结,Redo L
Oracle9i中有2种日志,一种称为 Redo Log(重做日志),另一种叫做Archive Log(归档日志) 重做日志redo log file是LGWR进程从Oracle实例中的redo log buffer写入的,是循环利用的。就是说一个redo log file(group) 写满后,才写下一个。 归档日志archive log是当数据库运行在归档模式下时,一个redo log file(group)写满后,由ARCn进程将重做日志的内容备份到归档日志文件下,然后这个redo log file(group)才能被下一次使用。不管数据库是否是归档模式,重做日志是肯定要写的。而只有数据库在归档模式下,重做日志才会备份,形成归档日志。 归档日志结合全备份,用于数据库出现问题后的恢复使用。 redolog也称为联机日志 archivelog 为归档日志,是把redolog归档而来。先有redolog再有archivelog oracle恢复时需要redolog和archivelog
日志文件分为重做日志文件(redo log file)和归档日志文件(archive log file)。 SQL> select group#,status,member from v$logfile; redo log fiel有多个组group构成。一个group中能包括不止一个log file,日志信息是写到group的每个logfile中,所以一个group中的log file存储着一样的信息。当一个group写满之后就转到下一个group中,称之为日志切换。 当所有group都写满了后,就重头开始从第一个group开始,原来的内容将被覆盖丢失。如果不想被丢失,可以采用归档模式,即将数据保存到archive log file中。归档模式会给系统带来一定的性能问题。 查看database采用哪种模式: 归档日志路径由SPFILE的log_archive_dest参数确定。 SQL> show parameter log_archive_dest; 警告日志文件alert_sid.log保存着例行的信息和错误信息,它的路经是: SQL> select value from v$parameter where name='background_dump_dest'; SQL> select value from v$parameter where name='user_dump_dest'; 出处:http://zhidao.baidu.com/question/359244586.html ==============================================================================================ORACLE数据库ARCHIVELOG,NOARCHIVELOG模式转换简单总结 档redolog并不是没有redolog。 archivelog,noarchivelog模式之间切换有几点要注意的地方。 1:是不是归档redolog有一个重要的开关 alterdatabasearchivelog; alterdatabasenoarchivelog; 这个打开archivelog状态的语句必须在mount状态运行。 shutdownimmediate startupmount alterdatabasearchivelog alterdatabaSEOpen 2:打开开关之后并不是就可以让系统自动归档,还有一个控制点,自动还是手动归档。 archivelogstart自动 archivelogstop手动 这个操作会改变 log_archive_start=true 这个参数控制 数据库 实例启动时是否启动归档过程通常为ora_arc0_sid,这个参数可以通过archivelog start,或archivelogstop打开或关闭。 3:如果手动归档那么 altersystemswitchlogfile后系统并不自动把switch之前的log归档而是要手工归档。 altersystemarchivelogall 4:手工归档下要注意的问题 如果系统在几次日志组切换后,日志还没有归档,所有的onlineredologgroup都在未归档状态,那么 切换日志组的过程会挂住。这时要打开一个另一个窗口手工归档。看系统的log的常用语句 select*fromv$log select*fromv$logfile (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |