SQL> shut immediate
ORA-24324: service handle not initialized
ORA-24323: value not allowed
ORA-27140: attach to post/wait facility failed
ORA-27300: OS system dependent operation:invalid_egid failed with status: 1
ORA-27301: OS failure message: Operation not permitted
ORA-27302: failure occurred at: skgpwinit6
ORA-27303: additional information: startup egid = 501 (oinstall), current egid = 504 (asmadmin)

---最直接的解决办法

shutdown abort

后面退出会话,然后登陆sqlplus,使用shutdown abort 才将数据库关闭。处理完成后,查了一下metal link官方文档,发现引起错误的原因为:

Background processes are hanging/not started correctly during the previous startup of this database.

Hence the semaphores and shared memory segments are not getting detached properly now during shutdown.

以后遇到这个问题,可以使用下面步骤处理:

1. Verify that there are no background processes owned by "oracle" , if there are kill them

$ ps -ef | grep ora_ | grep $ORACLE_SID

2. Remove shared memory and semaphores:

A) Check for shared memory and semaphores

$ ipcs -mt (if there is anything owned by oracle remove it)

$ ipcrm -m [ID] (to remove it)

B) Check and remove semaphores

$ ipcs -sbt (if there is anything owned by oracle remove it)

$ ipcrm -s [ID] (to remove it)

C) Remove sga and lk file

$ cd $ORACLE_HOME/dbs

$ rm sgadef<SID>.dbf (removing sga file)

$ORACLE_HOME/dbs/lk<sid> (removing lk... flies)

D) If database is down, try to bring up oracle one step at a time:

$ sqlplus /nolog

SQL> startup nomount pfile = ...[path]

SQL> alter database mount;

SQL> alter database open;\

Otherwise, exit current SQL*Plus session and verify the following environment variables are set.

echo $ORACLE_HOME

echo $ORACLE_SID (echo %ORACLE_SID% on Windows)

Then, Execute the following:

sqlplus / as sysdba

shutdown abort

exit

sqlplus / as sysdba

startup

如上官方资料所示, 两种解决方案。关于第一种方案,简单梳理如下:

1: 清理后台进程,一般找到相关进程后,使用kill命令杀掉。

2: 清理共享内存段

3: 清理信号集

注意,在RHEL 中, ipcs -sbt命令会报错"ipcs: invalid option -- b",这个是因为Linux上的ipcs命令,不支持UNIX上的-b,所以不能照本宣科,不要使用参数b. 具体参考官方文档ipcs man page describes invalid -b option in RHEL 5

4: 删除 sga and lk文件。

ipcs相关资料:

ipcs 命令往标准输出写入一些关于活动进程间通信设施的信息。如果没有指定任何标志,ipcs 命令用简短格式写入一些关于当前活动消息队列、共享内存段、信号量、远程队列和本地队列标题。

参考资料:

ORA-24324 During Startup or Shutdown (文档 ID 794293.1)

ORA-1089 During Shutdown Immediate (文档 ID 1014091.102)

shut immediate 数据库遭遇 ORA-24324 ORA-24323的更多相关文章

  1. listener.ora/sqlnet.ora/tnsnames.ora配置文件详解

    oracle网络配置 三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora ,都是放在$ORACLE_HOME/network/admin目录下. 英文说明: The ...

  2. oracle的listener.ora sqlnet.ora tnsnames.ora三个文件的关联性

    学习:http://www.cnblogs.com/william-lee/archive/2010/10/20/1856261.html 之前因为安装的是windows server 2008 r2 ...

  3. ORACLE RAC 下非缺省端口监听配置(listener.ora tnsnames.ora)

    不论是单实例还是RAC,对于非缺省端口下(1521)的监听器,pmon进程不会将service/instance注册到监听器,即不会实现动态注册.与单实例相同,RAC非缺省端口的监听器也是通过设置参数 ...

  4. oracle的sqlnet.ora,tnsnames.ora,listener.ora三个配置文件

    总结: 1 .三个配置文件都是放在$ORACLE_HOME\network\admin目录下. 2 .sqlnet.ora确定解析方式 3 .listener.ora上设SID_NAME,通常用于JD ...

  5. oracle的sqlnet.ora , tnsnames.ora , Listener.ora 文件的作用(转)

    oracle网络配置三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora ,都是放在$ORACLE_HOME/network/admin目录下.1. sqlnet.o ...

  6. oracle错误(ORA:12154 ORA:01034 和 ORA:27101 ORA-18008 ORA-01081)

    按照正常操作流程,启动项目,发现项目报错,原因是连接不上oracle数据库, PLSQL连接时报错,错误码  ORA:12154 无法解析指定的连接标识符 第一次,遇到这个错误,在网上找了资料都是需要 ...

  7. ORACLE RAC 监听配置 (listener.ora tnsnames.ora)

    Oracle RAC 监听器的配置与单实例稍有不同,但原理和实现方法基本上是相同的.在Oracle中 tns进程用于为指定网络地址上的一个或多个Oracle 实例提供服务注册,并响应来自客户端对该服务 ...

  8. PLSQL登录数据库 报ORA -12154的诡异问题

    https://q.cnblogs.com/q/89420/ 现象: 1.机器上先后安装了oracle两个版本的client.在装第一个client后,plsql可以顺利连接数据库a并登录. 2.安装 ...

  9. tnsnames.ora配置注意(连接新的数据库)

    文件地址D:\app\think\product\11.2.0\instantclient_11_2\network\admin\tnsnames.ora# tnsnames.ora Network ...

随机推荐

  1. canvas-9NonZeroAroundPrinciples.html

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 中文代码示例之Electron桌面应用开发初体验

    参考: 打造你的第一个 Electron 应用 首先运行下面在目录下创建package.json: $ npm init 去掉了一些无关项后内容如下: { "name": &quo ...

  3. 2017-11-09 中英文代码对比系列之Java一例

    原文: https://zhuanlan.zhihu.com/p/30905033. 作者为本人. 这个系列将对同一段代码进行中文命名和英文命名两个版本的比较. 目的包括, 演示中文命名, 发现命名时 ...

  4. 函数纹理(国际象棋棋盘纹理&粗布纹理)MFC

    函数纹理(国际象棋棋盘纹理&粗布纹理)MFC实现  源码百度云下载 国际象棋棋盘纹理(效果图见最后) //国际象棋纹理函数 //g(u, v) = a , 向下取整(8u)+向下取整(8v) ...

  5. java一个数分解的质因数java

    import java.util.Scanner; /** * Created by Admin on 2017/3/18. */ public class Test01 { public stati ...

  6. SqlServer跨集群升级

    SqlServer跨集群升级 1.新Server的IP要和旧的在同一网段. 2.安装SQL SERVER(注意:排序要和以前的一样,更改TempDB位置) 3.开启防火墙,并打开1433和5022端口 ...

  7. EOS智能合约开发(三):EOS创建和管理账号

    没有看前面文章的小伙伴可以看一下 EOS智能合约开发(一):EOS环境搭建和启动节点 EOS智能合约开发(二):EOS创建和管理钱包 创建好钱包.密钥之后,接下来你就可以创建账号了,账号是什么?账号保 ...

  8. Android 自定义ListView单击事件失效

    因为自带的listView不能满足项目需求,通过实现自己的Adapter去继承ArrayAdapter 来实现自定义ListView的Item项目. 出现点击ListView的每一项都不会执行setO ...

  9. c/c++ 重载运算符的思考

    c/c++ 重载运算符的思考 #include <iostream> using namespace std; class Imaginary{ public: Imaginary():r ...

  10. php循环删除checkbox

    一.首先要了解sql语句$SQL=delete from `user` where id in (1,2,4); 表单大概是:form action= method=post input name=I ...