[Oracle] 解析在沒有備份的情況下undo損壞怎么辦建
導讀:1建站知識Oracle在運行中很不幸遇到undo損壞,當然最好的方法是完全恢復,但如果是在沒有備份的情況下undo損壞怎么辦?以下就網站seo優化網站建設教程。
如果Oracle在運行中很不幸遇到undo損壞,當然最好的方法是完全恢復,不過如果沒有備份,可以采用一種非常規的手段(利用Oracle的隱藏參數),如果此時undo包含未提交的事務,會造成一點點的數據丟失(一般都是可忍受的),如果沒有未提交的事務,則不會有數據丟失。其主要步驟有:
1. 修改undo表空間管理為手動;2. 設置隱藏參數(_offline_rollback_segments或_c網站建設orrupted_rollback_segments)標識受影響的回滾段,使Oracle忽略其上的未提交事務;3. 手動刪除受影響的回滾段和undo表空間,然后重建新的undo表空間;4. 還原undo表空間管理為自動。
實驗如下:Step 1.如果undo數據文件損壞,數據庫只能到mount狀態,open時會出現以下錯誤:ORA-01157: cannot identify/lock data file 14 - see DBWR trace fileORA-01110: data file 14: 'I:\INTEL_DATA\O06DMS0\UNDO1.O06DMS0'說明該seo網站排名優化軟件undo文件已經損壞或丟失,把該文件offline之后就可以打開數據庫了:SQL> alter database datafile 'I:\INTEL_DATA\O06DMS0\UNDO1.O06DMS0' offline drop;SQL> alter database open;打開數據庫的目的是為了找出受影響的回滾段:SQL> select segment_name,status from dba_rollback_segs;SEGMENT_NAME STATUS------------------------------ ----------------SYSTEM ONLINE_SYSSMU10_1201331463$ OFFLINE_SYSSMU9_2926456744$ OFFLINE_SYSSMU8_640224757$ OFFLINE_SYSSMU7_3984293596$ OFFLINE_SYSSMU6_3694658906$ OFFLINE_SYSSMU5_3475919656$ OFFLINE_SYSSMU4_168502732$ OFFLINE_SYSSMU3_1987193959$ OFFLINE_SYSSMU2_3908286755$ OFFLINE_SYSSMU1_3281912951$ OFFLINE
SQL> show parameter undo
NAME TYPE VALUE------------------------------------ ----------- -------------undo_management string AUTOundo_retention integer 900undo_tablespace string undo1關閉數據庫:SQL> shutdown immediate;
聲明: 本文由我的SEOUC技術文章主頁發布于:2023-05-22 ,文章[Oracle] 解析在沒有備份的情況下undo損壞怎么辦建主要講述備份,情況下,[Oracle] 解析在沒有備份的情況下un網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_5215.html