Oracle手动切换日志文件和清空日志文件


Oracle切换日志文件组
日志文件组是循环使用的,当一组日志文件被写满时,Oracle系统自动的切换到下一组日志文件。在需要的时候,数据库管理员也可以手动的切换到其他的日志文件组。切换日志文件组需要使用如下的语句:
alter system switch logfile;

清空日志文件组
如果日志文件组中的日志文件受损,将导致数据库无法将受损的日志文件进行归档,这会最终导致数据库停止运行。此时,在不关闭数据库的情况下,可以选择清空日志文件组中的内容。
清空日志文件组的语法如下:
alter database clear logfile group group_number;
注意:
被清空的日志文件组不能处于current状态,也就是说不能清空数据库当前正在使用的日志文件组。
当数据库中只有两个日志文件组时,不能清空日志文件组。
具体的操作如下:
SQL> select group#,status from v$log;    //查看日志文件住的状态
    GROUP# STATUS
---------- ----------------
        1 ACTIVE                  --活动窗台
        2 INACTIVE                --非活动状态
        3 INACTIVE
        4 CURRENT                --当前数据库正在使用的日志文件组
SQL> alter system switch logfile;
系统已更改。
由以下可以看出此时的数据库文件组的已经被更改。
SQL> select group#,status from v$log;
    GROUP# STATUS
---------- ----------------
        1 INACTIVE
        2 CURRENT
        3 INACTIVE
        4 ACTIVE
清空日志文件组,对文件进行初始化操作,文件并没被删除,知识内容被清空
Alter database clear logfile group 4;

相关内容