熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

對rman命令行為的操作簡單分析

2013-11-13 16:09:19  來源: Oracle 

  rman 對dbms_backuprestore 的一些特定調用完梢醞üebug 分析出來

  通過設置debug 模式我們可以跟蹤到大量的Log從而為分析提供一定的說明假定我們提交如下的命令

  rman target / debug trace=d/rman_tracelog

  通過查看日志我們得之rman 首先確定數據庫狀態

  DBGSQL EXEC SQL AT TARGET select decode(statusOPEN) into b from v$instance

  DBGSQL sqlcode=

  DBGSQL b =

  判斷數據庫是否是在open 狀態下然後要去獲取數據庫的compatible參數值

  接下來調用dbms_backup_restore確定rman 可用的版本信息對應的一些參數如下

  protocol_version_number_min NUMBER =

  protocol_release_number_min NUMBER =

  protocol_update_number_min NUMBER =

  protocol_version_number_max NUMBER =

  protocol_release_number_max NUMBER =

  protocol_update_number_max NUMBER =

   這個范圍內可用 ? 是不是很熟悉?

  下面調用dbms_rcvman的getPackageVersion 函數

  ($ORACLE_HOME/rdbms/admin/recoverbsq創建dbms_rcvman 並可以獲得相關注釋)獲取package 的版本可用信息

  

  接下來rman 會查詢V$database 從中獲取name resetlogs_time resetlogs_change# dbid 等信息

  下面這個比較重要 x$kcccp( Kernel Cache Checkpoint Progress)中獲取檢查點記錄

  類似如下的SQL

  select nvl(max(cpmid)) from x$kcccp where cpsta=

  這些操作完成後rman 從v$option 中獲取相關信息包括Parallel backup and recoveryIncremental backup and

  recoveryDuplexed backupsBlock Media RecoveryPointintime tablespace recovery通過這些來判斷數據庫是否具有這些

  功能

  然後Log中顯示連接到目標數據庫

  分析過程並不復雜不過在涉及到深入的命令的時候會產生大量的Log要有一定的耐心才能繼續下去在rman 出現故障的時候

  設置Debug模式進行分析是一種非常有效的辦法如果可能得話以後的文章中我會舉幾個例子來說明


From:http://tw.wingwit.com/Article/program/Oracle/201311/17907.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.