国产探花免费观看_亚洲丰满少妇自慰呻吟_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模式下的數據庫,假如歸檔的操作沒有被正常執行,那么整個數據庫將被掛起。
  
  偶懷疑這次就是一個掛起的事件。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泗阳县| 张北县| 涪陵区| 比如县| 临沂市| 湄潭县| 芮城县| 墨玉县| 海淀区| 苍南县| 龙井市| 深泽县| 全椒县| 新野县| 宁晋县| 桑植县| 沐川县| 临武县| 马山县| 武义县| 淮北市| 平邑县| 宁化县| 台南县| 南华县| 桂东县| 阿巴嘎旗| 磴口县| 梧州市| 新乡市| 阜宁县| 乌拉特后旗| 子洲县| 黄石市| 佛教| 镇安县| 贵南县| 盘山县| 绵竹市| 铁岭市| 东丰县|