1、背景
以前的同事上周五在某人民医院原地升级11.2.0.4 rac到19.20 rac,升级完成后当天晚上以失败告终,于是回退到了11.2.0.4版本,周六、周日系统通过11.2.0.4运行平稳,直到今天早上8点左右全院系统由卡慢转变到宕机7个小时...
同事邮件事后回复内容:早上快9点的时候医院反馈全院锁表卡顿,无法登录系统,远程查看存在大量的gc buffer busy release等待事件,系统整体hang住,无法通过杀掉进程的方式恢复业务,建议重启数据库,重启数据库因为大量的等待,也非常缓慢,半小时内无法完成数据库关闭,于是分别重启服务器,重启服务器后rac系统无法启动。
2、处理经过
8点多-10点10左右: 前同事做了如上操作,杀进程、重启数据库、重启服务器...
10点20-11点00左右: 我远程过去发现cssd进程无法启动,通过批量kill会话kill -9杀掉/u01,开了几个会话看日志,由于对这个环境不了解、用户又比较紧迫,看了下/u01下面环境目录有11g和19c的,做了第一个操作:清理crs和重配crs:
./rootcrs.pl -deconfig -force -verbose
./rootcrs.pl -deconfig -force -verbose -lastnode
/u01/11.2.4/grid/root.sh --尝试重新配置
[root@hisdb1 ohasd]# u01/11.2.4/grid/root.shPerforming root user operation for Oracle 11gThe following environment variables are set as:ORACLE_OWNER= gridORACLE_HOME= u01/11.2.4/gridEnter the full pathname of the local bin directory: [/usr/local/bin]:The contents of "dbhome" have not changed. No need to overwrite.The contents of "oraenv" have not changed. No need to overwrite.The contents of "coraenv" have not changed. No need to overwrite.Entries will be added to the etc/oratab file as needed byDatabase Configuration Assistant when a database is createdFinished running generic part of root script.Now product-specific root actions will be performed.Using configuration parameter file: u01/11.2.4/grid/crs/install/crsconfig_paramsUser ignored Prerequisites during installationInstalling Trace File AnalyzerOLR initialization - successfulAdding Clusterware entries to oracle-ohasd.serviceCRS-2672: Attempting to start 'ora.mdnsd' on 'hisdb1'CRS-2676: Start of 'ora.mdnsd' on 'hisdb1' succeededCRS-2672: Attempting to start 'ora.gpnpd' on 'hisdb1'CRS-2676: Start of 'ora.gpnpd' on 'hisdb1' succeededCRS-2672: Attempting to start 'ora.cssdmonitor' on 'hisdb1'CRS-2672: Attempting to start 'ora.gipcd' on 'hisdb1'CRS-2676: Start of 'ora.cssdmonitor' on 'hisdb1' succeededCRS-2676: Start of 'ora.gipcd' on 'hisdb1' succeededCRS-2672: Attempting to start 'ora.cssd' on 'hisdb1'CRS-2672: Attempting to start 'ora.diskmon' on 'hisdb1'CRS-2676: Start of 'ora.diskmon' on 'hisdb1' succeededCRS-2676: Start of 'ora.cssd' on 'hisdb1' succeededStart of resource "ora.cssd" failed --发现该进程还是无法启动CRS-2672: Attempting to start 'ora.cssdmonitor' on 'hisdb1'CRS-2672: Attempting to start 'ora.gipcd' on 'hisdb1'CRS-2676: Start of 'ora.cssdmonitor' on 'hisdb1' succeededCRS-2676: Start of 'ora.gipcd' on 'hisdb1' succeededCRS-2672: Attempting to start 'ora.cssd' on 'hisdb1'CRS-2672: Attempting to start 'ora.diskmon' on 'hisdb1'CRS-2676: Start of 'ora.diskmon' on 'hisdb1' succeededCRS-2674: Start of 'ora.cssd' on 'hisdb1' failedCRS-2679: Attempting to clean 'ora.cssd' on 'hisdb1'CRS-2681: Clean of 'ora.cssd' on 'hisdb1' succeededCRS-2673: Attempting to stop 'ora.gipcd' on 'hisdb1'CRS-2677: Stop of 'ora.gipcd' on 'hisdb1' succeededCRS-5804: Communication error with agent processCRS-4000: Command Start failed, or completed with errors.Failed to start Oracle Grid Infrastructure stackFailed to start Cluster Synchorinisation Service in clustered mode at u01/11.2.4/grid/crs/install/crsconfig_lib.pm line 1294./u01/11.2.4/grid/perl/bin/perl -I/u01/11.2.4/grid/perl/lib -I/u01/11.2.4/grid/crs/install u01/11.2.4/grid/crs/install/rootcrs.pl execution failed
通过crsctl stat res -t -init查看还是卡在ora.cssd进程上,于是手工执行打开,crsctl start res ora.cssd -init,依然报错;
11点20-12点00左右: 用户急切需要进行恢复,停了几个小时机了,我通过手工的方式mount磁盘组也不行,报ora-15040 ora-15017,看元数据等也是正常的;然后和用户沟通恢复方案:1、抽出asm数据异机或本地恢复 2、重建crs;
12点00-15点10左右: 通过商量,在一节点的机器上进行数据恢复,将rac变为单机,抽取数据到本地文件系统,然后执行nomount\mount\open动作,然后oracle用户下netca创建一个监听,修改/etc/hosts文件指向scan,同时修改ip恢复业务;
* 节点2 关闭crs,在节点1操作,将rac改为单机[root@hisdb1 rmanbak]# crsctl disable crsCRS-4621: Oracle High Availability Services autostart is disabled.[root@hisdb1 rmanbak]#[root@hisdb1 rmanbak]# crsctl disable hasCRS-4621: Oracle High Availability Services autostart is disabled.[root@hisdb1 rmanbak]#[root@hisdb1 rmanbak]# su - oracleLast login: Mon Aug 28 11:41:01 CST 2023 on pts/1[oracle@hisdb1 ~]$ cd $ORACLE_HOME/rdbms/lib[oracle@hisdb1 lib]$ pwd/u01/app/oracle/product/11.2.4/db_1/rdbms/lib[oracle@hisdb1 lib]$ make -f ins_rdbms.mk rac_offrm -f u01/app/oracle/product/11.2.4/db_1/lib/libskgxp11.socp u01/app/oracle/product/11.2.4/db_1/lib//libskgxpg.so u01/app/oracle/product/11.2.4/db_1/lib/libskgxp11.sorm -f u01/app/oracle/product/11.2.4/db_1/lib/libskgxn2.socp u01/app/oracle/product/11.2.4/db_1/lib//libskgxns.so \u01/app/oracle/product/11.2.4/db_1/lib/libskgxn2.so/usr/bin/ar d u01/app/oracle/product/11.2.4/db_1/rdbms/lib/libknlopt.a kcsm.o/usr/bin/ar cr u01/app/oracle/product/11.2.4/db_1/rdbms/lib/libknlopt.a u01/app/oracle/product/11.2.4/db_1/rdbms/lib/ksnkcs.o[oracle@hisdb1 lib]$ make -f ins_rdbms.mk ioraclechmod 755 u01/app/oracle/product/11.2.4/db_1/bin- Linking Oraclerm -f u01/app/oracle/product/11.2.4/db_1/rdbms/lib/oraclegcc -o u01/app/oracle/product/11.2.4/db_1/rdbms/lib/oracle -m64 -z noexecstack -L/u01/app/oracle/product/11.2.4/db_1/rdbms/lib/ -L/u01/app/oracle/product/11.2.4/db_1/lib/ -L/u01/app/oracle/product/11.2.4/db_1/lib/stubs/ -Wl,-E u01/app/oracle/product/11.2.4/db_1/rdbms/lib/opimai.o u01/app/oracle/product/11.2.4/db_1/rdbms/lib/ssoraed.o u01/app/oracle/product/11.2.4/db_1/rdbms/lib/ttcsoi.o -Wl,--whole-archive -lperfsrv11 -Wl,--no-whole-archive u01/app/oracle/product/11.2.4/db_1/lib/nautab.o u01/app/oracle/product/11.2.4/db_1/lib/naeet.o u01/app/oracle/product/11.2.4/db_1/lib/naect.o u01/app/oracle/product/11.2.4/db_1/lib/naedhs.o u01/app/oracle/product/11.2.4/db_1/rdbms/lib/config.o -lserver11 -lodm11 -lcell11 -lnnet11 -lskgxp11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lclient11 -lvsn11 -lcommon11 -lgeneric11 -lknlopt `if usr/bin/ar tv u01/app/oracle/product/11.2.4/db_1/rdbms/lib/libknlopt.a | grep xsyeolap.o > dev/null 2>&1 ; then echo "-loraolap11" ; fi` -lslax11 -lpls11 -lrt -lplp11 -lserver11 -lclient11 -lvsn11 -lcommon11 -lgeneric11 `if [ -f u01/app/oracle/product/11.2.4/db_1/lib/libavserver11.a ] ; then echo "-lavserver11" ; else echo "-lavstub11"; fi` `if [ -f u01/app/oracle/product/11.2.4/db_1/lib/libavclient11.a ] ; then echo "-lavclient11" ; fi` -lknlopt -lslax11 -lpls11 -lrt -lplp11 -ljavavm11 -lserver11 -lwwg `cat u01/app/oracle/product/11.2.4/db_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat u01/app/oracle/product/11.2.4/db_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnnz11 -lzt11 -lmm -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lztkg11 `cat u01/app/oracle/product/11.2.4/db_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat u01/app/oracle/product/11.2.4/db_1/lib/ldflags` -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnnz11 -lzt11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 `if usr/bin/ar tv u01/app/oracle/product/11.2.4/db_1/rdbms/lib/libknlopt.a | grep "kxmnsd.o" > dev/null 2>&1 ; then echo " " ; else echo "-lordsdo11"; fi` -L/u01/app/oracle/product/11.2.4/db_1/ctx/lib/ -lctxc11 -lctx11 -lzx11 -lgx11 -lctx11 -lzx11 -lgx11 -lordimt11 -lclsra11 -ldbcfg11 -lhasgen11 -lskgxn2 -lnnz11 -lxml11 -locr11 -locrb11 -locrutl11 -lhasgen11 -lskgxn2 -lnnz11 -lxml11 -loraz -llzopro -lorabz2 -lipp_z -lipp_bz2 -lippdcemerged -lippsemerged -lippdcmerged -lippsmerged -lippcore -lippcpemerged -lippcpmerged -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lsnls11 -lunls11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lasmclnt11 -lcommon11 -lcore11 -laio `cat u01/app/oracle/product/11.2.4/db_1/lib/sysliblist` -Wl,-rpath,/u01/app/oracle/product/11.2.4/db_1/lib -lm `cat u01/app/oracle/product/11.2.4/db_1/lib/sysliblist` -ldl -lm -L/u01/app/oracle/product/11.2.4/db_1/libtest ! -f u01/app/oracle/product/11.2.4/db_1/bin/oracle || (\mv -f u01/app/oracle/product/11.2.4/db_1/bin/oracle u01/app/oracle/product/11.2.4/db_1/bin/oracleO &&\chmod 600 u01/app/oracle/product/11.2.4/db_1/bin/oracleO )mv u01/app/oracle/product/11.2.4/db_1/rdbms/lib/oracle u01/app/oracle/product/11.2.4/db_1/bin/oraclechmod 6751 u01/app/oracle/product/11.2.4/db_1/bin/oracle
* 抽取脚本之前发过,公众号里面有,将asm数据抽取出来之后遇到一个情况,system和sysaux不分表空间数据文件有多个,在执行alter database rename file '' to '';在思考该怎么写;* 另外由于文件很多,asm实例又无法打开,无法查询别名信息,我通过扫描别名目录,将别名取出来进行对比,然后编写修改omf的路径到文件系统:name:HISDB;fnum:4294967295;finc:4294967295name:zl9indexcis02.dbf;fnum:268;finc:1099325663name:zlmlog01.dbf;fnum:270;finc:1099325663name:zlmlog.dbf;fnum:271;finc:1099325663name:zl9indexcis01.dbf;fnum:272;finc:1099325701name:zl9indexhis.dbf;fnum:273;finc:1099325701name:zl9expense.dbf;fnum:274;finc:1099325703name:zl9indexcis.dbf;fnum:275;finc:1099325703name:zl9eprdat.dbf;fnum:277;finc:1099325739name:zl9indexhis01.dbf;fnum:278;finc:1099325741name:zl9cisrec.dbf;fnum:279;finc:1099325741name:zl9patient.dbf;fnum:280;finc:1099325777name:zl9expense01.dbf;fnum:281;finc:1099325777name:zl9eprlob.dbf;fnum:282;finc:1099325779name:zl9cisrec01.dbf;fnum:285;finc:1099325809name:zl9medlst.dbf;fnum:286;finc:1099325813name:zl9baseitem.dbf;fnum:287;finc:1099325813name:zl9eprdat01.dbf;fnum:288;finc:1099325825name:zl9indexcis03.dbf;fnum:290;finc:1099325827name:zltoolstbs.dbf;fnum:291;finc:1099325827name:zl9indexmdr.dbf;fnum:292;finc:1099325827name:zl9devrec.dbf;fnum:293;finc:1099325827name:zl9devuse.dbf;fnum:295;finc:1099325829name:zl9medday.dbf;fnum:296;finc:1099325831name:zl9cisaudit.dbf;fnum:297;finc:1099325831name:zl9indexhis02.dbf;fnum:298;finc:1099325833name:zlpacsbiztab.dbf;fnum:299;finc:1099325835name:zl9indexdev.dbf;fnum:300;finc:1099325835name:zl9mtlrec.dbf;fnum:301;finc:1099325835name:zlpacsbizindex.dbf;fnum:302;finc:1099325835name:zlmsgdata.dbf;fnum:303;finc:1099325837name:zl9indexmtl.dbf;fnum:304;finc:1099325839name:zl9medrec.dbf;fnum:305;finc:1099325845name:zlbak2011.dbf;fnum:306;finc:1099325849name:zl9medbase.dbf;fnum:307;finc:1099325849name:zl9mtlbase.dbf;fnum:308;finc:1099325853name:zl9devbase.dbf;fnum:309;finc:1099325859name:zl9duerec.dbf;fnum:310;finc:1099325863name:zlpacsbizxml.dbf;fnum:311;finc:1099325871name:zlpacsbasetab.dbf;fnum:312;finc:1099325873name:zlpacsbaseindex.dbf;fnum:313;finc:1099325875name:zltoolstmp.dbf;fnum:319;finc:1099387241name:undotbs2;fnum:324;finc:1099389191name:DATAFILE;fnum:4294967295;finc:4294967295name:CONTROLFILE;fnum:4294967295;finc:4294967295name:ONLINELOG;fnum:4294967295;finc:4294967295name:TEMPFILE;fnum:4294967295;finc:4294967295name:PARAMETERFILE;fnum:4294967295;finc:4294967295name:spfilehisdb.ora;fnum:286;finc:1102346709name:CHANGETRACKING;fnum:4294967295;finc:4294967295name:zlmlog.dbf;fnum:265;finc:1102328489name:zlmlog01.dbf;fnum:262;finc:1102328489name:zl9indexcis01.dbf;fnum:261;finc:1102328527name:zl9indexcis.dbf;fnum:284;finc:1102328527name:zl9indexhis.dbf;fnum:259;finc:1102328527name:zl9expense.dbf;fnum:264;finc:1102328527name:zl9indexhis01.dbf;fnum:258;finc:1102328567name:zl9cisrec.dbf;fnum:276;finc:1102328567name:zl9eprdat.dbf;fnum:256;finc:1102328567name:zl9patient.dbf;fnum:269;finc:1102328603name:zl9eprlob.dbf;fnum:289;finc:1102328605name:zl9expense01.dbf;fnum:294;finc:1102328605name:zl9cisrec01.dbf;fnum:291;finc:1102328635name:zl9medlst.dbf;fnum:311;finc:1102328641name:zl9baseitem.dbf;fnum:299;finc:1102328645name:zl9eprdat01.dbf;fnum:302;finc:1102328653name:zlmlog02.dbf;fnum:312;finc:1102328653name:zl9indexcis03.dbf;fnum:313;finc:1102328655name:zl9indexmdr.dbf;fnum:303;finc:1102328657name:zl9devrec.dbf;fnum:306;finc:1102328661name:zl9indexdev.dbf;fnum:280;finc:1102328661name:zl9mtlrec.dbf;fnum:301;finc:1102328661name:zl9medbase.dbf;fnum:308;finc:1102328661name:zl9indexhis02.dbf;fnum:305;finc:1102328663name:zlpacsbaseindex.dbf;fnum:286;finc:1102328665name:zl9duerec.dbf;fnum:296;finc:1102328665name:zl9medrec.dbf;fnum:307;finc:1102328667name:zlpacsbiztab.dbf;fnum:304;finc:1102328667name:zltoolstbs.dbf;fnum:292;finc:1102328667name:zl9medday.dbf;fnum:298;finc:1102328669name:zlpacsbizindex.dbf;fnum:278;finc:1102328669name:zlmsgdata.dbf;fnum:273;finc:1102328669name:zlbak2011.dbf;fnum:300;finc:1102328673name:zl9devbase.dbf;fnum:290;finc:1102328679name:zl9cisaudit.dbf;fnum:268;finc:1102328683name:zlpacsbasetab.dbf;fnum:272;finc:1102328685name:zl9devuse.dbf;fnum:275;finc:1102328755name:zlpacsbizxml.dbf;fnum:281;finc:1102328757name:zl9indexmtl.dbf;fnum:274;finc:1102328759name:zl9mtlbase.dbf;fnum:282;finc:1102328785name:TEMP;fnum:320;finc:1102325695name:TEMP;fnum:281;finc:1102346593name:TEMP;fnum:342;finc:1102374881name:ZLTOOLSTMP;fnum:324;finc:1102340563name:ZLTOOLSTMP01.dbf;fnum:324;finc:1102340563name:TEMP;fnum:327;finc:1102340569name:TEMP01.dbf;fnum:327;finc:1102340569name:ZLTOOLSTMP;fnum:343;finc:1102374881name:ZLMLOG;fnum:271;finc:1099325663name:ZL9INDEXCIS;fnum:272;finc:1099325701name:ZL9INDEXHIS;fnum:273;finc:1099325701name:ZL9EXPENSE;fnum:274;finc:1099325703name:ZL9INDEXCIS;fnum:275;finc:1099325703name:SYSTEM;fnum:276;finc:1099325739name:ZL9EPRDAT;fnum:277;finc:1099325739name:ZL9INDEXHIS;fnum:278;finc:1099325741name:ZL9CISREC;fnum:279;finc:1099325741name:ZL9PATIENT;fnum:280;finc:1099325777name:ZL9EXPENSE;fnum:281;finc:1099325777name:ZL9EPRLOB;fnum:282;finc:1099325779name:UNDOTBS1;fnum:283;finc:1099325779name:USERS;fnum:284;finc:1099325801name:ZL9CISREC;fnum:285;finc:1099325809name:ZL9MEDLST;fnum:286;finc:1099325813name:ZL9BASEITEM;fnum:287;finc:1099325813name:ZL9EPRDAT;fnum:288;finc:1099325825name:RMAN;fnum:289;finc:1099325825name:ZL9INDEXCIS;fnum:290;finc:1099325827name:ZLTOOLSTBS;fnum:291;finc:1099325827name:ZL9INDEXMDR;fnum:292;finc:1099325827name:ZL9DEVREC;fnum:293;finc:1099325827name:EXAMPLE;fnum:294;finc:1099325829name:ZL9DEVUSE;fnum:295;finc:1099325829name:ZL9MEDDAY;fnum:296;finc:1099325831name:ZL9CISAUDIT;fnum:297;finc:1099325831name:ZL9INDEXHIS;fnum:298;finc:1099325833name:ZLPACSBIZTAB;fnum:299;finc:1099325835name:ZL9INDEXDEV;fnum:300;finc:1099325835name:ZL9MTLREC;fnum:301;finc:1099325835name:ZLPACSBIZINDEX;fnum:302;finc:1099325835name:ZLMSGDATA;fnum:303;finc:1099325837name:ZL9INDEXMTL;fnum:304;finc:1099325839name:ZL9MEDREC;fnum:305;finc:1099325845name:ZLBAK2011;fnum:306;finc:1099325849name:ZL9MEDBASE;fnum:307;finc:1099325849name:ZL9MTLBASE;fnum:308;finc:1099325853name:ZL9DEVBASE;fnum:309;finc:1099325859name:ZL9DUEREC;fnum:310;finc:1099325863name:ZLPACSBIZXML;fnum:311;finc:1099325871name:ZLPACSBASETAB;fnum:312;finc:1099325873name:ZLPACSBASEINDEX;fnum:313;finc:1099325875name:UNDOTBS2;fnum:324;finc:1099389191name:Current;fnum:260;finc:1099307517name:Current;fnum:323;finc:1102325689name:Current;fnum:266;finc:1102346587name:group_1;fnum:322;finc:1102325691name:group_2;fnum:321;finc:1102325691name:group_3;fnum:316;finc:1102325823name:group_4;fnum:315;finc:1102325823name:group_11;fnum:288;finc:1102338871name:group_12;fnum:277;finc:1102338871name:group_13;fnum:310;finc:1102338873name:group_14;fnum:295;finc:1102338873name:group_21;fnum:279;finc:1102375079name:redo21.log;fnum:279;finc:1102375079name:group_22;fnum:285;finc:1102375081name:redo22.log;fnum:285;finc:1102375081name:group_23;fnum:309;finc:1102375081name:redo23.log;fnum:309;finc:1102375081name:group_24;fnum:293;finc:1102375083name:redo24.log;fnum:293;finc:1102375083name:group_1;fnum:263;finc:1102346589name:group_2;fnum:292;finc:1102346591name:group_3;fnum:278;finc:1102346709name:group_4;fnum:272;finc:1102346709name:group_11;fnum:338;finc:1102374875name:group_12;fnum:339;finc:1102374875name:group_13;fnum:340;finc:1102374877name:group_14;fnum:341;finc:1102374877name:group_1;fnum:351;finc:1142801175name:group_2;fnum:352;finc:1142801175name:group_3;fnum:353;finc:1142801175name:group_4;fnum:354;finc:1142801177name:group_5;fnum:355;finc:1142801185name:group_6;fnum:356;finc:1142801185name:group_7;fnum:357;finc:1142801185name:group_8;fnum:358;finc:1142801185name:SYSTEM;fnum:270;finc:1102346455name:SYSAUX;fnum:271;finc:1102346455name:UNDOTBS1;fnum:326;finc:1102325541name:USERS;fnum:325;finc:1102325541name:UNDOTBS2;fnum:317;finc:1102325781name:UNDOTBS1;fnum:318;finc:1102346455name:USERS;fnum:283;finc:1102346455name:UNDOTBS2;fnum:304;finc:1102346671name:ZL9INDEXCIS;fnum:273;finc:1102347467name:zl9indexcis02.dbf;fnum:273;finc:1102347467name:SYSAUX;fnum:312;finc:1102347467name:ZLMLOG;fnum:262;finc:1102347467name:zlmlog.dbf;fnum:262;finc:1102347467name:ZLMLOG;fnum:265;finc:1102347467name:zlmlog01.dbf;fnum:265;finc:1102347467name:ZL9INDEXCIS;fnum:300;finc:1102347503name:zl9indexcis01.dbf;fnum:300;finc:1102347503name:ZL9INDEXHIS;fnum:269;finc:1102347505name:UNDOTBS1;fnum:257;finc:1102328605name:zl9indexhis.dbf;fnum:269;finc:1102347505name:ZL9EXPENSE;fnum:301;finc:1102347505name:USERS;fnum:319;finc:1102328629name:zl9expense.dbf;fnum:301;finc:1102347505name:ZL9INDEXCIS;fnum:282;finc:1102347505name:zl9indexcis.dbf;fnum:282;finc:1102347505name:SYSTEM;fnum:307;finc:1102347541name:ZL9EPRDAT;fnum:311;finc:1102347543name:zl9eprdat.dbf;fnum:311;finc:1102347543name:ZL9INDEXHIS;fnum:298;finc:1102347543name:zl9indexhis01.dbf;fnum:298;finc:1102347543name:ZL9CISREC;fnum:308;finc:1102347543name:zl9cisrec.dbf;fnum:308;finc:1102347543name:ZL9PATIENT;fnum:274;finc:1102347577name:zl9patient.dbf;fnum:274;finc:1102347577name:ZL9EXPENSE;fnum:303;finc:1102347579name:zl9expense01.dbf;fnum:303;finc:1102347579name:ZL9EPRLOB;fnum:305;finc:1102347581name:zl9eprlob.dbf;fnum:305;finc:1102347581name:UNDOTBS1;fnum:258;finc:1102347583name:USERS;fnum:259;finc:1102347621name:ZL9CISREC;fnum:280;finc:1102347631name:zl9cisrec01.dbf;fnum:280;finc:1102347631name:ZL9MEDLST;fnum:313;finc:1102347631name:zl9medlst.dbf;fnum:313;finc:1102347631name:ZL9BASEITEM;fnum:314;finc:1102347637name:zl9baseitem.dbf;fnum:314;finc:1102347637name:ZL9INDEXCIS;fnum:261;finc:1102347645name:zl9indexcis03.dbf;fnum:261;finc:1102347645name:ZL9EPRDAT;fnum:284;finc:1102347649name:zl9eprdat01.dbf;fnum:284;finc:1102347649name:ZL9INDEXMDR;fnum:294;finc:1102347649name:zl9indexmdr.dbf;fnum:294;finc:1102347649name:UNDOTBS2;fnum:297;finc:1102375181name:spfile;fnum:286;finc:1102346709name:undotbs2;fnum:297;finc:1102375181name:ZLMLOG;fnum:264;finc:1102347649name:zlmlog02.dbf;fnum:264;finc:1102347649name:RMAN;fnum:289;finc:1102347651name:ZL9INDEXDEV;fnum:302;finc:1102347651name:zl9indexdev.dbf;fnum:302;finc:1102347651name:ZL9MEDBASE;fnum:256;finc:1102347651name:zl9medbase.dbf;fnum:256;finc:1102347651name:EXAMPLE;fnum:296;finc:1102347651name:ZL9DEVREC;fnum:275;finc:1102347655name:zl9devrec.dbf;fnum:275;finc:1102347655name:ZL9MTLREC;fnum:306;finc:1102347655name:zl9mtlrec.dbf;fnum:306;finc:1102347655name:ZL9INDEXHIS;fnum:290;finc:1102347655name:zl9indexhis02.dbf;fnum:290;finc:1102347655name:ZL9DUEREC;fnum:291;finc:1102347657name:zl9duerec.dbf;fnum:291;finc:1102347657name:ZLPACSBASEINDEX;fnum:276;finc:1102347657name:zlpacsbaseindex.dbf;fnum:276;finc:1102347657name:ZL9MEDDAY;fnum:268;finc:1102347659name:zl9medday.dbf;fnum:268;finc:1102347659name:ZLTOOLSTBS;fnum:299;finc:1102347659name:zltoolstbs.dbf;fnum:299;finc:1102347659name:ZL9MEDREC;fnum:267;finc:1102347659name:zl9medrec.dbf;fnum:267;finc:1102347659name:ZLPACSBIZTAB;fnum:287;finc:1102347661name:zlpacsbiztab.dbf;fnum:287;finc:1102347661name:ZLPACSBIZINDEX;fnum:328;finc:1102347661name:zlpacsbizindex.dbf;fnum:328;finc:1102347661name:ZLMSGDATA;fnum:329;finc:1102347663name:zlmsgdata.dbf;fnum:329;finc:1102347663name:ZLBAK2011;fnum:330;finc:1102347665name:zlbak2011.dbf;fnum:330;finc:1102347665name:ZL9DEVBASE;fnum:331;finc:1102347673name:zl9devbase.dbf;fnum:331;finc:1102347673name:ZLPACSBASETAB;fnum:332;finc:1102347677name:zlpacsbasetab.dbf;fnum:332;finc:1102347677name:ZL9CISAUDIT;fnum:333;finc:1102347677name:zl9cisaudit.dbf;fnum:333;finc:1102347677name:ZL9DEVUSE;fnum:334;finc:1102347747name:zl9devuse.dbf;fnum:334;finc:1102347747name:ZL9INDEXMTL;fnum:335;finc:1102347751name:zl9indexmtl.dbf;fnum:335;finc:1102347751name:ZLPACSBIZXML;fnum:336;finc:1102347753name:zlpacsbizxml.dbf;fnum:336;finc:1102347753name:ZL9MTLBASE;fnum:337;finc:1102347775name:zl9mtlbase.dbf;fnum:337;finc:1102347775name:zltoolstmp.dbf;fnum:343;finc:1102374881name:ZL9EXPENSE;fnum:344;finc:1102693901name:zl9expense02.dbf;fnum:344;finc:1102693901name:VINTERFACEDATA;fnum:345;finc:1112373199name:VINTERFACEDATA.DBF;fnum:345;finc:1112373199name:ZLMLOG;fnum:346;finc:1126003287name:zlmlog03.dbf;fnum:346;finc:1126003287name:USERS;fnum:347;finc:1130840501name:users01.dbf;fnum:347;finc:1130840501name:ZL9INDEXCIS;fnum:348;finc:1133857975name:zl9indexcis04.dbf;fnum:348;finc:1133857975name:ZL9INDEXHIS;fnum:349;finc:1133858195name:zl9indexhis03.dbf;fnum:349;finc:1133858195name:ZLMLOG;fnum:350;finc:1138525227name:zlmlog04.dbf;fnum:350;finc:1138525227name:blktrace.dbf;fnum:359;finc:1145797597name:ctf;fnum:359;finc:1145797597+DATA/hisdb/datafile/system.307.1102347541 》》alter database rename file '+DATA/hisdb/datafile/system.307.1102347541' to '/rmanbak/hisdbdata/SYSTEM.307';+DATA/hisdb/datafile/sysaux.312.1102347467 alter database rename file '+DATA/hisdb/datafile/sysaux.312.1102347467' to '/rmanbak/hisdbdata/SYSAUX.312';+DATA/hisdb/datafile/undotbs1.258.1102347583 alter database rename file '+DATA/hisdb/datafile/undotbs1.258.1102347583' to '/rmanbak/hisdbdata/UNDOTBS1.258';+DATA/hisdb/datafile/users.259.1102347621 alter database rename file '+DATA/hisdb/datafile/users.259.1102347621' to '/rmanbak/hisdbdata/USERS.259';+DATA/hisdb/datafile/zlmlog02.dbf alter database rename file '+DATA/hisdb/datafile/zlmlog02.dbf' to '/rmanbak/hisdbdata/zlmlog02.dbf.264';+DATA/hisdb/datafile/zltoolstbs.dbf alter database rename file '+DATA/hisdb/datafile/zltoolstbs.dbf' to '/rmanbak/hisdbdata/zltoolstbs.dbf.299';+DATA/hisdb/datafile/zl9baseitem.dbf alter database rename file '+DATA/hisdb/datafile/zl9baseitem.dbf' to '/rmanbak/hisdbdata/zl9baseitem.dbf.314';+DATA/hisdb/datafile/zl9patient.dbf alter database rename file '+DATA/hisdb/datafile/zl9patient.dbf' to '/rmanbak/hisdbdata/zl9patient.dbf.274';+DATA/hisdb/datafile/zl9expense.dbf alter database rename file '+DATA/hisdb/datafile/zl9expense.dbf' to '/rmanbak/hisdbdata/zl9expense.dbf.301';+DATA/hisdb/datafile/zl9medlst.dbf alter database rename file '+DATA/hisdb/datafile/zl9medlst.dbf' to '/rmanbak/hisdbdata/zl9medlst.dbf.313';+DATA/hisdb/datafile/zl9duerec.dbf alter database rename file '+DATA/hisdb/datafile/zl9duerec.dbf' to '/rmanbak/hisdbdata/zl9duerec.dbf.291';NAME--------------------------------------------------------------------------------+DATA/hisdb/datafile/zl9cisrec.dbf alter database rename file '+DATA/hisdb/datafile/zl9cisrec.dbf' to '/rmanbak/hisdbdata/zl9cisrec.dbf.308';+DATA/hisdb/datafile/zl9eprlob.dbf alter database rename file '+DATA/hisdb/datafile/zl9eprlob.dbf' to '/rmanbak/hisdbdata/zl9eprlob.dbf.305';+DATA/hisdb/datafile/zl9eprdat.dbf alter database rename file '+DATA/hisdb/datafile/zl9eprdat.dbf' to '/rmanbak/hisdbdata/zl9eprdat.dbf.311';+DATA/hisdb/datafile/zl9cisaudit.dbf alter database rename file '+DATA/hisdb/datafile/zl9cisaudit.dbf' to '/rmanbak/hisdbdata/zl9cisaudit.dbf.333';+DATA/hisdb/datafile/zl9indexhis.dbf alter database rename file '+DATA/hisdb/datafile/zl9indexhis.dbf' to '/rmanbak/hisdbdata/zl9indexhis.dbf.269';+DATA/hisdb/datafile/zl9indexcis.dbf alter database rename file '+DATA/hisdb/datafile/zl9indexcis.dbf' to '/rmanbak/hisdbdata/zl9indexcis.dbf.282'; --+DATA/hisdb/datafile/zlbak2011.dbf alter database rename file '+DATA/hisdb/datafile/zlbak2011.dbf' to '/rmanbak/hisdbdata/zlbak2011.dbf.330';+DATA/hisdb/datafile/zl9devbase.dbf alter database rename file '+DATA/hisdb/datafile/zl9devbase.dbf' to '/rmanbak/hisdbdata/zl9devbase.dbf.331';+DATA/hisdb/datafile/zl9devrec.dbf alter database rename file '+DATA/hisdb/datafile/zl9devrec.dbf' to '/rmanbak/hisdbdata/zl9devrec.dbf.275';+DATA/hisdb/datafile/zl9devuse.dbf alter database rename file '+DATA/hisdb/datafile/zl9devuse.dbf' to '/rmanbak/hisdbdata/zl9devuse.dbf.334';+DATA/hisdb/datafile/zl9indexdev.dbf alter database rename file '+DATA/hisdb/datafile/zl9indexdev.dbf' to '/rmanbak/hisdbdata/zl9indexdev.dbf.302';NAME--------------------------------------------------------------------------------+DATA/hisdb/datafile/zl9mtlbase.dbf alter database rename file '+DATA/hisdb/datafile/zl9mtlbase.dbf' to '/rmanbak/hisdbdata/zl9mtlbase.dbf.337';+DATA/hisdb/datafile/zl9mtlrec.dbf alter database rename file '+DATA/hisdb/datafile/zl9mtlrec.dbf' to '/rmanbak/hisdbdata/zl9mtlrec.dbf.306';+DATA/hisdb/datafile/zl9indexmtl.dbf alter database rename file '+DATA/hisdb/datafile/zl9indexmtl.dbf' to '/rmanbak/hisdbdata/zl9indexmtl.dbf.335';+DATA/hisdb/datafile/zl9medbase.dbf alter database rename file '+DATA/hisdb/datafile/zl9medbase.dbf' to '/rmanbak/hisdbdata/zl9medbase.dbf.256';+DATA/hisdb/datafile/zl9medrec.dbf alter database rename file '+DATA/hisdb/datafile/zl9medrec.dbf' to '/rmanbak/hisdbdata/zl9medrec.dbf.267';+DATA/hisdb/datafile/zl9medday.dbf alter database rename file '+DATA/hisdb/datafile/zl9medday.dbf' to '/rmanbak/hisdbdata/zl9medday.dbf.268';+DATA/hisdb/datafile/zl9indexmdr.dbf alter database rename file '+DATA/hisdb/datafile/zl9indexmdr.dbf' to '/rmanbak/hisdbdata/zl9indexmdr.dbf.294';+DATA/hisdb/datafile/zl9indexcis01.dbf alter database rename file '+DATA/hisdb/datafile/zl9indexcis01.dbf' to '/rmanbak/hisdbdata/zl9indexcis01.dbf.300';+DATA/hisdb/datafile/zl9indexhis01.dbf alter database rename file '+DATA/hisdb/datafile/zl9indexhis01.dbf' to '/rmanbak/hisdbdata/zl9indexhis01.dbf.298';+DATA/hisdb/datafile/example.296.1102347651 alter database rename file '+DATA/hisdb/datafile/example.296.1102347651' to '/rmanbak/hisdbdata/EXAMPLE.296';+DATA/hisdb/datafile/rman.289.1102347651 alter database rename file '+DATA/hisdb/datafile/rman.289.1102347651' to '/rmanbak/hisdbdata/RMAN.289';NAME--------------------------------------------------------------------------------+DATA/hisdb/datafile/zlpacsbasetab.dbf alter database rename file '+DATA/hisdb/datafile/zlpacsbasetab.dbf' to '/rmanbak/hisdbdata/zlpacsbasetab.dbf.332';+DATA/hisdb/datafile/zlpacsbaseindex.dbf alter database rename file '+DATA/hisdb/datafile/zlpacsbaseindex.dbf' to '/rmanbak/hisdbdata/zlpacsbaseindex.dbf.276';+DATA/hisdb/datafile/zlpacsbiztab.dbf alter database rename file '+DATA/hisdb/datafile/zlpacsbiztab.dbf' to '/rmanbak/hisdbdata/zlpacsbiztab.dbf.287';+DATA/hisdb/datafile/zlpacsbizindex.dbf alter database rename file '+DATA/hisdb/datafile/zlpacsbizindex.dbf' to '/rmanbak/hisdbdata/zlpacsbizindex.dbf.328';+DATA/hisdb/datafile/zlpacsbizxml.dbf alter database rename file '+DATA/hisdb/datafile/zlpacsbizxml.dbf' to '/rmanbak/hisdbdata/zlpacsbizxml.dbf.336';+DATA/hisdb/datafile/zlmsgdata.dbf alter database rename file '+DATA/hisdb/datafile/zlmsgdata.dbf' to '/rmanbak/hisdbdata/zlmsgdata.dbf.329';+DATA/hisdb/datafile/zl9indexcis02.dbf alter database rename file '+DATA/hisdb/datafile/zl9indexcis02.dbf' to '/rmanbak/hisdbdata/zl9indexcis02.dbf.273';+DATA/hisdb/datafile/zl9cisrec01.dbf alter database rename file '+DATA/hisdb/datafile/zl9cisrec01.dbf' to '/rmanbak/hisdbdata/zl9cisrec01.dbf.280';+DATA/hisdb/datafile/zl9expense01.dbf alter database rename file '+DATA/hisdb/datafile/zl9expense01.dbf ' to '/rmanbak/hisdbdata/zl9expense01.dbf.303'; 《》+DATA/hisdb/datafile/zl9eprdat01.dbf alter database rename file '+DATA/hisdb/datafile/zl9eprdat01.dbf' to '/rmanbak/hisdbdata/zl9eprdat01.dbf.284';+DATA/hisdb/datafile/zlmlog.dbf alter database rename file '+DATA/hisdb/datafile/zlmlog.dbf ' to '/rmanbak/hisdbdata/zlmlog.dbf.262'; 《》NAME--------------------------------------------------------------------------------+DATA/hisdb/datafile/zlmlog01.dbf alter database rename file '+DATA/hisdb/datafile/zlmlog01.dbf' to '/rmanbak/hisdbdata/zlmlog01.dbf.265';+DATA/hisdb/datafile/zl9indexhis02.dbf alter database rename file '+DATA/hisdb/datafile/zl9indexhis02.dbf' to '/rmanbak/hisdbdata/zl9indexhis02.dbf.290';+DATA/hisdb/datafile/zl9indexcis03.dbf alter database rename file '+DATA/hisdb/datafile/zl9indexcis03.dbf' to '/rmanbak/hisdbdata/zl9indexcis03.dbf.261';+DATA/hisdb/datafile/undotbs2 alter database rename file '+DATA/hisdb/datafile/undotbs2' to '/rmanbak/hisdbdata/undotbs2.297';+DATA/hisdb/datafile/zl9expense02.dbf alter database rename file '+DATA/hisdb/datafile/zl9expense02.dbf' to '/rmanbak/hisdbdata/zl9expense02.dbf.344';+DATA/hisdb/datafile/vinterfacedata.dbf alter database rename file '+DATA/hisdb/datafile/vinterfacedata.dbf' to '/rmanbak/hisdbdata/VINTERFACEDATA.DBF.345';+DATA/hisdb/datafile/zlmlog03.dbf alter database rename file '+DATA/hisdb/datafile/zlmlog03.dbf' to '/rmanbak/hisdbdata/zlmlog03.dbf.346';+DATA/hisdb/datafile/users01.dbf alter database rename file '+DATA/hisdb/datafile/users01.dbf' to '/rmanbak/hisdbdata/users01.dbf.347';+DATA/hisdb/datafile/zl9indexcis04.dbf alter database rename file '+DATA/hisdb/datafile/zl9indexcis04.dbf' to '/rmanbak/hisdbdata/zl9indexcis04.dbf.348';+DATA/hisdb/datafile/zl9indexhis03.dbf alter database rename file '+DATA/hisdb/datafile/zl9indexhis03.dbf' to '/rmanbak/hisdbdata/zl9indexhis03.dbf.349';+DATA/hisdb/datafile/zlmlog04.dbf alter database rename file '+DATA/hisdb/datafile/zlmlog04.dbf' to '/rmanbak/hisdbdata/zlmlog04.dbf.350';col file# for 999col name for a60select file#,name from v$datafile order by 2;-----------------------------------------------------------------------------+DATA/hisdb/datafile/zl9expense01.dbf alter database rename file '+DATA/hisdb/datafile/zl9expense01.dbf' to '/rmanbak/hisdbdata/zl9expense01.dbf.303'; 《》+DATA/hisdb/datafile/zlmlog.dbf alter database rename file '+DATA/hisdb/datafile/zlmlog.dbf' to '/rmanbak/hisdbdata/zlmlog.dbf.262'; 《》select checkpoint_change#,file# from v$datafile_header; --看文件头检查点是否一致;如果一致说明是一批文件,如果跨度大,检查文件是否reneme错误;也可以通过我之前的bbed批量去扫这些文件头,获取resetlogs和上一次resetlogs以及scn信息;SQL> select group#,thread# from v$Log;GROUP# THREAD#---------- ----------11 112 113 114 121 222 223 224 2col group# for 9999col member for a60select group#,member from v$logfile;GROUP# MEMBER------ ------------------------------------------------------------14 +DATA/hisdb/onlinelog/group_14.341.1102374877 alter database rename file '+DATA/hisdb/onlinelog/group_14.341.1102374877' to '/rmanbak/hisdbdata/log/group_14.341';14 +ARCH/hisdb/onlinelog/group_14.440.1102374877 alter database rename file '+ARCH/hisdb/onlinelog/group_14.440.1102374877' to '/rmanbak/hisdbdata/log/group_14.440';13 +DATA/hisdb/onlinelog/group_13.340.1102374877 alter database rename file '+DATA/hisdb/onlinelog/group_13.340.1102374877' to '/rmanbak/hisdbdata/log/group_13.340';13 +ARCH/hisdb/onlinelog/group_13.446.1102374877 alter database rename file '+ARCH/hisdb/onlinelog/group_13.446.1102374877' to '/rmanbak/hisdbdata/log/group_13.446';12 +DATA/hisdb/onlinelog/group_12.339.1102374875 alter database rename file '+DATA/hisdb/onlinelog/group_12.339.1102374875' to '/rmanbak/hisdbdata/log/group_12.339';12 +ARCH/hisdb/onlinelog/group_12.453.1102374875 alter database rename file '+ARCH/hisdb/onlinelog/group_12.453.1102374875' to '/rmanbak/hisdbdata/log/group_12.453';11 +DATA/hisdb/onlinelog/group_11.338.1102374875 alter database rename file '+DATA/hisdb/onlinelog/group_11.338.1102374875' to '/rmanbak/hisdbdata/log/group_11.338';11 +ARCH/hisdb/onlinelog/group_11.437.1102374875 alter database rename file '+ARCH/hisdb/onlinelog/group_11.437.1102374875' to '/rmanbak/hisdbdata/log/group_11.437';21 +DATA/hisdb/onlinelog/redo21.log alter database rename file '+DATA/hisdb/onlinelog/redo21.log' to '/rmanbak/hisdbdata/log/redo21.log.279';22 +DATA/hisdb/onlinelog/redo22.log alter database rename file '+DATA/hisdb/onlinelog/redo22.log' to '/rmanbak/hisdbdata/log/redo22.log.285';23 +DATA/hisdb/onlinelog/redo23.log alter database rename file '+DATA/hisdb/onlinelog/redo23.log' to '/rmanbak/hisdbdata/log/redo23.log.309';GROUP# MEMBER------ ------------------------------------------------------------24 +DATA/hisdb/onlinelog/redo24.log alter database rename file '+DATA/hisdb/onlinelog/redo24.log' to '/rmanbak/hisdbdata/log/redo24.log.293';21 +ARCH/hisdb/onlinelog/redo21.log alter database rename file '+ARCH/hisdb/onlinelog/redo21.log' to '/rmanbak/hisdbdata/log/redo21.log.3272';22 +ARCH/hisdb/onlinelog/group_22.3315.1102935729 alter database rename file '+ARCH/hisdb/onlinelog/group_22.3315.1102935729' to '/rmanbak/hisdbdata/log/group_22.3315';23 +ARCH/hisdb/onlinelog/group_23.3320.1102935821 alter database rename file '+ARCH/hisdb/onlinelog/group_23.3320.1102935821' to '/rmanbak/hisdbdata/log/group_23.3320';24 +ARCH/hisdb/onlinelog/group_24.3321.1102935825 alter database rename file '+ARCH/hisdb/onlinelog/group_24.3321.1102935825' to '/rmanbak/hisdbdata/log/group_24.3321';1 +DATA/hisdb/onlinelog/group_1.351.1142801175 --这里我没处理standby,因为不需要2 +DATA/hisdb/onlinelog/group_2.352.11428011753 +DATA/hisdb/onlinelog/group_3.353.11428011754 +DATA/hisdb/onlinelog/group_4.354.11428011775 +DATA/hisdb/onlinelog/group_5.355.11428011856 +DATA/hisdb/onlinelog/group_6.356.1142801185GROUP# MEMBER------ ------------------------------------------------------------7 +DATA/hisdb/onlinelog/group_7.357.11428011858 +DATA/hisdb/onlinelog/group_8.358.114280118524 rows selected.SQL> select name from v$tempfile;NAME------------------------------------------------------------+DATA/hisdb/tempfile/temp.342.1102374881 alter database rename file '+DATA/hisdb/tempfile/temp.342.1102374881' to '/rmanbak/hisdbdata/TEMP.342';+DATA/hisdb/datafile/zltoolstmp.dbf alter database rename file '+DATA/hisdb/datafile/zltoolstmp.dbf' to '/rmanbak/hisdbdata/zltoolstmp.dbf.343';SQL> alter database open;ORA-38760: This database instance failedtoturnonflashback database--通过查看闪回区,发现同事在升级时候创建了3个快照,但是现在asm磁盘组由无法读取,闪回日志就无法读取。--通过drop restore point xxx,失败;--关闭数据库闪回再开库还是无法解决;--于是通过重建控制文件方式将数据库进行 open;STARTUP NOMOUNTCREATE CONTROLFILE REUSE DATABASE "HISDB" NORESETLOGS FORCE LOGGING ARCHIVELOGMAXLOGFILES 192MAXLOGMEMBERS 3MAXDATAFILES 1024MAXINSTANCES 32MAXLOGHISTORY 9344LOGFILEGROUP 11 ('/rmanbak/hisdbdata/log/group_11.338','/rmanbak/hisdbdata/log/group_11.437') SIZE 200M BLOCKSIZE 512,GROUP 12 ('/rmanbak/hisdbdata/log/group_12.339','/rmanbak/hisdbdata/log/group_12.453') SIZE 200M BLOCKSIZE 512,GROUP 13 ('/rmanbak/hisdbdata/log/group_13.340','/rmanbak/hisdbdata/log/group_13.446') SIZE 200M BLOCKSIZE 512,GROUP 14 ('/rmanbak/hisdbdata/log/group_14.341','/rmanbak/hisdbdata/log/group_14.440') SIZE 200M BLOCKSIZE 512,GROUP 21 ('/rmanbak/hisdbdata/log/redo21.log.279','/rmanbak/hisdbdata/log/redo21.log.3272') SIZE 200M BLOCKSIZE 512,GROUP 22 ('/rmanbak/hisdbdata/log/redo22.log.285','/rmanbak/hisdbdata/log/group_22.3315') SIZE 200M BLOCKSIZE 512,GROUP 23 ('/rmanbak/hisdbdata/log/redo23.log.309','/rmanbak/hisdbdata/log/group_23.3320') SIZE 200M BLOCKSIZE 512,GROUP 24 ('/rmanbak/hisdbdata/log/redo24.log.293','/rmanbak/hisdbdata/log/group_24.3321') SIZE 200M BLOCKSIZE 512DATAFILE'/rmanbak/hisdbdata/SYSTEM.307','/rmanbak/hisdbdata/SYSAUX.312','/rmanbak/hisdbdata/UNDOTBS1.258','/rmanbak/hisdbdata/USERS.259','/rmanbak/hisdbdata/zlmlog02.dbf.264','/rmanbak/hisdbdata/zltoolstbs.dbf.299','/rmanbak/hisdbdata/zl9baseitem.dbf.314','/rmanbak/hisdbdata/zl9patient.dbf.274','/rmanbak/hisdbdata/zl9expense.dbf.301','/rmanbak/hisdbdata/zl9medlst.dbf.313','/rmanbak/hisdbdata/zl9duerec.dbf.291','/rmanbak/hisdbdata/zl9cisrec.dbf.308','/rmanbak/hisdbdata/zl9eprlob.dbf.305','/rmanbak/hisdbdata/zl9eprdat.dbf.311','/rmanbak/hisdbdata/zl9cisaudit.dbf.333','/rmanbak/hisdbdata/zl9indexhis.dbf.269','/rmanbak/hisdbdata/zl9indexcis.dbf.282','/rmanbak/hisdbdata/zlbak2011.dbf.330','/rmanbak/hisdbdata/zl9devbase.dbf.331','/rmanbak/hisdbdata/zl9devrec.dbf.275','/rmanbak/hisdbdata/zl9devuse.dbf.334','/rmanbak/hisdbdata/zl9indexdev.dbf.302','/rmanbak/hisdbdata/zl9mtlbase.dbf.337','/rmanbak/hisdbdata/zl9mtlrec.dbf.306','/rmanbak/hisdbdata/zl9indexmtl.dbf.335','/rmanbak/hisdbdata/zl9medbase.dbf.256','/rmanbak/hisdbdata/zl9medrec.dbf.267','/rmanbak/hisdbdata/zl9medday.dbf.268','/rmanbak/hisdbdata/zl9indexmdr.dbf.294','/rmanbak/hisdbdata/zl9indexcis01.dbf.300','/rmanbak/hisdbdata/zl9indexhis01.dbf.298','/rmanbak/hisdbdata/EXAMPLE.296','/rmanbak/hisdbdata/RMAN.289','/rmanbak/hisdbdata/zlpacsbasetab.dbf.332','/rmanbak/hisdbdata/zlpacsbaseindex.dbf.276','/rmanbak/hisdbdata/zlpacsbiztab.dbf.287','/rmanbak/hisdbdata/zlpacsbizindex.dbf.328','/rmanbak/hisdbdata/zlpacsbizxml.dbf.336','/rmanbak/hisdbdata/zlmsgdata.dbf.329','/rmanbak/hisdbdata/zl9indexcis02.dbf.273','/rmanbak/hisdbdata/zl9cisrec01.dbf.280','/rmanbak/hisdbdata/zl9expense01.dbf.303','/rmanbak/hisdbdata/zl9eprdat01.dbf.284','/rmanbak/hisdbdata/zlmlog.dbf.262','/rmanbak/hisdbdata/zlmlog01.dbf.265','/rmanbak/hisdbdata/zl9indexhis02.dbf.290','/rmanbak/hisdbdata/zl9indexcis03.dbf.261','/rmanbak/hisdbdata/undotbs2.297','/rmanbak/hisdbdata/zl9expense02.dbf.344','/rmanbak/hisdbdata/VINTERFACEDATA.DBF.345','/rmanbak/hisdbdata/zlmlog03.dbf.346','/rmanbak/hisdbdata/users01.dbf.347','/rmanbak/hisdbdata/zl9indexcis04.dbf.348','/rmanbak/hisdbdata/zl9indexhis03.dbf.349','/rmanbak/hisdbdata/zlmlog04.dbf.350'CHARACTER SET ZHS16GBK;RECOVER DATABASE;ALTER DATABASE OPEN;ALTER TABLESPACE TEMP ADD TEMPFILE '/rmanbak/hisdbdata/TEMP.342' REUSE autoextend on;ALTER TABLESPACE ZLTOOLSTMP ADD TEMPFILE '/rmanbak/hisdbdata/zltoolstmp.dbf.343' REUSE autoextend on;--接着就是netca,修改/etc/hosts和网卡重启恢复了业务;
3、总结
整个过程处理下来还是比较耗费精力,事后回想如果不抽数据怎么恢复呢?因为这个用户的环境确实不太熟悉,加上周一还没进入状态、业务全部停摆等各种压力,心里想得是尽快恢复业务;选择了这种方式;
事后通过回想加测试,我找到了问题,用户使用的是多路径,然后做的裸设备,同事在做升级的时候修改了一个参数asm_diskstring【alter system set asm_diskstring='/dev/dm-*,/dev/raw/raw*'】导致cssd进程无法启动;dm和raw都指向相同磁盘组磁盘,以下是我大致测试过程:
1、gpnp位置:($GRID_HOME/gpnp/<hostname>/profiles/peer/profile.xml).2、不支持手动修改gpnp profile.xml3、每当通过“alter system”命令修改 ASM 实例参数“asm_diskstring”时,全局即插即用配置文件都会自动更新。1)修改asm_diskstring为错误的值sqlplus / as sysasmSQL> alter system set asm_diskstring='BAD*' scope=spfile;当发出以下命令后,集群中所有的profile.xml都会进行更新;[grid@hisdb01 peer]$ gpnptool get<orcl:ASM-Profile id="asm" DiscoveryString="BAD*" SPFile="+SYSTEMDG/hisdb-cluster/asmparameterfile/registry.253.1030192111"/>文件配置文件中的发现字符串.xml将变为:DiscoveryString="BAD*"2)下次重新启动 CRS 堆栈时ps -ef | grep d.bin | awk '{print $2}' | xargs kill -9ps -ef |grep /u01| awk '{print $2}' | xargs kill -9--ocssd.log 将显示以下错误,并且启动将失败:[root@hisdb01 cssd]# pwd/u01/app/11.2.0/grid/log/hisdb01/cssd...2023-08-28 22:41:08.581: [ GPNP][1844926208]clsgpnp_profileCallUrlInt: [at clsgpnp.c:2104] get-profile call to url "ipc://GPNPD_hisdb01" disco "" [f=0 claimed- host: cname: seq: auth:]2023-08-28 22:41:08.584: [ GPNP][1844926208]clsgpnp_profileCallUrlInt: [at clsgpnp.c:2234] Result: (0) CLSGPNP_OK. Successful get-profile CALL to remote "ipc://GPNPD_hisdb01" disco ""2023-08-28 22:41:08.584: [ CSSD][1844926208]clssnmReadDiscoveryProfile: voting file discovery string(BAD*)2023-08-28 22:41:08.584: [ CSSD][1844926208]clssnmvDDiscThread: using discovery string BAD* for initial discovery2023-08-28 22:41:08.584: [ SKGFD][1844926208]Discovery with str:BAD*:2023-08-28 22:41:08.584: [ SKGFD][1844926208]UFS discovery with :BAD*:2023-08-28 22:41:08.584: [ SKGFD][1844926208]Execute glob on the string /u01/app/11.2.0/grid/dbs/BAD*2023-08-28 22:41:08.584: [ SKGFD][1844926208]OSS discovery with :BAD*:2023-08-28 22:41:08.584: [ CSSD][1844926208]clssnmvDiskVerify: Successful discovery of 0 disks2023-08-28 22:41:08.584: [ CSSD][1844926208]clssnmCompleteInitVFDiscovery: Completing initial voting file discovery...3)杀掉进程,重启crs独占模式,重建asm参数文件ps -ef | grep d.bin | awk '{print $2}' | xargs kill -9ps -ef |grep /u01| awk '{print $2}' | xargs kill -9【root用户执行以下脚本】11.2.0.1执行:$GRID_HOME/bin/crsctl start crs -excl11.2.0.2以上执行:$GRID_HOME/bin/crsctl start crs -excl -nocrs[root@hisdb01 ~]# crsctl start crs -excl -nocrsCRS-4123: Oracle High Availability Services has been started.CRS-2672: Attempting to start 'ora.mdnsd' on 'hisdb01'CRS-2676: Start of 'ora.mdnsd' on 'hisdb01' succeededCRS-2672: Attempting to start 'ora.gpnpd' on 'hisdb01'CRS-2676: Start of 'ora.gpnpd' on 'hisdb01' succeededCRS-2672: Attempting to start 'ora.cssdmonitor' on 'hisdb01'CRS-2672: Attempting to start 'ora.gipcd' on 'hisdb01'CRS-2676: Start of 'ora.cssdmonitor' on 'hisdb01' succeededCRS-2676: Start of 'ora.gipcd' on 'hisdb01' succeededCRS-2672: Attempting to start 'ora.cssd' on 'hisdb01'CRS-2672: Attempting to start 'ora.diskmon' on 'hisdb01'CRS-2676: Start of 'ora.diskmon' on 'hisdb01' succeededCRS-2676: Start of 'ora.cssd' on 'hisdb01' succeededCRS-2679: Attempting to clean 'ora.cluster_interconnect.haip' on 'hisdb01'CRS-2672: Attempting to start 'ora.ctssd' on 'hisdb01'CRS-2681: Clean of 'ora.cluster_interconnect.haip' on 'hisdb01' succeededCRS-2672: Attempting to start 'ora.cluster_interconnect.haip' on 'hisdb01'CRS-2676: Start of 'ora.ctssd' on 'hisdb01' succeededCRS-2676: Start of 'ora.cluster_interconnect.haip' on 'hisdb01' succeededCRS-2672: Attempting to start 'ora.asm' on 'hisdb01'CRS-2676: Start of 'ora.asm' on 'hisdb01' succeeded[root@hisdb01 ~]# crsctl stat res -t -init--------------------------------------------------------------------------------NAME TARGET STATE SERVER STATE_DETAILS--------------------------------------------------------------------------------Cluster Resources--------------------------------------------------------------------------------ora.asm1 ONLINE INTERMEDIATE hisdb01 OCR not startedora.cluster_interconnect.haip1 ONLINE ONLINE hisdb01ora.crf1 OFFLINE OFFLINEora.crsd1 OFFLINE OFFLINEora.cssd1 ONLINE ONLINE hisdb01ora.cssdmonitor1 ONLINE ONLINE hisdb01ora.ctssd1 ONLINE ONLINE hisdb01 ACTIVE:0ora.diskmon1 OFFLINE OFFLINEora.evmd1 OFFLINE OFFLINEora.gipcd1 ONLINE ONLINE hisdb01ora.gpnpd1 ONLINE ONLINE hisdb01ora.mdnsd1 ONLINE ONLINE hisdb01从alert_+ASM<x>.log 里面提取初始化参数:--注意asm磁盘的权限,可以移除asm_disksting参数4)创建一个pfile,然后启动pfile【grid用户执行以下脚本】[grid@hisdb01 ~]$ vi /tmp/initasm.txt*.asm_diskstring='/dev/asm*'*.asm_power_limit=1*.instance_type='asm'*.large_pool_size=12M*.remote_login_passwordfile='EXCLUSIVE'注意:必须正确写上asm_diskstring,不然mount不了磁盘组:###########ORA-15032: not all alterations performedORA-15017: diskgroup "SYSTEMDG" cannot be mountedORA-15040: diskgroup is incompleteSQL> alter diskgroup systemdg mount;alter diskgroup systemdg mount*ERROR at line 1:ORA-15032: not all alterations performedORA-15017: diskgroup "SYSTEMDG" cannot be mountedORA-15040: diskgroup is incomplete###########[grid@hisdb01 ~]$ sqlplus / as sysasmSQL*Plus: Release 11.2.0.4.0 Production on Mon Aug 28 23:16:43 2023Copyright (c) 1982, 2013, Oracle. All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit ProductionWith the Real Application Clusters and Automatic Storage Management optionsSQL> select status from v$instance;STATUS------------------------STARTEDSQL> shutdown abortASM instance shutdownSQL> startup pfile='/tmp/initasm.txt';ASM instance startedTotal System Global Area 1135747072 bytesFixed Size 2260728 bytesVariable Size 1108320520 bytesASM Cache 25165824 bytesASM diskgroups mountedSQL> create spfile='+SYSTEMDG' from pfile='/tmp/initasm.txt';File created.5)执行完成后,检查profile.xml是否更新($GRID_HOME/gpnp/<hostname>/profiles/peer/profile.xml).[grid@hisdb01 ~]$ gpnptool get<orcl:ASM-Profile id="asm" DiscoveryString="/dev/asm*" SPFile="+SYSTEMDG/hisdb-cluster/asmparameterfile/registry.253.1146094277"/>--[grid@hisdb01 ~]$ tail -200f /u01/app/grid/diag/asm/+asm/+ASM1/trace/alert_+ASM1.logNOTE: updated gpnp profile ASM SPFILE toNOTE: updated gpnp profile ASM diskstring: /dev/asm*NOTE: updated gpnp profile ASM diskstring: /dev/asm*NOTE: updated gpnp profile ASM SPFILE to +SYSTEMDG/hisdb-cluster/asmparameterfile/registry.253.11460942776)替换voting disk到这个磁盘组[grid@hisdb01 peer]$ crsctl query css votediskLocated 0 voting disk(s).[grid@hisdb01 peer]$ crsctl replace votedisk +SYSTEMDGSuccessful addition of voting disk fa64bb86fec94ff3bfe9820420289199.Successful addition of voting disk d800a5435c7b4f18bff39264ef07f422.Successful addition of voting disk e849a0be17174f5cbf94db10d3021007.Successfully replaced voting disk group with +SYSTEMDG.CRS-4266: Voting file(s) successfully replaced[grid@hisdb01 peer]$ crsctl query css votedisk## STATE File Universal Id File Name Disk group-- ----- ----------------- --------- ---------1. ONLINE fa64bb86fec94ff3bfe9820420289199 (/dev/asmdisk1) [SYSTEMDG]2. ONLINE d800a5435c7b4f18bff39264ef07f422 (/dev/asmdisk2) [SYSTEMDG]3. ONLINE e849a0be17174f5cbf94db10d3021007 (/dev/asmdisk3) [SYSTEMDG]Located 3 voting disk(s).7)以root用户身份停止并重新启动 CRS:# $GRID_HOME/bin/crsctl stop crs -f# $GRID_HOME/bin/crsctl start crs8)以root用户身份在其余集群节点上启动 CRS:# $GRID_HOME/bin/crsctl start crs
人生难免遇上很多选择,每个命令的返回或者每个日志的输出再加上各种环境都可能影响你的判断,一旦选择了一条路走,再尝试另外的路就需要付出更多的时间和命令去弥补;选择没有对与错,只要能迎头直上不退缩,问题终将是会迎刃而解。




