Oracle集群ORA-03113:end-of-file on communication channel

2024-04-28 11:28

本文主要是介绍Oracle集群ORA-03113:end-of-file on communication channel,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、问题场景描述

      今天Oracle集群要更新各数据库的数据,折腾的启动不了了:

      --》数据量比较大,数据泵方式导出的dmp文件 准备导入集群

      --》由于之前的生产数据库数据比较少,需要增大表空间。

      --》于是在sqlplus命令窗口,写了一个增加表空间的语句,但后来太慢 整个都卡了,取消了

      --》有点心急,同时准备删除原用户重新建一个空用户进行导入

      --》drop用户时提示有连接无法删除,v$session 查看连接太多,懒得kill了

      --》😅想着数据库没其他的,重启一下也不要紧。结果shutdown immediate 写成shutdown 

      --》手一抖,回车  结果太慢,取消     再次shutdown immediate 不行了,改为shutdown abort

      --》关是关了:startup  完了,报错了,启动到mounted 就提示报错了,如下:

                 用startup  force  也不管用

           😱 反复尝试,shutdown abort  ;startup   都不管用~~~~

      (注意:startup force 是shutdown abort+startup的组合,强制关闭数据库+正确启动,强制关闭可能会有数据丢失)

二、网上的资料:

            前两种尝试了,失败告终。第三种 需要看日志,而且机器没有开rman,着急就忽略了。

     

       反正机器上没什么重要的数据库,于是😅出现如下mount:甚至recover都不行。

       启动到mount,再open 也不行。(注意:除非还原操作,resetlogs  要谨慎

     再次强调:open resetlog 操作比较危险的 容易丢数

三、解决办法--同事沟通、师傅指导

         思路:找最新的alert日志,查找问题根源。

(1)查看日志

        A.准备看一下日志的路径参数,结果报错。

sqlplus 进去  show parameter dump ,结果报错:

     B.切换oracle用户,cd  $ORACLE_BASE,一层层进目录,看结果。

su - oracle

cd $ORACLE_BASE

$ORACLE_BASE/diag/rdbms/orcl/orcl1/trace

trace下面 alert_x.日志:


      终于看到结果了,归档日志空间不足。

      C.看是否有进程在,查看数据库状态

ps -ef|grep ASM

ps -ef|grep smon


sqlplus "/as sysdba"
select instance_name,status from gv$instance;

ora_smon_orcl1 哪里来的?

查看集群数据库状态:
sqlplus "/as sysdba"
select instance_name,status from gv$instance;

结果:

 echo $ORACLE_SID

疑问:

ps -ef|grep LOCAL=NO|wc -l
ps -ef|grep LOCAL=NO

tail -f al* 

shutdown abort 
startup  

查看最新日志

D.进入集群,查看数据

查看共享存储的大小:
su  - grid
asmcmd  
lsdg

 结果: free_MB  太小了,512G的共享存储基本满了

archive  log  list

无法查看:

F.处理

pwd

cd   data

du 
ls

 

cd  archivelog

rm -rf  2022*

然后,再执行shutdown immediate  ->>startup   ,ok   成功启动

(2)备选方案(以上已ok,以下没有尝试)

如果执行上面仍不可以,则执行以下:

select instance_name,status from gv$instance;    

---recover database until cancel;

四、总结  及后续探讨

总结:

      show parameter dump

      $ORACLE_BASE/diag/rdbms/orcl/orcl1/trace

      su - grid

      asmcmd     lsdg

      cd data/archivelog/2024_04_05

      rm -rf  2022*

     shutdown immediate

     startup

后续探讨的问题:如何快速删除原用户的所有元数据,表、过程、包、视图、索引?

                                如何导入时把过程、视图、包,直接覆盖?

如果有实际使用过的,好的解决办法:欢迎探讨。

这篇关于Oracle集群ORA-03113:end-of-file on communication channel的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/943136

相关文章

在java中如何将inputStream对象转换为File对象(不生成本地文件)

《在java中如何将inputStream对象转换为File对象(不生成本地文件)》:本文主要介绍在java中如何将inputStream对象转换为File对象(不生成本地文件),具有很好的参考价... 目录需求说明问题解决总结需求说明在后端中通过POI生成Excel文件流,将输出流(outputStre

Oracle存储过程里操作BLOB的字节数据的办法

《Oracle存储过程里操作BLOB的字节数据的办法》该篇文章介绍了如何在Oracle存储过程中操作BLOB的字节数据,作者研究了如何获取BLOB的字节长度、如何使用DBMS_LOB包进行BLOB操作... 目录一、缘由二、办法2.1 基本操作2.2 DBMS_LOB包2.3 字节级操作与RAW数据类型2.

查看Oracle数据库中UNDO表空间的使用情况(最新推荐)

《查看Oracle数据库中UNDO表空间的使用情况(最新推荐)》Oracle数据库中查看UNDO表空间使用情况的4种方法:DBA_TABLESPACES和DBA_DATA_FILES提供基本信息,V$... 目录1. 通过 DBjavascriptA_TABLESPACES 和 DBA_DATA_FILES

Java实现将byte[]转换为File对象

《Java实现将byte[]转换为File对象》这篇文章将通过一个简单的例子为大家演示Java如何实现byte[]转换为File对象,并将其上传到外部服务器,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言1. 问题背景2. 环境准备3. 实现步骤3.1 从 URL 获取图片字节数据3.2 将字节数组

Oracle登录时忘记用户名或密码该如何解决

《Oracle登录时忘记用户名或密码该如何解决》:本文主要介绍如何在Oracle12c中忘记用户名和密码时找回或重置用户账户信息,文中通过代码介绍的非常详细,对同样遇到这个问题的同学具有一定的参... 目录一、忘记账户:二、忘记密码:三、详细情况情况 1:1.1. 登录到数据库1.2. 查看当前用户信息1.

oracle DBMS_SQL.PARSE的使用方法和示例

《oracleDBMS_SQL.PARSE的使用方法和示例》DBMS_SQL是Oracle数据库中的一个强大包,用于动态构建和执行SQL语句,DBMS_SQL.PARSE过程解析SQL语句或PL/S... 目录语法示例注意事项DBMS_SQL 是 oracle 数据库中的一个强大包,它允许动态地构建和执行

解决JavaWeb-file.isDirectory()遇到的坑问题

《解决JavaWeb-file.isDirectory()遇到的坑问题》JavaWeb开发中,使用`file.isDirectory()`判断路径是否为文件夹时,需要特别注意:该方法只能判断已存在的文... 目录Jahttp://www.chinasem.cnvaWeb-file.isDirectory()遇

PLsql Oracle 下载安装图文过程详解

《PLsqlOracle下载安装图文过程详解》PL/SQLDeveloper是一款用于开发Oracle数据库的集成开发环境,可以通过官网下载安装配置,并通过配置tnsnames.ora文件及环境变... 目录一、PL/SQL Developer 简介二、PL/SQL Developer 安装及配置详解1.下

oracle如何连接登陆SYS账号

《oracle如何连接登陆SYS账号》在Navicat12中连接Oracle11g的SYS用户时,如果设置了新密码但连接失败,可能是因为需要以SYSDBA或SYSOPER角色连接,解决方法是确保在连接... 目录oracle连接登陆NmOtMSYS账号工具问题解决SYS用户总结oracle连接登陆SYS账号

Oracle数据库如何切换登录用户(system和sys)

《Oracle数据库如何切换登录用户(system和sys)》文章介绍了如何使用SQL*Plus工具登录Oracle数据库的system用户,包括打开登录入口、输入用户名和口令、以及切换到sys用户的... 目录打开登录入口登录system用户总结打开登录入口win+R打开运行对话框,输php入:sqlp