千家信息网

解决oracle数据库ORA-01081: cannot start already-running ORACLE - shut it down first的方法

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要介绍解决oracle数据库ORA-01081: cannot start already-running ORACLE - shut it down first的方法,文中介绍的非常详细,
千家信息网最后更新 2025年11月07日解决oracle数据库ORA-01081: cannot start already-running ORACLE - shut it down first的方法

这篇文章主要介绍解决oracle数据库ORA-01081: cannot start already-running ORACLE - shut it down first的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

当检查oracle实例后台进程不存在这时启动启动数据库报错:

ORA-01081: "cannot start already-running ORACLE - shut it down first"

造成此种原因是

Orphaned shared memory segments and semaphores did not get cleared properly

from the last instance shutdown.

在oracle实例最后一次shutdown时,某一个孤立的共享内存段和信号没有被清理干净

解决方法

可以利用ipcs来找出共享内存段或者信号,利用ipcrm来手动清除

orphaned shared memory segments(孤立的共享内存段) 和semaphores(信号量)

[root@wl ~]# ipcs -a

------ Shared Memory Segments --------

key shmid owner perms bytes nattch status

0x00000000 688138 oracle 640 4096 0

0x00000000 720907 oracle 640 4096 0

------ Semaphore Arrays --------

key semid owner perms nsems

0x000000a7 0 root 600 1

0x00000000 688138 oracle 640 4096 0

0x00000000 720907 oracle 640 4096 0

[root@wl ~]# ipcs -m

------ Shared Memory Segments --------

key shmid owner perms bytes nattch status

0x00000000 688138 oracle 640 4096 0

0x00000000 720907 oracle 640 4096 0

[root@wl ~]# ipcrm - m 720907

ipcs: 检查分配的共享内存

ipcrm:手动释放共享内存段

取得ipc信息:

ipcs [-m|-q|-s]

-m 输出有关共享内存(shared memory)的信息

-q 输出有关信息队列(message queue)的信息

-s 输出有关"信号量"(semaphore)的信息

-a 使用所有打印选项. (针对 -b, -c, -o, -p, and -t的速记符)

Example:

ipcrm -m shmid 号 - for shared memory

ipcrm -s semid 号 - for semaphores

OR

Shutdown all the instances belonging to the user. Next, run "ipcs -b" to find the remaining IPC

facilities, owned by the same user, and remove them. However, if you're running multiple production

instances, this may not be acceptable.

在多实例的情况下

1. 运行

ipcs -a > /tmp/ipcs_before.out

2. 用 SQL*Plus 连接所有实例做一个简单的查询

select * from dual;

3. 再次运行

ipcs -a > /tmp/ipcs_after.out

4. 对比 "/tmp/ipcs_before.out" 与 "/tmp/ipcs_after.out" 文件

查找 LPID 没有改变的共享内存段

These are the orphaned shared memory segments you are looking for:

LPID 显示最后过程中附加或者分立共享内存段的进程 ID

因为,通过在每一个活着的实例中执行查询,你会涉及到属于各自实例的共享内存段,

但是未涉及的共享内存段将变成孤立的一个

5. After identifying the orphaned shared memory segments, you can find

the orphaned semaphores by locating the semaphores with the same

value of CTIME in "ipcs -a" output as the value of CTIME for the

orphaned shared memory segments: CTIME shows the time when the

associated entry was created or changed.

在识别孤立的共享内存段后,可以通过ipcs -a的输出确定具有相同CTIME值的信号找到孤立的共享内存段

作为相关孤立共享内存段的值

以上是解决oracle数据库ORA-01081: cannot start already-running ORACLE - shut it down first的方法的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

内存 实例 信号 信息 输出 数据 数据库 方法 有关 内容 手动 进程 信号量 查询 检查 运行 干净 相同 价值 兴趣 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 问道清理角色物品数据库 潍坊服务器租用找哪家 10台电脑有必要配服务器吗 松原网络安全培训 万网 没有数据库 奥奇传说手游公测服务器 二手苹果x还原后无法激活服务器 内外的网络安全 软件开发了销售 信息软件开发公开招标公告 联通软件开发待遇怎么样青岛 海淀区专业网络技术常见问题 网络安全规范用语微信拍一拍 戴尔emc服务器怎么登陆 会计好还是计算机网络技术好 恒生数据库面试题及答案 服务器图片福字图片 搭建一台属于自己的服务器 数据库系统原理实验 重庆万州生鲜配送软件开发 数据库管理平台软件开发公司 软件开发标准文档的书写 新蔡县安全接入服务器地址 巨邦网络技术有限公司 苏州计算机软件开发需要多少钱 幸福28软件开发 飞信空间用到什么数据库 排列五历史开奖数据库 电力监控网络安全态势感知系统 广州链果网络技术有限公司
0