|
|
前因:主库增加了磁盘,文件移位,备库无法识别新文件,仍在接收日志但是无法应用。
SQL> startup;
ORACLE instance started.
Total System Global Area 2.5655E+10 bytes
Fixed Size 2265224 bytes
Variable Size 3422556024 bytes
Database Buffers 2.2213E+10 bytes
Redo Buffers 16896000 bytes
select open_mode from v$database;
Database mounted.
ORA-10458: standby database requires recovery
ORA-01157: cannot identify/lock data file 63 - see DBWR trace file
ORA-01111: name for data file 63 is unknown - rename to correct file
ORA-01110: data file 63:
'/u01/app/oracle/product/11.2.0/dbhome_1/dbs/UNNAMED00063'
处理:
--1 确认备库状态:
SQL> select open_mode from v$database;
OPEN_MODE
--------------------
MOUNTED
--2 检查出错文件:
SQL> SELECT FILE#, NAME, TS#, STATUS FROM V$DATAFILE WHERE FILE# = 63;
FILE#
----------
NAME
--------------------------------------------------------------------------------
TS# STATUS
---------- -------
63
/u01/app/oracle/product/11.2.0/dbhome_1/dbs/UNNAMED00063
11 RECOVER
#备库无法识别该文件真名,需要在主库上查询。
SQL> SELECT FILE#, NAME, TS#, STATUS FROM V$DATAFILE WHERE FILE# = 63;
#得知该文件为undotbs2.dbf;且备库上不存在该文件。
#因此需要先进行文件恢复。
--3 备库恢复文件
$ rman target /
RMAN> RESTORE DATAFILE 63;
#恢复完成后,需在数据库中重命名该文件。
--4 备库文件重命名
#注意:rename操作,需在备库先改手动模式,重命名之后再改回
SQL> alter system set STANDBY_FILE_MANAGEMENT=manual;
SQL> ALTER DATABASE RENAME FILE '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/UNNAMED00063' to '/data/yuanqi/undotbs02.dbf';
SQL> alter system set STANDBY_FILE_MANAGEMENT=auto;
--5 开启备库,并开始实时应用日志
SQL> alter database open;
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
SQL> select name,open_mode,database_role,switchover_status from v$database;
NAME OPEN_MODE DATABASE_ROLE SWITCHOVER_STATUS
--------- -------------------- ---------------- --------------------
YUANQI READ ONLY WITH APPLY PHYSICAL STANDBY NOT ALLOWED
#备库恢复实时同步状态。
|
|