在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>
如下所示,我們查看參數文件spfile對應的spfile文件,可以看到參數*._kghdsidx_count=2,
那麼此時可以使用下面命令刪除參數。注意: scope和sid這兩個參數不能少,否則會提示報錯。
SQL> alter system reset "_kghdsidx_count" scope=spfile sid='*';
System altered.
重啟數據庫後,就會看到這個參數已經被刪除了。