文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Oracle还原恢复启动时数据库报ORA-00704、ORA-00604、ORA-00904怎么解决

2023-07-06 04:34

关注

这篇文章主要介绍“Oracle还原恢复启动时数据库报ORA-00704、ORA-00604、ORA-00904怎么解决”,在日常操作中,相信很多人在Oracle还原恢复启动时数据库报ORA-00704、ORA-00604、ORA-00904怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Oracle还原恢复启动时数据库报ORA-00704、ORA-00604、ORA-00904怎么解决”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

Oracle数据库还原恢复后,执行alter database open resetlogs时遇到下面错误。如下所示:

SQL> alter database open resetlogs;alter database open resetlogs*ERROR at line 1:ORA-00603: ORACLE server session terminated by fatal errorORA-01092: ORACLE instance terminated. Disconnection forcedORA-00704: bootstrap process failureORA-00604: error occurred at recursive SQL level 1ORA-00904: "I"."UNUSABLEBEGINNING#": invalid identifierProcess ID: 19288Session ID: 2 Serial number: 4441

刚开始有点懵的,第一次遇到这种情形。不过搜索了一下metalink相关资料后,大致了解到是因为环境变量设置有误导致这些错误出现的。这里先介绍一下这个案例的复杂背景:

当前机器为一个测试服务器(UAT环境),操作系统版本为HP-UX,数据库版本Oracle 19c,然后因为Support人员要查找历史数据,需要还原一个2020年时间点的数据库备份。但是生产环境(PROD)在2020年是Oracle 11g,然后在2021年升级为了Oracle 19c,现在测试服务器(UAT环境)的数据库版本也是Oracle 19c,于是从其它测试服务器拷贝了一个Oracle 11g版本的挂载带点/opt/oracle11g到当前测试服务器(为了方便省事,如果重新安装搭建Oracle 11g环境还麻烦一些),然后设置了一下/etc/oratab,如下所示:(xxx表示ORACLE_SID)

#xxx:/opt/oracle19c/product/19.3.0/db_1:Nxxx:/opt/oracle11g/product/11.2:N

退出当前SecureCRT窗口,重新登陆,提示修改成功,如下所示

ORACLE_SID = [xxx] ? xxxOracle SID  = xxxOracle BASE = /opt/oracle11gOracle HOME = /opt/oracle11g/product/11.2SQL*Net TNS = /etcORA_NLS10   = /opt/oracle11g/product/11.2/nls/data

由于忙着检查/修改pfile文件中的参数,当时没有仔细检查环境变量,匆匆忙忙就开始了数据库实例的还原恢复,但是当前的和ORACLE_HOME环境变量确实还是Oracle 19c的环境变量

>echo $ORACLE_BASE/opt/oracle19c>echo $ORACLE_HOME/opt/oracle19c/product/19.3.0/db_1

修改环境变量~/.profile后,执行. ~/.profile设置生效。然后重新登陆SecureCRT后,重新还原数据库就不会遇到这个问题。另外,如果不重新还原,关闭数据库后,重新OPEN数据库亦可以,测试没有什么问题。

Oracle还原恢复启动时数据库报ORA-00704、ORA-00604、ORA-00904怎么解决

官方文档Database Startup Failure After RMAN Restore with ORA-00704, ORA-00604, ORA-00904 (Doc ID 2540757.1)的具体内容如下:

APPLIES TO:Oracle Database - Enterprise Edition - Version 11.2.0.4 and laterInformation in this document applies to any platform.SYMPTOMS SQL> alter database open;alter database open*ERROR at line 1:ORA-01092: ORACLE instance terminated. Disconnection forcedORA-00704: bootstrap process failureORA-00604: error occurred at recursive SQL level 2ORA-00904: "I"."UNUSABLEBEGINNING#": invalid identifierProcess ID: 23346Session ID: 680 Serial number: 51933CHANGES After restoring the database to another server by RMAN, it is failed to startup.After upgrade or post upgradeCAUSE >>>>>ORA-00904: "I"."UNUSABLEBEGINNING#": invalid identifierThis error appears due to using the incorrect sqlplus environment. For example., By default SQLPLUS will connect to the default ORACLE_HOME, say 12C Home but if you are duplicating the 11g database on same host the it must be Oracle 11g Environment in order to complete the process.1 - This issue happens when we have installed multiple Oracle Homes in a single system.2 - We need to make sure that we are in the right environment when we are restoring it.SOLUTIONYou need to set all the required Environment Variables first as per your need like ORACLE_SID, ORACLE_BASE, ORACLE_HOME, TNS_ADMIN, PATH with proper values(OR)Simply work by going to the bin directory of your required ORACLE_HOMESET ORACLE_HOME=Your_Oracle_HomeCD ORACLE_HOME\binEven if you set all the environment parameter properly, then need to investigate further to verify the rman backup set which used to restore or verify the upgrade logs, component, dba_registry etc.Provide the details requested in below Notes based on the post restore or post upgradeNote 1905616.1  SRDC - Startup Issues: Checklist of Evidence to Supply (Doc ID 1905616.1)Note 1906468.1  SRDC - Startup Shutdown - Oracle Binary and OS Resources: Checklist of Evidence to Supply (Doc ID 1906468.1)Note:1672387.1  SRDC - Data Collection for Upgrade IssuesNote 753041.1 How to Diagnose Components with NON VALID Status in DBA_REGISTRY after an Upgrade (Doc ID 753041.1)Note 1965956.1  SRDC - Data Collection for Datapatch issues (Doc ID 1965956.1)Note 1671416.1  SRDC - Required diagnostic data collection for RMAN Restore and Recover Using TFA Collector (Recommended) or Manual Steps (Doc ID 1671416.1)

到此,关于“Oracle还原恢复启动时数据库报ORA-00704、ORA-00604、ORA-00904怎么解决”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯