我是我ID:zgqtxwd
321972次访问,排名160好友2人,关注者20
zgqtxwd的文章
原创 742 篇
翻译 0 篇
转载 13919 篇
评论 38 篇
zgqtxwd的公告

最近评论
fadsf:asdfdasdf
hujunxihed88:还是不清楚!
不错:很好
admin:不通
WPY456:你好,我最近在看myicq,在网上下了源码,编译已成功,但不能注册登陆,能帮帮我吗?我的qq82204550,email:wpy456@sohu.com
文章分类
收藏
    相册
    友情链接
    六六技术联盟
    存档
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

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

    新一篇: ASP.NET的实时天气及24小时天气预报(C#) | 旧一篇: 从不sequential的sequence


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

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

    这个时候如何解决呢?

    下面是模拟出错的场景:

    SQL> connect / as sysdba
    已连接。
    SQL> show parameter Spfile

    NAME                             TYPE        VALUE
    -------------------------------- ---------- --------------------
    Spfile                           string     %ORACLE_HOME%DATABASESpfile%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:ORACLEora92databaseSpfileDEMO.ORA'
    *.db_cache_size=67108864

    SpfileDEMO.ORA文件中已经有一个db_cache_size 参数,后读取的参数将取代先前的设置。
    OK。
    现在用这个参数启动数据库:

    SQL> STARTUP pfile='D:ORACLEora92databaseinitdemotest.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:ORACLEora92databaseinitdemo.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>

    发表于 @ 2008年05月01日 02:37:44|评论(loading...)|编辑

    新一篇: ASP.NET的实时天气及24小时天气预报(C#) | 旧一篇: 从不sequential的sequence

    评论:没有评论。

    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © zgqtxwd