在線修改redo.文件的路徑


------------在線修改redo.log文件的路徑
------1.登陸
Enter user-name: system
Enter password: 
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

USER       ID_SESSION             SCN HOST            LOCAL           NOW
---------- --------------- ---------- --------------- --------------- -----------------
SYSTEM     139,5           2.9142E+10 168.169.88.100                  20140515 08:07:48

------2.查看當前日誌組成員

08:18:11 system@ORCL> col member format a50

08:18:19 system@ORCL> select * from v$logfile;


    GROUP# STATUS  TYPE    MEMBER                                             IS_
---------- ------- ------- -------------------------------------------------- ---
         3         ONLINE  /u01/app/oracle/oradata/orcl/redo03.log            NO
         2         ONLINE  /u01/app/oracle/oradata/orcl/redo02.log            NO
         1         ONLINE  /u01/app/oracle/oradata/orcl/redo01.log            NO
         
------3.查看當前日誌組狀態

08:18:22 system@ORCL> select group#,members,bytes/1024/1024,status from v$log; 

    GROUP#    MEMBERS BYTES/1024/1024 STATUS
---------- ---------- --------------- ----------------
         1          1              50 INACTIVE
         2          1              50 CURRENT
         3          1              50 INACTIVE   

可以看到:現有三個日誌組,每個組內有一個成員,每個成員的大小爲50MB,
現在想更改日誌所在在路徑,使其與數據文件目錄分開,
步驟如下:


------1.創建三個新的日誌組,每組包含一個日誌文件

08:21:45 system@ORCL> alter database add logfile group 4 ('/home/oracle/redo_path/REDO04.LOG') size 50M; 
Database altered.
08:21:59 system@ORCL> alter database add logfile group 5 ('/home/oracle/redo_path/REDO05.LOG') size 50M; 
Database altered.
08:22:10 system@ORCL> alter database add logfile group 6 ('/home/oracle/redo_path/REDO06.LOG') size 50M; 
Database altered.

------2.切換日誌到新的日誌組

08:53:30 system@ORCL> alter system switch logfile;  -----可能需要執行多次切換,才能是新創建的日誌文件爲CURRENT
System altered.
08:53:34 system@ORCL> select group#,members,bytes/1024/1024,status from v$log;

    GROUP#    MEMBERS BYTES/1024/1024 STATUS
---------- ---------- --------------- ----------------
         1          1              50 ACTIVE
         2          1              50 ACTIVE
         3          1              50 ACTIVE
         4          1              50 ACTIVE
         5          1              50 CURRENT
         6          1              50 ACTIVE
   
  日誌文件狀態解釋:
      current:當前活動重做日誌,進行實例恢復是必須的!      
      active:活動的非當前重做日誌,實例恢復時會被用到。此狀態意味checkpoint尚未完成.     
      inactive:非活動日誌,在實例恢復時不需要,但介質恢復時需要。      
      unused:日誌從未被寫入,可能剛被添加或者resetlogs後被重置
------3.執行checkpoint,使redo的數據寫入到datafile,使ACTIVE狀態的日誌變爲INACTIVE狀態
--只有INACTIVE狀態的日誌組,纔可以被刪除

08:53:39 system@ORCL> alter system checkpoint;
System altered.

------4.查看當前日誌組狀態

08:54:34 system@ORCL> select group#,members,bytes/1024/1024,status from v$log;

    GROUP#    MEMBERS BYTES/1024/1024 STATUS
---------- ---------- --------------- ----------------
         1          1              50 INACTIVE
         2          1              50 INACTIVE
         3          1              50 INACTIVE
         4          1              50 INACTIVE
         5          1              50 CURRENT
         6          1              50 UNUSED
         
------5.刪除原日誌組

08:55:34 system@ORCL> alter database drop logfile group 1;
Database altered.
08:56:03 system@ORCL> alter database drop logfile group 2;
Database altered.
08:56:20 system@ORCL> alter database drop logfile group 3;
Database altered.

------6.查看當前日誌組狀態

08:58:35 system@ORCL> select group#,members,bytes/1024/1024,status from v$log;

    GROUP#    MEMBERS BYTES/1024/1024 STATUS
---------- ---------- --------------- ----------------
         4          1              50 INACTIVE 
         5          1              50 CURRENT  
         6          1              50 UNUSED   

------7.物理刪除原日誌組文件(在操作系統下刪除),redo01,redo02,redo03,

 [oracle@localhost ~]$ cd /u01/app/oracle/oradata/orcl/
 [oracle@localhost orcl]$ rm -rf redo01.log
 [oracle@localhost orcl]$ rm -rf redo02.log
 [oracle@localhost orcl]$ rm -rf redo03.log
 
------8.重新創建日誌組1,2,3

08:59:45 system@ORCL> alter database add logfile group 1 ('/home/oracle/redo_path/REDO01.LOG') size 50M; 
Database altered.
08:59:59 system@ORCL> alter database add logfile group 2 ('/home/oracle/redo_path/REDO02.LOG') size 50M; 
Database altered.
09:00:10 system@ORCL> alter database add logfile group 3 ('/home/oracle/redo_path/REDO03.LOG') size 50M; 
Database altered.

------9.查看當前日誌組狀態

09:00:20  system@ORCL> select group#,members,bytes/1024/1024,status from v$log;

    GROUP#    MEMBERS BYTES/1024/1024 STATUS

---------- ---------- --------------- ----------------
         1          1              50 UNUSED
         2          1              50 UNUSED
         3          1              50 UNUSED
         4          1              50 INACTIVE
         5          1              50 INACTIVE
         6          1              50 CURRENT
------10.切換日誌到新的日誌組

09:02:04 system@ORCL> alter system switch logfile; -----可能需要執行多次切換,才能是新創建的日誌文件爲CURRENT
System altered.
09:03:10 system@ORCL> select group#,members,bytes/1024/1024,status from v$log;    

    GROUP#    MEMBERS BYTES/1024/1024 STATUS
---------- ---------- --------------- ----------------
         1          1              50 CURRENT
         2          1              50 INACTIVE
         3          1              50 ACTIVE
         4          1              50 ACTIVE
         5          1              50 ACTIVE
         6          1              50 ACTIVE

------11.執行checkpoint,使redo的數據寫入到datafile,使ACTIVE狀態的日誌變爲INACTIVE狀態
---只有INACTIVE狀態的日誌組,纔可以被刪除


09:04:15 system@ORCL> alter system checkpoint;
System altered.
09:04:30 system@ORCL> select group#,members,bytes/1024/1024,status from v$log;    
    GROUP#    MEMBERS BYTES/1024/1024 STATUS
---------- ---------- --------------- ----------------
         1          1              50 CURRENT
         2          1              50 INACTIVE
         3          1              50 INACTIVE
         4          1              50 INACTIVE
         5          1              50 INACTIVE
         6          1              50 INACTIVE

------12.刪除日誌組4,5,6
09:05:30 system@ORCL> alter database drop logfile group 4;
Database altered.
09:05:35 system@ORCL> alter database drop logfile group 5;
Database altered.
09:05:40 system@ORCL> alter database drop logfile group 6;
Database altered.

------13.物理刪除原日誌組文件(在操作系統下刪除),redo04,redo05,redo06

 [oracle@localhost orcl]$ cd /home/oracle/redo_path/
 [oracle@localhost redo_path]$  rm -rf redo04.log
 [oracle@localhost redo_path]$  rm -rf redo05.log
 [oracle@localhost redo_path]$  rm -rf redo06.log
 
------14.查看當前日誌組狀態

10:54:24 sys@ORCL> col member format a50
10:55:13 sys@ORCL> select * from v$logfile;

    GROUP# STATUS  TYPE    MEMBER                                             IS_
---------- ------- ------- -------------------------------------------------- ---
         1         ONLINE  /home/oracle/redo_path/REDO01.LOG                  NO
         2         ONLINE  /home/oracle/redo_path/REDO02.LOG                  NO
         3         ONLINE  /home/oracle/redo_path/REDO03.LOG                  NO
         
09:05:57 sys@ORCL>  select group#,members,bytes/1024/1024,status from v$log;    

    GROUP#    MEMBERS BYTES/1024/1024 STATUS
---------- ---------- --------------- ----------------
         1          1              50 CURRENT
         2          1              50 INACTIVE
         3          1              50 INACTIVE
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章