一、简要介绍
Oracle 版本 11.2.0.3,Linux环境,2个节点的Oracle DataGuard环境,StandBy节点以Read Only模式打开,已经运行许多天没有出现问题,今天在主库为某个表空间增加了一个数据文件后,在日志文件中出现如下信息提示:
-
Read of datafile '/data/oracle_data/ORCL/temp01.dbf' (fno 201) header failed with ORA-01203
-
Rereading datafile 201 header failed with ORA-01203
-
Errors in file /u01/app/oracle/diag/rdbms/phis_ty_dg2/ORCL/trace/ORCL_dbw0_18157.trc:
-
ORA-01186: file 201 failed verification tests
-
ORA-01122: database file 201 failed verification check
-
ORA-01110: data file 201: '/data/oracle_data/ORCL/temp01.dbf'
-
ORA-01203: wrong incarnation of this file - wrong creation SCN
- File 201 not verified due to error ORA-01122
-
SYS@ORCL> select * from dba_temp_files;
-
select * from dba_temp_files
-
*
-
ERROR at line 1:
-
ORA-01187: cannot read from file because it failed verification tests
- ORA-01110: data file 201: '/data/oracle_data/ORCL/temp01.dbf'
二、具体操作步骤
停止了StandBy节点与主库的同步,将数据库重新启动到Mount阶段,本打算重新创建新的临时表空间的,但是最发现在Mount阶段是无法创建表空间的
然后我在Mount阶段删除了有问题的数据文件,然后想再添加一个新的数据文件,但是还是不能添加数据文件,最后我发现在ReadOnly模式下是可以添加临时表空间数据文件的。具体的操作如下:
1、在Mount阶段删除了有问题的数据文件,在ReadOnly模式下也应该可以删除
-
SYS@ORCL> alter database tempfile '/data/oracle_data/ORCL/temp01.dbf' drop;
-
- Database altered.
2、将数据库切换至ReadOnly模式
-
SYS@ORCL> alter database open read only;
-
- Database altered.
3、为临时表空间添加新的数据文件
-
YS@ORCL> alter tablespace temp add tempfile '/data/oracle_data/ORCL/temp01.dbf' size 30M reuse;
-
- ablespace altered.
4、确认临时表空间数据文件
-
SYS@ORCL> select * from dba_temp_files;
-
-
FILE_NAME
-
--------------------------------------------------------------------------------
-
FILE_ID TABLESPACE_NAME BYTES BLOCKS STATUS
-
---------- ------------------------------ ---------- ---------- -------
-
RELATIVE_FNO AUT MAXBYTES MAXBLOCKS INCREMENT_BY USER_BYTES USER_BLOCKS
-
------------ --- ---------- ---------- ------------ ---------- -----------
-
/data/oracle_data/ORCL/temp01.dbf
-
1 TEMP 31457280 3840 ONLINE
-
1 NO 0 0 0 30408704 3712
-
-
/data/oracle_data/ORCL/temp02.dbf
-
2 TEMP 5368709120 655360 ONLINE
- 2 YES 3.4360E+10 4194302 1 5367660544 655232
5、重新启动数据同步
- alter database recover managed standby database using current logfile disconnect from session;