系统情况介绍

正式环境:windows 2008 r2-32bit/ Oracle: Release 11.2.0.1.0

目标环境:windows 2012 Standard-64bit / Oracle: Release 11.2.0.1.0

备份工具:EMC Avamar 7.5.1-RMAM全备

备份介绍

Avamar自动配置RMAN脚本,全备数据库,自动脚本日志内容如下(图形界面配置的,自动生成如下脚本,也可以手工写脚本备份):


1> RMAN> @@ORCL-24081.tmp
2> connect target *;
3> **文件结尾**
4> run {
5> configure controlfile autobackup on;
6> set controlfile autobackup format for device type sbt to 'CONTROLFILE.ORCL.%F';
7> allocate channel c0 type sbt PARMS="SBT_LIBRARY=C:\PROGRA~1\avs\bin\LIBOBK~1.DLL" format '%d_%U';
8> send channel 'c0' '"--libport=55154" "--force-expires" "--ctlusessl=false" "--cacheprefix=ORCL_c0" "--sysdir=C:\Program Files\avs\etc" "--bindir=C:\Program Files\avs\bin" "--vardir=C:\Program Files\avs\var\clientlogs" "--logfile=C:\Program Files\avs\var\clientlogs\yongyouLV0-yongyouLV0-1553436000010-3002-OracleORCL-avtar0.log" "--ctlcallport=55152"';
9> backup filesperset = 1 incremental level = 0 database plus archivelog delete input;
10> }
11>

还原过程

采用了Avamar恢复数据库的方式,实际上也是RMAN脚本,按照要求使用dbca命令建立好相同实例名称等,并备份相关控制文件(此步骤在Linux上可以手工建立)开始还原。其中需要注意的问题包含了恢复段的SCN号。开始没注意,导致完报错如下:

归档日志文件名=E:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2019_03_21\O1_MF_1_29360_G97XBTPZ_.ARC 线程=1 序列=29360
通道 default: 正在删除归档日志
归档日志文件名=E:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2019_03_21\O1_MF_1_29360_G97XBTPZ_.ARC RECID=8674 STAMP=1003498474
无法找到归档日志
归档日志线程=1 序列=29361
释放的通道: c0
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: recover 命令 (在 03/21/2019 13:34:38 上) 失败
RMAN-06054: 介质恢复正在请求未知的线程 1 序列 29361 的归档日志以及起始 SCN 983751610

再次使用SCN号参数恢复后,Avamar中显示恢复正常,但使用rman target / nocatalog 访问恢复后的数据库时,突然发现数据库无法启动,报错如下:


RMAN-00571: ====================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ========
RMAN-00571: ====================================================
RMAN-00554: 内部恢复管理器程序包初始化失败
RMAN-04005: 目标数据库中存在错误:
ORA-12432: LBAC 错误: zllesesinit:OCIStmtExecute

使用 sqlplus / as sysdba可以登陆数据库,但无法执行SQL语句,报错如下:

ORA-01012: not logged on

问题解决过程

在网上找了下相同情况的问题,其中在oracle官网找到了类似问题,如下图:

同时其他网站上大部分给出的解决方式为:

--Oracle给出的解决方案
--To solve this situation the LBAC option has to be disabled:
Step 1
cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk lbac_off ioracle -- Author : Robinson Cheng
-- Blog : http://blog.csdn.net/robinson_0612
-- DB Forum : http://bbs.dbsupport.cn Step 2
$ sqlplus "/ as sysdba"
SQL> startup migrate
SQL> @?/rdbms/admin/catnools.sql
SQL> shutdown immediate
SQL> startup
SQL> select * from v$version where rownum<2;

但由于此次的环境为windows,尝试了使用step2的方式还是不行,又在网上找了下,发现别人的一片文章,链接如下:Fix ORA-12432: LBAC error: zllesesinit:OCIStmtExecute when you cannot logon - General Database Discussions。其中根据作者所述:

给了我解决思路。于是我采用此方式。sqlplus / as sysdba后先abort数据库,在尝试使用Step2的步骤

SQL>shutdown abort
SQL> startup migrate

此时数据库竟然起来了,继续执行Step2的步骤

SQL> @?/rdbms/admin/catnools.sql

发生报错ORA-06553: PLS-801: 内部错误 [56327]。尝试解决如下:

SQL>shutdown abort
SQL> startup upgrade
SQL> @?/rdbms/admin/utlirp
SQL> shutdown immediate

此时,又发生了报错ORA-12432: LBAC 错误: zllesesinit:OCIStmtExecute。继续尝试执行:

SQL>shutdown abort
SQL> startup upgrade
SQL> @?/rdbms/admin/utlrp

此后在此步骤一直卡住不动了,尝试开启了新的窗口,重新执行:

SQL> shutdown abort
SQL> startup migrate
SQL> @?/rdbms/admin/catnools.sql

此时数据库竟然没报错,再次使用以下命令后,数据库正常启动。

SQL> shutdown immediate
SQL> startup
SQL> select * from v$version where rownum<2;

问题总结

实际上本次迁移主要遇到的问题是:

  • ORA-01012: not logged on
  • ORA-12432: LBAC 错误: zllesesinit:OCIStmtExecute

    但是在处理这两个问题时发生了ORA-06553: PLS-801: 内部错误 [56327]的报错。在解决此报错时,没有办法按照正常的流程执行完所有的SQL只能分次多次执行。但最终来看运气还是比较好,妥善的解决了两个报错。最终数据库正常加载启动。

Oracle单机Rman笔记[6]---记一次oracle脱机异地还原的更多相关文章

  1. Oracle单机Rman笔记[5]---脱机异地还原

    脱机异地还原(安装一个原环境相同的linux,并安装数据库,注意不要配置安装实例) .检查/home/oracle下的.bashrc .bash_profile内容是否与原环境一致(具体看情况而定), ...

  2. Oracle单机Rman笔记[1]---环境准备

    A.-----安装程序准备---- 1.拷贝oracle安装包到一个目录下 2.检查并修改hostname /etc/sysconfig/network中的hostname要与/etc/hosts中的 ...

  3. Oracle单机Rman笔记[4]---RMAN联机备份

    备注:RMAN备份(仅支持基于spfile的备份,不支持基于init.ora配置的备份) 练习:开启ARCHIVELOG模式 \为归档的重做日志被指FRA和单独的归档日志目标 SQL>show ...

  4. Oracle单机Rman笔记[3]---RMAN脱机备份及命令基础介绍

    A.NOARCHIVELOG模式下的物理备份 1.完全关闭数据库 2.备份所有的数据库文件.控制文件.联机重做日志 3.重新启动数据库 B.RMAN的体系结构概述 重新构建控制文件: 将控制文件备份为 ...

  5. Oracle单机Rman笔记[2]---RMAN基础介绍

    A.DBA对于备份恢复的问题: 1.在数据库发生故障时,丢失多少数据是可承受的? 2.恢复数据库时,能够忍受的最长时间多少? 3.为了确保您的数据能够被恢复,愿意投入多少成本? 4.备份期间可以关闭系 ...

  6. Oracle单机Rman笔记[0]---环境准备

    A. 安装操作系统rhel6.6,关闭防火墙,修改网卡配置IP(略)PS:1.默认分区选项(第二项,默认为LVM),然后进行调整2.安装类型选择“桌面”3.安装后 分配IP.调整防火墙.测试SSH B ...

  7. ORACLE的RMAN

    1.什么是RMAN? RMAN可以用来备份和还原数据库文件.归档日志和控制文件.它也可以用来执行完全或不完全的数据库恢复. 注意:RMAN不能用于备份初始化参数文件和口令文件. RMAN启动数据库上的 ...

  8. oracle数据库rman备份计划及恢复

    1.rman完全恢复的前提条件:历史的datafile,controlfile和spfile备份,加上完整的archivelog和完好的redolog. 2.rman备份脚本: a.RMAN 0级备份 ...

  9. EntityFramework CodeFirst SQLServer转Oracle踩坑笔记

    接着在Oracle中使用Entity Framework 6 CodeFirst这篇博文,正在将项目从SQLServer 2012转至Oracle 11g,目前为止遇到的问题在此记录下. SQL Se ...

随机推荐

  1. 20190410Linux中磁盘管理及LVM(week2day1)

    Linux磁盘管理及LVM讲解(week2_day2)   硬盘接口 从整体的角度上,硬盘接口分为IDE.SATA.SCSI和SAS四种,IDE接口硬盘多用于家用产品中,也部分应用于服务器,SCSI接 ...

  2. Linux 链路聚合

    Linux 链路聚合 链路聚合与双网卡绑定几乎相同,可以实现多网卡绑定主从荣誉,负载均衡,提高网络访问流量.但链路聚合与双网卡绑定技术(bond)不同点就在于,双网卡绑定只能使用两个网卡绑定,而链路聚 ...

  3. opencv学习之路(39)、PCA

    一.PCA理论介绍 网上已经有许多介绍pca原理的博客,这里就不重复介绍了.详情可参考 http://blog.csdn.net/zhongkelee/article/details/44064401 ...

  4. 国际空间站直播 ISS直播

    b站:https://live.bilibili.com/9196015 斗鱼:https://www.douyu.com/543816 欢迎大家 (ฅ´ω`ฅ)

  5. 0x16 Tire之最大的异或对

    我们考虑所有的二元组(i,j)且i<j,那么本题的目标就是在其中找到Ai xorAj的最大值.也就是说,对于每个i(1≤i≤N),我们希望找到一个j(1<j<i),使AixorAj最 ...

  6. FL Studio中的音频设置

    在FL Studio中,有一步很关键的设置需要我们详细熟悉了解,它就是音频设置,什么是音频设置呢?它就是需要我们选择音频设备驱动程序并优化设置.在了解音频设备之前,我们先来看看什么是音频设备. 我们的 ...

  7. 软件测试3gkd

        一.单元测试的任务 单元测试主要是对软件的基本组成单元进行测试,且所测试单元与程序的其他部分在测试中相隔离. 在单元测试中,我们需要对与程序构建中的单位测试以保证其可靠运行与代码规范. 单元测 ...

  8. Java学习笔记_ 数据库隔离级别和事务传播行为

    转自: https://blog.csdn.net/qq_38545713/article/details/79779265 一:数据库的事物隔离级别与传播行为总结:              很多人 ...

  9. 2019 年 SpreadJS产品路线图(Roadmap)

    前言 | 问题背景 SpreadJS已经发展成为市场上最好的纯前端JavaScript电子表格之一,但对于用户的需要和产品功能的改善,我们才刚刚开始! 在过去的一年中,我们发布了两个Service P ...

  10. CAP原则和BASE定理

    CAP原则和BASE定理 分布式系统 来自个人OneNote 以CAP理论为基础的三种解决方案 1.两阶段提交 所谓的两个阶段是指:第一阶段:准备阶段(投票阶段)和第二阶段:提交阶段(执行阶段). 准 ...