Lost a datafile
Hi all
Here's the scenario:
1. Dont have a backup
2. Lost one datafile in tablespace X
3. Left with only two datafiles in tablespace X
Question:
Is there a way to recover your database in such a way that you don't lose data in the other two remaining datafiles?
Thanks in advance
Durbanite
Well maybe not look for a new job but this problem definitely tells you a great deal of things.
1. You really need to understand Backup and Recovery Concepts and look there are Oracle manuals that can help:
http://www.oracle.com/pls/db102/portal.portal_db?selected=3
Check the ones out that say Backup and Recovery.
2. You really need create a Backup and Recovery Plan.
Look I created a template the could help you it is posted on www.dba-village.com
http://www.dba-village.com/village/dvp_papers.PaperDetails?PaperIdA=3183&SkipA=0&SortA=Date
3. You really need to TEST your Backup and Recovery Plan
Appendix B to your Backup and Recovery Plan from the above step.
4. And at this point I would probably call Oracle or at least submit a TAR or whatever they are calling them nowdays. They can offically confirm the possibility of recovering the database and give offical future guidance.
Regards
Tim
Similar Messages
-
Lost of datafile to 2 tablespaces, no rman but expdp image
Hello,
We lost 2 datafiles to 2 tablespaces in our non-production database. We can not open the database because of the missing 2 datafiles on the same mountpoint. The database is mounted. How to drop these 2 tablespaces and datafiles so the database can be open? We do not have rman but do have expdp files as backup. Thank you.Offline drop the datafiles,drop the tablespaces,recreate them,import the data.
ALTER DATABASE DATAFILE '<full_path_file_name>' OFFLINE DROP;
ALTER DATABASE OPEN;
DROP TABLESPACE <tablespace_name> INCLUDING CONTENTS;
CREATE TABLESPACE <tablespace_name> DATAFILE
'<datafile_full_path_name'> SIZE <required_size>;
impdp .....
Werner -
Re-create controlfile when lost all datafile
dear all,
assume i have a database, i backuped full database use Rman, after that i deleted all of datafile,redolog file,controfile of database and i also deleted the backup controlfile by Rman, backup snapshot cotrolfile,
so how to create the controlfile in the case?
thank,TyL wrote:
hi CKPT
"If you have RMAN backup, then no need to create the controlfile, Restore of controlfile is fine."
thank your response,
but in the case, the backup controlfile is lost (error hardware)
thank,If Database is down, if no backup of controlfile is found from OS level,
Then you have to restore controlfile from RMAN backup, There is no other option.
@Fiedi Z
We can take the trace of controlfile but OP is expecting how to take the trace file when datafiles/controlfile deleted.
Thanks. -
Please assist I have lost undo datafile
Hi ,please advice me ,the filesystem that contantain undo datafile is lost while the database is was down for OS maintenance,now when I have to start database I found that undo datafile is lost and they can't even see it from OS side,how can I start the database.
P. Forstmann wrote:
If you didn't shutdown your database cleanly and you have no backup for undo tablespace then there is no documented way to restart your database instance and you should contact Oracle Support.Yes,that is right,if database was not cleanly shutdown(with abort option) then actually in next instance startup will need recover and its instance recovery(must be perform).But performing instance recovery need undo tablespace,actually this is lost ,so with simple operations you can not open database.Of course the best way is report Oracle Support.However you can implement hidden parameter to opening database(_offline_rollback_segments).I do not recommend this way,just can try this.Before doing this you have to full backup database. -
We lost the only datafile of the undo table space. (can not recover this file)
Is there any way we can recover the database?select SEGMENT_NAME,STATUS,TABLESPACE_NAME from dba_rollback_segs;
is the above query produces any status = 'NEEDS RECOVERY'?
If not, you can simply, create another undo tablespace, alter the undo_tablespace parameter witht he new tablespace. Finally, drop the previous undo tablespace.
Jaffar -
Control file lost and datafile addeed restore/recovery with no data loss
Here i have tried to the following
created new table called t2 and made sure data went to a specific tablespace...
took a level 0 backup
removed the control file
added couple of datafile to above tablespace and then inserted more data
then went out to restore control file and the database...but datafile still could not be opened ?? what did i do wrong here....
SQL> @datafile
-- list of datafile
Tablespace File Typ Tablespac File Stat Used MB Free MB FILE_MB MAXMB Datafile_name FILE_ID AUT
UNDOTBS1 Datafile ONLINE AVAILABLE 16 84 100 1,024 /data/trgt/undotbs01.dbf 3 YES
USERS Datafile ONLINE AVAILABLE 1153 895 2048 3,072 /data3/trgt/user02.dbf 5 YES
CNT_TST Datafile ONLINE AVAILABLE 1 9 10 0 /data3/trgt/cnt_tst01.dbf 7 NO
SYSAUX Datafile ONLINE AVAILABLE 626 35 660 32,768 /data/trgt/sysaux01.dbf 2 YES
USERS Datafile ONLINE AVAILABLE 2031 17 2048 2,048 /data3/trgt/move/users01.dbf 4 YES
SYSTEM Datafile ONLINE AVAILABLE 712 58 770 32,768 /data/trgt/system01.dbf 1 YES
USERS Datafile ONLINE AVAILABLE 65 35 100 32,768 /data3/trgt/users03.dbf 6 YES
7 rows selected.
-- new table is created called t2 and its going into TS called cnt_tst
SQL> CREATE TABLE TEST.T2
C1 DATE,
C2 NUMBER,
C3 NUMBER,
C4 VARCHAR2(300 BYTE)
TABLESPACE cnt_tst; 2 3 4 5 6 7 8
Table created.
-- data inserted
SQL> INSERT INTO
test.T2
SELECT
FROM
(SELECT
SYSDATE,
ROWNUM C2,
DECODE(MOD(ROWNUM,100),99,99,1) C3,
RPAD('A',300,'A') C4
FROM
DUAL
CONNECT BY
LEVEL <= 10000)
; 2 3 4 5 6 7 8 9 10 11 12 13 14 15
10000 rows created.
SQL> commit;
Commit complete.
-- to check of cnt_tst has any free space or not, as we can see its full
SQL> @datafile
Tablespace File Typ Tablespac File Stat Used MB Free MB FILE_MB MAXMB Datafile_name FILE_ID AUT
UNDOTBS1 Datafile ONLINE AVAILABLE 16 84 100 1,024 /data/trgt/undotbs01.dbf 3 YES
USERS Datafile ONLINE AVAILABLE 1153 895 2048 3,072 /data3/trgt/user02.dbf 5 YES
SYSAUX Datafile ONLINE AVAILABLE 626 35 660 32,768 /data/trgt/sysaux01.dbf 2 YES
USERS Datafile ONLINE AVAILABLE 2031 17 2048 2,048 /data3/trgt/move/users01.dbf 4 YES
SYSTEM Datafile ONLINE AVAILABLE 712 58 770 32,768 /data/trgt/system01.dbf 1 YES
USERS Datafile ONLINE AVAILABLE 65 35 100 32,768 /data3/trgt/users03.dbf 6 YES
CNT_TST Datafile ONLINE AVAILABLE 10 0 10 0 /data3/trgt/cnt_tst01.dbf 7 NO
7 rows selected.
SQL> select count(*) from test.t2;
COUNT(*)
10000
1 row selected.
-- to get a count and max on date
SQL> select max(c1) from test.t2;
MAX(C1)
29-feb-12 13:47:52
1 row selected.
SQL> -- AT THIS POINT A LEVEL 0 BACKUP IS TAKEN (using backup database plus archivelog)
SQL> -- now control files are removed
SQL> select name from v$controlfile;
NAME
/ctrl/trgt/control01.ctl
/ctrl/trgt/control02.ctl
2 rows selected.
SQL>
SQL> ! rm /ctrl/trgt/control01.ctl
SQL> ! rm /ctrl/trgt/control02.ctl
SQL> ! ls -ltr /ctrl/trgt/
ls: /ctrl/trgt/: No such file or directory
SQL>
-- new datafile is added to CNT_TST TABLESPACE and new data is added as well
SQL> ALTER TABLESPACE CNT_TST ADD DATAFILE '/data3/trgt/CNT_TST02.dbf' SIZE 100M AUTOEXTEND OFF;
Tablespace altered.
SQL> ALTER SYSTEM CHECKPOINT;
System altered.
SQL> alter system switch logfile;
System altered.
SQL> /
System altered.
SQL> /
System altered.
SQL> ALTER TABLESPACE CNT_TST ADD DATAFILE '/data3/trgt/CNT_TST03.dbf' SIZE 100M AUTOEXTEND OFF;
Tablespace altered.
SQL> INSERT INTO
test.T2
SELECT
FROM
(SELECT
SYSDATE,
ROWNUM C2,
DECODE(MOD(ROWNUM,100),99,99,1) C3,
RPAD('A',300,'A') C4
FROM
DUAL
CONNECT BY
LEVEL <= 10000)
; 2 3 4 5 6 7 8 9 10 11 12 13 14 15
10000 rows created.
SQL> /
10000 rows created.
SQL> commit;
Commit complete.
SQL> INSERT INTO
test.T2
SELECT
FROM
(SELECT
SYSDATE,
ROWNUM C2,
DECODE(MOD(ROWNUM,100),99,99,1) C3,
RPAD('A',300,'A') C4
FROM
DUAL
CONNECT BY
LEVEL <= 40000)
; 2 3 4 5 6 7 8 9 10 11 12 13 14 15
40000 rows created.
SQL> commit;
Commit complete.
SQL> @datafile
-- to make sure new datafile has been registered with the DB
Tablespace File Typ Tablespac File Stat Used MB Free MB FILE_MB MAXMB Datafile_name FILE_ID AUT
CNT_TST Datafile ONLINE AVAILABLE 9 91 100 0 /data3/trgt/CNT_TST03.dbf 9 NO
UNDOTBS1 Datafile ONLINE AVAILABLE 16 84 100 1,024 /data/trgt/undotbs01.dbf 3 YES
USERS Datafile ONLINE AVAILABLE 1153 895 2048 3,072 /data3/trgt/user02.dbf 5 YES
CNT_TST Datafile ONLINE AVAILABLE 9 91 100 0 /data3/trgt/CNT_TST02.dbf 8 NO
SYSAUX Datafile ONLINE AVAILABLE 626 35 660 32,768 /data/trgt/sysaux01.dbf 2 YES
USERS Datafile ONLINE AVAILABLE 2031 17 2048 2,048 /data3/trgt/move/users01.dbf 4 YES
SYSTEM Datafile ONLINE AVAILABLE 712 58 770 32,768 /data/trgt/system01.dbf 1 YES
USERS Datafile ONLINE AVAILABLE 65 35 100 32,768 /data3/trgt/users03.dbf 6 YES
CNT_TST Datafile ONLINE AVAILABLE 10 0 10 0 /data3/trgt/cnt_tst01.dbf 7 NO
9 rows selected.
-- now the count and max ... note count before backup was 10000 and max(c1) was diff
SQL> select count(*) from test.t2;
COUNT(*)
70000
1 row selected.
SQL> select max(c1) from test.t2;
MAX(C1)
29-feb-12 13:58:25
1 row selected.
SQL> -- now restore starts
SQL> shutdown abort;
ORACLE instance shut down.
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@berry trgt]$ rman
Recovery Manager: Release 11.2.0.1.0 - Production on Wed Feb 29 14:01:48 2012
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
RMAN> connect catalog rman/pass@rcat
connected to recovery catalog database
RMAN> connect target /
connected to target database (not started)
RMAN> startup nomount;
Oracle instance started
Total System Global Area 188313600 bytes
Fixed Size 1335388 bytes
Variable Size 125833124 bytes
Database Buffers 58720256 bytes
Redo Buffers 2424832 bytes
RMAN> restore controlfile from autobackup;
Starting restore at 29-FEB-12 14:02:37
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=20 device type=DISK
recovery area destination: /backup/trgt/flash_recovery_area
database name (or database unique name) used for search: TRGT
channel ORA_DISK_1: no AUTOBACKUPS found in the recovery area
channel ORA_DISK_1: looking for AUTOBACKUP on day: 20120229
channel ORA_DISK_1: AUTOBACKUP found: /backup/trgt/backup/cont_c-3405317011-20120229-09
channel ORA_DISK_1: restoring control file from AUTOBACKUP /backup/trgt/backup/cont_c-3405317011-20120229-09
channel ORA_DISK_1: control file restore from AUTOBACKUP complete
output file name=/ctrl/trgt/control01.ctl
output file name=/ctrl/trgt/control02.ctl
Finished restore at 29-FEB-12 14:02:39
RMAN> alter database mount;
database mounted
released channel: ORA_DISK_1
RMAN> recover database;
Starting recover at 29-FEB-12 14:02:55
Starting implicit crosscheck backup at 29-FEB-12 14:02:55
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=20 device type=DISK
Crosschecked 96 objects
Finished implicit crosscheck backup at 29-FEB-12 14:02:57
Starting implicit crosscheck copy at 29-FEB-12 14:02:57
using channel ORA_DISK_1
Finished implicit crosscheck copy at 29-FEB-12 14:02:57
searching for all files in the recovery area
cataloging files...
no files cataloged
using channel ORA_DISK_1
starting media recovery
archived log for thread 1 with sequence 13 is already on disk as file /redo_archive/trgt/online/redo01.log
archived log for thread 1 with sequence 14 is already on disk as file /redo_archive/trgt/online/redo02.log
archived log for thread 1 with sequence 15 is already on disk as file /redo_archive/trgt/online/redo03.log
archived log file name=/redo_archive/trgt/archive/1_10_776523284.dbf thread=1 sequence=10
archived log file name=/redo_archive/trgt/archive/1_10_776523284.dbf thread=1 sequence=10
archived log file name=/redo_archive/trgt/archive/1_11_776523284.dbf thread=1 sequence=11
archived log file name=/redo_archive/trgt/archive/1_12_776523284.dbf thread=1 sequence=12
archived log file name=/redo_archive/trgt/online/redo01.log thread=1 sequence=13
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 02/29/2012 14:02:59
ORA-01422: exact fetch returns more than requested number of rows
RMAN-20505: create datafile during recovery
RMAN-11003: failure during parse/execution of SQL statement: alter database recover logfile '/redo_archive/trgt/online/redo01.log'
ORA-00283: recovery session canceled due to errors
ORA-01244: unnamed datafile(s) added to control file by media recovery
ORA-01110: data file 9: '/data3/trgt/CNT_TST03.dbf'
RMAN> -- wnet to session 2 and renamed datafile from unammed-- wnet to session 2 and renamed datafile for unammed file
SQL> select name from v$datafile;
NAME
/data/trgt/system01.dbf
/data/trgt/sysaux01.dbf
/data/trgt/undotbs01.dbf
/data3/trgt/move/users01.dbf
/data3/trgt/user02.dbf
/data3/trgt/users03.dbf
/data3/trgt/cnt_tst01.dbf
/oracle/app/product/11.2.0/dbhome_1/dbs/UNNAMED00008
/oracle/app/product/11.2.0/dbhome_1/dbs/UNNAMED00009
9 rows selected.
SQL> alter database create datafile '/oracle/app/product/11.2.0/dbhome_1/dbs/UNNAMED00008' as '/data3/trgt/CNT_TST02.dbf';
Database altered.
SQL> alter database create datafile '/oracle/app/product/11.2.0/dbhome_1/dbs/UNNAMED00009' as '/data3/trgt/CNT_TST03.dbf';
Database altered.
SQL> select name from v$datafile;
NAME
/data/trgt/system01.dbf
/data/trgt/sysaux01.dbf
/data/trgt/undotbs01.dbf
/data3/trgt/move/users01.dbf
/data3/trgt/user02.dbf
/data3/trgt/users03.dbf
/data3/trgt/cnt_tst01.dbf
/data3/trgt/CNT_TST02.dbf
/data3/trgt/CNT_TST03.dbf
9 rows selected.after above was done, went back to session 1 and tried recovered the DB
RMAN> recover database;
Starting recover at 29-FEB-12 14:06:16
using channel ORA_DISK_1
starting media recovery
archived log for thread 1 with sequence 13 is already on disk as file /redo_archive/trgt/online/redo01.log
archived log for thread 1 with sequence 14 is already on disk as file /redo_archive/trgt/online/redo02.log
archived log for thread 1 with sequence 15 is already on disk as file /redo_archive/trgt/online/redo03.log
archived log file name=/redo_archive/trgt/online/redo01.log thread=1 sequence=13
archived log file name=/redo_archive/trgt/online/redo02.log thread=1 sequence=14
archived log file name=/redo_archive/trgt/online/redo03.log thread=1 sequence=15
media recovery complete, elapsed time: 00:00:00
Finished recover at 29-FEB-12 14:06:17
RMAN> alter database open resetlogs;
database opened
new incarnation of database registered in recovery catalog
starting full resync of recovery catalog
full resync complete
starting full resync of recovery catalog
full resync complete
RMAN> exit
Recovery Manager complete.
[oracle@berry trgt]$
[oracle@berry trgt]$
[oracle@berry trgt]$ sq
SQL*Plus: Release 11.2.0.1.0 Production on Wed Feb 29 14:07:18 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> alter session set NLS_DATE_FORMAT="dd-mon-yy hh24:mi:ss:
2
SQL>
SQL> alter session set NLS_DATE_FORMAT="dd-mon-yy hh24:mi:ss";
Session altered.
SQL> select count(*) from test.t2;
select count(*) from test.t2
ERROR at line 1:
ORA-00376: file 8 cannot be read at this time
ORA-01110: data file 8: '/data3/trgt/CNT_TST02.dbf'
SQL> select max(c1) from test.t2;
select max(c1) from test.t2
ERROR at line 1:
ORA-00376: file 8 cannot be read at this time
ORA-01110: data file 8: '/data3/trgt/CNT_TST02.dbf'
SQL> alter database datafile 8 online;
alter database datafile 8 online
ERROR at line 1:
ORA-01190: control file or data file 8 is from before the last RESETLOGS
ORA-01110: data file 8: '/data3/trgt/CNT_TST02.dbf'
{code}
so what did i do wrong in my recovery that i could not get my data?? how can i avoid this?? and restore my DB?
Edited by: user8363520 on Feb 29, 2012 12:24 PMuser8363520 wrote:
Here i have tried to the following
created new table called t2 and made sure data went to a specific tablespace...
took a level 0 backup
removed the control file
added couple of datafile to above tablespace and then inserted more data
then went out to restore control file and the database...but datafile still could not be opened ?? what did i do wrong here....
SQL> @datafile
-- list of datafile
Tablespace File Typ Tablespac File Stat Used MB Free MB FILE_MB MAXMB Datafile_name FILE_ID AUT
UNDOTBS1 Datafile ONLINE AVAILABLE 16 84 100 1,024 /data/trgt/undotbs01.dbf ; 3 YES
USERS Datafile ONLINE AVAILABLE 1153 895 2048 3,072 /data3/trgt/user02.dbf ; 5 YES
CNT_TST Datafile ONLINE AVAILABLE 1 9 10 0 /data3/trgt/cnt_tst01.dbf ; 7 NO
SYSAUX Datafile ONLINE AVAILABLE 626 35 660 32,768 /data/trgt/sysaux01.dbf ; 2 YES
USERS Datafile ONLINE AVAILABLE 2031 17 2048 2,048 /data3/trgt/move/users01.dbf ; 4 YES
SYSTEM Datafile ONLINE AVAILABLE 712 58 770 32,768 /data/trgt/system01.dbf ; 1 YES
USERS Datafile ONLINE AVAILABLE 65 35 100 32,768 /data3/trgt/users03.dbf ; 6 YES
7 rows selected.
-- new table is created called t2 and its going into TS called cnt_tst
SQL> CREATE TABLE TEST.T2
C1 DATE,
C2 NUMBER,
C3 NUMBER,
C4 VARCHAR2(300 BYTE)
TABLESPACE cnt_tst; 2 3 4 5 6 7 8
Table created.
-- data inserted
SQL> INSERT INTO
test.T2
SELECT
FROM
(SELECT
SYSDATE,
ROWNUM C2,
DECODE(MOD(ROWNUM,100),99,99,1) C3,
RPAD('A',300,'A') C4
FROM
DUAL
CONNECT BY
LEVEL <= 10000)
; 2 3 4 5 6 7 8 9 10 11 12 13 14 15
10000 rows created.
SQL> commit;
Commit complete.
-- to check of cnt_tst has any free space or not, as we can see its full
SQL> @datafile
Tablespace File Typ Tablespac File Stat Used MB Free MB FILE_MB MAXMB Datafile_name FILE_ID AUT
UNDOTBS1 Datafile ONLINE AVAILABLE 16 84 100 1,024 /data/trgt/undotbs01.dbf ; 3 YES
USERS Datafile ONLINE AVAILABLE 1153 895 2048 3,072 /data3/trgt/user02.dbf ; 5 YES
SYSAUX Datafile ONLINE AVAILABLE 626 35 660 32,768 /data/trgt/sysaux01.dbf ; 2 YES
USERS Datafile ONLINE AVAILABLE 2031 17 2048 2,048 /data3/trgt/move/users01.dbf ; 4 YES
SYSTEM Datafile ONLINE AVAILABLE 712 58 770 32,768 /data/trgt/system01.dbf ; 1 YES
USERS Datafile ONLINE AVAILABLE 65 35 100 32,768 /data3/trgt/users03.dbf ; 6 YES
CNT_TST Datafile ONLINE AVAILABLE 10 0 10 0 /data3/trgt/cnt_tst01.dbf ; 7 NO
7 rows selected.
SQL> select count(*) from test.t2;
COUNT(*)
10000
1 row selected.
-- to get a count and max on date
SQL> select max(c1) from test.t2;
MAX(C1)
29-feb-12 13:47:52
1 row selected.
SQL> -- AT THIS POINT A LEVEL 0 BACKUP IS TAKEN (using backup database plus archivelog)
SQL> -- now control files are removed
SQL> select name from v$controlfile;
NAME
/ctrl/trgt/control01.ctl
/ctrl/trgt/control02.ctl
2 rows selected.
SQL>
SQL> ! rm /ctrl/trgt/control01.ctl
SQL> ! rm /ctrl/trgt/control02.ctl
SQL> ! ls -ltr /ctrl/trgt/
ls: /ctrl/trgt/: No such file or directory
SQL>
-- new datafile is added to CNT_TST TABLESPACE and new data is added as well
SQL> ALTER TABLESPACE CNT_TST ADD DATAFILE '/data3/trgt/CNT_TST02.dbf' SIZE 100M AUTOEXTEND OFF;
Tablespace altered.
SQL> ALTER SYSTEM CHECKPOINT;
System altered. Upto this i was clear, but now i cann't understand when you actually dropped the control file from you database(in running stat) how can you perform "alter system checkpoint" and other "alter tablespace.." command? Once controlfile is inaccessible, oracle database is not suppose to function. -
Can I Select from table skipping extents linked with lost datafiles?
Hi~,
I need your help to recover my database.
I'm using oracle 9.2.0.8 at Fedora 3 with no-archive mode.
and I don't have any backup.
Last night, I experenced hard disk failure.
I tried OS-level recovery, but I lost some datafiles of tablespace.
anyway, I wanted to recover my database without data of lost datafiles.
so, I issued "alter database datafile offline drop" and
start oracle instance.
But, datafiles were not removed from dba_data_files view and
extents linked with lost datafiles were not removed from dba_extents view!
Selecting query of some table containing extents linked with lost data files,
I got "ORA-00376: file xxx cannot be read at this time" message.
So, my question is that..
HOW CAN I SELECT FROM THAT TABLE WITHOUT SCANNING EXTENTS LINKED WITH LOST DATA FILES?
Thanks.Hi,
Without being in archivelog and without backup, one can't do any sort of recovery. That's why backups and archivelog are so so important.
The offline data file command never does actually drop the datafile. It merely indicates to the control file that now the said tablespace will also be dropped. This won't update any view that the files are not supposed to be used or shown to you anymore.
This is what documentation says about the recovery of the database in the NoARch mode,
http://download.oracle.com/docs/cd/B19306_01/backup.102/b14191/osrecov.htm#i1007937
You do need a backup in order to get those tables being read. Oracle doesn't have any feature which can offline/skip the missing extents for you and let you read the data without them.
HTH
Aman.... -
Lost datafile on Standby Oracle 10g
Hi all.
i have lost one datafile on my standby ,how to recover it ,this file is created when primary database is in noarchive mode (before i set up the data guard) ,so i can't use alter database create datafile statement bocz i dont have all the archive log to recover it ,
plz help me out to solve this ..969752 wrote:
Hi all.
i have lost one datafile on my standby ,how to recover it ,this file is created when primary database is in noarchive mode (before i set up the data guard) ,so i can't use alter database create datafile statement bocz i dont have all the archive log to recover it ,
plz help me out to solve this ..What is the version you are using?
Even though your primary database is in noarchive log mode before configuring data guard, still its not a problem. Follow high level steps as below
1) Take missing datafile on primary using RMAN (or) you can use tablespace backup with traditional method
2) copy that datafile from primary to standby system
3) Ensure you have properly set for DB_FILE_NAME_CONVERT(bounce required), and set standby_file_management to manual
4) take the dummy file and rename with the new file(step 2) by using alter database create command
5) later change standby_file_managment to auto & start MRP -
We have a situation here. We lost the datafile associated with UNDOTBS and we are in NOARCHIVELOG mode.
The option seems to be to use .....OFFLINE DROP and then drop the tablespace.
Accordingly, dropped the tablespace and attempting to open the database, the database is still looking for the datafile:
ORA-376 datafile xxxx cannot be read at this time.
how can I open the database....
My thought was to drop offline, open and then recreate the tablespace. It appears that I will not be needing any undo segments though.
Appreciate your help and thoughts.
BTW, this is DEV - therefore in NOARCHIVELOG mode.Hello,
So, if I well understood you set the following parameters:
undo_management = AUTO
undo_tablespace = ''
And you still have the ORA-376 error.
So, I think, you may have an offline datafile.
May you execute the following statement ?
select status, enabled from v$datafile;You could check if you have an offline datafile or a datafile to RECOVER.
Hope it can help,
Best regards,
Jean-Valentin
Edited by: Lubiez Jean-Valentin on Nov 18, 2009 11:46 PM -
Datafile lost. No backups or archivelogs
DB version: 11.2.0.2
In our newly created DB which is in NOARCHIVELOG mode, we lost a datafile in one of our tablespaces (accidently removed).
We don't have RMAN backups or archivelogs since the DB creation.
What is the most we could do ?Thank you Hemant, Najat
Yes. After mentioning that the DB is in NOARCHIVELOG mode, I didn't have to mention "We don't have RMAN backups or archivelogs since the DB creation" .Sorry to confuse you.
This was the only datafile in that tablespace. So, i guess I have to add another one before dropping the lost datafile (from control file)
This is what I am going to do
alter tablespace mytbs add datafile '/u04/oradata/orcl_mytbs01_a.dbf' size 1g;
alter tablespace mytbs drop datafile '/u04/oradata/orcl_mytbs01.dbf'; --- The lost datafile -
Datafile Lost but no backup available
Version:11g
We are archivelog mode.
We inadvertantly lost a datafile and due to some reasons the RMAN backup is not accesible. But all archived logs are available. Is it possible for me to recover the datafile?Hi friend,
We can perform complete recovery in four situations.
1. System datafile corrupted with recent backup.
2. non-system datafile corrupted with backup.
3. non-system datafile corrupted without backup.
4. Disk corrupted and recreating non system datafile.
steps
Recovery of a Missing Datafile that has no backups (database is open).
If a non system datafile that was not backed up since the last backup is missing,
recovery can be performed if all archived logs since the creation
of the missing datafile exist.
Pre requisites: All relevant archived logs.
1. alter tablespace <tablespace_name> offline immediate;
2. alter database create datafile '/user/oradata/u01/dbtst/newdata01.dbf';
3. recover tablespace <tablespace_name>;
4. alter tablespace <tablespace_name> online;
If the create datafile command needs to be executed to place the datafile on a
location different than the original use:
alter database create datafile '/user/oradata/u01/dbtst/newdata01.dbf' as
'/user/oradata/u02/dbtst/newdata01.dbf'
for more information about complete recovery scenarios
download the below document
blogs.oracle.com/.../gems/BackupAndRecoveryChecklist.pdf -
No backup loss of non system datafile how to open database
Hi
i lost my datafile with out backup how to open the database or how to backup databaseHi,
To prevent accidental lost of datafile make sure you backup your database by having suitable backup strategy.
To open the database you can follow the step described by chinar sir. For backup follow one strategy as a good practise.Check my below link for backup strategy:
http://rafioracledba.blogspot.com/2010/12/scheduling-rman-jobs-in-windows-server.html
Best regards,
Rafi.
http://rafioracledba.blogspot.com -
Oracle 9i RAC datafile restore
Hi,
In our 9i RAC production database one of the mount point crashed and we lost few datafiles. But we have a DR site with the same DBID and the DR is in sync with production, Can we use the datafile from DR and put it in the production and do recovery?
Thanks in advance.If by DR you mean a physical standby database for production, yes you can. Just make sure all the redo and archive logs are accessible on the production DB.
-
Hi,
In our 9i RAC production database one of the mount point crashed and we lost few datafiles. But we have a DR site with the same DBID and the DR is in sync with production, Can we use the datafile from DR and put it in the production and do recovery?
Thanks in advance.
NewbeeDo you have backup of the Prod database. If yes then you can use the backup to restore the datafile and do the recovery.
If using datafile from DR to restore the database is not tested, I will not use it in Production.
Regards -
Recover missing datafile (no backup exists)
hi, m having a problem. when i try to start oracle at a clients site, i get the following error. and they do not have any backup datafile at all.
SQL> startup
ORACLE instance started.
Total System Global Area 3003121664 bytes
Fixed Size 2079976 bytes
Variable Size 843244312 bytes
Database Buffers 2147483648 bytes
Redo Buffers 10313728 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 14 - see DBWR trace file
ORA-01110: data file 14: '/mantasDB/oradata/mantasde/bus2_data_file01.dbf'
please, what can be done to fix this.
thanksHello,
You wrote:
hi, m having a problem. when i try to start oracle at a clients site, i get the following error. and they do not have any backup datafile at all.Please, I have a doubt in which case you are.
Do you have a Backup of the database (before adding a datafile) and the archived log from this Backup, or you haven't any backup of the all
database ?
In the first case. By applying the archived log you'll have the following error:
ORA-00283: Recovery session canceled due to errors
ORA-01244: unnamed datafile(s) added to controlfile by media recovery
ORA-01110: data file 14: '/mantasDB/oradata/mantasde/bus2_data_file01.dbf'Then, you'll have to create manually your datafile, for instance, as follow:
select name from v$datafile where file#=14;
NAME
UNNAMED0014
alter database create datafile 'UNNAMED0014' as '/mantasDB/oradata/mantasde/bus2_data_file01.dbf';Afterwards, you could restart the recovery.
But, if you don't have backup at all, the situation is very bad, you may lost the datafile.
Hope it can help.
Best regards,
Jean-Valentin
Maybe you are looking for
-
[JS][CS3] Insertion Point
HI All I need to get a hold of an insertion point between 2 characters and add some negative kerning to the characters either side. I have tried: myInsertion = myPara.characters[-3].insertionPoints; and many variations of that line, but with no joy.
-
Pivot Table Chart - Show chart axis as "percent of"
Hi all, I have a pivot table being generated, with the rows as year/month and the columns as web browser. However I'm only showing the top 5 browsers used, so the columns used are dynamic. I'd like to show the chart as "Percent of row". I know I can
-
What is the difference betwee STRUCTRUE AND INTERNAL TABLE
what is the difference betwee STRUCTRUE AND INTERNAL TABLE
-
Warning Time calculation "Before Aggregation" is obsolete
Hi, Recently in our project we have upgraded BW 3.0B to BI7. After upgrade to BI7, when we run some of the reports we are getting a warning message as below - Warning Time calculation "Before Aggregation" is obsolete. Pls refer to the attachment. An
-
I have been using Firefox for several years. Now, when I try to open it I get the above error message.