日期:2014-05-16  浏览次数:20842 次

如何修复重建SPFILE文件? 被损坏.
问题症状

ORA-01034 oracle not available, 
orA-27101: shared memory real does not exist
如下截图



网上有类似问题的解决办法

比如这个链接:http://hi.baidu.com/odbcconnection/item/c03fd3f40d0406d643c36aa5

还有这个http://hi.baidu.com/flyingvincent/item/0bc8fc7963445b3a71442391

看起来都是解决这个问题的


create spfile='C:\oracle\product\10.2.0\db_1\database\SPFILE****.ORA' from pfile='C:\oracle\product\10.1.0\admin\*****\pfile\init.ora' ;
相关的文件啥在本地都有找到

如何在控制台下操作?
我在控制台下操作的时候,依旧是上面的错误提示,如下截图
就是没有执行重建spfile的机会
这个如何解决?
谢谢


------解决方案--------------------
试一下
shutdown immediate;

然后

startup;
------解决方案--------------------
引用:
Quote: 引用:

试一下
shutdown immediate;

然后

startup;


搞好了,谢谢!

http://blog.csdn.net/zhrzhl/article/details/13627705


呵呵,开始研究oracle了啊
------解决方案--------------------
引用:
又叫混了,

sqlserver中有page split的概念(有的叫页拆分,有的页分裂,我一点也不喜欢用英语的,但是有时候叫法不一样,用英语描述起来更统一一点,呵呵),
对于pages plit产生的存储,好像也没有一个统一的叫法,我这边一本书上叫做“Forwarding and forwarded records”,sqlserver很少见到有“行链接”的叫法,或许这种情况就类似于oracle的“行迁移”吧


对的,我刚才查了2005技术内幕,是这个,翻译成前向指针记录。

我也查了oracle的资料,你说的应该是 对的,oracle中的行链接-》sql server中的行溢出,也就是一个数据块存储不了一行数据,于是可能1行数据,要存储在2个或多个数据块中,把一行数据通过指针链接起来。

而行迁移,是update时,放不下数据,于是把这行数据,放到一个新的数据块,而在原来的位置存储一个转向指针,指向新的位置,也就是sql server中的前向指针,但应该不是页拆分。

我觉得这个页拆分,应该是指,当插入大量数据时,发现原来的数据块存放不下了,而在索引中,数据本身又是有序的,那么进行页的拆分,比如页号为100的数据块,存放了5条记录,分别是id为1,2,3,8,9,这个时候插入了6,于是就多了一个数据块,比如101,那么100页存储1,2,3 ,而101页存储6,8,9,这个应该不会有前向指针,而只是一个页拆分成了2个或多个页。

这个页拆分,在sql server和oracle中,应该是一样的