バックアップなしで失われたデータファイルを再作成(Doc ID 114994.6)

3459 ワード

Recreating a missing datafile with no backups (Doc ID 1149946.1)

APPLIES TO:


Oracle Database - Enterprise Edition - Version 10.2.0.2 and laterInformation in this document applies to any platform.***Checked for relevance on 16-Apr-2014***

GOAL


How to recreate a datafile that is missing at the operating system level. Missing/inaccessible files may be reported with one or more of these errors:
OSレベルで欠落しているデータファイルを再作成する方法次の1つ以上のエラーが含まれているファイルが紛失またはアクセスできない場合にレポートされる可能性があります.
ORA-01116: error in opening database file %s
ORA-27041: unable to open file
ORA-01157: cannot identify/lock data file %s - see DBWR trace file
ORA-01119: error in creating database file '%s'

 
No backup or copy of the datafile is required. We only need the redo logs starting from the time of the datafile creation to the current point in time.
データファイルをバックアップまたはコピーする必要はありません.データファイルの作成から現在の時点までのredo logsだけが必要です
Note: plugged-in datafiles do not apply in this scenario and needs to be plugged-in again from its source.
注意:挿入されたデータファイルはこの場合は適用されません.ソースから再挿入する必要があります.

SOLUTION


When a datafile goes missing at the operating system level, you would normally need to restore and recover it from a backup. If you do not have backups of this datafile, but do have redo logs you can still create and recover the datafile. You only need the redo logs starting from the datafile creation time to now.
オペレーティング・システム・レベルでデータ・ファイルが失われた場合、通常はバックアップからリストアおよびリカバリする必要があります.このデータファイルのバックアップがなく、redo logsがある場合は、データファイルを作成および復元できます.データファイルの作成時間から現在のredo logsまで
Prior to 10 g,you would use the following SQL command:10 gまでに次のSQLコマンドを使用します.
SQL> alter database create datafile 'missing name' as 'misisng name';
SQL> recover datafile 'missing name';
SQL> alter database datafile '' online;

 
As of 10g, you can also do this in RMAN.10 gから1)RMAN will create the datafile if there is no backups or copies of this datafile:
データファイルのバックアップまたはコピーがない場合、RMANはデータファイルを作成します.
RMAN> restore datafile ;

 
2)Recover the newly created datafile:新しく作成したデータファイルを復元する
RMAN> recover datafile ;

 
3) Bring it online:
RMAN> sql 'alter database datafile  online';

 
 
Example:
RMAN> list copy of datafile 6;

specification does not match any datafile copy in the repository

RMAN> list backup of datafile 6;

specification does not match any backup in the repository

RMAN> restore datafile 6;

Starting restore at 14 JUL 10 10:20:02
using channel ORA_DISK_1

creating datafile file number=6 name=/opt/app/oracle/oradata/ORA112/datafile/o1_mf_leng_ts_63t08t64_.dbf
restore not done; all files read only, offline, or already restored
Finished restore at 14 JUL 10 10:20:05

RMAN> recover datafile 6;

Starting recover at 14 JUL 10 10:21:02
using channel ORA_DISK_1

starting media recovery
media recovery complete, elapsed time: 00:00:00

Finished recover at 14 JUL 10 10:21:02

RMAN> sql 'alter database datafile 6 online';

sql statement: alter database datafile 6 online