日志管理
1,切换日志文件:
1.1, 切换前:
SQL> select group#,sequence#,bytes,members,status from v$log;
GROUP# SEQUENCE# BYTES MEMBERS STATUS
---------- ---------- ---------- ---------- ----------------
1 215 52428800 1 CURRENT
2 213 52428800 1 INACTIVE
3 214 52428800 1 INACTIVE
1.2 切换日志文件
SQL> alter system switch logfile;
1.3 切换后:
SQL> select group#,sequence#,bytes,members,status from v$log;
GROUP# SEQUENCE# BYTES MEMBERS STATUS
---------- ---------- ---------- ---------- ----------------
1 215 52428800 1 ACTIVE
2 216 52428800 1 CURRENT
3 214 52428800 1 INACTIVE
2,强制checkpoint:
SQL> alter system checkpoint;
3,坚持数据库日志模式(归档模式或非归档模式)
SQL> archive log list
3,切换到归档/非归档模式
SQL> startup mount
SQL> alter database archivelog/noarchivelog
SQL> alter database open;
4,显示当前归档日志组和成员:
SQL> select GROUP#,member from v$logfile;
5,添加redo log组:
5.1 SQL> alter database add logfile group 4 ('/oracle/oradata/orcl/redo04.log') size 4m;
5.2 检查新加入的log状态
SQL> select group#,sequence#,bytes,members,status from v$log;
GROUP# SEQUENCE# BYTES MEMBERS STATUS
---------- ---------- ---------- ---------- ----------------
1 215 52428800 1 INACTIVE
2 216 52428800 1 CURRENT
3 214 52428800 1 INACTIVE
4 0 4194304 1 UNUSED
(虽然这里是UNUSED的状态,但是通过切换日志文件或者数据库自动切换,该文件会被改为active状态)
6,添加新的文件到group 1
SQL> alter database add logfile member '/oracle/oradata/orcl/redo05.log' to group 1;
SQL> select group#,sequence#,bytes,members,status from v$log;
GROUP# SEQUENCE# BYTES MEMBERS STATUS
---------- ---------- ---------- ---------- ----------------
1 219 52428800 2 CURRENT
2 216 52428800 1 ACTIVE
3 218 52428800 1 ACTIVE
4 217 4194304 1 ACTIVE
这里的group组中的member就变为2;
SQL> select member from v$logfile where group#=1;
MEMBER
-----------------------------------------------------------------------------
/oracle/oradata/orcl/redo01.log
/oracle/oradata/orcl/redo05.log
7,给数据库文件改名
SQL> alter database rename file '/oracle/oradata/orcl/redo05.log' to '/oracle/oradata/orcl/redo06.log';
这里如果数据库是当前被使用的,无法改名;如果redo06.log文件不存在,数据库无法获得其信息,无法改名,数据库文件如果已经存在在数据库中,无法改名(可以先创建号固定大小的数据库文件改名)
8, 删除新增的group 4
SQL> alter database drop logfile group 4;
9,删除新增的group 1的logfile;
SQL> alter database drop logfile member '/oracle/oradata/orcl/redo06.log';
10,清空logfile:
SQL> alter database clear logfile '/oracle/oradata/orcl/redo01.log'
SQL> select group#,sequence#,bytes,members,status from v$log;
GROUP# SEQUENCE# BYTES MEMBERS STATUS
---------- ---------- ---------- ---------- ----------------
&nbs
p; 1 0 52428800 1 UNUSED
2 220 52428800 1 CURRENT
3 218 52428800 1 INACTIVE
文章出处:http://www.diybl.com/course/7_databases/oracle/Oracleshl/200869/123810_2.html
文章出处:http://www.diybl.com/course/7_databases/oracle/Oracleshl/200869/123810.html