SQL> alter system switch logfile;
System altered
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARCHIVED STATUS FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- -----------
1 1 1012 1048576 2 YES INACTIVE 258987 2003-3-29 20:48:35
2 1 1013 1048576 2 YES INACTIVE 258988 2003-3-29 20:49:11
3 1 1014 1048576 1 NO CURRENT 258989 2003-3-29 20:49:19
SQL> alter database drop logfile group 3;
alter database drop logfile group 3
ORA-01623: 日志3是线程1的当前日志 - 无法删除
ORA-00312: 联机日志 3 线程 1: 'C:\ORACLE\ORADATA\ORACLE7\REDO03.LOG'
SQL> alter system switch logfile;
System altered
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARCHIVED STATUS FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- -----------
1 1 1015 1048576 2 NO CURRENT 258990 2003-3-29 20:55:37
2 1 1013 1048576 2 YES INACTIVE 258988 2003-3-29 20:49:11
3 1 1014 1048576 1 YES INACTIVE 258989 2003-3-29 20:49:19
SQL> alter database drop logfile group 3;
Database altered
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARCHIVED STATUS FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- -----------
1 1 1015 1048576 2 NO CURRENT 258990 2003-3-29 20:55:37
2 1 1013 1048576 2 YES INACTIVE 258988 2003-3-29 20:49:11
///但是对应的group 成员没有删除(此目录下C:\Oracle\oradata\oracle7\)
SQL> alter database backup controlfile to trace;
///打开看,里面对应的.LOG被更新,与select * from v$log;结果一致
Database altered
SQL> alter database drop logfile member 'C:\Oracle\oradata\oracle7\LIU2.LOG';
Database altered
SQL> alter database drop logfile member 'C:\Oracle\oradata\oracle7\LIU1.LOG';
alter database drop logfile member 'C:\Oracle\oradata\oracle7\LIU1.LOG'
ORA-01609: 日志1是线程1的当前日志 - 无法删除成员
ORA-00312: 联机日志 1 线程 1: 'C:\ORACLE\ORADATA\ORACLE7\REDO01.LOG'
ORA-00312: 联机日志 1 线程 1: 'C:\ORACLE\ORADATA\ORACLE7\LIU1.LOG'
SQL> alter system switch logfile;
System altered
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARCHIVED STATUS FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- -----------
1 1 1015 1048576 2 YES INACTIVE 258990 2003-3-29 20:55:37
2 1 1016 1048576 1 NO CURRENT 258991 2003-3-29 21:02:26
SQL> alter database drop logfile member 'C:\Oracle\oradata\oracle7\LIU1.LOG';
Database altered
///但是对应的group 成员没有删除(此目录下C:\Oracle\oradata\oracle7\)
SQL> select * from v$logfile;
GROUP# STATUS MEMBER
---------- ------- --------------------------------------------------------------------------------
1 C:\ORACLE\ORADATA\ORACLE7\REDO01.LOG
2 C:\ORACLE\ORADATA\ORACLE7\REDO02.LOG
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARCHIVED STATUS FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- -----------
1 1 1015 1048576 1 YES INACTIVE 258990 2003-3-29 20:55:37
2 1 1016 1048576 1 NO CURRENT 258991 2003-3-29 21:02:26
我的问题是我删掉了logfile group 或logfile member,select * from v$log;显示和.ctl文件里表示的
确drop了,但我的目录下C:\Oracle\oradata\oracle7\LIU1.LOG 等为什么没有删除,难道要手动删除??