About ORA-01187: cannot read from file because it failed verification tests Handling Environment: OEL + Oracle 11.2.0.3 + physical standby Problem description: Ora-01187 error code displayed when querying dba_temp_files attempts; ORA-01187: cannot read from file because it failed verification testsORA-01110: data file 201: '/oradata/seven/temp01.dbf' reproduce the following error: SQL> select file_id, file_name, tablespace_name from dba_temp_files; select file_id, file_name, tablespace_name from dba_t Emp_files * ERROR at line 1: ORA-01187: cannot read from file because it failed verification testsORA-01110: data file 201: '/oradata/seven/temp01.dbf' oerr ora solution is: [oracle @ Seven trace] $ oerr ora 0118701187,000 00, "cannot read from file % s because it failed verification tests" // * Cause: the data file did not pass the checks to insure it is part of the // database. reads are not allowed until it is v Erified. // * Action: Make the correct file available to the database. then, either open // the database, or execute alter system check datafiles. it was preliminarily inferred that the temporary database file error was caused by the switchover of the DG last time. The solution was to re-build the temporary data file. With this question, google found that many friends encountered this problem, this problem can be solved by recreating a temporary file or reuse a temporary tablespace. However, the root cause of the problem is not found. Sorry! Let's explain my own solution: Because the error reported by the primary master database in this DG Environment compares the temp tablespace of the master and slave databases, they are all 30 mb in size, it is also in the online status. SQL> select name, bytes/1024/1024, status from v $ tempfile; NAME BYTES/1024/1024 STATUS ------------------------------ --------------- -------/oradata/seven/temp01.dbf 30 ONLINE Delete temporary files: SQL> alter database tempfile '/oradata/seven/temp01.dbf' drop; Database altered. SQL> select name, bytes/1024/1024, status from v $ tempfile; no rows selected: SQL> alter tablespace temp add tempfile '/oradata/seven/temp01.dbf' size 30 M reuse; Tablespace altered. SQL> select name, bytes/1024/1024, status from v $ tempfile; NAME BYTES/1024/1024 STATUS ------------------------------ --------------- -------/oradata/seven/temp01.dbf 30 ONLINE due to the scenario being DG Environment, therefore, it is best to keep the value of temp name and bytes consistent with that of the master and slave databases to facilitate Switchover in the future;