国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

實戰管理聯機日志

2024-07-21 02:34:04
字體:
來源:轉載
供稿:網友

  今天查看偶得可愛的dbora817,發現了一個問題:
  select sid,event from v$session_wait;
  
  發現了
  
  7 buffer busy waits
  8 log file switch (archiving needed)
  
  這是咋個回事呢?
  
  最近我做了什么事情呢?原來早上我本打算對數據庫進行壓力測試,所以往一個表里面insert了200萬的數據。
  
  不想偶得pc根本受不了,sqlplus死掉了。我就直接把它Ctrl+C了。不過session還在,而且v$session_wait里和
  v$locked_object里面還有這個session的信息。
  于是我就把這個session給直接干掉了:
  
  alter system kill session '12,441';
  
  這個問題是解決了。
  
  沒想為insert的數據太多,我得重做日志設的只有1M大小,而且只有三個。所以當重做日志三個都被填滿了,而且archive
  
  還沒做完。所以就在v$session_wait里出現log file switch (archiving needed)的event.
  
  試著Troubleshooting一下:
  
  a.
  
  SQL> alter system switch logfile;
  
  不想這個操作也hung住了,根本沒反應。這個應該是本來logfile都已經滿了,肯定switch也是沒法子做得了。
  
  b.增加第四組logfile,大小為10M.
  
  SQL> alter database add logfile group 4 'C:OracleORADATASYMIELDREDO04.LOG' size 10m;
  
  發現做完了之后,第一步里的alter system switch logfile也成功完成了。
  
  c.刪掉第一組的logfile.
  
  SQL> alter database drop logfile group 1;
  alter database drop logfile group 1
  *
  ERROR 位于第 1 行:
  ORA-00350: 日志 1 (線程 1) 中需要歸檔
  ORA-00312: 聯機日志 1 線程 1: 'C:ORACLEORADATASYMIELDREDO01.LOG'
  
  刪不掉,提示第一組聯機日志需要歸檔。
  
  d.歸檔聯機日志
  
  SQL> archive log start
  已處理的語句
  SQL> archive log NEXT
  ORA-00271: 沒有需要存檔的日志
  SQL> archive log all;
  ORA-00271: 沒有需要存檔的日志
  
  歸檔完成。
  
  e.刪掉第一組的logfile.
  
  SQL> alter database drop logfile group 1;
  
  數據庫已更改。
  
  f.增加第一組logfile,大小為10M.
  
  SQL> alter database add logfile group 1 'C:ORACLEORADATASYMIELDREDO01.LOG' size 10m;
  alter database add logfile group 1 'C:ORACLEORADATASYMIELDREDO01.LOG' size 10m
  *
  ERROR 位于第 1 行:
  ORA-00301: 添加日志文件 'C:ORACLEORADATASYMIELDREDO01.LOG' 時出錯 -
  無法創建文件
  ORA-27038: skgfrcre: 文件存在
  OSD-04010: <創建> 選項指定,文件已經存在
  
  第一組logfile已經存在?因為drop掉的第一組日志的操作系統文件并沒有被刪除。
  
  del C:ORACLEORADATASYMIELDREDO01.LOG
  
  再try一次
  
  SQL> alter database add logfile group 1 'C:ORACLEORADATASYMIELDREDO01.LOG' size 10m;
  
  數據庫已更改。
  
  g.再更改剩下的logfile。
  
  注重的是:v$log中status為active和arc為No的日志文件不能被drop.
  
  查看結果:
  數據庫SQL> select sid,event from v$session_wait;
  
  SID EVENT
  ---------- ----------------------------------------------------------------
  
  ok,搞定。

  
  已經沒有相關的event了。
  
  added by 20050804:
  
  昨晚上看《Oracle8 備份與恢復手冊》發現:
  
  原來,假如Archivelog模式下的數據庫,假如歸檔的操作沒有被正常執行,那么整個數據庫將被掛起。
  
  偶懷疑這次就是一個掛起的事件。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 衡水市| 谷城县| 松潘县| 渝中区| 梁平县| 大余县| 玛沁县| 崇阳县| 海丰县| 普格县| 六盘水市| 松桃| 中方县| 台北县| 博乐市| 那坡县| 永济市| 斗六市| 灌南县| 彰化市| 二连浩特市| 黄石市| 武川县| 桃源县| 泰兴市| 杭州市| 西峡县| 金川县| 理塘县| 临沭县| 怀远县| 莆田市| 宜兴市| 昌平区| 拉萨市| 友谊县| 淮滨县| 古田县| 忻城县| 赤壁市| 马边|