好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

初始化参数文件spfile、pfile及修改参数的两种方式

oracle数据库在启动过程中要读取初始化参数文件以确定一系列参数,例如数据库名pfile称、SGA大

oracle数据库在启动过程中要读取初始化参数文件以确定一系列参数,例如数据库名pfile称、SGA大小、最大连接数等等,pfile就是这样的一个初始化参数文件,文本文件,可以直接打开编辑,数据库启动时到默认目录下查找此文件,或者在命令行指定pfile文件:

SQL>startup pfile='H:\oracle\product\10.2.0\db_1\database\INITorcl.ORA

pflie文件默认命名方式就是init .ora

但是从 Oracle9i 开始, spfile 被引入 ,s代表server,是服务器端的二进制文件,无法直接打开修改。 Oracle 首选 spfile .ora 文件作为启动参数文件;如果该文件不存在, 选择 spfile.ora ;如果前两者都不存在,才 选择init .ora 文件;如果以上三个文件都不存在,则无法启动实例 。当然直接指定pfile的启动方式对新版本仍然有效。

spflie是不能直接打开修改,那么如何修改?有两种方式:

1. SQL> alter system set xx=×× scope=spfile/both --意思是修改参数并把修改写入spfile中,如果scope的值是both则表示同时修改当前实例的参数并把修改写入spflie重启实例后修改生效,注意如果是静态参数,只能使用spfile选项,所谓静态参数是指无法在当前实例中改变的参数,这种参数只能通过将修改写入spfile,重启实例后才能生效。需要注意的一个问题是,省去scope选项时,默认是both,在使用spfile启动实例时;如果使用pfile启动实例,那么默认是memory,也就是说修改不会保存到参数文件中,仅对当前实例有效,参考自http://www.itpub.net/thread-1099216-1-1.html 7th-floor。

2. 通过pfile和spflie的互生成修改spfile。

①先将spfile生成pfile:SQL>create pfile from spfile; -- 只要spfile存在于默认目录下,在数据库的任何阶段都可以执行(包括关闭、nomount、mount和open)。执行后在默认目录下生成 init .ora 文件,即所说的pfile,windows下oracle10g默认目录是ORACLE_HOME\database。

②修改pfile文件中的参数。若出现在无法打开的情况,可以复制到桌面修改之后替换回去即可。

③用修改后的pfile文件生成spfile文件:SQL>create spfile from pfile; -- 注意这一步只能在实例关闭阶段执行。

补充一句,在pfile和spfile互生成中,可以不使用默认文件而指定文件,如:

SQL>create spfile from pfile='H:\oracle\product\10.2.0\your_pfile';

--EOF--

查看更多关于初始化参数文件spfile、pfile及修改参数的两种方式的详细内容...

  阅读:50次

上一篇: L1和L2正则化

下一篇:LogBack学习(1)