oracle DG问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle DG问题相关的知识,希望对你有一定的参考价值。
将备库mount修改成了最大数据保护模式,然后打开备库就出错了:
SQL> alter database open read only;
alter database open read only
*
ERROR at line 1:
ORA-10458: standby database requires recovery
ORA-01157: cannot identify/lock data file 5 - see DBWR trace file
ORA-01111: name for data file 5 is unknown - rename to correct file
ORA-01110: data file 5:
'/u01/app/oracle/product/11.2.0/dbhome_1/dbs/UNNAMED00005'
请问是什么原因? 目录下没有那个文件,应该怎么解决?
当你的数据库因为ORA-00600/ORA-07445或其他ORA-报错,或丢失关键的system表空间数据文件,或ASM diskgroup损坏时均可以考虑采用PRM-DUL来做恢复。PRM-DUL采用独创的DataBridge恢复技术,直接从数据文件中抽取数据后可以像DBLINK那样直接插入到新建数据库中,而无需数据落地成为DMP文件占用空间。 参考技术B SERVICE_NAME:服务名,就是你要连接的数据库的名字
创建表空间和用户跟这两个文件没什么关系,不用修改配置文件
pl/sql会读取tnsnames.ora文件中的配置,如果你还想从pl/sql连其它数据库,需要在tnsnames.ora文件中配置一下就行了
希望对你有帮助追问
你回答的这是什么? 不是我的问题……。
参考技术C standby database requires recovery,说明你的备库和主库没有同步需要足够的日志,recover一下,然后再open一下试试追问
是用archive来恢复吗?怎么恢复? 能给个具体的步骤吗
追答把主库的归档日志(备库没有的那些)手动copy到备库,
然后备库mount起来,
执行recover standby database
然后备库就会一个一个对copy过来的归档日志进行应用,
直到全部应用完毕,(这期间会有个像错误一样的提示,没有影响)
完毕之后再试一下能不能把数据库open起来,
有几个试图,可以查看主库备库的状态是否ok,
我之前做DBA,然后几乎每天都在搞这个东西,不过现在转行了,有好长时间不搞了,
有些东西记不起来了,现在手头也没有现成的数据库,不过希望能帮到你
oracle--DG模式备库归档缺失问题
01.问题描述
备库的归档日志没有增加,一直等待一个
查询问题:
SQL> SELECT * FROM V$ARCHIVE_GAP; THREAD# LOW_SEQUENCE# HIGH_SEQUENCE# ---------- ------------- -------------- 1 6434 6435
select name ,sequence# from v$archived_log; NAME SEQUENCE# -------------------------------------------------------------------------------- ---------- /u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6414_1000748999.dbf 6414 /u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6417_1000748999.dbf 6417 /u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6420_1000748999.dbf 6420 /u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6421_1000748999.dbf 6421 /u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6419_1000748999.dbf 6419 /u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6418_1000748999.dbf 6418 /u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6425_1000748999.dbf 6425 /u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6426_1000748999.dbf 6426 /u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6423_1000748999.dbf 6423 /u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6422_1000748999.dbf 6422 /u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6424_1000748999.dbf 6424 NAME SEQUENCE# -------------------------------------------------------------------------------- ---------- /u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6366_1000748999.dbf 6366 /u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6427_1000748999.dbf 6427 /u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6428_1000748999.dbf 6428 /u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6429_1000748999.dbf 6429 /u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6509_1000748999.dbf 6509 /u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6431_1000748999.dbf 6431 /u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6432_1000748999.dbf 6432 /u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6430_1000748999.dbf 6430 /u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6433_1000748999.dbf 6433 /u01/app/oracle/product/11.2.0/db_1/dbs/archivelog/1_6436_1000748999.dbf 6436
二,问题解决思路
01,查看本地库存不存在这个归档日志
??存在就直接手工注册上这个日志文件
手工注册:
alter database register logfile ‘ XXX‘
??如果存在也注册了但是未注册成功的话可能是归档传输过程出现了问题,重新传输然后换个路径应用归档
rman target / catalog start with ‘XXXX‘; ---注册日志
02,查看主库存不存在归档日志
??如果存在的话k拷贝到备库然后手工组测
??如果不存在的话生成基于SCN的备份集
查看备库最小的scn号: select to_char(current_scn) from v$database; select min(checkpoint_change#) from v$datafile; select min(checkpoint_change#) from v$datafile_header; 比对最小的scn 然后再备库生成基于SCn的备份集 backup as compressed backupset incremental from scn $MIN database format ‘/backup/inc_%d_%T_%s_%p‘; backup current controlfile for standby format ‘/backup/inc.ctl‘; 然后scp 传输到备库上 备库恢复备份集 shutdown abort; startup nomount; restore standby controlfile from "/backup/inc.ctl"; alter database mount; catalog start with "/backup/" NOPROMPT; shutdown immediate; startup mount; recover database; 重新开启实时应用归档 alter database recover managed standby database disconnect from session using current logfile;
以上是关于oracle DG问题的主要内容,如果未能解决你的问题,请参考以下文章