sga修改导致数据库不能启动

[复制链接]
查看11 | 回复9 | 2009-6-11 01:01:02 | 显示全部楼层 |阅读模式
ORA-01034 ORACLE not available
ORA-27101 Shared memory realm does not exist
我的Oracle是通过spfile文件启动的,我把修改过的spfile恢复原来内容也不能重新启动数据库。
请问我按照如下操作可不可以?
命令数据库以pfile启动
删除spfile
以pfile创建新的spfile
修改数据库以spfile启动数据库
这个方法还没有试,可以吗,有没有更好的方法??
回复

使用道具 举报

千问 | 2009-6-11 01:01:02 | 显示全部楼层
spfile不能直接编辑的!
你startup pfile='XXXXXXX'启动数据库
回复

使用道具 举报

千问 | 2009-6-11 01:01:02 | 显示全部楼层
我用该命令:startup pfile=pfile='D:\Ora92\admin\happygo\pfile\init.ora.682009174759';仍然报错
ORA-27100:shared memory realm already exists
回复

使用道具 举报

千问 | 2009-6-11 01:01:02 | 显示全部楼层
oradim -shutdown -sid
回复

使用道具 举报

千问 | 2009-6-11 01:01:02 | 显示全部楼层
原来这么简单,关闭数据库,把备份的spfile覆盖修改后的spfile,然后重启服务器——释放内存,搞定
回复

使用道具 举报

千问 | 2009-6-11 01:01:02 | 显示全部楼层
把这个文件'D:\Ora92\admin\happygo\pfile\init.ora.682009174759'的内容贴出来看看
回复

使用道具 举报

千问 | 2009-6-11 01:01:02 | 显示全部楼层
为什么我不用重起服务器也行?
回复

使用道具 举报

千问 | 2009-6-11 01:01:02 | 显示全部楼层
其实就是内存没有释放的问题,非法关闭数据库会出现这个问题,fuser命令可以解决
回复

使用道具 举报

千问 | 2009-6-11 01:01:02 | 显示全部楼层
这个问题,我去深圳出差的时候遇到过。当时创建了个测试库,修改测试库的sga的一些参数,然后导致实例在关闭后无法启动,也是报lz上面的错误,后来查询了一个小时的资料,才发现这个好象也是oracle的一个bug。
当时我解决的方法是如下:先通过shutdown immediate关闭实例,删除spfile_sid(注意:一般大家都会保持spfile与pfile同步,所以请注意),pfile 然后重启oralce实例服务(windows),先通过shutdown immedaite 看下内存释放没有,然后通过创建库时保存的初始pfile来启动数据,然后再通过pfile创建spfile
然后shutdown immediate,然后startup然后再进行sga的修改。
本来以为创建的一个测试库没有什么必要,结果还是中招了,看来还是象eygle说的那样,备份重于一切。不过感觉遇到这种问题,慢慢研究和解决的过程也是比较享受的,就是问题处理完感觉精力用得有点多,想睡觉。
回复

使用道具 举报

千问 | 2009-6-11 01:01:02 | 显示全部楼层
自己手里什么环境都不知道,瞎改肯定是要出问题,如果是测试玩玩,问题不大,如果是生产建议最好先备份
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行