------------在線修改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;
---------- ------- ------- -------------------------------------------------- ---
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