6>oracle中pfile和spfile区别

pfile 是早期oracle数据的初始化参数的的配置文件

存在位置:

在window下 %ORACLE_HOME%/database目录下的initSID名称.ora文件

在linux下 $ORACLE_HOME/dbs目录下的nitSID名称.ora文件 

pfile是个文本文件 如果pfile目录下存在该文件 pfile方式启动


spfile是pfile的升级版 以二进制文件形式保存 

名字格式:spfileSID名称.ora 在linux通过strings spfileSID名称.ora 查看内容

必须通过命令方式修改

alter system set sga_max_size=222 scope=spfile  //scope分为memory ,spfile,both ,同时还有sid=sid|* ,deferred


通过pfile生成spfile

create spfile from pfile


通过指定的pfile生成指定的spfile 

create spfile="$ORACLE_HOME/dbs/spfileSID名称.ora" from pfile="$ORACLE_HOME/dbs/initSID名称.ora"


同理spfile也可以创建pfile

create pfile from spfile


pfile 与spfile启动顺序

如果目录下存在spfileSID.ora 从该文件启动

如果不存在查看是否存在spfile.ora  从该文件启动

如果还不存查看是否存在initSID.ora 从该文件启动

如果还没有报错


oracle启动时可以指定pfile文件启动 不能只能spfile

比如:

startup pfile="%ORACLE_HOME%/database/abc.ora"


可以使用另外一种方式指定spfile

在pfilfe中只加入一行

spfile="%ORACLE_HOME%/database/spfileabc.ora"






oracle中参数的也可以通过动态试图 v$parameter中查看

select name,value from v$parameter

注意 修改参数时 某些参数必须要带上deferred 

alter system set object_cache_max_size_percent =11 scope=spfile deferred

怎么查看哪些参数必须带上deferred

select name,value from v$parameter where ISSYS_MODIFIABLE =‘DEFERRED’


SQL> select name,value from v$parameter where ISSYS_MODIFIABLE ='DEFERRED'     



NAME                           VALUE
------------------------------ ------------------------------
backup_tape_io_slaves          FALSE
audit_file_dest                /u01/app/oracle/admin/ypcg/adu
                               mp


object_cache_optimal_size      102400
object_cache_max_size_percent  10
sort_area_size                 65536
sort_area_retained_size        0
olap_page_pool_size            0


7 rows selected.


原文地址:https://www.cnblogs.com/liaomin416100569/p/9331407.html