日期:2014-05-16  浏览次数:20424 次

Oracle服务器参数文件-----spfile
1.spfile简介

spfile是oracle实例启动时的参数文件,该文件的默认位置是:$ORACLE_HOME/dbs,默认文件名为spfile$ORACLE_SID.ora。相对于老的init.ora参数文件,spfile具有如下优点:

    * 可以杜绝参数文件的繁殖:spfile总是存储在数据库服务器上,必须存在于服务器主机本身,不能放在客户机上。
    * 可以通过ALTER SYSTEM命令自动维护。

2.创建spfile

可以从老的init.ora穿件spfile文件,语法如下

CREATE SPFILE[='SPFILE-NAME'] FROM PFILE[='PFILE-NAME']

例如:

SQL>create spfile from pfile;

缺省情况下,spfile创建到系统的默认目录$ORACLE_HOME/dbs下。

3.使用spfile

重新启动数据库,使用startup命令,oracle会按照以下顺序在缺省目录中搜索参数文件:

   1. spfile$ORACLE_SID.ora
   2. spfile.ora
   3. init$ORACLE_SID.ora

如果创建了spfile,oracle就会使用spfile启动实例。

4.使用pfile启动

如果你创建了spfile,oracle在启动时会在默认目录下搜索spfile并使用它启动实例,但是如果你想用老式的pfile启动,则可以再startup命令中指定pfile文件从而用pfile启动实例:

SQL>startup pfile=pfile_file_path;

4.查询是否使用了spfile

可以使用如下方式判读是否使用了spfile

1.查询v$parameter动态视图,如果value值不为空表明你在使用spfile

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

2.使用show parameter命令显示参数设置,如果value不为空表明在使用spfile

SQL> SHOW PARAMETER spfile

3.查询v$spparameter视图

如果以下查询返回0值,表示你在使用pfile,否则表明你使用的是spfile

SELECT COUNT(*) FROM v$spparameter WHERE value IS NOT NULL;

5.设置spfile中的参数值

可以用以下命令修改spfile中的参数

Alter system set parameter=value <comment='text'> <deffered> <scope=memory|spfile|both> <sid='sid|*'>

具体参数意义可以参考Oracle 10 SQL Reference