Oracle参数文件学习
- 格式:docx
- 大小:31.86 KB
- 文档页数:23
Oracle实例初始化参数⽂件(InitializationParameterFiles)当 Oracle 实例启动时,它从初始化参数⽂件中读取参数进⾏实例初始化,最⼩化初始化参数⽂件只需要指定参数 DB_NAME 的值,所有其他参数有默认值。
初始化参数⽂件可以是只读(静态)的⽂本⽂件 (pfile),或是读/写(动态)的⼆进制⽂件 (spfile),⼆进制参数⽂件被称为服务器参数⽂件(Server Parameter File)。
pfile 可以⽤记事本进⾏直接修改,且必须重启才能⽣效。
spfile 须⽤ alter system 命令来进⾏修改,⽣效的时限和作⽤域由修改命令的参数 scope 来决定。
如:alter system set job_queue_processed=50 scope=memory;实例启动初始化参数⽂件查找顺序:spfile ORACLE_SID.ora -> spfile.ora -> init ORACLE_SID.ora可以通过 show parameter spfile 或者 select value from v$parameter where name = 'spfile' 命令查看服务器参数⽂件的位置,如果启动⽤的是 pfile,则 spfile 值为空。
[oracle@rac1 dbs]$ ls -hltotal 6.8M-rw-r----- 1 oracle oinstall 1.6K Aug 28 11:56 hc_byisdb.dat-rw-r----- 1 oracle oinstall 13K May 3 2001 initdw.ora-rw-r----- 1 oracle oinstall 8.2K Sep 11 1998 init.ora.bak-rw-r----- 1 oracle oinstall 24 Aug 28 11:58 lkBYISDB-rw-r----- 1 oracle oinstall 1.5K Sep 2 10:44 orapwbyisdb-rw-r----- 1 oracle oinstall 6.8M Aug 29 04:13 snapcf_byisdb.f-rw-r----- 1 oracle oinstall 3.5K Sep 5 10:11 spfilebyisdb.ora当前只有服务器初始化参数⽂件 spfilebyisdb.ora,下⾯再⽣成两个参数⽂件,⼀个是服务器参数⽂件 spfile.ora,另外⼀个是静态参数⽂件 pfile,看三个参数⽂件并存的时候,看实例启动时优先使⽤哪个⽂件作为初始化参数⽂件?SQL> create pfile from spfile2 /File created.[oracle@rac1 dbs]$ cp spfilebyisdb.ora spfile.ora[oracle@rac1 dbs]$ ls -hltotal 6.8M-rw-r----- 1 oracle oinstall 1.6K Aug 28 11:56 hc_byisdb.dat-rw-r--r-- 1 oracle oinstall 1.2K Sep 5 10:12 initbyisdb.ora-rw-r----- 1 oracle oinstall 13K May 3 2001 initdw.ora-rw-r----- 1 oracle oinstall 8.2K Sep 11 1998 init.ora.bak-rw-r----- 1 oracle oinstall 24 Aug 28 11:58 lkBYISDB-rw-r----- 1 oracle oinstall 1.5K Sep 2 10:44 orapwbyisdb-rw-r----- 1 oracle oinstall 6.8M Aug 29 04:13 snapcf_byisdb.f-rw-r----- 1 oracle oinstall 3.5K Sep 5 10:11 spfilebyisdb.ora-rw-r----- 1 oracle oinstall 3.5K Sep 5 10:16 spfile.ora可以看到实例正常启动,使⽤的初始化参数⽂件为 spfilebyisdb.ora。
oracle 资源配置参数【1】Oracle资源配置参数概述在Oracle数据库中,资源配置参数是控制数据库性能的关键因素。
合理的资源配置参数可以有效地提高数据库的处理能力,保证数据处理的稳定性和可靠性。
本文将对Oracle资源配置参数进行简要介绍,帮助读者更好地理解和应用这些参数。
【2】常用的Oracle资源配置参数介绍1.内存分配参数:如SGA_SIZE、PGA_SIZE等,用于分配数据库实例的内存资源。
2.数据库缓冲区参数:如DB_BUFFER_CACHE_SIZE、DB_BUFFER_POOL_SIZE等,用于控制数据库缓冲区的大小和管理方式。
3.磁盘I/O参数:如LOG_BUFFER_SIZE、LOG_IO_SLAVES等,用于优化磁盘I/O操作的性能。
4.并发控制参数:如AUTO_SANCTION_THRESHOLD、AUTO_TRANS_ISOLATION_LEVEL等,用于控制并发事务的处理方式和隔离级别。
5.查询优化器参数:如CURSOR_SPACE_FORCE、FULL_JOIN_THRESHOLD等,用于调整查询优化器的策略和行为。
【3】配置Oracle资源参数的步骤和方法1.收集数据库性能数据:通过诊断工具(如AWR报告)收集数据库的性能数据,找出潜在的性能瓶颈。
2.分析性能数据:分析收集到的性能数据,确定需要调整的资源配置参数。
3.修改配置参数:根据分析结果,通过SQL语句或动态视图修改相应的资源配置参数。
4.验证调整效果:重新收集性能数据,验证资源配置调整后的效果,如有需要,进行进一步优化。
【4】优化Oracle资源配置参数的技巧1.依据系统负载情况进行资源分配:根据不同时间段的系统负载情况,合理调整内存分配、并发控制等参数。
2.充分利用硬件资源:结合硬件性能,合理设置磁盘I/O、缓冲区管理等参数,提高数据库处理能力。
3.灵活调整优化器参数:根据实际查询情况和数据特点,调整查询优化器相关参数,提高查询效率。
1.参数文件的定义、作用oracle数据库通过一系列参数来对数据库进行配置. 如下:MAXLOGFILES=50BACKGROUND_DUMP_DEST=C:\DUMP其中等号左边是参数名, 右边是对应的参数值, 值的类型有多种, 典型的如数字和字符串. oracle在启动时会从参数文件中读取相关的配置.2.参数文件的分类在9i之前, 参数文件只有一种, 称为pfile, 文本格式. 在9i及以后的版本中新增了服务器参数文件, 称为spfile, 二进制格式.这两种参数文件都用来存储参数, 但也有不同点, 如下:<1>pfile是文本文件, spfile是二进制文件;<2>对于参数的配置, pfile可直接以文本编辑器手工配置, 而spfile不行, 必须在数据库启动后, 通过sql命令进行在线修改.<3>pfile配置改变后, 必须重启数据库使其生效, spfile的配置生效时限和作用域可由修改参数的sql命令指定, 可以立即生效, 也可以不立即生效. 当然有些参数的修改必须重启数据库才能生效;<4>可用sql命令由pfile创建spfile,也可以由spfile创建pfile;<5>如果是手动创建数据库, 则开始创建数据库时只能定义pfile. 因为它是文本格式的;<6>oracle数据库只使用一个参数文件, 要么是pfile,要么是spfile, 如何判断数据库当前使用的是哪一个参数文件?//方法一: 执行create pfile, 如果当前使用的不是spfile, 则相应格式的create pfile 会产生错误.//方法二: 执行show parameter spfile命令, 用来显示spfile的位置, 如果显示的值为空, 则表示使用的是pfile.//方法三: 执行select value from v$parameter where NAME='spfile'3.参数文件的动作原理数据库启动时读取参数文件的顺序:>>Oracle9i以前(不包括9i)oracle会在$ORACLE_HOME/dbs 目录下查找init(sid).ora文件(即pfile), 若找不到, oracle会报错, 无法启动;>>Oracle 9i或更高1/首先在$ORACLE_HOME/dbs 目录下查找spfile(sid).ora文件, 如果有, 则利用该文件启动数据库;2/若没有spfile, 继续在该目录下查找pfile文件init(sid).ora文件, 若有则利用该文件启动数据库;3/若没有, 则oracle会报错, 无法启动.4、实例启动时读取参数文件的顺序>>数据库的startup命令可以指定以哪个pfile启动, 注意只能指定pfile, 不能指定spfile. >>当使用不带pfile子句的startup 命令时, Oracle 将从平台指定的默认位置上(UNIX或Linux平台数据库启动过程中检索的目录是$ORACLE_HOME/dbs) 的服务器参数文件(spfile) 中读取初始化参数. Oracle查找spfile或者init.ora的顺序是:1/ 首先查找名为spfile$ORACLE_SID.ora的文件.2/ 若没有就查找spfile.ora文件.3/ 还没有就找init$ORACLE_SID.ora文件.>>在$ORACLE_BASE/admin/db_name/spfile目录下, 可能会看到一个类似init.ora.192003215317名字的文件, 这就是初始化参数文件, 只是带上了时间戳. 对于Oracle920, 缺省使用spfile启动, 但这个spfile不是凭空而来, 而是从这个文件创建而来, 去掉长后缀后就是标准的pfile文件.$ORACLE_BASE/admin/db_name/pfile>>对于Windows NT 和Windows 2000, 其位置是:$ORACLE_HOME\database\spfile$ORACLE_SID.ora.>>数据库启动后参数的配置值可通过查询数据字典v$parameter得到.5、参数文件的修改方法分为手动修改和在线修改.>>手动修改:用于修改pfile, 直接用文本编辑打开pfile修改. 要使用修改生效, 须重启数据库.>>在线修改:在数据库运行时用alter system命令修改, 命令如下(详细的命令语句请参考oracle官方参考文档):sql>alter system set job_queue_processed=50 scope=MEMORY注意: scope=MEMORY表示应用范围, 取值如下:SPFILE:修改只对SPFILE有效, 不影响当前实例, 需要重启数据库才能生效;MEMORY:修改只对内存有效, 即只对当前实例有效, 且立即生效, 但不会保存到SPFILE, 数据库重启后此配置丢失;BOTH:包含以上两种, 立即且永久生效.对于ALTER SYSTEM参数修改命令, 请注意以下几点:>>如果当前实例使用的是pfile而非spfile,则scope=spfile或scope=both会产生错误;>>如果实例以pfile启动, 则scope的默认值为MEMORY, 若以spfile启动, 则默认值为BOTH;>>可以使用DEFERRED表示所作修改只适用于将来的会话, 还可以使用COMMENT写入注释, 如:ALTER SYSTEM SET JOB_QUEUE_PROCESSES=50 SCOPE=BOTH DEFERRED COMMENT="注释">>删除参数的方法如下:ALTER SYSTEM SET PARAMETER=>>修改参数值SQL>alter system set db_cache_size=200M scope=spfile;SQL>alter system set shared_pool_size=50M scope=spfile;6、创建参数文件对于pfile可以用文本编辑器直接手工编辑一个, 也可以使用create pfile命令从spfile创建,如:CREATE PFILE='C:\PFILE\MYPFILE.ORA' FROM SPFILE='D:\SPFILE\MYSPFILE.ORA'或者从当前实例所使用的spfile创建:create pfile='c:\pfile\mypfile.ora' from spfile.创建spfile的命令如下:CREATE SPFILE FROM PFILE='C:\PFILE\MYPFILE'.。
oracle三个重要参数⽂件:pfile和spfile和init.oraOracle中的参数⽂件是⼀个包含⼀系列参数以及参数对应值的操作系统⽂件。
它们是在数据库实例启动第⼀个阶段时候加载的,决定了数据库的物理结构、内存、数据库的限制及系统⼤量的默认值、数据库的各种物理属性、指定数据库控制⽂件名和路径等信息,1、pfile: 初始化参数⽂件(Initialization Parameters Files)pfile是啥呢,pfile的全名就是parameter file,参数⽂件。
pfile是⼀个可编辑的⽂本⽂件,主要内容就是数据库的配置参数,包括内存配置、数据库名、sessions、processes等。
pfile默认路径(windows):/u01/app/oracle/product/11.2.0/db1_s/dbs/initSID.oraOracle 9i之前,ORACLE⼀直采⽤pfile⽅式存储初始化参数,pfile 默认的名称为“init+实例sid.ora”⽂件路径:/u01/app/oracle/product/11.2.0/db1_s/dbs这是⼀个⽂本⽂件,可以⽤任何⽂本编辑⼯具打开。
我们可以直接使⽤指定pfile⽂件启动第⼀阶段数据库sql>startup pfile=/u01/app/oracle/product/11.2.0/db1_s/dbs/init.ora.10152018183435 //通过这个指定这个参数⽂件就可以启动这个数据库了2、spfile:服务器参数⽂件(Server Parameter Files)从Oracle 9i开始,Oracle引⼊了Spfile⽂件,spfile 默认的名称为“spfile+例程名.ora”⽂件路径:/u01/app/oracle/product/11.2.0/db_1/dbs/spfile以后,数据库默认就是读取spfile的配置启动和初始化参数,加载参数到内存中以⼆进制⽂本形式存在,不能⽤vi编辑器对其中参数进⾏修改,只能通过SQL命令在线修改。
oracle 静默db建库参数-概述说明以及解释1.引言概述部分的内容可以描述oracle数据库中静默db建库参数的背景和基本概念。
以下是一个示例:1.1 概述静默db建库参数是指在Oracle数据库中用于自动化和简化数据库建库过程的一系列参数设置。
这些参数可以在数据库创建过程中提供默认值,使得建库过程更加高效和方便。
在传统的数据库建库过程中,需要逐个设置各种参数选项,诸如表空间大小、字符集、语言等。
而使用静默db建库参数可以将这些繁琐的设置过程自动化,减少了手动设置的错误和遗漏,同时节省了大量的时间和人力成本。
静默db建库参数的作用不仅仅在于简化建库过程,它还可以提高建库的一致性和可维护性。
通过统一的参数设置,可以确保不同的数据库之间具有相同的配置,减少了后期维护和升级的麻烦。
此外,静默db建库参数还可以提供一些默认的安全设置,从而增加了数据库的安全性。
在本文中,我们将详细探讨静默db建库参数的定义、配置方法和注意事项,以及对其重要性和优势的总结。
同时,我们还将对未来数据库建库工作提供一些建议和启示。
通过全面了解和合理应用静默db建库参数,我们可以提高建库的效率和质量,为数据库的正常运行提供更好的基础。
文章结构部分的内容应该包括对整篇文章的组织和结构进行说明。
以下是文章1.2 文章结构部分的内容示例:1.2 文章结构本文主要围绕Oracle数据库中的静默db建库参数展开讨论。
为了使读者更好地理解和掌握这一主题,本文将分为引言、正文和结论三个部分。
- 引言部分将从概述、文章结构和目的三个方面介绍本文的主题和写作意图。
通过引言,读者可以建立起对本文的整体框架和主要内容的初步了解。
- 正文部分将在2.1节详细解释静默db建库参数的定义和作用。
这一小节将介绍静默db建库参数的概念,以及它在Oracle数据库建库过程中的重要作用。
同时,本节还将探讨如何配置这些参数以及需要注意的事项,以帮助读者正确地使用和优化这些参数。
参数文件总结:1.初始参数文件:pfile(initialization parameter file)2.服务器参数文件:spfile(server-side parameter file)1.pfile是文本文件,spfile是二进制文件2.pfile可以通过文本编辑器修改,spfile主要是通过alter system set parameter=value [scope=memory|spfile|both]修改Oracle启动时,读取参数文件的顺序是:1.spfile$ORACLE_SID.ORA(创建数据库时创建的spfile)2.spfile.ora(oracle缺省spfile文件)3.init$ORACLE_SID.ora(创建数据库时创建的pfile)4.init.ora(oracle缺省pfile文件)Oracle会按顺序读出这些参数文件,如果在1没有找到就去找2,直到找到。
和参数文件相关常用SQL1.查看当前使用的spfile和pfile的位置:show parameter spfile/show parameter pfile2.查看参数文件的具体设置show parameters3.从spfile获取pfilecreate pfile='pfilesid.ora' from spfile或者create pfile='pfilesid.ora' from spfile='/$ORACLE_HOME/dbs/spfile.ora' 4.修改参数alter system set parameter=value [scope=memory|spfile|both]1.修改后当前就起作用,重启数据库不起作用scope=memory2.修改后当前不起作用,下次重启数据库才起作用scope=spfile3.修改后当前起作用,下次重启数据库也起作用scope=bothNotice:命令alter system set parameter=value在没有加scope选项时,默认值是什么呢?多数朋友可能不加思索就会回答both这答案,实际的情况是,当oracle在以spfile 参数启动时,默认值是both,而以pfile启动时,默认值是memory,也就是只修改当前值。
ORACLE参数文件的修改与配置ORACLE参数文件是一个包含了Oracle数据库系统的各种配置和设置信息的文本文件。
通过修改参数文件,可以对数据库进行各种配置和定制,以满足特定的需求和性能要求。
本文将详细介绍如何修改和配置ORACLE参数文件。
1.找到参数文件在Oracle数据库中,有两个主要的参数文件:2.修改参数文件以下是一些常见的ORACLE参数及其说明(请注意,参数名称和完整的描述可能因ORACLE版本而有所不同):-DB_BLOCK_SIZE:指定数据库块的大小,通常可能使用的数值为2KB或4KB。
较大的值可以提高数据库的性能,但会增加内存消耗。
-SHARED_POOL_SIZE:用于指定共享池的大小。
共享池用于缓存SQL语句和数据字典等共享的对象。
- SGA_TARGET和SGA_MAX_SIZE:用于设置SGA(System Global Area)的大小。
SGA是一个Oracle数据库实例的内存区域,包含了缓冲区、共享池和重做日志缓冲区等。
- PGA_AGGREGATE_TARGET:用于设置PGA(Program Global Area)的大小。
PGA是ORACLE数据库为每个连接到数据库的用户分配的内存区域,用于执行用户会话的相关操作。
-LOG_BUFFER:用于设置日志缓冲区的大小。
日志缓冲区用于缓存重做日志信息。
- TIMED_STATISTICS:指定是否启用Oracle数据库的时间统计功能。
-DIAGNOSTIC_DEST:设置数据库诊断信息的目录路径。
3.配置ORACLE参数文件在修改参数文件之前,建议先备份原始的参数文件。
修改参数文件后,需要将其重新加载到数据库中以生效。
-对于SPFILE,可以使用以下命令进行重新加载:```SQL> ALTER SYSTEM SET <parameter_name>=<new_value>SCOPE=SPFILE;```-对于PFILE,可以使用以下命令进行重新加载:```SQL> ALTER SYSTEM SET <parameter_name>=<new_value>;SQL> ALTER SYSTEM SET <parameter_name>=<new_value>SID='<sid>';```其中,<parameter_name>是要修改的参数名称,<new_value>是要设置的新值。
ORACLE初始化参数文件详细文档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)创建数据库时,因为这时还没spfile3)恢复数据库时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时要注意)创建PFILECREATE PFILE [= 'pfile_name'] FROM SPFILE [= 'spfile_name'];如果命令中未指定spfile的路径则会从缺省路径(%ORACLE_HOME%/database/spfile<SID>.ora)创建pfile文件注:语法中创建和指定的spfile和pfile都是服务器路径注:不能创建已经由数据库实例启动的spfile(在nomount状态下也不行)3.数据库启动时spfile和pfile的加载顺序初始化参数是在数据库实例启动时(startup nomount)加载。
oracle参数文件详解参数文件查询参数可以使用的数值select* from v$parameter_valid_values where upper(name) like'%OPTIMI%' Oracle参数一、oracle pfile/spfile区别pfile 默认的名称为“init+例程名.ora”文件路径:E:\oracle\product\10.2.0\db_1\dbs,这是一个文本文件,可以用任何文本编辑工具打开。
spfile 默认的名称为“spfile+例程名.ora”文件路径:E:\oracle\product\10.2.0\db_1\dbs 以二进制文本形式存在,不能用vi编辑器对其中参数进行修改。
两个文件可以用命令CREATE PFILE FROM SPFILE或CREATE SPFILE FROM PFILE来互相创建区别:1、启动次序SPfile优先于Pfile。
2、PFILE是静态文件,修改之后不会马上生效,数据库必须重新启动读取这个文件才行。
3、SPFILE是动态参数文件,是二进制文件,不可以直接用记事本等等程序做修改,可以用ALTER命令做修改,不用重起数据库也能生效。
修改方法:#查看参数信息sql>show parameter;#修改参数sql>alter system set 参数名=值scope=参数2;参数2取值有如下三种:1. scope=spfile: 对参数的修改记录在服务器初始化参数文件中,修改后的参数在下次启动DB时生效。
适用于动态和静态初始化参数。
2. scope=memory: 对参数的修改记录在內存中,对于动态初始化参数的修改立即生效。
在重启DB后会丟失,会复原为修改前的参数值。
3. scope=both: 对参数的修改会同时记录在服务器参数文件和內存中,对于动态参数立即生效,对静态参数不能用这个选项。
如果使用了服务器参数文件,则在执行alter system语句时,scope=both是default的选项。
oracle参数配置Oracle参数配置是DBA(数据库管理员)在安装、配置和维护Oracle数据库时必须要进行的重要工作之一、合理的参数配置可以改善数据库的性能和稳定性,提高系统响应速度。
在Oracle中,参数配置分为全局参数和会话参数两个层面。
全局参数是对整个数据库实例有效的,而会话参数是对特定会话(用户)有效的。
下面是一些常见的Oracle参数配置及其作用:1. SGA_TARGET和PGA_AGGREGATE_TARGET:这两个参数用于配置SGA (System Global Area)和PGA(Program Global Area)的大小。
SGA用于缓存数据块、控制结构和共享池等,PGA用于存储处理用户请求时需要的数据。
合理的配置可以减少磁盘I/O操作,提高性能。
2.DB_CACHE_SIZE:用于配置数据库缓存的大小。
数据库缓存用于缓存数据块,减少磁盘读取的次数。
合理的配置可以提高数据库的数据访问速度。
3.SHARED_POOL_SIZE:用于配置共享池的大小。
共享池用于缓存SQL语句、存储过程和游标等共享的数据结构。
合理的配置可以提高SQL查询的执行效率。
4.LOG_BUFFER:用于配置日志缓冲区的大小。
日志缓冲区用于存储事务日志,保证数据库的数据一致性和可恢复性。
合理的配置可以提高事务的提交速度。
5.PROCESSES:用于配置数据库可以同时处理的会话数。
合理的配置可以避免系统资源过度占用和会话阻塞的问题。
6.UNDO_RETENTION:用于配置事务回滚段的保留时间。
事务回滚段用于存储已提交但尚未释放的事务数据,以支持数据库的读一致性。
合理的配置可以减少回滚段的空间使用和事务回滚的时间。
7.OPTIMIZER_MODE:用于配置优化器的工作模式。
优化器根据SQL查询的特性和数据库的统计信息,选择最优的执行计划。
合理的配置可以提高SQL查询的执行效率。
除了以上参数,还有许多其他的参数可供配置,如DB_BLOCK_SIZE、SORT_AREA_SIZE、JOB_QUEUE_PROCESSES等。
Oracle参数文件--========================-->Oracle 参数文件--========================/*参数文件(10g中的参数文件)主要用来记录数据库的配置文件,在数据库启动时,Oracle读取参数文件,并根据参数文件中的参数设置来配置数据库。
如内存池的分配,允许打开的进程数和会话数等。
两类参数文件:pfile:文本文件的参数文件,可以使用vi,vim等编辑器修改,文件名通常为init<sid>.ora spfile:二进制的参数文件,不能直接修改,只能存放在Oracle服务器端,可以使用EM或指令来修改(alter system|session set parameter_name = values <>),文件名通常为spfile<sid>.ora,支持RMAN备份。
优先级别:Oracle 启动读取参数文件的顺序,如果个文件都不存在,则Oracle会报错spfile<sid>.ora --> spfile.ora -->init<sid>.ora参数文件的路径:*/spfle:$ORACLE_HOME/dbs/spfile$ORACLE_SID.orapfile(9i):$ORALCE_HOME/dbs/init$ORALCE_SID.ora /*10g以后一般不用init<sid>.ora*/pfile(10g):$ORALCE_BASE/admin/$ORACLE_SID/pfile /*仅当数据库初始化时使用*/pfile:$ORACLE_HOME/dbs/init.ora /*默认*//*参数文件之间的转化spfile 转化为pfilepfile 转换为spfile从spfile来生成pfilecreate pfile from spfile ,执行完毕后,pfile 将保存为$ORACLE_HOME/dbs/init$ORACLE_SID.ora 也可以指定pfile 的路径:create pfile = '<dir>' from spfile;由pfile 生成spfilecreate spfile from pfilecreate spfile from pfile = '<dir>'create spfile = '<dir>' from pfile11g中的新指令,从memeory中生成create spfile = '<dir>' from memeory *//*演示:*/spfile --> pfileSQL> create pfile from spfile;File created.SQL> ho ls -al /u01/app/oracle/10g/dbs/total 56drwxr-x--- 2 oracle oinstall 4096 Apr 8 13:49 .drwxr-x--- 55 oracle oinstall 4096 Apr 7 09:48 ..-rw-r----- 1 oracle oinstall 1544 Apr 6 12:06 hc_orcl.dat-rw-r----- 1 oracle oinstall 8385 Sep 11 1998 init.ora-rw-r----- 1 oracle oinstall 12920 May 3 2001 initdw.ora-rw------- 1 oracle oinstall 1155 Apr 8 13:49 initorcl.ora-rw-r----- 1 oracle oinstall 24 Apr 6 12:06 lkORCL-rw-r----- 1 oracle oinstall 1536 Apr 7 15:50 orapworcl-rw-r----- 1 oracle oinstall 3584 Apr 8 11:15 spfileorcl.oraSQL> ho cat /u01/app/oracle/10g/dbs/initorcl.oraorcl.__db_cache_size=251658240orcl.__java_pool_size=4194304orcl.__large_pool_size=4194304orcl.__shared_pool_size=142606336orcl.__streams_pool_size=0*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'*.background_dump_dest='/u01/app/oracle/admin/orcl/bdump'*.compatible='10.2.0.1.0'*.control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/oradata/orcl/contr ol02.ctl', '/u01/app/oracle/oradata/orcl/control03.ctl'*.core_dump_dest='/u01/app/oracle/admin/orcl/cdump'*.db_block_size=8192*.db_create_file_dest='/u01/app/oracle/oradata/orcl'*.db_create_online_log_dest_1='/u01/app/oracle/disk1'*.db_create_online_log_dest_2='/u01/app/oracle/disk2'*.db_domain=''*.db_file_multiblock_read_count=16*.db_name='orcl'*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'*.db_recovery_file_dest_size=2147483648*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'*.job_queue_processes=10*.open_cursors=300*.pga_aggregate_target=135266304*.processes=150*.remote_login_passwordfile='EXCLUSIVE'*.sga_target=406847488*.undo_management='AUTO'*.undo_tablespace='UNDOTBS1'*.user_dump_dest='/u01/app/oracle/admin/orcl/udump'pfile --> spfileSQL> create spfile from pfile; /*使用该命令的时候不能转换,如下报错,因为当前的spfile正在使用*/create spfile from pfile*ERROR at line 1:ORA-32002: cannot create SPFILE already being used by the instanceSQL> create spfile = '/u01/app/oracle/spfileorcl.ora' from pfile;File created.SQL> ho cat /u01/app/oracle/spfileorcl.ora;a*orcl.__db_cache_size=251658240orcl.__java_pool_size=4194304orcl.__large_pool_size=4194304orcl.__shared_pool_size=142606336orcl.__streams_pool_size=0*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'*.background_dump_dest='/u01/app/oracle/admin/orcl/bdump'*.compatible='10.2.0.1.0'*.control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/oradata/orcl/contr ol02.ctl','/u01/app/oracle/oradata/orcl/control03.ctl'*.core_dump_dest='/u01/app/oracle/admin/orcl/cdump'*.db_block_size=8192*.db_create_file_dest='/u01/app/oracle/oradata/orcl'*.db_create_online_log_dest_1='/u01/app/oracle/disk1'*.db_create_online_log_dest_2='/u01/app/oracle/disk2'*.db_domain=''*.db_file_multiblock_read_count=16*.db_name='orcl'*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area' *.db_recovery_file_dest_size=2147483648*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'*.job_queue_processes=10*.open_cursors=300*.pga_aggregate_target=135266304*.processes=150*.remote_login_passwordfile='EXCLUSIVE'*.sga_target=406847488*.undo_management='AUTO'*.undo_tablespace='UNDOTBS1'*.user_dump_dest='/u01/app/oracle/admin/orcl/udump'/*转换后的使用:假定修改了initorcl.ora中的参数,但Oracle启动是先读取spfile ,故可以在启动的时候指定用initorcl.ora来初始化参数,启动完毕后,可以创建spfile,则下一次启动就可以使用新的spfile.假定我们对initorcl.ora作如下修改:*/open_cursors=600processes=250/*则关闭数据库后指定以initorcl.ora参数来启动数据库*/SQL> startup pfile = '/u01/app/oracle/10g/dbs/initorcl.ora';ORACLE instance started.Total System Global Area 406847488 bytesFixed Size 1219688 bytesVariable Size 150995864 bytesDatabase Buffers 251658240 bytesRedo Buffers 2973696 bytesDatabase mounted.Database opened.SQL> create spfile from pfile; /*修改的内容将会更新到spfile*/File created.--查看参数文件的名字SQL> show parameter service_nameNAME TYPE VALUE------------------------------------ ----------- ------------------------------service_names string orcl--查看当前使用的哪个参数文件启动的SQL> select distinct isspecified from v$spparameter;ISSPEC------FALSE/*如果第一个值是FALSE还是TRUE,如果是FALSE,则是pfile,否则则是spfile.也可以尝试修改spfile ,如果报错则可以判断是从pfile启动,当然所修改的参数必须是可以修改的*/SQL> alter system set sga_target = 200m scope = spfile;alter system set sga_target = 200m scope = spfile*ERROR at line 1:ORA-32001: write to SPFILE requested but no SPFILE specified at startup--强制启动Oracle后再查看是使用的哪个参数启动的。