2014-08-25 Created By BaoXinjian


ORACLE中的参数文件是一个包含一系列参数以及参数对应值的操作系统文件,可以分为两种类型PFile and SPFile。

它们是在数据库实例启动时候加载的,决定了数据库的物理结构、内存、数据库的限制及系统大量的默认值、数据库的各种物理属性、指定数据库控制文件名和路径等信息,是进行数据库设计和性能调优的重要文件。

1. 概念

初始化参数文件(Initialization Parameters Files),Oracle 9i之前,ORACLE一直采用PFILE方式存储初始化参数,该文件为文本文件。

服务器参数文件(Server Parameter Files),从Oracle 9i开始,Oracle引入了SPFILE文件,该文件为二进制格式,不能通过手工修改。

2. 修改spfile参数的三种模式

  • scope=both          立即并永久生效(默认模式)
  • scope=spfile         下次启动才能生效
  • scope=memory     立即生效但下次启动时失效

3. 如何查看SPFILE与PFILE的目录位置

方法1. 查看动态视图

SELECT NAME, VALUE, DISPLAY_VALUE FROM V$PARAMETER WHERE NAME ='spfile';

方法2. 查看参数

SQL> show parameter spfile
SQL> show parameter pfile

4. 判断数据库从SPFILE还是PFILE启动

方法1:查询动态视图V$PARAMETER,如果VALUE值为非空,则是SPFILE启动,否则是PFILE。

SELECT name, value, display_value FROM v$parameter WHERE name ='spfile';

方法2:SHOW PARAMETER命令查看

SQL> show parameter spfile;

方法3:通过v$spparameter视图,如果一下查询返回0值,表示你在使用pfile,否则表明你使用的是spfile

SQL> SELECT COUNT(1) FROM v$spparameter WHERE value is not null;

此v$spparameter的值来自于spfile文件定义,并在动态性能视图中显示


1:PFILE是文本文件的,而SPFILE是二进制格式的。

PFILE文件可以用文本编辑器打开手工配置、而SPFILE不行,只能通过SQL命令在线修改。

从操作系统上可以看到这两者的区别,初始化参数文件为ASCII文本文件,SPFILE为数据文件。

2:SPFILE的修改是可以通过SQL命令在线修改,不再需要通过手工修改,对于动态参数所有更改可以立即生效,而PFILE的修改必须重启实例才能生效。

3:手动创建数据库而不是通过DBCA,则开始创建数据库时,只能定义PFILE。

  创建数据库完成后再通过PFILE定义SPFILE

三、Oracle启用参数文件顺序


Step1. spfile<sid>.ora

Unix/Linux缺省存放目录 $ORACLE_HOME/dbs/

Step2. spfile.ora

Unix/Linux缺省存放目录 $ORACLE_HOME/dbs/

Step3. init<sid>.ora

Unix/Linux缺省存放目录 $ORACLE_HOME/dbs/

四、案例 - 创建一个PFile,并启动,后复制为SPFile再次启动


1. 建立PFile

2. 通过PFile建立SPFile <create spfile from pfile>

3. 查看SPFile内容, v$spparameter

Thanks and Regards

DBA_Oracle PFile and SPFile文件的管理和使用(案例)的更多相关文章

  1. 10、pfile和spfile文件详解

    10.1.介绍: 1.Oracle中的参数文件是一个包含一系列参数以及参数对应值的操作系统文件.它们是在数据库实例启动时候加载的, 决定了数据库的物理结构.内存.数据库的限制及系统大量的默认值.数据库 ...

  2. Oracle pfile与spfile文件参数(转载)

    一.pfile与spfile Oracle中的参数文件是一个包含一系列参数以及参数对应值的操作系统文件.它们是在数据库实例启动时候加载的,决定了数据库的物理 结构.内存.数据库的限制及系统大量的默认值 ...

  3. PO_PO系列 - 安全文件管控管理分析(案例)

    2014-07-01 Created By BaoXinjian

  4. oracle的参数文件:pfile和spfile

    1.pfile和spfile Oracle中的参数文件是一个包含一系列参数以及参数对应值的操作系统文件.它们是在数据库实例启动时候加载的,决定了数据库的物理 结构.内存.数据库的限制及系统大量的默认值 ...

  5. Oracle参数文件—pfile与spfile

    oracle的参数文件:pfile和spfile 1.pfile和spfile       Oracle中的参数文件是一个包含一系列参数以及参数对应值的操作系统文件.它们是在数据库实例启动时候加载的, ...

  6. pfile,spfile 初始化参数文件顺序【weber出品】

    一.初始化参数文件 启动实例时会读取初始化参数文件.参数文件有两种类型: 1.服务器参数文件:这是首选类型的初始化参数文件.这是一个由数据库服务器写入或读取的二进制文件,不得手动进行编辑.此文件驻留在 ...

  7. Oracle 初始化参数文件pfile和spfile

    pfile和spfile差额 pfile :Oracle 9i之前.ORACLE使用我们一直PFILE存储的初始化参数,,能够在操作系统级别改动. 当spfile文件改动出现错误导致oracle无法启 ...

  8. Oracle创建pfile spfile 文件及其恢复

    1.Oralce在启动实例的时读取$ORACLE_HOME/dbs下面的初始化文件.初始化文件分为:A.静态参数文件PFILE,一般名为initSID.oraB.永久参数文件SPFILE,一般名为sp ...

  9. oracle三个重要参数文件:pfile和spfile和init.ora

    Oracle中的参数文件是一个包含一系列参数以及参数对应值的操作系统文件.它们是在数据库实例启动第一个阶段时候加载的, 决定了数据库的物理 结构.内存.数据库的限制及系统大量的默认值.数据库的各种物理 ...

随机推荐

  1. Linux驱动设计—— 驱动调试技术

    参考博客与书籍: <Linux设备驱动开发详解> <Linux设备驱动程序> http://blog.chinaunix.net/uid-24219701-id-2884942 ...

  2. Android Studio 常用快捷键以及设置

    常用快捷键: Ctrl+Q 出现文档提示 跟ecplise的 鼠标悬浮差不多 Ctrl+Alt+t 包围代码 Home End 移动光标到文本首和文本尾 Alt+回车 导入当前包 Ctrl+Alt+O ...

  3. MUA

    a big deal analysis analytics cooperate 合作 efficient explicitly fine grained Granularity graph geogr ...

  4. centos6.7 本地yum源配置

    [BEGIN] 2016/11/9 21:47:31[root@11g ~]# mount /dev/cdrom /mediamount: block device /dev/sr0 is write ...

  5. 删除除了Src属性以后的全部属性

      public static string RemoveAllAttributesWithoutSrc(string input)      {                   string p ...

  6. risc与cisc

    RISC(精简指令集计算机)和CISC(复杂指令集计算机)是当前CPU的两种架构.它们的区别在于不同的CPU设计理念和方法. 早期的CPU全部是CISC架构,它的设计目的是要用最少的机器语言指令来完成 ...

  7. 一步一步理解Paxos算法

    一步一步理解Paxos算法 背景 Paxos 算法是Lamport于1990年提出的一种基于消息传递的一致性算法.由于算法难以理解起初并没有引起人们的重视,使Lamport在八年后重新发表到 TOCS ...

  8. kettle常见问题解决

    开源ETL工具kettle系列之常见问题 摘要:本文主要介绍使用kettle设计一些ETL任务时一些常见问题,这些问题大部分都不在官方FAQ上,你可以在kettle的论坛上找到一些问题的答案 1. J ...

  9. Jfinal基础学习(一)

    我负责的项目都是Jfinal的了,有必要写一些学习知识,记录下来. 1.PropKit.use("config.txt", "UTF-8"); PropKit ...

  10. Android 隐藏Fragment

    1.隐藏Fragment FragmentManager fManager = getFragmentManager(); fManager.beginTransaction() .setCustom ...