判斷ORACLE啟動時使用spfile還是pfile

kisslfcr發表於2017-08-14
Oracle 9i以後啟動的時候預設使用的初始化檔案是spfile,我們可以透過如下三種方式來判斷是SPFILE還是PFILE方式啟動資料庫。
1、show parameter spfile
2、show parameter pfile
3、看v$spparameter檢視

1、透過檢視spfile、pfile檢視
用spfile啟動資料庫:
SQL> show parameter pfile;
NAME                                 TYPE     VALUE
------------------------------------ -------- ------------------------------
spfile                               string   C:\ORACLE\PRODUCT\10.2.0\DB_1\
                                              DATABASE\SPFILEWWL.ORA
SQL> show parameter spfile;
NAME                                 TYPE     VALUE
------------------------------------ -------- ------------------------------
spfile                               string   C:\ORACLE\PRODUCT\10.2.0\DB_1\
                                              DATABASE\SPFILEWWL.ORA
用pfile啟動資料庫
SQL> startup pfile=c:\initwwl.ora
ORACLE instance started.
Total System Global Area 1610612736 bytes
Fixed Size                  2066080 bytes
Variable Size             385878368 bytes
Database Buffers         1207959552 bytes
Redo Buffers               14708736 bytes
Database mounted.
Database opened.
SQL> col type format a8
SQL> show parameter pfile;
NAME                                 TYPE     VALUE
------------------------------------ -------- ------------------------------
spfile                               string
SQL> show parameter spfile;
NAME                                 TYPE     VALUE
------------------------------------ -------- ------------------------------
spfile                               string
SQL> 


我們在這裡可以很明顯的發現,使用spfile啟動資料庫,在檢視show parameter pfile和show parameter spfile 都能看到spfile引數檔案的路徑。
反之使用pfile啟動的資料庫,我們無論是檢視show parameter pfile還是show parameter spfile 都無法看到pfile引數檔案的路徑。


2、透過v$spparameter檢視
   使用spfile啟動資料庫,我們可以看到查詢出來的結果是spfile
SQL> select decode(count(*),1,'spfile','pfile') from v$spparameter where rownum=1 and isspecified = 'TRUE';

DECODE(COUNT
------------
spfile


使用pfile啟動資料庫,我們可以看到查詢出來的結果是pfile。
SQL> select decode(count(*),1,'spfile','pfile') from v$spparameter where rownum=1 and isspecified ='TRUE';
DECODE(COUNT
------------
pfile



轉自ITpub論壇

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

相關文章