创建SPFILE
缺省的,ORACLE使用PFILE启动数据库,SPFILE必须由PFILE创建,新创建的SPFILE在下一次启动数据库时生效,CREATE SPFILE需要SYSDBA或者SYSOPER的权限:
Create spfile [=’spfilename’] from pfile=[=‘pfilename’];
例:
Create spfile from pfile;
使用spfile
重新启动数据库,使用startup命令,Oralce将会按照以下顺序在缺省目录中搜索参数文件a. spfile${ORACLE_SID}.ora
缺省目录UNIX: ${ORACLE_HOME}/dbs/
NT: ${ORACLE_HOME}\database
b. spfile.ora
缺省目录UNIX: ${ORACLE_HOME}/dbs/
NT: ${ORACLE_HOME}\database
c. init${ORACLESID}.ora
缺省目录UNIX: ${ORACLE_HOME}/dbs/
NT: ${ORACLE_HOME}\database or ${ORACLE_HOME}\admin\db_name\pfile
创建了spfile,重新启动数据库,Oracle会按顺序搜索以上目录,spfile就会自动生效。
修改参数
可以通过ALTER SYSTEM或者导入导出来更改SPFILE的内容。
ALTER SYSTEM增加了一个新选项:SCOPE。SCOPE参数有三个可选值:MEMORY、SPFILE、BOTH。
MEMORY:只改变当前实例运行
SPFILE:只改变SPFILE的设置
BOTH:改变实例及SPFILE
是否使用了spfile
1. 查询v$parameter动态视图,如果以下查询返回空值,那么你在使用pfile.
2. 或者你可以使用SHOW命令来显示参数设置,如果以下结果value列返回空值,那么说明你在使用pfile:
3. 查询v$spparameter视图,如果以下查询返回0值,表示你在使用pfile,否则表明你使用的是spfile:
导出SPFILE文件
SPFILE文件可以导出为文本文件,使用导出、创建过程你可以向SPFILE中添加参数。
Create pfile=’/home/oracle/initxu.ora’ from spfile