11g RAC中pfile和spfile的使用总结

来源:互联网 发布:怎么测网络是多少兆 编辑:程序博客网 时间:2024/04/29 07:16

RAC中的spfile和pfile的使用和单实例的有些区别,下面以11g linux环境测试,作个总结。

RAC中参数文件主要用dbs目录下的pfileSID、spfileSID和共享存储ASM下的spfileDB.
数据库启动时默认只去找pfile,不会直接找dbs下spfileSID和共享存储ASM下的spfileDB。pfile指向ASM共享的spfileDB,所以一般使用ASM共享的spfileDB

可以使用create pfile='/u01/oracle/temp.txt' from spfile;备份
但是不能create spfile from pfile='/u01/oracle/temp.txt',生成的是spfileSID
更不能create spfile from pfile时,生成spfileSID只有个


  C"

最好使用 create spfile ='+DATA/TAN/spfiletan.ora' from pfile='/u01/oracle/temp.txt';来恢复。

以initSID启动后:



[root@node2 dbs]# more inittan2.ora 
SPFILE='+DATA/tan/spfiletan.ora'


SQL> create spfile from pfile;


File created.


SQL> show parameter pfile    


NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      +DATA/tan/spfiletan.ora
SQL> show parameter spfile


NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      +DATA/tan/spfiletan.ora
SQL> 


不指定pfile目录时,不管是正常启动后,还是按备份的pfile启动后,创建spfile内容均一样,没内容。

SQL> startup pfile='/u01/oracle/temp.txt';
ORACLE instance started.


Total System Global Area  455127040 bytes
Fixed Size                  2229304 bytes
Variable Size             205523912 bytes
Database Buffers          239075328 bytes
Redo Buffers                8298496 bytes
Database mounted.
Database opened.
SQL> create spfile ='+DATA/TAN/spfiletan.ora' from pfile;


File created.


SQL> startup force
ORA-01506: missing or illegal database name


[oracle@node2 dbs]$ more spfiletan2.ora 
C"
或是这样:
SQL> create spfile from pfile;
[oracle@node2 dbs]$ more spfiletan2.ora 
C"


但是SQL> create pfile from spfile;
pfile会变成具体的参数,没法使用共享的spfile了。


可以用下面的方法备份、还原。


SQL> startup pfile='/u01/oracle/temp.txt';
ORACLE instance started.


Total System Global Area  455127040 bytes
Fixed Size                  2229304 bytes
Variable Size             205523912 bytes
Database Buffers          239075328 bytes
Redo Buffers                8298496 bytes
Database mounted.
Database opened.
SQL> create spfile ='+DATA/TAN/spfiletan.ora' from pfile='/u01/oracle/temp.txt';


File created.


SQL> startup force
ORACLE instance started.


Total System Global Area  455127040 bytes
Fixed Size                  2229304 bytes
Variable Size             205523912 bytes
Database Buffers          239075328 bytes
Redo Buffers                8298496 bytes
Database mounted.
Database opened.