oracle在線添加日志組和日志組成員


1.在線添加日志組成員

SQL> alter database drop logfile member '/u01/app/oracle/oradata/orcl/redo01a.log';

Database altered.

SQL> alter database add logfile member '/u01/app/oracle/fast_recovery_area/orcl/redo01a.log' to group 1;

Database altered.

SQL> alter database add logfile member '/u01/app/oracle/fast_recovery_area/orcl/redo02a.log' to group 2;

Database altered.

SQL> alter database add logfile member '/u01/app/oracle/fast_recovery_area/orcl/redo03a.log' to group 3;

Database altered.

SQL> alter database add logfile group 4 ('/u01/app/oracle/oradata/orcl/redo04.log','/u01/app/oracle/fast_recovery_area/orcl/redo04a.log') size 100m;

Database altered.

SQL> alter database add logfile group 5 ('/u01/app/oracle/oradata/orcl/redo05.log','/u01/app/oracle/fast_recovery_area/orcl/redo05a.log') size 100m;

Database altered.
————————————————

我們在切換日志的時候,oracle會去找下一個狀態為INACTIVE的日志組:
<pre code_snippet_id="1717292" snippet_file_name="blog_20160615_2_9483808" name="code" class="sql">SQL> alter system switch logfile;

System altered.

SQL> select * from v$log;

GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME
---------- ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------- ------------ ---------
1 1 13 104857600 512 2 NO INACTIVE 394447 15-JUN-16 403542 15-JUN-16
2 1 14 104857600 512 2 NO ACTIVE 403542 15-JUN-16 403931 15-JUN-16
3 1 17 104857600 512 2 NO CURRENT 403940 15-JUN-16 2.8147E+14
4 1 15 104857600 512 2 NO ACTIVE 403931 15-JUN-16 403934 15-JUN-16
5 1 16 104857600 512 2 NO ACTIVE 403934 15-JUN-16 403940 15-JUN-16

SQL> alter system switch logfile;

System altered.

SQL> select * from v$log;

GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME
---------- ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------- ------------ ---------
1 1 18 104857600 512 2 NO CURRENT 403948 15-JUN-16 2.8147E+14
2 1 14 104857600 512 2 NO ACTIVE 403542 15-JUN-16 403931 15-JUN-16
3 1 17 104857600 512 2 NO ACTIVE 403940 15-JUN-16 403948 15-JUN-16
4 1 15 104857600 512 2 NO ACTIVE 403931 15-JUN-16 403934 15-JUN-16
5 1 16 104857600 512 2 NO ACTIVE 403934 15-JUN-16 403940 15-JUN-16

SQL> alter system switch logfile;

System altered.

SQL> select * from v$log;

GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME
---------- ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------- ------------ ---------
1 1 18 104857600 512 2 NO ACTIVE 403948 15-JUN-16 403958 15-JUN-16
2 1 19 104857600 512 2 NO CURRENT 403958 15-JUN-16 2.8147E+14
3 1 17 104857600 512 2 NO ACTIVE 403940 15-JUN-16 403948 15-JUN-16
4 1 15 104857600 512 2 NO INACTIVE 403931 15-JUN-16 403934 15-JUN-16
5 1 16 104857600 512 2 NO INACTIVE 403934 15-JUN-16 403940 15-JUN-16

SQL> alter system switch logfile;

System altered.

SQL> select * from v$log;

GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME
---------- ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------- ------------ ---------
1 1 18 104857600 512 2 NO ACTIVE 403948 15-JUN-16 403958 15-JUN-16
2 1 19 104857600 512 2 NO ACTIVE 403958 15-JUN-16 403962 15-JUN-16
3 1 17 104857600 512 2 NO ACTIVE 403940 15-JUN-16 403948 15-JUN-16
4 1 20 104857600 512 2 NO CURRENT 403962 15-JUN-16 2.8147E+14
5 1 16 104857600 512 2 NO INACTIVE 403934 15-JUN-16 403940 15-JUN-16

————————————————

2.刪除在線日志組和日志組成員
刪除日志組成員,如果發現不能刪除,應該是狀態CURRENT,只要切換日志組就好了。

SQL> alter database drop logfile member '/u01/app/oracle/oradata/orcl/redo01a.log';
alter database drop logfile member '/u01/app/oracle/oradata/orcl/redo01a.log'
*
ERROR at line 1:
ORA-01609: log 1 is the current log for thread 1 - cannot drop members
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/orcl/redo01.log'
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/orcl/redo01a.log'
SQL> alter system switch logfile;

System altered.

SQL> alter database drop logfile member '/u01/app/oracle/oradata/orcl/redo01a.log';

Database altered.
刪除日志組;
ALTER DATABASE DROP LOGFILE GROUP N;--這里的N就是你的日志組編號,如果不能刪除,就和上面一樣切換日志組。
————————————————
原文鏈接:https://blog.csdn.net/cscscscsc/article/details/51679023


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM