با قرار دادن tablespace در وضیعت read only، کماکان وجود دیتافایلهای این tablespace در زمان open شدن بانک، مورد بررسی قرار می گیرد:
SQL> alter tablespace tbs01 read only;
Tablespace altered.
SQL> shut immediate;
Database closed.
Database dismounted.
[oracle@db~]$ mv /18c/base/oradata/CDB/CDB/datafile/o1_mf_tbs01_fro24f2b_.dbf /18c/base/oradata/CDB/CDB/datafile/o1_mf_tbs01_fro24f2b_old.dbf
SQL> startup force;
ORACLE instance shut down.
ORACLE instance started.
Total System Global Area 3925867640 bytes
Fixed Size 8903800 bytes
Variable Size 1023410176 bytes
Database Buffers 2885681152 bytes
Redo Buffers 7872512 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 17 – see DBWR trace file
برای ممانعت از سخت گیری بانک در این زمینه، می توان از پارامتر read_only_open_delayed استفاده کرد که با مقداردهی این پارامتر از false به true، در دسترس بودن دیتافایلی که tablespace آن در وضیعت read only قرار دارد، چک نخواهد شد:
SQL> alter system set read_only_open_delayed=true scope=spfile;
System altered.
SQL> startup mount force;
ORACLE instance started.
Total System Global Area 3925867640 bytes
Fixed Size 8903800 bytes
Variable Size 1023410176 bytes
Database Buffers 2885681152 bytes
Redo Buffers 7872512 bytes
Database mounted.
SQL> alter database open;
Database altered.
بعد از قرار گرفتن دیتابیس در وضیعت open، خطای عدم دسترسی مربوط به دیتافایل شماره 17، در alert log مکررا مشاهده خواهد شد:
ORA-01186: file 17 failed verification tests
ORA-01157: cannot identify/lock data file 17 – see DBWR trace file