最近幫一些朋友處理了一些oracle的問題,也從中發現了一些潛在的問題,索性總結出來作為借鑑。為了保證資訊的敏感,裡面的問題描述可能和真實情況不符,但是問題的處理方式是真實的。
問題1:oracle備庫無法啟動
問題2:oracle備庫無法同步
問題3:主庫新增資料檔案後,備庫mrp退出。
問題4:備庫資料無法同步
問題1:oracle備庫無法啟動
問題2:備庫無法同步資料
這個問題在我隨後去跟進的時候,發現問題比之前有了很大的改觀,備庫可以正常啟動了,但是現在的問題是主從資料的複製依舊失敗,從歸檔引數可以看到複製關係是存在的,網路配置也沒問題,面對這樣乙個看起來有些奇怪的問題,我的處理思路就很直接,肯定是**有一些我們忽略的細節,怎麼能夠快速定位問題,排查問題呢,dg broker就是一款神器,主備庫幾乎不需要做什麼額外的配置,就可以很輕鬆的建立配置,結果不到10分鐘,配置的時候,發現問題的原因就是備庫的db_unique_name和主庫是一樣的,修改之後,問題馬上迎刃而解。所以問題原因都很簡單,但是能夠很快從中找到這個原因,有一些技巧就會事半功倍。
問題3:主庫新增資料檔案後,備庫mrp退出。
第3個問題比較特別,是因為主庫的表空間不足,導致資料寫入阻塞,擴容了表空間之後,發現問題就來了,備庫的mrp竟然異常退出,關於資料檔案導致的mrp異常退出,印象中比較深是在10.2.0.4裡面,add datafile之後drop datafile會導致mrp異常,確切的說,這是乙個bug,但是這裡碰到的問題是在11g裡,只是新增了資料檔案而已。
錯誤大概是這樣:
ora-01186: file 6 failed verification tests
ora-01157: cannot identify/lock data file 6 - see dbwr trace file
ora-01111: name for data file 6 is unknown - rename to correct file
這個6號資料檔案就是新增的,簡單分析之後,就會發現又是乙個坑,主要還是引數standby_file_management是manual導致,可以修改下這個檔案的路徑,然後開啟檔案管理為auto即可。最後開啟日誌應用。
alterdatabasecreatedatafile
altersystem setstandby_file_management=auto;
alterdatabaserecover managed standby databasedisconnect fromsession using currentlogfile;
問題4:備庫資料無法同步。
這個問題和問題2是一樣的效果,但是問題的原因卻有很大的差別。這個問題的願意就在於閃回去的設定,即歸檔檔案無法正常建立,不是系統層面的空間不足,而是閃回區的大小不足。
所以問題的原因和現象可以歸納為四點建議:
備庫的搭建和同步關係維護建議使用dg broker,他們的差別就跟自動擋和手動擋差不多,能自動擋幹嘛非要手動擋。
備庫的檔案路徑建議保持一致,建議standby_file_management為auto
盡可能設定主備庫的閃迴區為乙個較大的值範圍,保證資料的寫入不會因為邏輯限制而阻塞。
全方位,細粒度的檢查,把問題解決在初始階段。
單純說上面的問題,其實不難,但是真實的環境,真實的問題,和你知道結果分析原因是兩回事。更何況,把別人的問題當做自己的問題一樣來對待,別人也會認真對待你。
Oracle資料庫的異常處理
一 說明 oracle資料庫底冊定義了很多異常,每個異常都有乙個唯一的編碼,這些異常之中,有一些是常見的,oracle給這些異常定義了名稱,可以直接使用,其他沒有名稱直郵編碼的不能直接使用。二 分類 1 預定義異常 既有編碼又有名稱的異常是預定義異常,此類異常可以直接使用 2 非預定義異常 有編碼但...
oracle資料庫處理分頁
您好 oracle查詢分頁可分為兩種情況,一種使用的是rownum 另外一種則是使用 row number over orderbycolumn namedesc 1.使用rownum分頁查詢,可用以下方式 selectt2.from selectt1.rownumasrnfromtable nam...
Oracle資料庫 異常處理
oracle異常處理 在pl sql語句書寫時,需要處理的異常 不做異常處理時 declare v name emp.ename type v sal emp.sal type begin select ename,sal into v name,v sal from emp where empno...