Oracle重做日志文件--转载
http://blog.sina.com.cn/s/blog_697e5aec0100ki0i.html
一.简介
Oracle相关进程:重做日志写进程(LGWR)。
二.获取重做日志的信息
1. 获得数据库中有多少个重做日志组,每个组中有多少个成员、日志大小及状态。
SELECT GROUP#,SEQUENCE#,MEMBERS,BYTES,STATUS,ARCHIVED
FROM V$LOG;
-
inactive:表示实例恢复已不再需要这组联机重做日志组了。 -
active:表示该组是活动的但不是当前组,实例恢复时需要这组日志。 -
current:表示该组日志是当前组,该联机重做日志组是活动的。 -
unused:表示该日志组从未写过,是重做日志刚刚添加到状态。
2. 获得数据库中每个重做日志组的成员所在目录、文件名及状态。
FROM V$LOGFILE;
状态列(status)所显示常用状态的含义:
-
空白:表示该文正在使用。 -
stale:表示该文件中的内容是不完全的。 -
invalid:表示该文件是不可以被访问的。 -
deleted:表示该文件已不在有用了。
三.日志切换
四.添加和删除联机重做日志文件组
1. 添加联机重做日志组
创建新的重做日志组SQL命令格式:
SIZE 15M;
注意:由于没有使用GROUP选项,所有oracle系统会自动地在最大的组号上加1来产生新的组号。
显示结果如下,创建一组新的日志组,组号是4,有两个成员,成员大小为15M。
SELECT GROUP#,SEQUENCE#,MEMBERS,BYTES,STATUS,ARCHIVED
FROM V$LOG;
下面的结果显示了新建日志的文件路径和文件名。
SELECT GROUP#,STATUS,TYPE,MEMBER
FROM V$LOGFILE;
2. 删除联机重做日志组
注意:
当前的重做日志组不能删除。如果要删除,先使用日志强制切换命令ALTER SYSTEM SWITCH LOGFILE 进行切换。当一组重做日志被删除后,它的操作系统文件依然存在,只能用操作系统命令删除,否则会留下一些无用的垃圾文件。
五.添加和删除联机重做日志成员(文件)
1. 添加联机重做日志成员
2. 删除联机重做日志成员
注意:
当前的重做日志组不能删除,否则会报如下错误:
如果要删除,应该先使用ALTER SYSTEM SWITCH LOGFILE命令进行切换。
如果数据库运行在归档模式,而要删除的成员还没有被归档完,那也无法删除它。
当一个重做日志成员被删除后,它的操作系统文件依然存在,只能用操作系统命令删除。