Oracle启动参数文件pfile及spfile介绍
(2014-05-15 11:11:20)| 分类: Oracle |
1、什么是参数
SQL>startup
利用v$parameter视图
SQL> col name format a20
SQL> col value format a30
SQL> select name,value from v$parameter;
利用show parameter参数名
SQL>show
parameter
sga;
SQL>show
parameter
background_dump;
SQL>show
parameter
sg;
2、静态参数文件pfile:initSID.ora
可以用任何编辑器修改,但是修改后如果想要pfile生效必须重启数据库
pfile默认路径:$ORACLE_HOME/dbs
如何创建pfile:从模板init.ora拷贝
当然可以在pfile中指定使用某个spfile,通过在pfile文件中加入如下配置:
SPFILE = /dir/spfileSID.ora
3、动态参数文件spfile:spfileSID.ora
利用dbca工具创建的数据库,数据库默认初始参数文件为spfile
spfile是二进制文件,不可用编辑器修改;必须是服务器运行时自动维护或SQL命令修改
查看spfile文件的内容:
[oracle@oracle11g
dbs]$
通过pfile创建spfile
SQL>CREATE
SPFILE FROM PFILE;
或
SQL>CREATE SPFILE='$ORACLE_HOME/dbs/spfileSID.ora'
可以再数据库启动之前创建,也可以再启动之后创建
通过spfile创建pfile
SQL> create pfile from spfile;
修改spfile内容
#修改
Alter system set
参数名=值
#缺省
Alter system
reset 参数名
4、Oracle启动使用参数文件的顺序
①指定的PFILE文件
②spfileSID.ora
③默认spfile:spfile.ora
④initSID.ora
如果以上参数文件都不存在,则数据库就无法启动
数据库启动后,如果想知道启动数据库到底使用的是哪个参数文件,可以查看参数spfile的值
SQL>show parameter spfile
当使用pfile启动数据时,则show parameter spfile 的value值就为空
语法如下:
CREATE PFILE [= 'pfile_name' ]
FROM { { SPFILE [= 'spfile_name'] } | MEMORY } ;
CREATE SPFILE [= 'spfile_name' ]
FROM { { PFILE [= 'pfile_name' ] } | MEMORY } ;
示例:
[15:43 oracle@dave /u01/backup]$ora si
SQL*Plus: Release 11.2.0.3.0 Production onFri Oct 12 15:43:22 2012
Copyright (c) 1982, 2011, Oracle.
Connected to:
Oracle Database 11g Enterprise EditionRelease 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Miningand Real Application Testing options
SQL> create pfile from memory;
File created.
SQL> create spfile from memory;
create spfile from memory
*
ERROR at line 1:
ORA-32002: cannot createSPFILE already being used by the instance
--对于open 状态的实例,不能从memory创建spfile。
SQL> startup mount force;
ORACLE instance started.
Total System Global Area
Fixed
Size
Variable
Size
Database
Buffers
Redo
Buffers
Database mounted.
SQL> select open_mode from v$database;
OPEN_MODE
--------------------
MOUNTED
SQL> create spfile from memory;
create spfile from memory
*
ERROR at line 1:
ORA-32002: cannot createSPFILE already being used by the instance
--mount
SQL> startup nomount force;
ORACLE instance started.
Total System Global Area
Fixed
Size
Variable
Size
Database
Buffers
Redo
Buffers
SQL> create spfile from memory;
create spfile from memory
*
ERROR at line 1:
ORA-32002: cannot createSPFILE already being used by the instance
--nomount
SQL> shutdown abort;
ORACLE instance shut down.
SQL> create spfile from memory;
create spfile from memory
ERROR at line 1:
ORA-00922: missing or invalid option
--数据库关闭后,语法不可以用。
我们用pfile启动数据库,在来创建spfile:
SQL> startuppfile='/u01/app/oracle/product/11.2.0/db_1/dbs/initdave.ora'
ORACLE instance started.
Total System Global Area
Fixed
Size
Variable
Size
Database
Buffers
Redo
Buffers
Database mounted.
Database opened.
SQL> create spfile from memory;
File created.
--这次创建成功。
注意:

加载中…