联机日志文件又叫重做日志文件,记录了对数据库修改的信息,包括用户对数据修改和数据库管理员对数据库结构的修改。它主要用于在发生故障的时候和数据库备份文件配合恢复数据库,一般发生故障有2个情况:一个是介质损坏另外一个是用户误操作。每个数据库至少有两个日志文件组,每组至少包含1个或者多个日志成员,这里要多个日志成员的原因是防止日志文件组内某个日志文件损坏后及时提供备份,所以同一组的日志成员一般内容信息相同,但是存放位置不同。
如果数据库处于非归档模式,联机日志在切换时就会丢弃. 而在归档模式下,当发生日志切换的时候,被切换的日志会进行归档。
PS:以下为oracle11g测试数据库为例实施(RAC环境略有不同,最好每个实例有6个重做日志组,每个重做日志组有2个成员,这两个成员存放到不同的目录,大小根据业务需求,根据观察数据库切换重做日志组的频率而定,最好15~20分钟切换一次,本公司日志文件大小设置为1G,测试的环境可以设置为512M)
动态增加重做日志组,实际就是先创建新的日志组替换,然后删除原来1、2、3重做日志组,再重新创建重做日志组并指定大小,再删除替换日志组即可。
----先增加两个重做日志组
alterdatabase add logfile group 4 '/oracle/oradata/tjemp/redo04.log' size 512M;
alterdatabase add logfile group 5 '/oracle/oradata/tjemp/redo05.log' size 512M;
alterdatabase add logfile group 6 '/oracle/oradata/tjemp/redo06.log' size 512M;
----切换日志组(将当前使用的日志组切换到刚才创建的日志组上)
altersystem switch logfile;
----查询日志组情况(后续步骤多次查看)
selecta.GROUP#,a.MEMBERS,a.ARCHIVED,a.STATUS,a.SEQUENCE# from v$log a;
----让未归档的日志组归档
altersystem archive log all; (非归档模式不需要)
----触发检查点进行重做日志归档
altersystem checkpoint;
----(当原有的重做日志组1、2、3都为yes、inactive时)如果有的还是active则执行(alter system archive log all;) (alter system checkpoint;),如果有的是current执行(alter system switch logfile;
)然后删除重做日志组1、2、3
alterdatabase drop logfile group 1;
alterdatabase drop logfile group 2;
alterdatabase drop logfile group 3;
----删除日志组在系统上的文件
rm -rf/oracle/oradata/tjemp/redo01.log
rm -rf/oracle/oradata/tjemp/redo02.log
rm -rf/oracle/oradata/tjemp/redo03.log
----重新增加重做日志组1、2、3并指定大小
alterdatabase add logfile group 1 '/oracle/oradata/tjemp/redo01.log' size 512M;
alterdatabase add logfile group 2 '/oracle/oradata/tjemp/redo02.log' size 512M;
alterdatabase add logfile group 3 '/oracle/oradata/tjemp/redo03.log' size 512M;
----切换日志组(切换到日志组1或2或3上)
altersystem switch logfile;
----触发检查点、归档
altersystem checkpoint;
同样也查看4、5、6是否处于yes(unknow)inactive
----删除重做日志组4、5、6
alterdatabase drop logfile group 4;
alterdatabase drop logfile group 5;
alterdatabase drop logfile group 6;
----删除重做日志组4、5、6的系统文件
rm -rf/oracle/oradata/tjemp/redo04.log
rm -rf/oracle/oradata/tjemp/redo05.log
rm -rf/oracle/oradata/tjemp/redo06.log
联系邮箱:[email protected]