<output id="r87xx"></output>
    1. 
      
      <mark id="r87xx"><thead id="r87xx"><input id="r87xx"></input></thead></mark>
        •   

               當前位置:首頁>軟件介紹>數(shù)據(jù)庫系統(tǒng)緊急故障處理方法(一) 查詢:
               
          數(shù)據(jù)庫系統(tǒng)緊急故障處理方法(一)
          文章來源:名易軟件數(shù)據(jù)庫系統(tǒng)緊急故障處理方法Oracle物理結(jié)構(gòu)故障是指構(gòu)成數(shù)據(jù)庫的各個物理文件損壞而導(dǎo)致的各種數(shù)據(jù)庫故障。這些故障可能是由于硬件故障造成的,也可能是人為誤操作而引起。所以我們首先要判斷問題的起因,如果是硬件故障則首先要解決硬件問題。在無硬件問題的前提下我們才能按照下面的處理方發(fā)來進一步處理。

          控制文件損壞:

          控制文件記錄了關(guān)于oracle的重要配置信息,如數(shù)據(jù)庫名、字符集名字、各個數(shù)據(jù)文件、日志文件的位置等等信息??刂莆募膿p壞,會導(dǎo)致數(shù)據(jù)庫異常關(guān)閉。一旦缺少控制文件,數(shù)據(jù)庫也無法啟動,這是一種比較嚴重的錯誤。

          損壞單個控制文件:

          1.確保數(shù)據(jù)庫已經(jīng)關(guān)閉,如果沒有用下面的命令來關(guān)閉數(shù)據(jù)庫:

          svrmgrl>shutdownimmediate;

          2.查看初始化文件$ORACLE_BASEadminpfileinitORCL.ora,確定所有控制文件的路徑。

          3.用操作系統(tǒng)命令將其它正確的控制文件覆蓋錯誤的控制文件。

          4.用下面的命令重新啟動數(shù)據(jù)庫:

          svrmgrl>startup;

          5.用適當?shù)姆椒ㄟM行數(shù)據(jù)庫全備份。

          損壞所有的控制文件:

          1.確保數(shù)據(jù)庫已經(jīng)關(guān)閉,如果沒有用下面的命令來關(guān)閉數(shù)據(jù)庫:

          svrmgrl>shutdownimmediate;

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

          3.用下面的命令來創(chuàng)建產(chǎn)生數(shù)據(jù)庫控制文件的腳本:

          svrmgrl>startupmount;

          svrmgrl>alterdatabasebackupcontrolfiletotracenoresetlogs;

          4.修改第三步產(chǎn)生的trace文件,將其中關(guān)于創(chuàng)建控制文件的一部分語句拷貝出來并做些修改,使得它能夠體現(xiàn)最新的數(shù)據(jù)庫結(jié)構(gòu)。假設(shè)產(chǎn)生的sql文件名字為createcontrol.sql.

          注意:

          Trace文件的具體路徑可以在執(zhí)行完第3步操作后查看$ORACLE_BASEadminbdumpalert_ORCL.ora文件來確定。

          5.用下面命令重新創(chuàng)建控制文件:

          svrmgrl>shutdownabort;

          svrmgrl>startupnomount;

          svrmgrl>@createcontrol.sql;

          6.用適當?shù)姆椒ㄟM行數(shù)據(jù)庫全備份。

          重做日志文件損壞:

          數(shù)據(jù)庫的所有增、刪、改都會記錄入重做日志。如果當前激活的重做日志文件損壞,會導(dǎo)致數(shù)據(jù)庫異常關(guān)閉。非激活的重做日志最終也會因為日志切換變?yōu)榧せ畹闹刈鋈罩?,所以損壞的非激活的重做日志最終也會導(dǎo)致數(shù)據(jù)庫的異常終止。在ipasmSwitch中每組重做日志只有一個成員,所以在下面的分析中只考慮重做日志組損壞的情況,而不考慮單個重做日志成員損壞的情況。

          確定損壞的重做日志的位置及其狀態(tài):

          1.如果數(shù)據(jù)庫處于可用狀態(tài):

          select*fromv$logfile;

          svrmgrl>select*fromv$log;

          2.如果數(shù)據(jù)庫處于已經(jīng)異常終止:

          svrmlgr>startupmount;

          svrmgrl>select*fromv$logfile;

          svrmgrl>select*fromv$log;

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

          損壞的日志文件處于非激活狀態(tài):

          1.刪除相應(yīng)的日志組:

          svrmgrl>alterdatabasedroplogfilegroupgroup_number;

          2.重新創(chuàng)建相應(yīng)的日志組:

          svrmgrl>alterdatabaseaddlogfilegroupgroup_number(’log_file_descritpion’,…)sizelog_file_size;

          損壞的日志文件處于激活狀態(tài)且為非當前日志:

          1.清除相應(yīng)的日志組:

          svrmgrl>alterdatabaseclearunarchivedlogfilegroupgroup_number;

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

          用命令清除相應(yīng)的日志組:

          svrmgrl>alterdatabaseclearunarchivedlogfilegroupgroup_number;

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

          打開數(shù)據(jù)庫并且用適當?shù)姆椒ㄟM行數(shù)據(jù)庫全備份:

          svrmgrl>alterdatabaseopen;

          部分數(shù)據(jù)文件損壞:

          若損壞的數(shù)據(jù)文件屬于非system表空間,則數(shù)據(jù)庫仍然可以處于打開狀態(tài)可以進行操作,只是損壞的數(shù)據(jù)文件不能訪問。這時在數(shù)據(jù)庫打開狀態(tài)下可以單獨對損壞的數(shù)據(jù)文件進行恢復(fù)。若是system表空間的數(shù)據(jù)文件損壞則數(shù)據(jù)庫系統(tǒng)會異常終止。這時數(shù)據(jù)庫只能以Mount方式打開,然后再對數(shù)據(jù)文件進行恢復(fù)??梢酝ㄟ^查看數(shù)據(jù)庫日志文件來判斷當前損壞的數(shù)據(jù)文件到底是否屬于system表空間。

          非system表空間的數(shù)據(jù)文件損壞

          1.確定損壞的文件名字:

          svrmgrl>selectnamefromv$datafilewherestatus=’INVALID’;

          2.將損壞的數(shù)據(jù)文件處于offline狀態(tài):

          svrmgrl>alterdatabasedatafile‘datafile_name’offline;

          3.從相應(yīng)的備份結(jié)果集中恢復(fù)關(guān)于這個數(shù)據(jù)文件的最近的備份。對于沒有采用帶庫備份的點可以直接從磁帶上恢復(fù);對于用帶庫備份的點用相應(yīng)的rman腳本來恢復(fù)。

          4.恢復(fù)數(shù)據(jù)文件:

          svrmgrl>alterdatabaserecoverdatafile‘file_name’;

          5.使數(shù)據(jù)庫文件online:

          svrmgrl>alterdatabasedatafile‘datafile_name’online;

          6.用適當?shù)姆椒ㄟM行數(shù)據(jù)庫全備份。

          system表空間的數(shù)據(jù)文件損壞:

          1.以mount方式啟動數(shù)據(jù)庫

          svrmgrl>startupmount;

          2.從相應(yīng)的備份結(jié)果集中恢復(fù)關(guān)于這個數(shù)據(jù)文件的最近的備份。對于沒有采用帶庫備份的點可以直接從磁帶上恢復(fù);對于用帶庫備份的點用相應(yīng)的rman腳本來恢復(fù)。

          3.恢復(fù)system表空間:

          svrmgrl>alterdatabaserecoverdatafile‘datafile_name’;

          4.打開數(shù)據(jù)庫:

          svrmgrl>alterdatabaseopen;

          5.用適當?shù)姆椒ㄟM行數(shù)據(jù)庫全備份。

          表空間損壞:

          若非system表空間已經(jīng)損壞,則數(shù)據(jù)庫仍然可以處于打開狀態(tài)可以進行操作,只是損壞的表空間不能訪問。這樣在數(shù)據(jù)庫打開狀態(tài)下可以單獨對損壞的表空間進行恢復(fù)。若是system表空間損壞則數(shù)據(jù)庫系統(tǒng)會異常終止。這時數(shù)據(jù)庫只能以Mount方式打開,然后再對表空間進行恢復(fù)。可以通過查看數(shù)據(jù)庫日志文件來判斷當前損壞的表空間是否是system表空間.

          非system表空間損壞:

          1.將損壞的表空間處于offline狀態(tài):

          svrmgrl>altertablespace‘tablespace_name’offline;

          2.從相應(yīng)的備份結(jié)果集中恢復(fù)關(guān)于這個表空間最近的備份。對于沒有采用帶庫備份的點可以直接從磁帶上恢復(fù);對于用帶庫備份的點用相應(yīng)的rman腳本來恢復(fù)。

          3.恢復(fù)表空間:

          svrmgrl>alterdatabaserecovertablespace‘tablespace_name’;

          4.使表空間online:

          svrmgrl>altertablespace‘tablespace_name’online;

          5.用適當?shù)姆椒ㄟM行數(shù)據(jù)庫全備份.

          system表空間損壞:

          1.以mount方式啟動數(shù)據(jù)庫

          svrmgrl>startupmount;

          2.從相應(yīng)的備份結(jié)果集中恢復(fù)system表空間最近的備份。對于沒有采用帶庫備份的點可以直接從磁帶上恢復(fù);對于用帶庫備份的點用相應(yīng)的rman腳本來恢復(fù)。

          3.恢復(fù)system表空間:

          svrmgrl>alterdatabaserecovertablespacesystem;

          4.打開數(shù)據(jù)庫:

          svrmgrl>alterdatabaseopen;

          5.用適當?shù)姆椒ㄟM行數(shù)據(jù)庫全備份。

          整個數(shù)據(jù)庫的所有文件損壞:

          整個數(shù)據(jù)庫所有文件的損壞一般是在共享磁盤陣列發(fā)生無法恢復(fù)的災(zāi)難時才發(fā)生,這種情況下只能對數(shù)據(jù)庫進行恢復(fù)。若數(shù)據(jù)庫的歸檔目錄也已經(jīng)丟失,則數(shù)據(jù)庫不可能做完全恢復(fù),會有用戶數(shù)據(jù)的丟失。

          沒采用帶庫備份的現(xiàn)場:

          1.將最近的備份從磁帶上把各個文件解包到相應(yīng)的目錄下。

          2.以mount方式打開數(shù)據(jù)庫:

          svrmgrl>startupmount;

          3.恢復(fù)數(shù)據(jù)庫:

          svrmgrl>recoverdatabaseuntilcancel;

          4.打開數(shù)據(jù)庫:

          svrmgrl>alterdatabaseopenresetlogs;

          5.用適當?shù)姆椒ㄟM行數(shù)據(jù)庫全備份。

          采用帶庫備份的現(xiàn)場:

          1.以nomount方式打開數(shù)據(jù)庫:

          svrmgrl>startupnomount;

          2.通過相應(yīng)的rman腳本進行數(shù)據(jù)庫軟恢復(fù)。

          $rmancmdfile=hot_database_restore.rcv

          3.打開數(shù)據(jù)庫:

          svrmgrl>alterdatabaseopenresetlogs;

          4.用適當?shù)姆椒ㄟM行數(shù)據(jù)庫全備份。

          存在最近的數(shù)據(jù)庫完整冷備份前提下的一些經(jīng)典緊急情況的處理:

          數(shù)據(jù)文件,歸檔重作日志和控制文件同時丟失或損壞:

          無新增archives時的狀況:

          條件和假設(shè):自上次鏡像備份以來尚未生成新的archivelog(s);ArchivelogMode;有同步的datafile(s)和controlfile(s)的鏡像(冷)拷貝

          恢復(fù)步驟:

          1.將鏡像拷貝的datafile(s)和controlfile(s)抄送回原始地點:

          $cpbackupgood_one.dbforig_locbad_one.dbf

          $cpbackupcontrol1.ctldisk1control1.ctl

          2.以mount選項啟動數(shù)據(jù)庫:

          $svrmgrl

          svrmgrl>connectinternal

          svrmgrl>startupmount

          3.以舊的controlfile來恢復(fù)數(shù)據(jù)庫:

          svrmgrl>recoverdatabaseusingbackupcontrolfileuntilcancel;

          ***介質(zhì)恢復(fù)完成

          (必須馬上cancel)

          4.Resetthelogfiles(對啟動而言不可省略):

          svrmgrl>alterdatabaseopenresetlogs;

          5.關(guān)閉數(shù)據(jù)庫并做一次全庫冷備份。(techtarget)


          服務(wù)器常見軟件故障解析名易軟件:聚力OA點滴應(yīng)用,提升個人價值
          如何用OA辦公系統(tǒng)建設(shè)企業(yè)文化數(shù)據(jù)庫系統(tǒng)緊急故障處理方法(二)
          OA系統(tǒng)實施三“不”走名易軟件長沙OA信息化系統(tǒng)的設(shè)計原則
          OA辦公系統(tǒng)選型:易用、實用方好實施解決軟件測試的三大棘手問題
          基于中間件的軟件開發(fā)方法電話系統(tǒng)的下一個行動
          OA系統(tǒng)全解:信息發(fā)布變通途電子支付系統(tǒng)的IT治理(下)(By AMT 陳景璉編譯)
          無線局域定位系統(tǒng)的分析與設(shè)計電視資產(chǎn)管理系統(tǒng)的技術(shù)支持
          系統(tǒng)漏洞風(fēng)險巧消除名易軟件多元化服務(wù)讓服務(wù)更貼心
          信息發(fā)布:廣州名易軟件有限公司 http://m.jetlc.com
          • 勁爆價:
            不限功能
            不限用戶
            1998元/年

          • 微信客服

            <output id="r87xx"></output>
          1. 
            
            <mark id="r87xx"><thead id="r87xx"><input id="r87xx"></input></thead></mark>
              • 九九热精品视频在线观看 | 五月婷婷影院 | 久久无人区| 狠狠狠狠狠狠狠操 | 国内精品久久久久久久星 | 亚洲高清无码视频大全 | 亚洲视频完整版在线观看 | 亚洲操逼123 | 国产免看一级a一片成人aⅴ | a在线中文字幕 |