1.Creating Redo Log Groups and Members
a) Creating Redo Log Groups:
Alter Database Add Logfile ('D:\oracle\product\10.2.0\oradata\orcl\loga1.rdo','D:\oracle\product\10.2.0\oradata\orcl\loga2.rdo') SIZE 10M;
Or
Alter Database Add Logfile Group 10 ('D:\oracle\product\10.2.0\oradata\orcl\loga1.rdo','D:\oracle\product\10.2.0\oradata\orcl\loga2.rdo') SIZE 10M;
select * from v$log;
b) Creating Redo Log Members:
Alter Database Add Logfile Member 'D:\oracle\product\10.2.0\oradata\orcl\loga3.rdo' To Group 10;
select * from v$logfile Where GROUP#=10;
Or
Alter Database Add Logfile Member 'D:\oracle\product\10.2.0\oradata\orcl\loga4.rdo' To ( 'D:\oracle\product\10.2.0\oradata\orcl\loga1.rdo', 'D:\oracle\product\10.2.0\oradata\orcl\loga2.rdo', 'D:\oracle\product\10.2.0\oradata\orcl\loga3.rdo');
注意:
a):若对应目录下已存成员的文件名称,则创建成员失败
b):To(成员目录组)从句中的成员必须是相同重做日志组所有的日志文件,缺少一个Members或有不同Redo Log Group的Member,该语句执行都会失败。
c):每个数据库至少要二个日志组,每个日志组至少要一个成员
2.Relocating and Renaming Redo Log Members
Steps for Renaming Redo Log Members
a):Shut down the database
SQL> shutdown immediate; 数据库已经关闭。 已经卸载数据库。 ORACLE 例程已经关闭。
b):Copy the redo log files to the new location
c):Startup the database ,mount ,but do not open it
SQL> startup mount; ORACLE 例程已经启动。 Total System Global Area 603979776 bytes Fixed Size 1250380 bytes Variable Size 293604276 bytes Database Buffers 301989888 bytes Redo Buffers 7135232 bytes 数据库装载完毕。
d):Rename the redo log members
e.g LOGA1.RDO --> LOGA01.RDO; LOGA2.RDO --> LOGA02.RDO
Alter Database Rename file 'D:\oracle\product\10.2.0\oradata\orcl\loga1.rdo', 'D:\oracle\product\10.2.0\oradata\orcl\loga2.rdo' To 'D:\oracle\product\10.2.0\oradata\orcl\loga01.rdo', 'D:\oracle\product\10.2.0\oradata\orcl\loga02.rdo';
e): Open the database for normal operation.
SQL> alter database open; 数据库已更改。
3.Clearing a Redo Log File
Alter Database Clear Logfile Group 3;
注意:CURRENT和ACTIVE状态不能执行清除日志数据。只有在INACTIVE状态才能执清除日志数据。
当数据库未启用归档模式时,可以执行如下:
Alter Database Clear Unarchived Logfile Group 3;
4.Droping Redo Log Groups And Members
a):Droping Redo Log Members;
Alter Database Drop Logfile Member 'D:\oracle\product\10.2.0\oradata\orcl\loga3.rdo', 'D:\oracle\product\10.2.0\oradata\orcl\loga4.rdo';
注意:成员的状态必须为INVALID才能删除,执行以上SQL语句以后,还要手工在对应目录下删除文件。
b):Droping Redo Log Groups;
Alter Database Drop Logfile Group 10;注意:CURRENT和ACTIVE状态不能执行删除日志组。只有在INACTIVE或UNUSED状态才能执删除日志组。
Alter System Switch Logfile;
6.Viewing Redo Log Information(V$Table)
a):V$LOG;
UNUSED: 从未对该联机日志写入任何内容,一般为新增加联机日志文件或清除日志文件或是使用resetlog后的状态
CURRENT:状态为LGWR进程正把redo log buffer的日志写进日志组中
当前重做日志文件,表示该重做日志文件为活动状态,能够被打开和关闭
ACTIVE:为刚刚完成日志切换后的状态,此时该日志组中提交的事务引起的数据改变还没有完全从DB buffer cache写入到数据文件中,因此该日志组还不能被覆盖,并且待完全写入后变为inactive状态。如果数据库为归档模式,那么是在该状态下完成归档的。
处于活动状态,不属于当前日志,崩溃恢复需要该状态,可用于块恢复,可能归档,也可能未归档
CLEARING:表示在执行alter database clear logfile命令后正将该日志重建为一个空日志,重建后状态变为unused
CLEARING_CURRENT:当前日志处于关闭线程的清除状态。如日志某些故障或写入新日志标头时发生I/O错误
INACTIVE:状态的日志可以被覆盖,可以允许写入日志。如果是在归档模式下,那么此阶段证明归档已经完成。
b):V$LOGFILE;
INVALID :表明该文件不可访问
STALE :表明文件内容不完全
DELETED : 表明该文件不再使用
NULL :表明文件正在使用