oracle spfile和pfile小结

上一篇 / 下一篇  2009-02-05 14:38:34 / 个人分类:ORACLE

简单的说:

1、pfile 文本文件 client端参数文件;不能动态修改,可以用普通的编辑器修改,修改之后需要重启。pfile可能会导致服务器启动不一致,因为可以在客户端启动。
2、spfile 二进制文件 服务器端参数文件,有了spfile,oracle可以实现动态参数在线修改,部分参数修改之后无需重启。但是,因为是二进制文件,所以不能用普通的编辑器修改,要用alter命令从sql里面来修改。spfile保证服务器每次的启动都是一致的。只有spfile而没有pfile文件时,可以通过:

create pfile='位置+名字' from spfile;

如:
create pfile='E:\ORACLE\PRODUCT\10.2.0\DB_1\DBS\spfileorcl_bak.ora' from spfile;

进行创建pfile文件。

同理,只有pfile而没有spfile时,可以通过:

create spfile='位置+名字' from pfile;   

进行创建spfile文件。pfile和spfile二者可以互相备份。

3、通过spfile或pfile启动数据库

(1)startup nomount启动方式,查找文件的顺序是 spfileSID.ora-〉spfile.ora-〉initSID.ora-〉init.ora(spfile优先于pfile)。
(2)startup pfile='文件目录'----通过pfile文件启动;
(3)startup spfile='文件目录'----通过spfile文件启动。

以下转自:

http://www.cnblogs.com/jacktu/archive/2008/02/27/1083232.html

查看系统是以pfile还是spfile启动
 Select isspecified,count(*) from v$spparameter group by isspecified;
 如果isspecified里有true,表明用spfile进行了指定配置
 如果全为false,则表明用pfile启动
 
使用SPfile的好处
 Spfile改正了pfile管理混乱的问题,在多结点的环境里,pfile会有多个image
    启动时候需要跟踪最新的image。这是个烦琐的过程。
 用spfile以后,所有参数改变都写到spfile里面(只要定义scope=spfile或both),参数配置有个权威的来源。

查看spfile location
 show parameter spfile

从spfile获取pfile
 Create pfile='d:pfileSID.ora' from spfile;
 Create pfile='d:pfileSID.ora' from spfile='spfile_location';

从pfile获取spfile
 Create spfile from pfile='Your_pfile_location'
 Create spfile='spfile_location' from pfile='Your_pfile_location'
 
动态修改参数
 alter system set parameter=Value scope=spfile|both|memory
 
Startup nomount的时候需要读去spfile或pfile,两者共存,spfile优先

强制用pfile启动
 SQL>startup pfile='Your_Pfile.ora'
 startup spfile='/data/oracle/product/10.2.0/db_1/dbs/dbs/spfile_mqq.ora' force

通过pfile连接到spfile启动
    修改pfile文件


 


TAG: 数据库

 

评分:0

我来说两句

Open Toolbar