您的位置:首页 > 房产 > 建筑 > 巨腾外贸网站建设公司_企业建站多站点管理系统_上海职业技能培训机构_什么是sem

巨腾外贸网站建设公司_企业建站多站点管理系统_上海职业技能培训机构_什么是sem

2024/10/5 21:43:39 来源:https://blog.csdn.net/shibushi114/article/details/142464559  浏览:    关键词:巨腾外贸网站建设公司_企业建站多站点管理系统_上海职业技能培训机构_什么是sem
巨腾外贸网站建设公司_企业建站多站点管理系统_上海职业技能培训机构_什么是sem

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

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

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下恢复数据文件

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com