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

首頁 > 數據庫 > Oracle > 正文

Oracle數據庫系統緊急故障處理方法

2024-08-29 13:57:33
字體:
來源:轉載
供稿:網友
正在看的ORACLE教程是:Oracle數據庫系統緊急故障處理方法。

Oracle物理結構故障是指構成數據庫的各個物理文件損壞而導致的各種數據庫故障。這些故障可能是由于硬件故障造成的,也可能是人為誤操作而引起。所以我們首先要判斷問題的起因,如果是硬件故障則首先要解決硬件問題。在無硬件問題的前提下我們才能按照下面的處理方發來進一步處理。 

  控制文件損壞: 

  控制文件記錄了關于oracle的重要配置信息,如數據庫名、字符集名字、各個數據文件、日志文件的位置等等信息。控制文件的損壞,會導致數據庫異常關閉。一旦缺少控制文件,數據庫也無法啟動,這是一種比較嚴重的錯誤。 

  損壞單個控制文件: 

  1. 確保數據庫已經關閉,如果沒有用下面的命令來關閉數據庫: 

  svrmgrl>shutdown immediate; 

  2. 查看初始化文件$ORACLE_BASE/admin/pfile/initORCL.ora,確定所有控制文件的路徑。 
 
  3. 用操作系統命令將其它正確的控制文件覆蓋錯誤的控制文件。 

  4. 用下面的命令重新啟動數據庫:

  svrmgrl>startup; 

  5. 用適當的方法進行數據庫全備份。 

  損壞所有的控制文件: 

  1. 確保數據庫已經關閉,如果沒有用下面的命令來關閉數據庫: 

  svrmgrl>shutdown immediate; 

  2. 從相應的備份結果集中恢復最近的控制文件。對于沒有采用帶庫備份的點可以直接從磁帶上將最近的控制文件備份恢復到相應目錄;對于采用帶庫備份的點用相應的rman腳本來恢復最近的控制文件。 

  3. 用下面的命令來創建產生數據庫控制文件的腳本: 

svrmgrl>startup mount; 

svrmgrl>alter database backup controlfile to trace noresetlogs; 

  4. 修改第三步產生的trace文件,將其中關于創建控制文件的一部分語句拷貝出來并做些修改,使得它能夠體現最新的數據庫結構。假設產生的sql文件名字為createcontrol.sql. 

  注意: 

  Trace文件的具體路徑可以在執行完第3)步操作后查看$ORACLE_BASE/admin/bdump/alert_ORCL.ora文件來確定。 

  5. 用下面命令重新創建控制文件: 

  svrmgrl>shutdown abort; 

  svrmgrl>startup nomount; 

  svrmgrl>@createcontrol.sql; 

  6. 用適當的方法進行數據庫全備份。 

  重做日志文件損壞: 

  數據庫的所有增、刪、改都會記錄入重做日志。如果當前激活的重做日志文件損壞,會導致數據庫異常關閉。非激活的重做日志最終也會因為日志切換變為激活的重做日志,所以損壞的非激活的重做日志最終也會導致數據庫的異常終止。在ipas/mSwitch中每組重做日志只有一個成員,所以在下面的分析中只考慮重做日志組損壞的情況,而不考慮單個重做日志成員損壞的情況。 

  確定損壞的重做日志的位置及其狀態: 

  1. 如果數據庫處于可用狀態: 

  select * from v$logfile; 

  svrmgrl>select * from v$log; 

  2. 如果數據庫處于已經異常終止: 

  svrmlgr>startup mount; 
  svrmgrl>select * from v$logfile; 
  svrmgrl>select * from v$log; 

  其中,logfile的狀態為INVALID表示這組日志文件出現已經損壞;log狀態為Inactive:表示重做日志文件處于非激活狀態;Active: 表示重做日志文件處于激活狀態;Current:表示是重做日志為當前正在使用的日志文件。 

  損壞的日志文件處于非激活狀態: 

  1. 刪除相應的日志組: 

  svrmgrl>alter database drop logfile group group_number; 

  2. 重新創建相應的日志組: 

  svrmgrl>alter database add log file group group_number ('log_file_descritpion',…) size log_file_size; 

  損壞的日志文件處于激活狀態且為非當前日志: 

  1. 清除相應的日志組: 

  svrmgrl>alter database clear unarchived logfile group group_number; 

  損壞的日志文件為當前活動日志文件: 

  用命令清除相應的日志組: 

  svrmgrl>alter database clear unarchived logfile group group_number; 

  如果清除失敗,則只能做基于時間點的不完全恢復。 

  打開數據庫并且用適當的方法進行數據庫全備份: 

  svrmgrl>alter database open; 

[NextPage]部分數據文件損壞: 

  若損壞的數據文件屬于非system表空間,則數據庫仍然可以處于打開狀態可以進行操作,只是損壞的數據文件不能訪問。這時在數據庫打開狀態下可以單獨對損壞的數據文件進行恢復。若是system表空間的數據文件損壞則數據庫系統會異常終止。這時數據庫只能以Mount方式打開,然后再對數據文件進行恢復。可以通過查看數據庫日志文件來判斷當前損壞的數據文件到底是否屬于system表空間。 

上一頁    

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 勃利县| 乐业县| 尉犁县| 承德县| 阿合奇县| 丰顺县| 林芝县| 峨眉山市| 成武县| 太湖县| 容城县| 罗源县| 和平区| 松滋市| 瓦房店市| 炉霍县| 铜川市| 天柱县| 报价| 宁远县| 广德县| 理塘县| 尤溪县| 定边县| 个旧市| 临海市| 彭州市| 宜都市| 湘潭县| 开阳县| 聂荣县| 全州县| 遂平县| 玛多县| 南宫市| 涪陵区| 开化县| 盐亭县| 江孜县| 焉耆| 都江堰市|