Oracle 11g参数文件之服务器参数文件(spfile)与实例启动的关系

2014-11-24 17:19:06 · 作者: · 浏览: 0

当执行没有pfile子句的startup命令,oracle实例会在操作系统特定的缺省位置来搜索一个服务器参数文件并从文件中读取初始化参数.如果没有找到服务器参数文件,实例将搜索一个文本初始化参数.如果服务器参数文件存在但你想使用一个文本初始化参数来覆盖那么在执行startup命令时指定pfile子句.


--------------------------------------分割线 --------------------------------------


--------------------------------------分割线 --------------------------------------


下面来举例说明:
1.执行不带pfile子句的startup命令,从下面的输出可以看出启动时自动搜索了服务器参数文件spfilejycs.ora
SQL> startup
ORACLE instance started.


Total System Global Area 630501376 bytes
Fixed Size 2215984 bytes
Variable Size 385880016 bytes
Database Buffers 234881024 bytes
Redo Buffers 7524352 bytes
Database mounted.
Database opened.
SQL> show parameter spfile


NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string /u01/app/oracle/11.2.0/db/dbs/
spfilejycs.ora



2.删除服务器参数文件spfilejycs.ora,再执行执行不带pfile子句的startup命令,从下面的输出可以看出在启动时
在搜索不到服务器参数文件时就会搜索文本初始化参数文件initjycs.ora
[oracle@jyrac1 dbs]$ mv spfilejycs.ora spfilejycs.ora.bak


SQL> startup
ORACLE instance started.


Total System Global Area 630501376 bytes
Fixed Size 2215984 bytes
Variable Size 385880016 bytes
Database Buffers 234881024 bytes
Redo Buffers 7524352 bytes
Database mounted.
Database opened.
SQL> show parameter spfile


NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string

3.删除文本初始化参数文件initjycs.ora,再执行执行不带pfile子句的startup命令,从下面的输出可以看出在启动时
在搜索不到服务器参数文件时就会搜索文本初始化参数文件initjycs.ora,但是因为我们删除了文本初始化参数文件
initjycs.ora所以提示找不到这个文件
[oracle@jyrac1 dbs]$ mv initjycs.ora initjycs.ora.bak


SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/11.2.0/db/dbs/initjycs.ora'

4.执行带pfile子句的startup命令,将使用文本初始化参数文件来替代服务器参数文件,可以看到spfile参数值为空说明是使用文本初始化参数来启动的实例
SQL> startup pfile='/u01/app/oracle/11.2.0/db/dbs/initjycs.ora'
ORACLE instance started.


Total System Global Area 630501376 bytes
Fixed Size 2215984 bytes
Variable Size 385880016 bytes
Database Buffers 234881024 bytes
Redo Buffers 7524352 bytes
Database mounted.
Database opened.
SQL> show parameter spfile


NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string