pfile(Parameter File)从oracle8i开始使用,在oracle9i中也可以用。它以文本文件的形式存在,可以用vi等编辑器对 其中数据库参数进行修改。文件格式为initSID.ora。Oracle 9i在安装时为每个数据库建立了一个Pfile,默认的名称为“init+例 程名.ora”。

Oracle8i使用pfile存储初始化参数配置,这些参数在实例启动时被读取,任何修改需要重起实例才能生效。

spfile专用于oracle9i及以后版本,以二进制文件形式存在,含有数据库及例程的参数和数值,能够使用RMAN进行备份,但不能用文本编辑工具打开,不能用vi编辑器对其中数据库参数进行修改。文件格式为spfileSID.ora。

Oracle9i及以后版本,使用spfile存储初始化参数配置,支持使用ALTER SYSTEM或ALTER SESSION来动 态修改那些可动态修改的参数,任何更改能够立即生效,您能够选择使更改只应用于当前实例还是同时应用到spfile。这就使得任何对spfile的修改都 能够在命令行完成,我们能够完全告别手工修改初始化参数文档,这就大大减少了人为错误的发生。

除了第一次启动数据库需要pfile(然后根据pfile创建spfile),我们能够不再需要pfile,ORACLE强烈推荐使用spfile,应用其新特性来存储和维护初始化参数配置。

spfile改正了pfile管理混乱的问题,在多结点的环境里,pfile会有多个image,启动时候需要跟踪最新的image。这是个烦琐的 过程。 用spfile以后,所有参数改变都写到spfile里面(只要定义scope=spfile或both),参数配置有个权威的来源。

pfile和pfile的区别
   
    就Oracle的spfile和pfile的区别主要是spfile的修改是可以在线的,而pfile的修改必须关闭数据库,到参数文件所在路径下通过 vi或记事本等文本编辑工具修改。(因为参数文件里面的内容太多,编辑起来容易导致错误的编辑到其它的参数,从而导致数据库无法起来,所以在9i以前一般 都是要备份pfile后再来做参数的修改,而且修改任何参数都需要停库,非常的不方便;在9i以后的spfile就可以同通过命令修改指定的参数了,而且 有很多参数都不用重启数据库,能够在线生效,这个在线生效的参数会随着数据库的版本增高而增加。如果参数修改有问题数据库起不来了可以在nomount状 态下创建成pfile再修改回来即可。)
修改spfile参数的三种模式:
scope=both       立即并永久改变,(默认模式)
scope=spfile     下次启动执行新的改变。
scope=memory     立即临时改变下次启动新参数失效

spfile 修改的方法:
SQL> alter system set processes = 100 scope=both;                  ----该参数不支持动态修改,必须修改完后重启数据库
alter system set processes = 100 scope=both
                 *
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified
-------------------------------------------------------------------------------------------------------------------------------
SQL> show parameter pga;
NAME                                 TYPE     VALUE
------------------------------------ -------- ------
pga_aggregate_target                 big inte 798M
                                     ger
SQL> alter system set pga_aggregate_target = 500m scope=both;      -----该参数支持动态修改,所以就立即生效了
System altered.
SQL> show parameter pga;
NAME                                 TYPE     VALUE
------------------------------------ -------- ------
pga_aggregate_target                 big inte 500M
                                     ger
SQL>

SQL> alter system set processes = 100 scope=spfile;                ----修改完后重启数据库能生效,不信你试试。
System altered.
SQL> alter system set pga_aggregate_target = 700m scope=spfile;    ----当然也可以选择数据库下次启动的时候生效。
System altered.

SQL> alter system set processes = 100 scope=memory;                ----因为该参数不支持动态修改,同样也就无法实现立即生效,下次启动失效。
alter system set processes = 100 scope=memory
                 *
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified

SQL>
SQL> alter system set pga_aggregate_target = 600m scope=memory;    ---因为该参数支持动态修改,当然也就可以实现立即生效,下次启动失效咯。
System altered.
SQL>

如果使用的是pfile则无法通过命令进行修改,会报ORA-02095或32001错误。
SQL> alter system set processes = 100;
alter system set processes = 100
                 *
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified

SQL> alter system set processes = 100 scope=spfile;
alter system set processes = 100 scope=spfile
*
ERROR at line 1:
ORA-32001: write to SPFILE requested but no SPFILE specified at startup

SQL> alter system set processes = 100 scope=both;
alter system set processes = 100 scope=both
                 *
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified

SQL> alter system set processes = 100 scope=memory;
alter system set processes = 100 scope=memory
                 *
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified

pfile文件路径/admin/pfile下面

通过create pfile='e:\initeyglen.ora' from spfile;保存

startup pfile='e:\initeyglen.ora'

create spfile from pfile='e:\initeyglen.ora';   //新的spfile生效,spfile是二进制文件,看不到,在系统运行时有

转载于:https://www.cnblogs.com/zmlctt/p/3881115.html

oracle spfile和pfile文件相关推荐

  1. Oracle 9i初始化参数文件

    6.2.1 Pfile文件     Pfile(Parameter File)文件是基于文本格式的参数文件,含有数据库的配置参数.     Oracle 9i在安装时为每个数据库建立了一个Pfile, ...

  2. oracle数据库pfile文件,Oracle pfile/spfile参数文件详解

    Oracle pfile/spfile参数文件详解 在创建数据库时,SPFile文件中部分必须考虑的参数值: 基本规则 a.在SPFile文件中,所有参数都是可选的,也就是说只需要在初始化参数文件中列 ...

  3. Oracle 参数文件(spfile和pfile)

    Oracle 参数文件(spfile和pfile) --======================== -->Oracle 参数文件 --======================== /* ...

  4. ORACLE之SPFILE与PFILE

    通过查阅书籍与诸位网友的博客,然后通过自己的理解总结了这篇文章. 数据库实例在启动时,回去读取参数文件.其目的是为了获取数据库控制文件名及其路径,数据库的物理结构等信息.它是进行数据库设计与性能调优的 ...

  5. Oracle中的pfile和spfile详解

    在9i 以前,Oracle 使用pfile 存储初始化参数配置,这些参数在实例启动时被读取,任何 修改需要重起实例才能生效:使用spfile 您能够使用ALTER SYSTEM 或ALTER SESS ...

  6. 关于oracle spfile配置文件问题

    关于oracle spfile配置文件问题 $ORACLE_SID决定spfile dbs 默认 在启动Oracle数据库时报错,如下: [oracle@localhost ~]$ sqlplus / ...

  7. Oracle物理存储结构--文件

    原文地址:[基础]Oracle物理存储结构--文件作者:诗意方式 1 数据文件 3.查询数据文件参数 要将数据文件置为脱机状态,可以通过下列语句实现,如将SCOTT对象的数据文件置为脱机状态: SQL ...

  8. oracle 控制文件在哪里设置_更改Oracle默认的控制文件设置

    环境:Windows XP SP2 32位 Oracle 9.2.0.1 32位 创建数据库后,Oracle默认的3个控制文件都在c:/oracle/oradata/SID/下,3个鸡蛋都在一个篮子里 ...

  9. oracle+手工创建pfile,oracle 手工创建数据库

    1, 创建pfile,通cat命令将以#和空格开头的行过滤掉,放到initSID.ora文件中 pfile文件格式为init(sid).ora cd $ORACLE_HOME/dbs cat init ...

最新文章

  1. jQuery 常用的效果函数(一)
  2. 使用 Servlet 读取表单数据
  3. Google Chrome 开发进度 官方Blog
  4. 2018 腾讯内部转岗面试题 1 —— 不用 sizeof 判断操作系统是 32 还是 64 位
  5. HDU - 6273 Master of GCD
  6. Java开发童年小游戏
  7. <2021SC@SDUSC>开源游戏引擎Overload代码分析五:OvEditor——RawShaders.cpp
  8. JavaScript开发必备!这四款静态代码分析工具你了解吗?
  9. java解析XML——Pull解析
  10. python自动化弹框_如何使用python自动化处理弹出窗口
  11. ld链接时遇到__stack_chk_fail_local错误
  12. 清华大学计算机系成立量子软件研究中心,应明生受聘为主任
  13. 台达PLC伺服追剪程序,电子凸轮,全部源代码,PLC程序和触摸屏程序,DVP15MC
  14. 基于springboot的ShardingSphere5.2.1的分库分表的解决方案之数据加密之RSA的解决方案(九)
  15. python生成分形图片_如何用TensorFlow生成令人惊艳的分形图案
  16. 二值形态学之击中击不中变换
  17. Python 饼图
  18. 移动软件开发定制那些事
  19. 绿盟科技应急响应中心安全研究员邓永凯:那些年,你怎么写总会出现的漏洞...
  20. x86 版的 Arduino Intel Galileo 开发板的体验、分析和应用

热门文章

  1. ITK:使用二项式内核模糊图像
  2. VTK:PolyData之PointSource
  3. VTK:相互作用之CallBack
  4. C语言矩阵M*N节省空间的算法(附完整源码)
  5. C++数组的左右旋转的实现算法(附完整源码)
  6. OpenGL 使用FDTD求解电磁波方程
  7. OpenGL立方体的纹理
  8. C语言实现段树segment tree(附完整源码)
  9. C++ inline内联函数
  10. php 判断接受邮件地址,PHP:电子邮件验证并接受来自特定域的电子邮件地址