暂无图片
linux下11g自动启动报ORA-01102
我来答
分享
愤怒的鸟人
2021-11-30
linux下11g自动启动报ORA-01102

各位大佬,在设置linux下oracle11g自动启动的时候,按照网上的设置,但是每次系统重启,实例都没有起来,然后直接startup,都会提示ORA-01102: cannot mount database in EXCLUSIVE mode?,每次都要手动删除dbs目录下lkxxx文件才能正常启动,请问如何解决。

我来答
添加附件
收藏
分享
问题补充
6条回答
默认
最新
Uncopyrightable

数据库异常关机?感觉Oracle没有必要设置成自启动,难道数据库还需要定期关机?稳定运行才是根本。

暂无图片 评论
暂无图片 有用 0
cqiwen

oerr ORA 01102
01102, 00000, "cannot mount database in EXCLUSIVE mode"
// *Cause: Some other instance has the database mounted exclusive or shared.
// *Action: Shutdown other instance or mount in a compatible mode

检查下是不是设置了多个开机自启脚本。或者把你的自启脚本发出来看下。

暂无图片 评论
暂无图片 有用 0
愤怒的鸟人

应该没有设置多个自启脚本。

暂无图片 评论
暂无图片 有用 0
DER322

没法帮你解答问题了。不过我也说说自启动,我感觉自启动不科学,可能你有时候要排查问题,需要先startup nomount,或者startup mount,结果你一开机就自启动了,怎整?

暂无图片 评论
暂无图片 有用 0
愤怒的鸟人

已经解决,不是自启脚本的问题,是我的系统变量ORACLE_SID=xxx,设置大写,然后其他地方是小写,导致启动时启动不存在的实例。

暂无图片 评论
暂无图片 有用 2
DER322
2021-12-01
学习了
孙希瑞
2022-12-03
胡飞

遇到这种情况,可能是由于在系统重启后,Oracle实例没有正确地关闭导致的。这可能导致数据库在启动时无法获取独占模式,因此出现了 "ORA-01102: cannot mount database in EXCLUSIVE mode" 错误。解决这个问题的步骤如下:

1. **确保正确关闭数据库:** 在系统重启前,请确保使用 `shutdown immediate` 命令或者 `shutdown abort` 命令来关闭Oracle实例。这样可以确保数据库正确地释放锁文件和其他资源。

2. **检查数据库启动脚本:** 检查Oracle数据库启动脚本是否正确配置。在Linux系统上,数据库启动脚本通常位于 `/etc/init.d` 目录下,名字类似于 `oracle` 或者 `ora`。确保脚本中的启动命令包含了正确的实例名和路径。

3. **检查系统日志:** 检查系统日志,特别是 `/var/log/messages` 或者 `/var/log/syslog` 文件,查看是否有有关数据库启动失败的错误消息。这可以帮助确定问题的具体原因。

4. **清理残留文件:** 在每次手动删除 `dbs` 目录下的 `lk` 文件后,使用 `lsnrctl status` 命令确认监听器是否已停止。如果监听器尚未停止,请使用 `lsnrctl stop` 命令停止监听器。然后再次尝试启动数据库。

5. **手动启动数据库:** 在确认监听器已停止的情况下,尝试手动启动数据库。使用 `sqlplus / as sysdba` 登录到数据库,然后使用 `startup` 命令尝试启动数据库。确保启动过程中没有任何错误。

6. **检查权限问题:** 确保数据库启动脚本和Oracle用户的权限设置正确,有足够的权限来访问数据库文件和目录。

7. **重启服务器:** 在执行上述步骤后,重新启动服务器,然后观察数据库是否能够自动启动。

如果遇到问题仍然无法解决,可能需要详细分析日志文件和数据库配置,或者考虑重新配置数据库启动脚本。最后,如果需要进一步的帮助,建议联系Oracle数据库管理员或专业支持团队寻求帮助。

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏