熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

實戰管理聯機日志

2013-11-13 16:07:42  來源: Oracle 

  今天查看偶得可愛的dbora發現了一個問題
  select sidevent from v$session_wait;
  
  發現了
  
   buffer busy waits
   log file switch (archiving needed)
  
  這是咋個回事呢?
  
  最近我做了什麼事情呢?原來早上我本打算對數據庫進行壓力測試所以往一個表裡面insert了萬的數據
  
  不想偶得pc根本受不了sqlplus死掉了我就直接把它Ctrl+C了不過session還在而且v$session_wait裡和
  v$locked_object裡面還有這個session的信息
  於是我就把這個session給直接干掉了
  
  alter system kill session ;
  
  這個問題是解決了
  
  沒想為insert的數據太多我得重做日志設的只有M大小而且只有三個所以當重做日志三個都被填滿了而且archive
  
  還沒做完所以就在v$session_wait裡出現log file switch (archiving needed)的event
  
  試著Troubleshooting一下
  
  a
  
  SQL> alter system switch logfile;
  
  不想這個操作也hung住了根本沒反應這個應該是本來logfile都已經滿了肯定switch也是沒法子做得了
  
  b增加第四組logfile大小為M
  
  SQL> alter database add logfile group C:ORACLEORADATASYMIELDREDOLOG size m;
  
  發現做完了之後第一步裡的alter system switch logfile也成功完成了
  
  c刪掉第一組的logfile
  
  SQL> alter database drop logfile group ;
  alter database drop logfile group
  *
  ERROR 位於第 行:
  ORA: 日志 (線程 ) 中需要歸檔
  ORA: 聯機日志 線程 : C:ORACLEORADATASYMIELDREDOLOG
  
  刪不掉提示第一組聯機日志需要歸檔
  
  d歸檔聯機日志
  
  SQL> archive log start
  已處理的語句
  SQL> archive log NEXT
  ORA: 沒有需要存檔的日志
  SQL> archive log all;
  ORA: 沒有需要存檔的日志
  
  歸檔完成
  
  e刪掉第一組的logfile
  
  SQL> alter database drop logfile group ;
  
  數據庫已更改
  
  f增加第一組logfile大小為M
  
  SQL> alter database add logfile group C:ORACLEORADATASYMIELDREDOLOG size m;
  alter database add logfile group C:ORACLEORADATASYMIELDREDOLOG size m
  *
  ERROR 位於第 行:
  ORA: 添加日志文件 C:ORACLEORADATASYMIELDREDOLOG 時出錯
  無法創建文件
  ORA: skgfrcre: 文件存在
  OSD: <創建> 選項指定文件已經存在
  
  第一組logfile已經存在?因為drop掉的第一組日志的操作系統文件並沒有被刪除
  
  del C:ORACLEORADATASYMIELDREDOLOG
  
  再try一次
  
  SQL> alter database add logfile group C:ORACLEORADATASYMIELDREDOLOG size m;
  
  數據庫已更改
  
  g再更改剩下的logfile
  
  注意的是v$log中status為active和arc為No的日志文件不能被drop
  
  查看結果
  數據庫SQL> select sidevent from v$session_wait;
  
  SID EVENT
  
  
  ok搞定
  
  已經沒有相關的event了
  
  added by :
  
  昨晚上看《Oracle 備份與恢復手冊》發現
  
  原來如果Archivelog模式下的數據庫如果歸檔的操作沒有被正常執行那麼整個數據庫將被掛起
  
  偶懷疑這次就是一個掛起的事件
From:http://tw.wingwit.com/Article/program/Oracle/201311/17861.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.