oracle隱藏引數的檢視和使用

531968912發表於2016-07-06

今天在論壇裡,有個朋友問了個問題,非歸檔模式下,將其中一個資料檔案offline,之後資料庫又切換了很多的日誌,又重啟過,還沒備份,現在想將之前的資料檔案online,結果可想而知,具體如何分析處理?

像這種情況,一般生產環境幾乎不會發生,但是遇到了,就必須去面對分析並解決,第一直覺告訴我,需要使用到oracle的隱藏引數進行強制恢復,當然也有其他的手段,這裡,就將oracle隱藏引數如何檢視,簡單介紹如下:

隱藏引數 (hidden parameters) ,由oracle內部使用,以 '_' 開頭。

可以透過以下兩種方式檢視所有隱藏引數:

1.

SELECT i.ksppinm name,
       i.ksppdesc description,
       CV.ksppstvl VALUE,
       CV.ksppstdf isdefault,
       DECODE(BITAND(CV.ksppstvf, 7),
              1,
              'MODIFIED',
              4,
              'SYSTEM_MOD',
              'FALSE') ismodified,
       DECODE(BITAND(CV.ksppstvf, 2), 2, 'TRUE', 'FALSE') isadjusted
  FROM sys.x$ksppi i, sys.x$ksppcv CV
 WHERE i.inst_id = USERENV('Instance')
   AND CV.inst_id = USERENV('Instance')
   AND i.indx = CV.indx
   AND i.ksppinm LIKE '/_%' ESCAPE '/'
 ORDER BY REPLACE(i.ksppinm, '_', '');  

2.

SELECT ksppinm, ksppstvl, ksppdesc
  FROM x$ksppi x, x$ksppcv y
 WHERE x.indx = y.indx
   AND TRANSLATE(ksppinm, '_', '#') LIKE '#%';

 

示例:如果想檢視_allow_resetlogs_corruption的引數值

SELECT ksppinm, ksppstvl, ksppdesc
  FROM x$ksppi x, x$ksppcv y
 WHERE x.indx = y.indx
   AND ksppinm = '_allow_resetlogs_corruption';

記錄一下~

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25462274/viewspace-2121584/,如需轉載,請註明出處,否則將追究法律責任。

相關文章