点击上方“IT那活儿”公众号--专注于企业全栈运维技术分享,不管IT什么活儿,干就完了!!!
控制文件坏块,备份失败
1.1 故障现象

1.2 故障处理
SQL>alter database create standby controlfile as '/tmp/controlfile_stanby.ctl';
SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
SQL>shutdown immediate;
SQL>startup nomount;
rman target
RAMN>restore controlfile FROM '/tmp/controlfile_stanby.ctl';
SQL>shutdown immediate;
SQL>startup;
SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;
SQL>select name,value from v$dataguard_stats where name in ('apply lag', 'transport lag');
SQL>select INST_ID,PROCESS,STATUS,DELAY_MINS,block#,THREAD#,SEQUENCE#from gv$managed_standby;
增加控制文件数量,提高可靠性
2.1 创建pfile留作备份
SQL> create pfile='/home/oracle/pfile20240711.ora' from spfile;
2.2 备份控制文件
SQL> set linesize 200
SQL> col name for a100
SQL> select inst_id,name from gv$controlfile;
INST_ID NAME
----------- ------------------------------------
1 +DATA/ORCL/controlfile/current1.ctl
2 +DATA/ORCL/controlfile/current1.ctl
SQL> alter database backup controlfile to '/home/oracle/controlfile_20240711.ctl';
SQL> exit
2.3 关闭数据库
srvctl stop database -d orcl
2.4 启动一个节点到nomount状态
SQL>startup nomount
2.5 用RMAN还原控制文件
rman target /
restore controlfile to '+RECODG' FROM '+DATA/ORCL/controlfile/current1.ctl';
2.6 查看记录新产生的控制文件路径及名字
grid:
asmcmd
ls +RECODG/ORCL/CONTROLFILE
current.554.1067011203
2.7 添加新生成的控制文件到参数文件中
SQL>alter system set control_files='+DATA/ORCL/controlfile/current1.ctl','+RECODG/ORCL/CONTROLFILE/current.554.1067011203' scope=spfile sid='*';"
2.8 重启数据库,验证控制文件
SQL>shutdown immediate
SQL>select inst_id,name from gv$controlfile;

本文作者:许 军(上海新炬中北团队)
本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




