請教windows下有所有的資料檔案,控制檔案,但沒有引數檔案,如何恢復?

楊奇龍發表於2010-04-27

我在itpub論壇上遇到的一個問題,並做了回答,分享一下:

一。如果僅僅是引數檔案丟失,資料庫仍然執行,可用如下程式碼:
set linesize 120
set pagesize 999
set heading off
set feedback off
spool F:\spfile.txt
  select '*.'||name||'='||value from v$parameter where isdefault ='FALSE';
  spool off
來獲取當前例項的非預設引數,對生成的臨時引數檔案進行適當的修改,就可以重新啟動資料庫。

二。如果資料庫關閉的情況下:

你可以從最初建立資料庫時的init.ora  檔案重新建立一個spfile或pfile,
在postDBCraetion.sql(linux下)中可以找到這樣一行:
create spfile='/OPT/oracle/product/10.2.0/dbs/spfileorder.ora'
FROM pfile='opt/oracle/admin/order/scripts/init.ora';

在執行此語句需要把要建立的spfile的名字改一下,因為以前的資料庫的spfile是那個名字。

這樣就可以重新啟動資料庫了,當然也可以

1:從alert中找非default的引數建立pfile或者由檔案位置建立pfile,重新啟動。

這個可能過於繁瑣了,呵呵

2:建議先用從成熟資料庫那裡複製一個PFILE,然後修改相關內容,能透過pfile啟動後,在根據pfile建立spfile。

這個可行性,還可以。不過有很多引數不符合當前的資料庫。
如果是你,你會怎佯作呢?

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

相關文章