ORA-01102:什么时候启动数据库_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4296 | 回复: 0   主题: ORA-01102:什么时候启动数据库        下一篇 
匿名用户
发表于: IP:您无权察看 2012-4-25 16:32:44 | [全部帖] [楼主帖] 楼主

ORA-01102:什么时候启动数据库

问题描述:

你正在尝试启动数据库并且你收到了以下错误:

ORA-01102:不能在专一的模式下启动数据库

原因:

一些其他的实例已经被数据库读取排斥或者分享

解决办法:

关闭其他的实例或者安装一个兼容模式

问题说明:

一个数据库在默认的情况下是以专一模式启动的。因此,the ORA-01102错误是误导的,可能是由于以下原因中的一个而发生的:

在ORACLE_HOME/DBS目录下一直有一个sgadef.dbf文件。

oracle的进程(如pmon,smon,lgwr and dbwr进程)一直存在。

尽管数据库已经关闭,但共享内存数据段和变量依然存在。

有一个ORACLE_HOME/DBS/LK 文件。

检索词

ORA-1102,崩溃,直接的,即刻的,中断,失败,故障,

移动,迁移

解决方案的描述:

确认数据库正确关闭是要做的以下操作:

1.确认在ORACLE_HOME/DBS目录下没有sgadef.dbf文件,如果有这个文件,则删除它,用以下的命令

% rm $ORACLE_HOME/dbs/sgadef.dbf


2.确认oracle本身没有后台进程,如果有后台进程存在,用unix命令kill 去停止它们

例如

% kill -9


3.确认oracle数据库在关闭时,没有共享的内存数据段和变量在运行,如果oracle数据库有共享的内存数据段和变量,则移除共享数据段和变量

注意:

这个例子解释了以上只有一个数据库在机器上的假设。

如果你有不止一个数据库,在第四步操作之前,你将需要关闭所有其他数据库。

4.确认oracle_home/dbs/lk文件不存在

5.启动实例

解决方案说明:

lk文件和sgadef.dbf文件用于锁定共享内存,看来即使没有分配内存,oracle认为内存依然是锁定的。

通过删除sgadef和lk文件,你可以删除关于甲骨文的任何文件和共享内存的使用。

现在你的数据库启动了

  1052.doc (2012-04-25 16:32,  0.030 M)
该附件被下载的次数 1



赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论