RMAN异机恢复数据库记录

场景:数据库服务器宕机,无法恢复

处理:使用备份资料进行异地恢复

1.此处环境为同平台、同版本(操作系统版本可以不同,但数据库版本需相同),源机器和目标机器具有相同的目录结构。

2.目标机器只需要安装oracle数据库软件,不创建数据库。

操作系统版本 : CentOS 6.5 x64

数据库版本 : Oracle 11.2.0.1 x64

3、启动数据库至nomount

1)复制pfile至$HOME/dbs/

cp /worktmp/wms/pfile_2022-10-18.ora $ORACLE_HOME/dbs/initorcl.ora

创建pfile内涉及的所有路径

mkdir -p /u01/app/oracle

mkdir -p /u01/app/oracle/admin/orcl/adump

mkdir -p /u01/app/oracle/oradata/orcl

mkdir -p /u01/app/oracle/fast_recovery_area

mkdir -p /u01/app/oracle/arch/

mkdir -p /u01/app/oracle/oradata/orcl

以pfile启动数据库至nomount

startup nomount pfile='/u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora';

以pfile创建spfile

create spfile from pfile;

关闭实例,再以spfile启动数据库至nomount

shutdown immediate;

startup nomount;

  1. 还原控制文件

RMAN> restore controlfile from '/worktmp/wms/c-1479196590-20221018-00';

  1. 启动数据库至mount

RMAN> sql 'alter database mount';

  1. 注册备份资料

RMAN>catalog start with '/u01/backup/';

  1. 还原数据库

RMAN> restore database;

  1. 检查备份资料

RMAN> list backup;

  1. 恢复数据库

RMAN> recover database

以OPEN RESETLOGS方式打开数据库

RMAN> sql 'alter database open resetlogs';

生成密码文件

orapwd file=$ORACLE_HOME/dbs/orapworcl password=Cqhkc_123 force=y

恢复listener.ora,重启数据库和监听。

**************************************

chown -R oracle:oinstall /u01

su oracle

mkdir -p /u01/app/oracle/oradata/YILIAO

mkdir -p /u01/app/oracle/admin/YILIAO/adump

mkdir -p /u01/app/oracle/arch

恢复spfile

rman target /

startup nomount

   

restore spfile from '/u01/backup/data/dbfull_20230901/control_c-4281347953-20230901-01';

恢复pfile 即initYILIAO.ora

sqlplus / as sysdba

create pfile from spfile;

startup nomount

恢复控制文件

rman target /

restore controlfile from '/u01/backup/data/dbfull_20230901/control_c-4281347953-20230901-01';

sql 'alter database mount';

向controlfile中注册rman信息。

catalog start with '/u01/backup/data/dbfull_20230901/';

不识别的文件选择NO

list backup; 查看备份

restore database;

数据量大的话可以多开几个通道:

run {

allocate channel c1 device type disk;

allocate channel c2 device type disk;

allocate channel c3 device type disk;

allocate channel c4 device type disk;

restore database;

switch datafile all;

recover database;

}

recover database;

RMAN-03002: failure of recover command at 10/10/2023 17:06:49

RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 5204 and starting SCN of 17513607179

此错误的原因是恢复需要的日志记录在控制文件或恢复目录中找不到。解决方法分两种情况:

1.如果相关的日志存在且可用的话,就将此日志记录添加到控制文件或恢复目录中。

2.如果相关的日志已经被删除了或不可用了,那么就按照错误的提示scn将数据库恢复到此scn,本案例是17513607179。也就是说此时数据库只能进行不完全恢复了,在打开数据库时得使用resetlogs打开。

RMAN> recover database until scn 17513607179;  实际执行了这个运行正常,好像归档日志没恢复

或者:

recover database until sequence 5203

run{

      set until sequence 5203;

      recover database;

      }

list backup of archivelog sequence=5204  查看

打开数据库,重新生成归档日志

alter database open resetlogs;

sql 'alter database open resetlogs';

恢复密码文件:

将拷贝过来的密码文件恢复至数据库对应目录下:

cp /u01/rman/orapworcl /u01/oracle/product/11.2.0.4/db_1/dbs/orapworcl

或者手动创建密码文件:

orapwdfile='/u01/oracle/product/11.2.0.4/db_1/dbs/orapworcl' password=oracle entries=30 force=y

注意:

nomount下进行恢复参数文件与控制文件

mount下恢复数据文件

出现这个错误的原因是在导入seaborn包时,无法从typing模块中导入名为'Protocol'的对象。 解决这个问题的方法有以下几种: 1. 检查你的Python版本是否符合seaborn包的要求,如果不符合,尝试更新Python版本。 2. 检查你的环境中是否安装了typing_extensions包,如果没有安装,可以使用以下命令安装:pip install typing_extensions。 3. 如果你使用的是Python 3.8版本以下的版本,你可以尝试使用typing_extensions包来代替typing模块来解决该问题。 4. 检查你的代码是否正确导入了seaborn包,并且没有其他导入错误。 5. 如果以上方法都无法解决问题,可以尝试在你的代码中使用其他的可替代包或者更新seaborn包的版本来解决该问题。 总结: 出现ImportError: cannot import name 'Protocol' from 'typing'错误的原因可能是由于Python版本不兼容、缺少typing_extensions包或者导入错误等原因造成的。可以根据具体情况尝试上述方法来解决该问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [ImportError: cannot import name ‘Literal‘ from ‘typing‘ (D:\Anaconda\envs\tensorflow\lib\typing....](https://blog.youkuaiyun.com/yuhaix/article/details/124528628)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shibushi114

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值