关于oracle中spfile和pfile的一个实验


    
  我们错误修改了oracle系统参数,有的时候会导致数据库无法启动,参数保存在spfile中,我们无法通过直接编辑这个文件来恢复我们的误操作,因为 这个文件是个二进制文件,切勿直接更改!但是在以前的版本中有个pfile文件,那个文件是个文本文件,可以直接编辑修改!恢复的思路就是通过 spfile文件创建pfile文件,更改完配置以后,再通过pfile文件来创建我们的spfile文件!

  下面就是详细的操作步骤,以及我在实验的时候遇到的问题!
  1
、修改参数

       SQL> alter system set db_block_buffers=1000 scope=spfile;

System altered.

  2、停掉数据库

       SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

  3、启动数据库(报错)

       SQL> startup

ORA-00824: cannot set sga_target due to existing internal settings, see alert log for more information

  4、通过创建pfile来恢复

       SQL> create pfile from spfile;

File created.

执行这条命令以后我没有找到pfile文件,利用find / -name “pfile*” –print也没找到

在请教了itpub的高手后通过指定路径的办法解决,下面是详细的过程!

SQL> create pfile='/opt/oracle/aaaa.ora' from spfile;

File created.

然后编辑/opt/oracle/aaaa.ora文件,去掉*.db_block_buffers=1000这行!

接着通过pfile文件生成spfile文件

SQL> create spfile from pfile='/opt/oracle/aaaa.ora';

File created.

 5、启动数据库

       SQL> startup

ORACLE instance started.

 

至此spfile文件恢复成功!


原文地址:https://www.cnblogs.com/feihongwuhen/p/7170448.html