开发者社区> 余二五> 正文

Oracle的参数文件pfile和spfile

简介:
+关注继续查看

Oracle中的参数文件是一个包含一系列参数以及参数对应值的操作系统文件。它们是在数据库实例启动时候加载的,决定了数据库的物理 结构、内存、数据库的限制及系统大量的默认值、数据库的各种物理属性、指定数据库控制文件名和路径等信息,是进行数据库设计和性能调优的重要文件。可以分为两种类型:
1.pfile: 初始化参数文件(Initialization Parameters Files),Oracle 9i之前,ORACLE一直采用pfile方式存储初始化参数,pfile 默认的名称为“init+例程名.ora”文件路径:/u01/app/oracle/product/11.2.0/db_1/dbs,这是一个文本文件,可以用任何文本编辑工具打开。
2.spfile:服务器参数文件(Server Parameter Files),从Oracle 9i开始,Oracle引入了Spfile文件,spfile 默认的名称为“spfile+例程名.ora”文件路径:/u01/app/oracle/product/11.2.0/db_1/dbs 以二进制文本形式存在,不能用vi编辑器对其中参数进行修改,只能通过SQL命令在线修改。

[oracle@oracle11g dbs]$ ll
total 28
-rw-rw---- 1 oracle oinstall 1544 Dec 31 13:32 hc_orcl.dat
-rw-r--r-- 1 oracle oinstall 2851 May 15  2009 init.ora
-rw-r--r-- 1 oracle oinstall 1062 Dec 31 10:44 initorcl.ora
-rw-r----- 1 oracle oinstall   24 Sep 17 20:25 lkORCL
-rw-r----- 1 oracle oinstall 1536 Dec 31 13:44 orapworcl
-rw-r----- 1 oracle oinstall 1536 Oct 15 12:07 orapworcl.bak
-rw-r----- 1 oracle oinstall 3584 Dec 31 13:32 spfileorcl.ora
[oracle@oracle11g dbs]$ pwd
/u01/app/oracle/product/11.2.0/db_1/dbs
[oracle@oracle11g dbs]$ 

使用spfile的好处:
1、spfile改正了pfile管理混乱的问题,在多结点的环境里,pfile会有多个image,启动时候需要跟踪最新的image。这是个烦琐的过程。用spfile以后,所有参数改变都写到spfile里面(只要定义scope=spfile或both),参数配置有个权威的来源。
2、9i以前一般都是要备份pfile后再来做参数的修改,而且pfile的修改必须重启实例才能生效。非常的不方便;在9i以后的spfile就可以同通过命令修改指定的参数了,而且有很多参数都不用重启数据库,能够在线生效,这个在线生效的参数会随着数据库的版本增高而增加。如果参数修改有问题数据库起不来了可以在 nomount状态下创建成pfile再修改回来即可。
查找pfile和spfile的位置
1.select name,value,display_value from v$parameter where name='spfile';
2.show parameter spfile
判断当前oracle使用使用pfile还是spfile参数文件启动
select decode(count(*),1,'spfile','pfile') from v$spparameter where rownum=1 and isspecified ='TRUE';
Oracle的参数文件pfile和spfile
pfile和spfile文件相互创建
create spfile[='xxxxx'] from pfile[='xxxx'];——[指定文件路径]
create pfile[='xxxxx'] from spfile[='xxxx'];

SQL> create pfile from spfile;

File created.

SQL> exit

spfile和pfile启动优先级
1、startup 启动次序 spfile优先于pfile。查找文件的顺序是 spfileSID.ora——〉spfile.ora——〉initSID.ora——〉init.ora(spfile优先于pfile)。
2、startup pfile='文件目录' 使用pfile启动,则需指定完整路径,或删除spfile.
使用spfile启动数据库模式下的三种scope

  1. scope=spfile: 对参数的修改记录在服务器初始化参数文件中,修改后的参数在下次启动DB时生效。适用于动态和静态初始化参数。
  2. scope=memory: 对参数的修改记录在內存中,对于动态初始化参数的修改立即生效。在重启DB后会丟失,会复原为修改前的参数值。
  3. scope=both: 对参数的修改会同时记录在服务器参数文件和內存中,对于动态参数立即生效,对静态参数不能用这个选项,如果使用了服务器参数文件,则在执行alter system语句时,scope=both是default的选项。
    Oracle的参数文件pfile和spfile









本文转自 rm_rf_db 51CTO博客,原文链接:http://blog.51cto.com/12185273/2056467,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
C#编程-117:文件流FileStream类
C#编程-117:文件流FileStream类
32 0
6.2 file 写文件
#!/usr/bin/env python # -*- coding:utf-8 -*- #@Time      :2017/10/27 22:15 #@Author    :zhouyuyao #@File      :file_write.
600 0
oracle 安装要用到的内存相关参数详解
在这里,对oracle在/etc/sysctl 要用到的参数值做个简要的解释和说明。 (1)kernel.shmmax:该参数定义了共享内存段的最大尺寸(以字节为单位)。
710 0
6.1 file 读文件
#!/usr/bin/env python # -*- coding:utf-8 -*- #@Time      :2017/10/27 21:54 #@Author    :zhouyuyao #@File      :file_demo1.
500 0
在命令行中加参数的文件复制程序
这篇博文介绍使用命令行参数的编程方法,载体是用于文件复制的程序。这也是我用Markdown编辑器写的第一篇博文。Markdown在写《逆袭大学》时用过,写博文是第一次。 本文正文: 引子 下面的程序,可以完成由a.txt到b.txt的复制。 #include <iostream> #include <fstream> using names
1105 0
shapefile文件的符号化问题
我们都知道,ArcGIS的shp文件只以坐标形式保存地图数据,地图的显示方法则是存储都数据库或地图文件(mxd)中,这一点是深信不疑的。 如果我们打开ArcMap,新建一个普通的地图文件(使用标准的模板),加载一些shp文件进行,shp会进行符号化,但这个符号化是普通的,比如对于Polyline是1.0宽的,如果有多条Polyline,其颜色有所不同。
868 0
oracle参数文件、控制文件、数据文件、日志文件存放位置查看
1.参数文件和网络连接文件 SQL> show parameter spfile; NAME TYPE VALUE -----------------------------------...
701 0
Makefile文件编写
源代码文件 main3.c 1 #include 2 #include "static_lib.h" 3 #include "fun.h" 4 5 int main(void){ 6 int a=2,b=3; 7 printf("add:%d s...
932 0
+关注
20381
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载