東坡下載:內容最豐富最安全的下載站!

首頁知識庫網(wǎng)絡軟件 → VC客戶端無法登陸都是REDO日志惹的禍

VC客戶端無法登陸都是REDO日志惹的禍

相關文章發(fā)表評論 來源:本站整理時間:2017/8/7 10:13:49字體大小:A-A+

更多

作者:不詳點擊:18次評論:0次標簽: VC客戶端

環(huán)境:VSPHERE5.5+獨立oracle 11G數(shù)據(jù)庫

現(xiàn)象:打開vcenter服務器控制臺,輸入密碼后卡在歡迎界面無響應,客戶端也無法正常登陸。

正常重啟也不行。由于VC所在虛機為獨立磁盤無法做快照,不能備當時狀態(tài)。

查看所在WINDOWS系統(tǒng)日志發(fā)現(xiàn)硬件可能有問題。

這是偏移量,并不能代表硬件有問題,懷疑VC連接的數(shù)據(jù)庫有問題,逐登陸排查。
1、登陸11.15.146.2

首先查看數(shù)據(jù)庫進程,正常。

2、查看數(shù)據(jù)庫的告警日志,發(fā)現(xiàn)一個問題。

這個實際上是個比較常見的錯誤。通常來說是因為在日志被寫滿時會切換日志組,這個時候會觸發(fā)一次checkpoint,DBWR會把內存中的臟塊往數(shù)據(jù)文件中寫,只要沒寫結束就不會釋放這個日志組。如果歸檔模式被開啟的話,還會伴隨著ARCH寫歸檔的過程。如果redo log產(chǎn)生的過快,當CPK或歸檔還沒完成,LGWR已經(jīng)把其余的日志組寫滿,又要往當前的日志組里面寫redolog的時候,這個時候就會發(fā)生沖突,數(shù)據(jù)庫就會被掛起。并且一直會往alert.log中寫類似上面的錯誤信息。

分析原因:
服務器有三個日志組g1、g2、g3.當g1寫完時,要往g2上寫,這時候g1要進行歸檔,還要進行checkpoint。然后另外兩個日志組繼續(xù)寫。當g2和g3都寫完之后,又要往g1上寫,但是問題來了,g1還沒有完成歸檔和checkpoint操作。所以這時就會報警。
解決方法:
多加幾個日志組,并且每個日志組空間大一點,這樣就可以延緩時間,會留給g1充分的時間來完成歸檔和checkpoint任務。就不會有報錯。

操作步驟:

首先查看下數(shù)據(jù)庫的日志組狀態(tài)

查看在線日志組:SQL> select * from v$log;

查看日志組中的成員:SQL> select * from v$logfile;

查看日志組的具體狀態(tài):SQL> select group#,sequence#,bytes,members,status from v$log;

GROUP# SEQUENCE#      BYTES    MEMBERS   STATUS

------------------------------------------------

1     28825   52428800  1     INACTIVE

2     28826   52428800  1       ACTIVE

3     28827   52428800  1       CURRENT

CURRENT: 表示是當前的日志。

INACTIVE:臟數(shù)據(jù)已經(jīng)寫入數(shù)據(jù)塊。該狀態(tài)可以drop。

ACTIVE: 臟數(shù)據(jù)還沒有寫入數(shù)據(jù)塊。

日志只有50M太小

擴充下日志組大小

SQL> alter database add logfile group 4 ('/u01/app/oracle/oradata/pvdb/redo04.log')size 500M;

Database altered.

SQL> alter database add logfile group 5('/u01/app/oracle/oradata/pvdb/redo05.log') size 500M;

Database altered.

SQL> alter database add logfile group 6 ('/u01/app/oracle/oradata/pvdb/redo06.log')size 500M;

Database altered.

切換日志組

SQL> alter system switch logfile;

System altered.

SQL> alter system switch logfile;

System altered.

注意:alter system switch logfile 和alter system archive log current這兩個切換的區(qū)別。

alter system switch logfile 是不等待歸檔完成就switch logfile。如果database尚未開啟archive log mode。那用這個切換是毋庸置疑了。另外,也是對單實例database和RAC模式下當前實例執(zhí)行日志切換。

而alter system archive log current則需要等待歸檔完成才switch logfile。會對其中所有實例執(zhí)行日志切換。

整體上說來,在自動歸檔的庫里,兩個命令的所產(chǎn)生的結果幾乎一樣。有區(qū)別的是alter system archive log current所用的時間會比alter system switch logfile 的長。

刪除日志組

SQL> alter database drop logfile group 1;

Database altered.

SQL> alter database drop logfile group 2;

Database altered.

SQL> alter database drop logfile group 3;

Database altered.

注意刪除日志組及日志組成員:

原則:刪除前必須遵守如下原則,每個實例必須至少有兩個日志組;當一個組處于ACTIVE或者CURRENT的狀態(tài)時不可刪除;刪除日志組的操作只對數(shù)據(jù)庫進行更改,操作系統(tǒng)的文件尚未刪除;當刪除時適用DROP LOGFILE GROUP N語句時,此時GROUP N內的所有成員都將被刪除。

ALTER DATABASE DROP LOGFILE GROUP N;

日志組狀態(tài)的改變:

SQL> select group#,sequence#,bytes,members,status from v$log;

GROUP#  SEQUENCE#      BYTES    MEMBERS STATUS

---------- ---------- ---------- ---------- ----------------

1     201268 2147483648          1 CURRENT

2     201263 2147483648          1 ACTIVE

3     201264 2147483648          1 ACTIVE

4     201267  524288000          1 ACTIVE

5     201265  524288000          1 ACTIVE

6     201266  524288000          1 ACTIVE

SQL>  ALTER SYSTEM CHECKPOINT;

SQL> select group#,sequence#,bytes,members,status from v$log;

GROUP#  SEQUENCE#      BYTES    MEMBERS STATUS

---------- ---------- ---------- ---------- ----------------

1     201268 2147483648          1 CURRENT

2     201263 2147483648          1 INACTIVE

3     201264 2147483648          1 INACTIVE

4     201267  524288000          1 INACTIVE

5     201265  524288000          1 INACTIVE

6     201266  524288000          1 INACTIVE

刪除日志成員的原則:當你刪除一個是該組中最后一個成員的時候,你不能刪除此成員;當組的轉臺處于current的狀態(tài)時,不能刪除組成員;在歸檔模式下,必須得歸檔之后才能刪除;刪除日志組成員的操作只對數(shù)據(jù)庫進行更改,操作系統(tǒng)的文件尚未刪除。

刪除日志組后再刪除相應日志文件,例如redo01.log

SQL> !rm  /u01/app/oracle/oradata/pvdb/redo01.log

SQL> alter system switch logfile;

System altered.

SQL> select group#,sequence#,bytes,members,status from v$log;

GROUP#  SEQUENCE#      BYTES   MEMBERS    STATUS

------------------------------------------------

4      28828  524288000          1     INACTIVE

5      28829  524288000          1     ACTIVE

6      28830  524288000          1     CURRENT

最后切完日志組后,觀察新建的REDO日志組已被應用,數(shù)據(jù)庫正常,數(shù)據(jù)庫日志再無報警,問題解決。

擴展知識

相關評論

閱讀本文后您有什么感想? 已有 人給出評價!

  • 2791 喜歡喜歡
  • 2101 頂
  • 800 難過難過
  • 1219 囧
  • 4049 圍觀圍觀
  • 5602 無聊無聊
熱門評論
最新評論
發(fā)表評論 查看所有評論(0)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)