Oracle調整redo log日誌大小
最近發現資料的庫存在日誌頻繁切換,檢視了才發現redo log日誌太小,進行線上調整。
1.檢視當前日誌組成員
SQL> select member from v$logfile;
MEMBER
------------------------------------------------------
/u01/oracle/oradata/orcl/redo03.log
/u01/oracle/oradata/orcl/redo02.log
/u01/oracle/oradata/orcl/redo01.log
2.檢視當前日誌組狀態
SQL> 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
a. CURRENT指當前的日誌檔案,在進行例項恢復時是必須的;
b. ACTIVE是指活動的非當前日誌,在進行例項恢復時會被用到。Active狀態意味著,Checkpoint尚未完成,因此該日誌檔案不能被覆蓋。
c. INACTIVE是非活動日誌,在例項恢復時不再需要,但在介質恢復時可能需要。
d. UNUSED表示該日誌從未被寫入,可能是剛新增的,或RESETLOGS後被重置。
從如上資訊可以看出,目前資料庫有三個成員,1為CURRENT,2,3為INACTIVE,大小為50m,現在修改成100m
3.刪除舊日誌組,增加新的日誌組
SQL>alter database drop logfile group 3;
--刪除物理磁碟中的redo03.log
[oracle@centos ~]# mv /u01/oracle/oradata/orcl/redo03.log /tmp
SQL>alter database add logfile group 3 ('/u01/oracle/oradata/orcl/redo03.log') size 100M;
檢視當前日誌組狀態
SQL> 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 100 UNUSED
同樣可以繼續刪除日誌組2
SQL>alter database drop logfile group 2;
--刪除物理磁碟中的redo02.log
[oracle@centos ~]# mv /u01/oracle/oradata/orcl/redo02.log /tmp
SQL>alter database add logfile group 2 ('/u01/oracle/oradata/orcl/redo02.log') size 100M;
檢視當前日誌組狀態
SQL> select group#,members,bytes/1024/1024,status from v$log;
GROUP# MEMBERS BYTES/1024/1024 STATUS
---------- ---------- --------------- ----------------
1 1 50 CURRENT
2 1 100 UNUSED
3 1 100 UNUSED
4.此時日誌組1仍為CURRENT狀態,使用如下命令來使日誌組1也變成INACTIVE狀態
SQL> alter system switch logfile;
檢視當前日誌組狀態
SQL> select group#,bytes/1024/1024,members,status from v$log;
GROUP# BYTES/1024/1024 MEMBERS STATUS
---------- --------------- ---------- ----------------
1 50 1 INACTIVE
2 100 1 ACTIVE
3 100 1 CURRENT
同樣可以繼續刪除日誌組1
SQL>alter database drop logfile group 1;
--刪除物理磁碟中的redo01.log
[oracle@centos ~]# mv /u01/oracle/oradata/orcl/redo01.log /tmp
SQL>alter database add logfile group 1 ('/u01/oracle/oradata/orcl/redo01.log') size 100M;
檢視當前日誌組狀態
SQL> select group#,bytes/1024/1024,members,status from v$log;
GROUP# BYTES/1024/1024 MEMBERS STATUS
---------- --------------- ---------- ----------------
1 100 1 UNUSED
2 100 1 ACTIVE
3 100 1 CURRENT
至此3個日誌檔案全部修改成大小100m。
1.檢視當前日誌組成員
SQL> select member from v$logfile;
MEMBER
------------------------------------------------------
/u01/oracle/oradata/orcl/redo03.log
/u01/oracle/oradata/orcl/redo02.log
/u01/oracle/oradata/orcl/redo01.log
2.檢視當前日誌組狀態
SQL> 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
a. CURRENT指當前的日誌檔案,在進行例項恢復時是必須的;
b. ACTIVE是指活動的非當前日誌,在進行例項恢復時會被用到。Active狀態意味著,Checkpoint尚未完成,因此該日誌檔案不能被覆蓋。
c. INACTIVE是非活動日誌,在例項恢復時不再需要,但在介質恢復時可能需要。
d. UNUSED表示該日誌從未被寫入,可能是剛新增的,或RESETLOGS後被重置。
從如上資訊可以看出,目前資料庫有三個成員,1為CURRENT,2,3為INACTIVE,大小為50m,現在修改成100m
3.刪除舊日誌組,增加新的日誌組
SQL>alter database drop logfile group 3;
--刪除物理磁碟中的redo03.log
[oracle@centos ~]# mv /u01/oracle/oradata/orcl/redo03.log /tmp
SQL>alter database add logfile group 3 ('/u01/oracle/oradata/orcl/redo03.log') size 100M;
檢視當前日誌組狀態
SQL> 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 100 UNUSED
同樣可以繼續刪除日誌組2
SQL>alter database drop logfile group 2;
--刪除物理磁碟中的redo02.log
[oracle@centos ~]# mv /u01/oracle/oradata/orcl/redo02.log /tmp
SQL>alter database add logfile group 2 ('/u01/oracle/oradata/orcl/redo02.log') size 100M;
檢視當前日誌組狀態
SQL> select group#,members,bytes/1024/1024,status from v$log;
GROUP# MEMBERS BYTES/1024/1024 STATUS
---------- ---------- --------------- ----------------
1 1 50 CURRENT
2 1 100 UNUSED
3 1 100 UNUSED
4.此時日誌組1仍為CURRENT狀態,使用如下命令來使日誌組1也變成INACTIVE狀態
SQL> alter system switch logfile;
檢視當前日誌組狀態
SQL> select group#,bytes/1024/1024,members,status from v$log;
GROUP# BYTES/1024/1024 MEMBERS STATUS
---------- --------------- ---------- ----------------
1 50 1 INACTIVE
2 100 1 ACTIVE
3 100 1 CURRENT
同樣可以繼續刪除日誌組1
SQL>alter database drop logfile group 1;
--刪除物理磁碟中的redo01.log
[oracle@centos ~]# mv /u01/oracle/oradata/orcl/redo01.log /tmp
SQL>alter database add logfile group 1 ('/u01/oracle/oradata/orcl/redo01.log') size 100M;
檢視當前日誌組狀態
SQL> select group#,bytes/1024/1024,members,status from v$log;
GROUP# BYTES/1024/1024 MEMBERS STATUS
---------- --------------- ---------- ----------------
1 100 1 UNUSED
2 100 1 ACTIVE
3 100 1 CURRENT
至此3個日誌檔案全部修改成大小100m。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29812844/viewspace-1988786/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE RAC+DG調整redo大小Oracle
- Oracle11g調整redo日誌大小、組數和每組成員數Oracle
- 【操作】調整Online Redo Logs大小(Resizing Oracle Online Redo Logs)Oracle
- Oracle產生redo日誌量大小統計Oracle
- Oracle RAC+DG 調整redo/standby log fileOracle
- oracle線上調整重做日誌Oracle
- Oracle重做日誌調整技巧Oracle
- oracle 線上調整redoOracle
- 修改oracle redo log的大小Oracle Redo
- 線上修改REDO LOG的大小及增加新的日誌組
- Oracle DataGuard環境主備庫日誌組數和大小調整Oracle
- MySQL重做日誌(redo log)MySql
- redo log日誌挖掘(二)
- redo log日誌挖掘(一)
- 線上重建redo log日誌組
- MySQL 日誌系統 redo log、binlogMySql
- Layui+larave-log-view日誌頁面調整UIView
- oracle效能調優:管理oracle日誌之調整線上日誌檔案Oracle
- 【Logback日誌級別】動態調整Logback的日誌級別
- oracle聯機日誌檔案REDO LOGFILE簡述Oracle
- 【Mysql】三大日誌 redo log、bin log、undo logMySql
- 管理oracle日誌之調整檢查點Oracle
- 【TUNE_ORACLE】Oracle檢查點(四)檢查點對redo日誌的影響和redo日誌大小設定建議Oracle
- online redo log 操作 -- 更改RAC資料庫日誌檔案大小資料庫
- 修改online redo日誌檔案大小
- 調整oracle redologOracle Redo
- log4j日誌列印級別動態調整
- 重做日誌(redo log)相關總結
- 【聽海日誌】之DATAGUARD新增redo log
- Oracle11g redo log 建立、新增、刪除(重做日誌組,重做日誌檔案)Oracle
- MySQL 5.6修改REDO日誌的大小和個數MySql
- mysql日誌:redo log、binlog、undo log 區別與作用MySql
- oracle rac+adg調整redo日誌組導致adg備庫ogg抽取程式abendOracle
- log buffer及日誌管理深入分析及效能調整(一)
- log buffer及日誌管理深入分析及效能調整(七)
- log buffer及日誌管理深入分析及效能調整(六)
- log buffer及日誌管理深入分析及效能調整(五)
- log buffer及日誌管理深入分析及效能調整(三)