1753380 Members
5687 Online
108792 Solutions
New Discussion юеВ

Re: ora-01157

 
dngaya
Advisor

ora-01157

hello,
I have a base of data 7.3.4 installed on HP 10, when I have to stop the database and by wanting the restart, I receive the error message according to:

01157, 00000, "cannot identify data file %s - file not found"
// *Cause: The background process was not able to find one of the data files.
// The database will prohibit access to this file but other files will
// be unaffected. However the first instance to open the database will
// need to access all online data files. Accompanying error from the
// operating system describes why file was not found.
// *Action: Have operating system make file available to database. Then either
// open the database or do ALTER SYSTEM CHECK DATAFILES.

how to make for to resolve it?.
thank you for your assistance.
17 REPLIES 17
Graham Cameron_1
Honored Contributor

Re: ora-01157

The answer is in the error message. One of the data files is missing, or the permissions don't allow oracle to read/write it.

You need to restore the missing data file from backup. If you don't have a backup you are in trouble, this is a very old version of Oracle and you won't get very good support.

I think you can see the data files by running the following query from svrmgrl (connect internal)

SELECT FILE_NAME, STATUS
FROM DBA_DATA_FILES ;

Check each one is there and with correct permissions.

-- Graham
Computers make it easier to do a lot of things, but most of the things they make it easier to do don't need to be done.
dngaya
Advisor

Re: ora-01157

hello,
i cannot to restart my database and i cannot to do this command:
SELECT FILE_NAME, STATUS
FROM DBA_DATA_FILES ;
but i can to start the database until the mount step and when i do the command alter database oppen; i receive the oracle error follow:

ORA-01157: cannot identify data file 1 - file not found
ORA-01110: data file 1: ''
thank for your assistance.


Jean-Luc Oudart
Honored Contributor

Re: ora-01157

If you can startup mount the database,

list yuor datafiles with :

select * from v$datafile;

Regards,
Jean-Luc
fiat lux
John Palmer
Honored Contributor

Re: ora-01157

Have you possibly got a filesystem that has been unmounted or failed to mount?

If you can't start the database, you can extract filenames from one of the Oracle controlfiles. Try the following:-

First find the name of a controlfile...
cd $ORACLE_HOME/dbs
more init.ora

Look for a line like
control_files = (/xxx/yyy/zzzz...

Pick one of the controlfiles and do:

strings | more

You should be able to identify the names of your datafiles.

You then need to find out why they aren't available and either make them so or recover from a backup.

Regards,
John
dngaya
Advisor

Re: ora-01157

hello,
when i do the command select * from v$datafile in mount step, i receive o rows.
dngaya
Advisor

Re: ora-01157

hello john palmer,
when i try to do your command follow:
strings '/data/ora_bd.DTWPRD/CTL/dtw_ctl_001.dbf'|more
i receive the result follow:
DTWPRD:/home/dbaora/app/oracle/product/7.3.4
cDTWPRD
cDTWPRD
DTWPRD
DTWPRD
what is mean?.
Jean-Luc Oudart
Honored Contributor

Re: ora-01157

Well,

try your controlfiles :
select * from v$controlfile;

This should return the control files and status.

Regards,
Jean-Luc
fiat lux
dngaya
Advisor

Re: ora-01157

hello,
when i do the command line follow:
select * from v$controlfile;
i received the result abov:
STATUS NAME
------- --------------------------------------------------------------------------------
/data/ora_bd.DTWPRD/CTL/dtw_ctl_001.dbf
/data/ora_bd.DTWPRD/CTL/dtw_ctl_002.dbf
2 rows selected.
Tomek Gryszkiewicz
Trusted Contributor

Re: ora-01157

I am afraid something is wrong with you control files: you can try to recreate it, but you have to know the location of every single datafile in the database.

-Tomek