`
hanjian861202
  • 浏览: 164981 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

ORACLE初始化参数文件SPFILE、PFILE介绍

阅读更多

1.简介
在9i之前,参数文件只有一种,它是文本格式的,称为pfile,在9i及以后的版本中,新增了服务器参数文件,称为spfile,它是二进制格式的。这两种参数文件都是用来存储参 数配置以供oracle读取的,但也有不同点,注意以下几点:
1)pfile是文本文件,spfile是二进制文件;
2)对于参数的配置,pfile可以直接以文本编辑器打开手工配置,而spfile不行,必须在数据库启动后,通过sql命令进行在线修改,当然spfile也可用文本编辑器打开,把里面文本的内容复制出来放在pfile中,但决对不可以直接修改,直接修改后会使文件无法读取。
3)pfile配置改变后,要使用其生效,必须重新启动数据库,spfile的配置生效时限和作用域可以由修改参数的sql命令指定,可以立即生效,也可以不立即生效。当然有些参数的修改必须重启数据库才能生效;
4)可以用sql命令由pfile创建spfile,也可以由spfile创建pfile;
5)如果是手动创建数据库而不是通过DBCA,则开始创建数据库时,你只能定义pfile 。因为它是文本格式的;

现在一般普通生产库都采用spfile启动数据库,pfile确实没有用的理由了,感觉只有以下情况才会使用pfile:
1)入门学习时,为了理解初始化参数
2)创建数据库时,因为这时还没spfile
3)恢复数据库时
4)采用RAC的生产库中如果要共用spfile,可以建一个初始的pfile,然后在pfile指定spfile为共享设备文件

2.创建spfile和pfile语法
创建SPFILE(只能建在数据库所在的机器上)
CREATE SPFILE [= 'spfile_name'] FROM PFILE [= 'pfile_name'];
如果命令中未指定spfile的路径则会在缺省路径创建spfile文件(%ORACLE_HOME%\database\spfile<SID>.ora)
这个与spfile参数无关(rac**享spfile时要注意)
创建PFILE
CREATE PFILE [= 'pfile_name'] FROM SPFILE [= 'spfile_name'];
如果命令中未指定spfile的路径则会从缺省路径(%ORACLE_HOME%\database\spfile<SID>.ora)创建pfile文件
注:语法中创建和指定的spfile和pfile都是服务器路径
注:不能创建已经由数据库实例启动的spfile(在nomount状态下也不行)

3.数据库启动时spfile和pfile的加载顺序
初始化参数是在数据库实例启动时(startup nomount)加载。
如果startup命令中未指定pfile参数,在windows系统中数据库启动时会按如下顺序查找启动参数文件:
%ORACLE_HOME%\database\SPFILE<SID>.ora
%ORACLE_HOME%\database\SPFILE.ora
%ORACLE_HOME%\database\init<SID>.ora
在unix或linux系统中数据库启动时会按如下顺序查找启动参数文件:
%ORACLE_HOME%\dbs\SPFILE<SID>.ora
%ORACLE_HOME%\dbs\SPFILE.ora
%ORACLE_HOME%\dbs\init<SID>.ora
也就是说先找spfile<sid>.ora文件,如果spfile<sid>.ora没有则找spfile.ora文件,最后才会去找init<sid>.ora的pfile文件.
使用指定pfile启动数据库则数据库会使用指定的pfile来加载数据库参数:
命令如下:
startup pfile='<pfile>'
注:以pfile启动的实例,修改初始化参数时不能使用scope=spfile的语法

如果参数文件(不管是pfile还是spfile)中指定了spfile的参数,则还会从指定的spfile中再读取配置的参数,这样数据库的参数就包括了两个文件的内容.4.数据库启动参数的加载顺序
加载顺序按文件中顺序读取
如果文件中有两个相同的参数名则以最后出现的为准,以下例子说明了这个问题。
如有一个spfile文件(myspfile.ora),包括两个参数:
sessions=150
processes=200
另外有一个pfile文件(mypfile.ora),里面包括三个参数,其中指定了spfile为前面的spfile文件
processes=100
sessions=100
spfile='myspfile.ora'
processes=180
当使用mypfile.ora启动数据库时,会按如下顺序读取参数
1)processes=100
2) sessions=100
3) spfile='myspfile.ora'
3.1) sessions=150(重新加载)
3.2) processes=200(重新加载)
4)processes=180(再次重新加载)
最后加载的数据库参数为
sessions=150
spfile='myspfile.ora'
processes=180

5.关于show parameter spfile时显示的内容
如果是采用pfile指定了spfile参数,则显示指定的spfile
如果是采用缺省的spfile启动,则显示缺省的spfile文件名,不管spfile还有没有指定其它的spfile文件。

6.关于spfile递归调用
如果出现spfile递归调用,则ORACLE启动时会报错:
SQL> startup nomount;
ORA-03113: 通信通道的文件结束
SQL>
spfile递归调用就是指
spfile1.spfile='spfile2'
spfile2.spfile='spfile1'
这样的参数配置

7.初始化参数的修改方法
  分为手动修改和在线修改。
  手动修改用于修改pfile,直接用文本编辑打开pfile修改。要使用修改生效,须重启数据库。
  在线修改是在数据库运行时,用alter system命令进行修改,命令如下(详细的命令 语句请参考oracle官方参考文档):
alter system set parameter_name = parameter_value [, parameter_value ]...
  [ COMMENT 'text' ]
  [ DEFERRED ]
  [ SCOPE = { MEMORY | SPFILE | BOTH } ]
  [ SID = { 'sid' | * } ]
注:
[ COMMENT 'text' ] :表示可以加注释,如 ALTER SYSTEM SET JOB_QUEUE_PROCESSES=50 SCOPE=BOTH DEFERRED COMMENT="  2008-05-19"
[ DEFERRED ]:表示所作修改只适用于将来的会话,对当前已有的会话不影响,这个参数只对少数参数有用,具体可使用的参数可以查看v$parameter视图
select * from v$parameter where issys_modifiable='DEFERRED'
[ SCOPE = { MEMORY | SPFILE | BOTH } ]:
SPFILE:修改只对SPFILE有效,不影响当前实例,需要重启数据库才能生效;

分享到:
评论

相关推荐

    Oracle参数文件PFILE和SPFILE介绍

    Oracle数据库系统中,参数文件是配置数据库运行方式的关键组件,主要分为PFILE(初始化参数文件)和SPFILE(服务参数文件)。这两种类型的参数文件各有特点,适用于不同的管理和操作场景。 一、PFILE(初始化参数...

    ORACLE初始化参数文件详细文档

    综上所述,理解Oracle初始化参数文件的工作原理及其配置方式对于数据库管理员来说至关重要。无论是选择使用PFILE还是SPFILE,都需要了解它们之间的区别以及如何正确地配置这些参数文件,以确保数据库的稳定运行。

    Oracle初始化参数的配置

    本文将深入探讨如何对Oracle初始化参数文件进行有效的配置,帮助您更好地理解并掌握这一关键技能。 #### 初始化参数文件概述 Oracle在安装完成后,会自动生成两个初始化参数文件:一个二进制格式的初始化参数文件...

    原创文档详细说明ORACLE10G参数文件PFILE与SPFILE

    在ORACLE 10G中,有两种类型的初始化参数文件:PFILE(Plain Text File)和SPFILE(Structured Parameter File)。PFILE是文本格式的文件,可以直接编辑,而SPFILE是二进制格式,提供了更多的高级特性,如动态调整...

    oracle初始化文件参数和实例

    初始化参数文件有两种类型:`PFILE`(文本初始化参数文件)和`SPFILE`(服务器初始化参数文件)。 ##### 1. PFILE - 文本初始化参数文件 - **特点**:早期版本(Oracle 9i之前)的默认参数文件格式,内容为纯文本,...

    关于oracle初始化参数研究的一组文档

    本文将深入探讨Oracle初始化参数的概念、重要性以及如何配置这些参数,以帮助你更好地理解和优化你的Oracle数据库。 初始化参数文件(通常命名为init.ora或spfile.ora)是Oracle数据库的核心组成部分,它定义了...

    oracle初始化参数学习

    Oracle 支持两种类型的初始化参数文件:文本参数文件(PFILE)和服务器参数文件(SPFILE)。 - **文本参数文件 (PFILE)**:是一个普通的文本文件,可以通过任何文本编辑器进行修改。PFILE 的扩展名通常为 .ora。 - ...

    修改oracle初始化参数,包括Process,Session,SGA,PGA

    ### 修改Oracle初始化参数:Process, Session, SGA, PGA 在Oracle数据库管理中,正确配置初始化参数对于确保系统的稳定性和性能至关重要。本文将详细介绍如何修改与监控`Process`, `Session`, `SGA`, 和 `PGA` 相关...

    在oracle10g上创建spfile.doc

    与传统的初始化参数文件(PFILE,Plain FILE)相比,SPFILE具有许多优势,例如支持动态参数更改、自动内存管理等。当SPFILE丢失或损坏时,数据库可能无法正常启动,因此了解如何在Oracle 10g上创建SPFILE是解决此类...

    Oracle中SPFILE文件特点及其具体操作

    Oracle中的SPFILE(Server Parameter FILE)是Oracle 9i引入的一种新型初始化参数文件,它具有持久性和其他传统初始化参数文件(PFILE)不具备的优势。SPFILE的出现使得对数据库参数的管理和维护更加高效和便捷。 1...

    Oracle 9i延续性初始化参数文件剖析

    Oracle 9i 引入的 SPFILE(Server Parameter FILE)是一种具有延续性的初始化参数文件,它的出现极大地改进了Oracle数据库管理的方式。SPFILE的主要特点在于它允许在线修改参数并立即永久生效,不再需要手动更新参数...

    Oracle 11G参数文件

    在Oracle 11G中,参数文件主要用于存储数据库实例所需的初始化参数。这些参数对于数据库的正确运行至关重要,它们控制着数据库的各种行为和配置选项。Oracle 11G提供了超过300个初始化参数,其中大多数都有默认值。...

    oracle spfile

    - SPFILE是一种二进制格式的初始化参数文件,自Oracle9i开始引入。 - 它允许用户动态地修改部分参数,无需重启实例即可使更改生效。 - SPFILE支持通过`ALTER SYSTEM`或`ALTER SESSION`命令来修改参数,增加了灵活...

    asm指定路径对pfile和spfile相互创建

    在Oracle数据库管理中,PFILE(初始化参数文件)和SPFILE(系统参数文件)是两种重要的配置文件。PFILE是以文本格式存储的初始化参数,而SPFILE是二进制格式,能够提供更快的访问速度和更高级的功能。当ASM...

    spfile&pfile

    `pfile` 在数据库启动时会被读取,用于初始化数据库环境。 - **优点**: - 易于管理和编辑:可以直接通过文本编辑器修改参数值。 - 方便备份和恢复:因为是纯文本格式,容易进行版本控制和备份操作。 - **创建与...

    Oracle培训资料030710g11g参数SPFILE.ppt

    Oracle 8i主要使用PFILE(参数文件),而在Oracle 9i及后续版本,SPFILE(服务器参数文件)成为主要的配置方式。 PFILE,全称为Parameter File,是Oracle 8i及其以前版本中用于初始化数据库实例的文本文件。它以...

    Oracle数据库SPFILE文件特点及具体操作

    Oracle数据库的SPFILE(Server Parameter FILE)是一种先进的初始化参数文件,自Oracle9i版本开始引入。与传统的文本格式的INIT.ORA文件相比,SPFILE具备许多显著的优势和新特性。 首先,SPFILE的一个核心特点是其...

    Oracle数据库服务器参数文件的使用与维护.pdf

    从Oracle 9i开始,引入了一种新的参数文件格式——服务器参数文件(SPFILE),以替代传统的参数文件(PFILE)。SPFILE以二进制格式存储,支持动态修改和即时生效,提高了数据库的灵活性和可用性。 1. **服务器参数...

    ORACLE参数文件的修改与配置[归类].pdf

    首先,参数文件通常有两种形式:pfile(初始化参数文件)和spfile(动态服务器参数文件)。pfile是以文本格式存储的,可以直接编辑,而spfile是二进制格式,能够存储更多的元数据,并支持动态更改某些参数。在Oracle...

Global site tag (gtag.js) - Google Analytics