问题概述
oracle dg备库alter日志出现报错
ORA-01157: cannot identify/lock data file 201 - see DBWR trace file
ORA-01110: data file 201: '/u01/app/oracle/oradata/dgfmisdb/tempfile/temp.263.885312765'
问题原因
造成该报错的原因是DG备库上不存在该号文件,当备库有事务发生需要使用临时表空间时,数据库会发出该报错;这里我们可以通过重建临时表空间数据文件解决该问题。
解决方案
处理过程如下:
1.关闭备库mrp进程
alter database recover managed standby database cancel;
2.修改standby_file_management参数
alter system set standby_file_management=MANUAL;
3.重建数据文件
alter tablespace TEMP add tempfile '/u01/app/oracle/oradata/dgfmisdb/temp02.dbf' size 30G;
alter tablespace TEMP drop tempfile '/u01/app/oracle/oradata/dgfmisdb/tempfile/temp.263.885312765';
alter tablespace TEMP add tempfile '/u01/app/oracle/oradata/dgfmisdb/tempfile/temp.263.885312765' size 30G;
alter tablespace TEMP drop tempfile '/u01/app/oracle/oradata/dgfmisdb/temp02.dbf';
4.查询相关信息
SQL> select file_id,file_name,bytes/1024/1024 MB,status,tablespace_name from dba_temp_files;
FILE_ID
----------
FILE_NAME
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
MB STATUS TABLESPACE_NAME
---------- -------------------- ------------------------------
1
/u01/app/oracle/oradata/dgfmisdb/tempfile/temp.263.885312765
30720 ONLINE TEMP
5.恢复standby_file_management参数
alter system set standby_file_management=AUTO;
6.打开备库mrp进程
alter database recover managed standby database using current logfile disconnect from session;