|
導讀數據庫,簡而言之可視為電子化的文件柜——存儲電子文件的處所,用戶可以對文件中的數據進行新增、截取、更新、刪除等操作。所謂“數據庫”是以一定方式儲存在一起、能與多個用戶共享、具有盡可能小的冗余度、與應... 數據庫,簡而言之可視為電子化的文件柜——存儲電子文件的處所,用戶可以對文件中的數據進行新增、截取、更新、刪除等操作。所謂“數據庫”是以一定方式儲存在一起、能與多個用戶共享、具有盡可能小的冗余度、與應用程序彼此獨立的數據集合。 通過設置debug 模式,我們可以跟蹤到大量的Log,從而為分析提供一定的說明。假定我們提交如下的命令: rman target / debug trace=d:/rman_trace.log 通過查看日志我們得之,rman 首先確定數據庫狀態: DBGSQL: EXEC SQL AT TARGET select decode(status,’OPEN’,1,0) into :b1 from v$instance DBGSQL: sqlcode=0 DBGSQL: :b1 = 1 判斷數據庫是否是在open 狀態下。然后,要去獲取數據庫的compatible參數值。 接下來調用dbms_backup_restore確定rman 可用的版本信息。對應的一些參數如下: protocol_version_number_min NUMBER := 8; protocol_release_number_min NUMBER := 0; protocol_update_number_min NUMBER := 4; protocol_version_number_max NUMBER := 9; protocol_release_number_max NUMBER := 2; protocol_update_number_max NUMBER := 0; 804-920 ,這個范圍內可用,804 ? 920 ? 是不是很熟悉? 下面調用dbms_rcvman的getPackageVersion 函數 ($ORACLE_HOME/rdbms/admin/recover.bsq創建dbms_rcvman ,并可以獲得相關注釋)獲取package 的版本可用信息。 08.00.04到09.02.00 接下來rman 會查詢V$database ,從中獲取name ,resetlogs_time ,resetlogs_change# ,dbid 等信息。 下面這個比較重要, x$kcccp( Kernel Cache Checkpoint Progress)中獲取檢查點記錄: 類似如下的SQL: select nvl(max(cpmid),0) from x$kcccp where cpsta=2 這些操作完成后,rman 從v$option 中獲取相關信息,包括:’Parallel backup and recovery’,’Incremental backup and recovery’,’Duplexed backups’,’Block Media Recovery’,’Point-in-time tablespace recovery’,通過這些來判斷數據庫是否具有這些功能。然后Log中顯示連接到目標數據庫。 分析過程并不復雜,不過在涉及到深入的命令的時候會產生大量的Log,要有一定的耐心才能繼續下去。在rman 出現故障的時候,設置Debug模式進行分析是一種非常有效的辦法。如果可能得話,以后的文章中我會舉幾個例子來說明。 全新的路由器不僅讓你更穩定快速地連接無線網絡,更可以讓家中的智能設備連接在一起。 |
溫馨提示:喜歡本站的話,請收藏一下本站!