I face with that problem on one of my customer’s database. They called me for database not running and can not be up. Customer Db version is 12c and its running on Windows Server.

When I try to open database it hit below errors and database instance became crash

alter database open
Wed Jul 20 11:16:30 2022
Errors in file \xx\orcl\orcl\trace\orcl_dbw0_2496.trc:
ORA-01157: cannot identify/lock data file 7 – see DBWR trace file
ORA-01110: data file 7: ‘E:\ORACLEDATA\STOCK_2021.DBF’
ORA-27041: unable to open file
OSD-04002: unable to open file
O/S-Error: (OS 1392) The file or directory is corrupted and unreadable.
Wed Jul 20 11:16:34 2022
Errors in file \xx\orcl\orcl\trace\orcl_m000_2520.trc (incident=783779):
ORA-00600: internal error code, arguments: [kcidr_io_check_common_6], [4], [E:\ORACLEDATA\STOCK_2021.DBF], [8192], [2], [12], [], [], [], [], [], []
ORA-27046: file size is not a multiple of logical block size
OSD-04000: logical block size mismatch (OS 8192)
ORA-01122: database file 12 failed verification check
ORA-01110: data file 12: ‘E:\ORACLEDATA\STOCK_2022.DBF’
ORA-01565: error in identifying file ‘E:\ORACLEDATA\STOCK_2022.DBF’
ORA-27046: file size is not a multiple of logical block size

So how we can solve this problem?

Here is the steps about how you can up your database

Step 1:
Check windows user’s permission on files

If all files has correct permission check steps 2

Step 2:
If you database running on noarchive mode(In my case its in that state) you need to restore all database file or use rman utulities and restore&recover you database.

Steps 3:
If your dbf file or tablespace can be drop than you can drop it and recreate it after your database became open state.