shut immediate 数据库遭遇 ORA-24324 ORA-24323 参考学习

shut immediate 数据库遭遇 ORA-24324 ORA-24323 参考学习shut immediate 数据库遭遇 ORA-24324 ORA-24323 SQL> shut immediateORA-24324: service handle not initializ…

	shut immediate 数据库遭遇 ORA-24324 ORA-24323 参考学习[数据库教程]

 

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 参考学习

原文地址:https://www.cnblogs.com/daizhengyang/p/13396070.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/6999.html

(0)
上一篇 2023-03-29 13:00
下一篇 2023-03-29 14:00

相关推荐

  • 密码盐的作用及其重要性

    密码盐的作用及其重要性随着互联网技术的不断发展,越来越多的信息存储在互联网上。这些信息包含用户的个人信息、登录密码等敏感信息。其中,密码是最常用的身份验证方式,相应地,密码泄露的事件也不时发生。在这种情况下,如何保证密码的安全性成为了互联网安全的关键问题之一。

    2024-05-27
    56
  • 林晓斌的MySQL45讲_MySQL实用教程第三版例题4.7

    林晓斌的MySQL45讲_MySQL实用教程第三版例题4.7前面我们了解了SQL查询语句是如何执行的,一条SQL查询语句的过程需要经过连接器、分析器、优化器、执行器等功能模块,最终到达存储引擎。 在MySQL中,可以恢复到半个月内的任何一个时间点,这时基于日志

    2023-05-06
    137
  • 数据采集介绍_数据采集论坛

    数据采集介绍_数据采集论坛1. 概述 京粉(https://union.jd.com/)是京东联盟下的网站,通过分享其中的商品链接可以赚取佣金,类似淘客联盟。 采集京粉的商品,既可以练习 puppeteer的使用,平时想在京东

    2023-04-19
    168
  • Python翻译函数:让你的代码更加多语言化

    Python翻译函数:让你的代码更加多语言化a href=”https://beian.miit.gov.cn/”苏ICP备2023018380号-1/a Copyright www.python100.com .Some Rights Reserved.

    2023-12-22
    114
  • redis随笔[通俗易懂]

    redis随笔[通俗易懂]redis redis的安装一 安装的准备 首先得买一个服务器(我买的阿里云ecs轻量级); 再下载远程客户端(我用的Xshell,Xftp); 打开Xftp将下载好得redis压缩包传输Xftp中,

    2023-02-15
    123
  • Mysql事物原理及锁[亲测有效]

    Mysql事物原理及锁[亲测有效]
    一、Innodb事物原理 1.什么是事物 a.事务(Transaction)是数据库区别于文件系统的重要特性之一,事务会把数据库从一种一致性状态转换为另一种…

    2023-04-07
    161
  • dbgen工具使用方法

    dbgen工具使用方法 本文将介绍dbgen多线程的使用方法: dbgen是用来生成TPCH 所需要的数据来使用的 TPCH :针对于数据库查询性能的压测方法 #:首先使用dbgen来生成数据 这里数据量业界有一个…

    2023-03-27
    158
  • Python中的断言: 定义及用法

    Python中的断言: 定义及用法在Python中,断言(assert)是一种用于调试的有效工具,它允许你核实某个条件是否为真,如果该条件不满足,就会抛出异常。

    2024-01-27
    133

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注