代码改变世界

如何删除或重置spfile中的参数

2016-02-28 23:27  潇湘隐者  阅读(3464)  评论(0编辑  收藏  举报

    在ORACLE中,修改spfile中的参数一般非常容易,那么如何删除spfile中的参数呢? 下面我们用一个案例来介绍一下,如何删除spfile中的参数,一种方法就是创建对应的pfile,删除对应的参数后,然后用当前的pfile反向生成对应的spfile,还有一种方法就是使用命令来删除对应的参数。在删除参数之前,最好先备份一下对应的spfile文件。

假如我们在spfile参数中添加了参数_kghdsidx_count, 那么如何删除这个参数呢?

alter system set "_kghdsidx_count"=2 scope=spfile;

SQL> show parameter spfile;
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      /u01/app/oracle/product/10.2.0
                                                 /db_1/dbs/spfileSCM2.ora
SQL> show parameter spfile;
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      /u01/app/oracle/product/10.2.0
                                                 /db_1/dbs/spfileSCM2.ora
SQL> create pfile='/u01/app/oracle/product/10.2.0/db_1/dbs/pfile_tmp.ora' from spfile;
 
File created.
 
SQL> 

clip_image001

如下所示,我们查看参数文件spfile对应的spfile文件,可以看到参数*._kghdsidx_count=2,

clip_image002

那么此时可以使用下面命令删除参数。注意: scope和sid这两个参数不能少,否则会提示报错。

SQL> alter system reset "_kghdsidx_count" scope=spfile sid='*';
 
System altered.

重启数据库后,就会看到这个参数已经被删除了。