对Spfile之参数错误修改之后的解决办法(FAQ)

王朝other·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

众所周知,在Oracle9i中对初始化参数的管理引入了一个新的文件:Spfile.这个参数是个二进制文件,手工对其进行编辑会出错.可以采用alter system set ......的命令方式来对其进行修改.

不妙的是,有的时候,错误的修改了参数之后发现系统不能启动,而粗心的用户或者初级DBA可能还没有对该文件(或者参数文件的内容)进行备份.

这个时候如何解决呢?

下面是模拟出错的场景:

SQL> connect / as sysdba

已连接。

SQL> show parameter spfile

NAME TYPE VALUE

-------------------------------- ---------- --------------------

spfile string %ORACLE_HOME%\DATABASE\SPFILE%ORACLE_SID%.ORA

#使用了Spfile

SQL> show parameter db_cache_size;

NAME TYPE VALUE

------------------------------------ ---------- ---------------

db_cache_size big integer 67108864

SQL> alter system set db_cache_size=671088640000000 scope=spfile;

系统已更改。

#我们在上一步把一个参数进行“错误的调整”

SQL> shutdown immediate;

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> startup

ORA-27102: out of memory

OSD-00029: Message 29 not found; product=RDBMS; facility=SOSD

O/S-Error: (OS 8) ?洢????????????????

SQL>

#错误出现,不能启动数据库。

有的朋友可能看到过《9i新特点:SPFILE的使用》(参见下面的参考资料)这篇文章,其中有这样一句话:

你可以在PFILE链接到SPFILE文件,同时在PFILE中定义其他参数,如果参数重复设置,后读取的参数将取代先前的设置。

稍加注意这句话,发现正是解决我们目前问题的办法:

手工创建一个pfile 类型的文件,内容如下:

spfile='D:\ORACLE\ora92\database\SPFILEDEMO.ORA'

*.db_cache_size=67108864

在SPFILEDEMO.ORA文件中已经有一个db_cache_size 参数,后读取的参数将取代先前的设置。

OK。

现在用这个参数启动数据库:

SQL> STARTUP pfile='D:\ORACLE\ora92\database\initdemotest.ora'

ORACLE 例程已经启动。

Total System Global Area 160505408 bytes

Fixed Size 454208 bytes

Variable Size 92274688 bytes

Database Buffers 67108864 bytes

Redo Buffers 667648 bytes

数据库装载完毕。

数据库已经打开。

马上要做的事情就是备份spfile 的内容:

SQL> create pfile='D:\ORACLE\ora92\database\initdemo.ora' from spfile;

亡羊补牢,记得再修改初始化参数之前做好备份。

参考资料:

《9i新特点:SPFILE的使用》 (eygle大作,ITPub 电子杂志第四期)

下载地址:http://www.itpub.net/magazine/itpub200304.rar

《Oracle9i Database Administrator's Guide Release 2 (9.2)》

下载地址: http://tahiti.oracle.com

http://www.google.com

本文出处:

<a href="http://www.csdn.net/Develop/read_article.asp?id=22598">http://www.csdn.net/Develop/read_article.asp?id=22598</a>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航