当你设置scope为spfile或both时可以选择comment子句来对参数使用一个文本字符串作为注释.这个注释也会被写入服务器参数文件中.
下面的语句将修改在连接被删除之前允许的登录失败的最大次数.它包含了一注释且明确地指出了修改只对服务器参数文件生效.
SQL>ALTER SYSTEM SET SEC_MAX_FAILED_LOGIN_ATTEMPTS=3 COMMENT='Reduce from 10 for tighter security.' SCOPE=SPFILE;
下面的例子介绍了如何对复杂初始化参数进行设置这个参数有一个列表属性.下面的语句可以改变已经存在的设置或者使用一个新的归档目录
SQL>ALTER SYSTEM
2 SET LOG_ARCHIVE_DEST_4='LOCATION=/u02/Oracle/rbdb1/',MANDATORY,'REOPEN=2'
3 COMMENT='Add new destination on Nov 29'
4 SCOPE=SPFILE;
当一个参数值是由列表值组成你不能通过位置或者次序数字来统计图单个属性.在每次修改这个参数时必须指定一个完全列表值.新的完全列表可以替换旧的参数列表值.
清除初始化参数值
可以使用alter system reset命令来清除(删除)实例启动时所用的spfile文件中的任何参数设置.scope=memory和scope=both是不被允许的.scope=spfile子句不被要求但可以包含.
你可能想清除spfile文件中的一个参数使其在下次启动时使用缺省参数值.这样做可能有以下几种原因:
.为了诊断列出当前实例的所有参数值.可以使用show parameters命令或者查询v$parameter或v$parameter2视图
.为了修改服务器参数文件首先要将其导出创建成文本初始化参数文件再修改,修改后再使用create spfile命令从文本初始化参数文件来重新创建服务器参数文件.
导出的文本初始化参数文件pfile可以使用startup pfile命令来启动实例.
为了执行create pfile语句必须要有sysdba或sysoper系统权限.导出的文件在数据库服务器端生成.它可能包含了参数的注释并一起作为参数被设置.
下面的语句用来从spfile文件来创建pfile
SQL>create pfile from spfile;
因为没有指定文件名,数据库将使用一个平台特定的文件名来创建一个文本初始化参数文件pfile,而且它是使用平台特定的缺省的服务器参数文件spfile来创建的
下面的语句用来从spfile文件来创建pfile,但是指定了文件名:
SQL>CREATE PFILE='/u01/oracle/dbs/test_init.ora' FROM SPFILE='/u01/oracle/dbs/test_spfile.ora';
注意:可以使用内存中的当前参数值来创建一个pfile文件.例如:
SQL>CREATE PFILE='/u01/oracle/dbs/test_init.ora' FROM MEMORY;
备份服务器参数文件
可以通过导出的形式来备份服务器参数文件.如果你的数据库使用rman来实例备份和恢复策略那么可以使用rman来创建一个spfile文件的备份.当使用rman备份数据库时spfile文件会自动备份,但是rman也能让你指定对当前活动的spfile创建一个备份.
恢复丢失或者损坏的服务器参数文件
如果服务器参数文件(spfile)丢失或者损坏了,那么当前实例可能会出现故障或者在下次启动实例时会失败.有下面几种方法来恢复spfile:
.如果实例正在运行可以使用下面的命令从内存中使用当前参数值来重新创建一个服务器参数文件spfile
SQL>create spfile from memory;
这个命令将在缺省位置使用缺省文件名来创建一个spfile文件.也可以指定新的目录和文件名.
.如果你有一个有效的文本初始化参数文件(pfile),可以使用下面的命令从pfile文件来创建spfile:
SQL>create spfile from pfile;
这个命令将在缺省位置使用缺省文件名来创建一个spfile文件,或者不使用缺省位置的缺省的pfile来创建的语句如下:
SQL>CREATE SPFILE='/u01/oracle/dbs/test_spfile.ora' FROM PFILE='/u01/oracle/dbs/test_init.ora';