ºìÁªLinuxÃÅ»§
Linux°ïÖú

Oracleά»¤redoÈÕÖ¾

·¢²¼Ê±¼ä:2007-10-16 00:01:09À´Ô´:ºìÁª×÷Õß:wmbodbc
OracleµÄÊý¾Ý¿âÈÕÖ¾³ÆΪredo log£¬ËùÓÐÊý¾Ý¸Ä±ä¶¼¼Ç¼redo log£¬¿ÉÒÔÓÃÓÚÐÞ¸´ÊÜËðµÄÊý¾Ý¿â¡£´óÐÍÊý¾Ý¿â¶¼²ÉÓÃÈÕÖ¾£¬ÕâÑùÉè¼ÆµÄºÃ´¦¶¼ÊÇÒ»ÑùµÄ¡£

RedoÈÕÖ¾ÊÇ·Ö×éµÄ£¬Ò»¸ö¿âÖÁÉÙÐèÒªÁ½×飬ĬÈÏÊÇÈý×顣ÿ¸ö×éÄÚµÄredoÈÕÖ¾³ÆΪ³ÉÔ±¡£Ä¬ÈÏÇé¿öÏ£¬Ã¿¸ö×éÖ»ÓÐÒ»¸ö³ÉÔ±£¬ÕâÑùûÓÐÈßÓàÐÔ£¬¿ÉÄÜÔì³Éonline redo logµÄ¶ªÊ§£¬ÒªÌá¸ßÊý¾ÝµÄ¿É¿¿ÐÔ£¬Ó¦¸ÃΪÁ½¸ö×éÖÁÉÙÅäÖÃÁ½¸ö³ÉÔ±£¬½»½«ÕâÁ½¸ö³ÉÔ±·ÖÅäµ½²»Í¬µÄ´ÅÅÌÉÏ¡£

RedoÈÕÖ¾ÊÇÂÖÁ÷ʹÓõģ¬Ò»¸öredo logÂúÁË£¬LGWR»áÇл»µ½ÏÂÒ»×éredo log£¬ÕâÖÖ²Ù×÷³ÆΪlog switch£¬×ölog switchµÄͬʱҲ»á×öcheckpoint£¬ÏàÓ¦µÄÐÅÏ¢»¹»áдÈë¿ØÖÆÎļþ¡£

Ò²¿ÉÒÔÊÖ¹¤Ö´ÐÐlog switch»òcheckpoint²Ù×÷

SQL> alter system switch logfile;
System altered.

SQL> alter system checkpoint;
System altered.

²é¿´ÏµÍ³µÄredo logÐÅÏ¢£º

SQL> select group#,sequence#,bytes,members,status from v$log;
GROUP# SEQUENCE# BYTES MEMBERS STATUS
---------- ---------- ---------- ---------- ----------------
1 5 104857600 1 INACTIVE
2 6 104857600 1 INACTIVE
3 7 104857600 1 CURRENT

SQL> select member from v$logfile;
MEMBER
---------------------
/home/oracle/oradata/gldb/redo03.log
/home/oracle/oradata/gldb/redo02.log
/home/oracle/oradata/gldb/redo01.log

¿ÉÒÔÔÚÏßÌí¼Óonline redo log×飺

SQL> alter database add logfile group 4 ('/home/oracle/oradata/gldb/redo04.log') size 1m;
Database altered.
SQL> select member from v$logfile;
MEMBER
------------------------------------
/home/oracle/oradata/gldb/redo03.log
/home/oracle/oradata/gldb/redo02.log
/home/oracle/oradata/gldb/redo01.log
/home/oracle/oradata/gldb/redo04.log

¿ÉÒÔÔÚÏßÌí¼Óonline redo log×é³ÉÔ±£º

SQL> alter database add logfile member '/home/oracle/oradata/gldb/redo01b.log' to group 1;
Database altered.

SQL> select member from v$logfile;
MEMBER
------------------------------
/home/oracle/oradata/gldb/redo03.log
/home/oracle/oradata/gldb/redo02.log
/home/oracle/oradata/gldb/redo01.log
/home/oracle/oradata/gldb/redo04.log
/home/oracle/oradata/gldb/redo01b.log

ÔÚÏßɾ³ý¸Õ²ÅÌí¼ÓµÄ×éºÍ×é³ÉÔ±£º

SQL> alter database drop logfile group 4;
Database altered.

SQL> alter database drop logfile member '/home/oracle/oradata/gldb/redo01b.log';
Database altered.

SQL> select member from v$logfile;
MEMBER
--------------------------------------
/home/oracle/oradata/gldb/redo03.log
/home/oracle/oradata/gldb/redo02.log
/home/oracle/oradata/gldb/redo01.log

¹éµµRedo logÎļþ£º

Æô¶¯ÈÕÖ¾¹éµµÓÐÁ½¸öºÃ´¦£º
1£¬´øÓй鵵ÈÕÖ¾µÄÊý¾Ý¿â±¸·Ý¿ÉÒÔ»Ö¸´µ½ÈÎÒâʱ¼äµã¡£
2£¬¿ÉÒÔÔÚÏß±¸·ÝÊý¾Ý¿â¡£

Èç¹ûÄãµÄÊý¾ÝºÜÖØÒª£¬Ó¦¸ÃÆôÓù鵵ÈÕ־ģʽ£¬·ñÔòÊý¾Ý¿âËð»µÊ±ºÜ¿ÉÄÜÖ»Äָܻ´µ½ÉÏÒ»´Î±¸·ÝʱµÄ״̬ÁË¡£

ȱʡÇé¿öÏ£¬Êý¾Ý¿âÊǷǹ鵵ÈÕ־ģʽ¡£

¿ÉÒÔÓÃÒÔÏÂÁ½ÌõÃüÁî¼ì²éÊý¾Ý¿âµÄ¹éµµÈÕ־ģʽ£º

SQL> select archiver from v$instance;
ARCHIVE
-------
STOPPED

SQL> archive log list;
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination /home/oracle/product/9.2.0/dbs/arch
Oldest online log sequence 7
Current log sequence 9

Èç¹ûÆôÓù鵵ÈÕ־ģʽ½«ÔÚºóÃæÊý¾Ý±¸·ÝÕ½ÚÖнéÉÜ¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ