Oracle データベースのオンライン バックアップ ジョブ
Oracle Databaseオンライン・バックアップ・ジョブのドキュメント
オンライン バックアップの手順
(1) データ ディクショナリ dba_data_files を使用して、バックアップが必要なデータ ファイルと対応するテーブル スペースを見つけます。オプションのステップ。
(2) データディクショナリを使用する vバックアップ データファイルのバックアップ状況を確認します。オプションのステップ。ステータスは NOTACTIVE で、データはバックアップされていません。(3) altertablespacetables spacenamebeginbackup コマンドは、バックアップ対象の表スペースをバックアップ状態に設定します。(4) オペレーティング システムのコピー コマンドを使用して、テーブル スペースに対応するすべてのデータ ファイルをバックアップ メディアにコピーします。(5) altertablespacetables spacenameendbackup コマンドは、正常にバックアップされたテーブルスペースをバックアップ終了状態にリセットします。(6) 現在のREDOログファイルの情報をアーカイブログファイルに書き込みます。(7) データディクショナリvバックアップを使用して、データファイルのバックアップ状態を確認します。オプションのステップ。ステータスは NOT ACTIVE で、データはバックアップされていません。(3) alter tablespace tablespacename beginbackup コマンドは、バックアップ対象の表領域をバックアップ状態に設定します。(4) オペレーティング システムのコピー コマンドを使用して、テーブルスペースに対応するすべてのデータ ファイルをバックアップ メディアにコピーします。(5) alter tablespace tablespacename end backup コマンドは、正常にバックアップされたテーブルスペースをリセットし、バックアップ状態を終了します。(6) 現在のREDOログファイルの情報をアーカイブログファイルに書き込みます。(7) データディクショナリを使用する場合 vb a ck up は、データファイルのバックアップステータスを確認します。オプションのステップ。ステータスはNO T ACT IVEです。_ _ _ _データはバックアップされません。_ ( 3 )変更可能なスペース変更可能なスペース名前のバックアップコマンドが準備されます_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _コピーのテーブルスペースはバックアップ状態に設定されます。( 4 )オペレーティング システムのコピーコマンドを使用して、表スペースに対応するすべてのデータファイルをバックアップメディアにコピーします。( 5 )オルタナティブ_ _ _ _ _ _ _le s a c e t a b les p a ce n a m e n d back upコマンドは、正常にバックアップされた表スペースをリセットし、 backup_copyステータスを終了します。_ _ _ ( 6 )当期_ _REDOログファイルの情報はアーカイブログファイルに書き込まれます。( 7 )データディクショナリvバックアップを使用して、データファイルのバックアップ状況を確認します。 オプションのステップ。
(8) オペレーティング システムのコマンドまたはツールを使用して、オペレーティング システム ファイルが生成されたかどうかを確認します。オプションのステップ。
2 オンラインバックアップの適用例
0 Create tablespace
create tablespace test datafile '/u01/test.dbf' size 1M;
1 alter tablespace tablespacename begin back バックアップ対象の表領域をバックアップ状態に設定するコマンドです。
alter tablespace test begin back up
2 オペレーティング システムの copy コマンドを使用して、テーブルスペースに対応するすべてのデータ ファイルをバックアップ メディアにコピーします。
host mkdir /u01/hotbackup
host cp /u01/test.dbf /u01/hotbackup/ test.dbf
3 alter tablespace tablespacename end backup コマンドは、正常にバックアップされた表領域をリセットして、バックアップ状態を終了します。
alter tablespace test end backup
4 現在の REDO ログ ファイル情報をアーカイブ ログ ファイルに書き込みます。
現在のシステム アーカイブ ログを変更する;
すべてのシステム アーカイブ ログを変更する;
3. リカバリ完了
0 テスト表スペースにテスト表を作成し、データを挿入し、テスト表スペースに対応するデータファイル test.dbf を削除することでリカバリが必要になります。
create table test (a int) tablespace test
insert into test names(1)
insert into test names(1)
commit
shutdown
host rm /u01/test.dbf
1 データベースを開くと障害が発生します。
起動
2 データディクショナリ v$datafile を使用して、リストアするデータファイルのファイル名を確認します。
3 alter database datafile 'データ ファイル名' オフライン コマンドは、問題のあるデータ ファイルをオフラインに設定します。
alter database datafile '/u01/test.dbf' offline;
4 alter database open コマンドを使用してデータベースを開きます。問題のデータファイルはオフラインであるため、他のすべてのデータファイルは同期されます。ステップ 4 はステップ 7 の後に配置できます。
alter Database open
5 オペレーティング システムの copy コマンドを使用して、バックアップされたデータ ファイルをデータベース内の元の場所にコピーします。
host cp /u01/hotbackup/ test.dbf /u01/test.dbf
6 Recovery コマンドを使用して、アーカイブ ログ ファイルおよび REDO ログ ファイルから送信されたすべてのデータを修復されたデータ ファイルに再書き込みします。
alterdatabaserecoverdatafile'/u01/test.dbf'
7 alterdatabaseonlinedatafilealterdatabasedatafile
'/u01/test.dbf'をオンラインで使用します;
8リカバリが成功したことを確認します。回復成功の基準は何ですか?
select * from test は、
失敗前のデータベースの状態に基づいて、リカバリが成功したかどうかを判断します。オフライン リカバリは、バックアップ時のデータベースの状態に基づいて行われます。
バックアップとリカバリのプロセスが次のような場合は、まずテスト表スペースにテスト表を作成し、テスト表にデータを入力してサブミットしてから、バックアップします。その後、テーブルのデータを削除し、データベースの完全な復元に失敗した場合のシミュレーションを行い、復元が成功した後、テスト テーブルにデータ行が存在するかどうかを確認します。
4 つのオンライン バックアップでは、RMAN を使用してデータ ファイルをリストア
します (1) RMAN を起動します
[oracle@localhost ~]$ rman target /
(2) リストアするデータ ファイルをオフラインにします
RMAN>sql'alter datafile 6 offline';
(3) データを再構築しますfile
RMAN >restore datafile 6
(4) データファイルをリストアします
RMAN>recover datafile 6
(5) データファイルをオンラインにします
RMAN>sql'alter datafile 6 online';
完全なデータベース回復方法
オラクルは、多数のデータベース システム アプリケーションを分析した結果、次の 4 つの完全なデータベース回復方法を要約しました。これら 4 つの完全な回復方法は、データベース アプリケーション環境の大部分をカバーしています。
(1) データベースが最初にオープンされた状態で、オープンされたデータベースのリカバリが実行されます。
(2) 最初にデータベースを閉じた場合は、開いているデータベースを復元します。
(3) バックアップなしでデータファイルを復元します。
(4) データベースをクローズ状態に復元します。
上記のデータベースのリカバリを実行する場合、必要なアーカイブ ログ ファイルは、Oracle サーバーがアクセスできるディスク上に存在する必要があります。アーカイブ ログ ファイルがテープ上に存在する場合は、実際の操作を開始する前にディスクにコピーする必要があります。データベースの回復が機能します。
2. リカバリに関連するrecoverコマンドとデータ・ディクショナリcover
[automatic]データベース
recover[automatic]tablespace "表領域番号 | 表領域名"
cover[automatic] datafile "データ・ファイル番号 | データ・ファイル名"
dba_data_files データベース内のすべてのデータ ファイルのファイル番号、ファイル名、および対応する表スペース名を取得します。
dba_tablespace は、データベース内のすべての表領域の現在の状態を取得します。
v datafile は、データベース内のすべてのデータ ファイルの現在の状態を取得します。 v datafile は、データベース内のすべてのデータ ファイルの現在の状態を取得します。d a t a f i l eデータベース内のすべてのデータファイルの現在の状況を取得します。 v reverse_file データベース内でリカバリーする必要があるファイルを取得します。ビュー情報は、バックアップまたは再構築からの制御ファイルなどの制御ファイルから取得されます。情報は不正確になります。
vRecoverylog は、リカバリーに使用する必要があるすべてのログを照会します。 v Recovery_log は、リカバリーに使用する必要があるすべてのログを照会します。回復_ _ _ _ _ _ _私o gリカバリーに使用する必要があるすべてのログを照会します。 v archived_logすべてのアーカイブ・ログ・リストを照会します。
3. データベースの初回オープン時のリストア
1 適用シナリオ
(1) リストア対象のデータファイルがシステム表スペースまたはリストア/ロールバックセグメント表スペースに属していない
(2) 磁気媒体が破損しているため、データファイルが破損しているクラッシュした、またはデータ ファイルの損失がデータベースのシャットダウンを引き起こしなかった
(3) データベース 24*7 方法
2 方法の手順
(1) データ ディクショナリ dba_data_files を使用して、復元するデータ ファイル、対応するテーブルスペースとそのテーブルスペースを取得します。関連情報。
(2) データ・ディクショナリー dba_tablespaces を使用して、リストアする表スペースがオフラインかオンラインかを取得するか、データ・ディクショナリー v を使用します。datafile リストアするデータファイルがオフラインであるかオンラインであるかを識別します。(3) 表スペースがオンラインの場合は、まず表スペースをオフラインに設定します。データファイルをオフラインに設定することもできます。すでにオフラインである場合、この手順は必要ありません。(4) オペレーティング システム コマンドは、バックアップされたデータ ファイルをデータベース内の元の場所にコピーします。(元の場所以外で行うにはどうすればよいですか?) (5) Recovery コマンドを使用して、アーカイブされたログ ファイルと REDO ログ ファイルから送信されたすべてのデータを修復されたデータ ファイルに書き換えます。covertablespace テーブルスペース名recoverdatafile データ ファイル名 (6) altertablespacealterd abase オンライン テーブルスペースまたはデータ ファイル (7) リカバリ中にバックアップ データ ファイルが別の場所にコピーされた場合は、データ ディクショナリ dbadatafiles を再度使用して、リストアされるテーブルスペースに対応するデータ ファイルを取得します。データ ファイルが正しい場所にコピーされていることを確認します。(8) 再度データ ディクショナリ dbatablespaces を使用してリストア対象の表スペースがオンラインかどうかを取得するか、データ ディクショナリ v datafile を使用してリストア対象のデータ ファイルがオフラインかオンラインかを確認します。(3) 表スペースがオンラインの場合は、まず表スペースをオフラインに設定します。データファイルをオフラインに設定することもできます。すでにオフラインの場合、この手順は必要ありません。(4) オペレーティング システムは、バックアップされたデータ ファイルをデータベース内の元の場所にコピーして戻すコマンドを実行します。(元の場所以外で行うにはどうすればよいですか?) (5) Recovery コマンドを使用して、アーカイブされたログ ファイルと REDO ログ ファイルから送信されたすべてのデータを修復されたデータ ファイルに書き換えます。リカバリー表領域 表領域名 リカバリー・データファイル データファイル名 (6) 表領域の変更 データベースのオンライン表領域またはデータファイル (7) リカバリー中にバックアップ・データ・ファイルが別の場所にコピーされた場合は、データ・ディクショナリー dba_data_files を再度使用して、リカバリーするデータを取得します。ファイルと対応する表スペースで、データ ファイルが正しい場所にコピーされていることを確認します。(8) データ・ディクショナリー dba_tablespaces を再度使用して、リストアする表スペースがオンラインかどうかを取得するか、データ・ディクショナリー v を使用します。データファイルリストアするデータファイルがオフラインかオンラインかを確認します。 _ _ _ _ _ ( 3 )表スペースがオンラインの場合は、まず表スペースをオフラインに設定します。もできますデータファイルをオフラインにします。すでにオフラインの場合、この手順は必要ありません。 ( 4 )オペレーティング システムのコマンドは、バックアップされたデータファイルをデータベース内の元の場所にコピーします。(元の場所以外で行う方法は? ) ( 5 ) re co v rコマンドを使用して、アーカイブされたログファイルとREDOログファイルから送信されたすべてのデータを書き換えます。修復されたデータファイルをインポートします。recover table space表スペース名recover d a t aファイル名( 6 ) a l t er t _ _ _ _ _ _ a b l _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _スペース_ _ _ _ _ _ _ter d a t a b a seオンラインテーブルスペースまたはデータファイル( 7 )リカバリ中にバックアップデータファイルが別の場所にコピーされた場合は、それを再度使用します_ _データディクショナリデータベースdあたあ_ _ふリストアするデータファイルと対応するテーブルスペースを取得し、データファイルが正しい場所にコピーされていることを確認します。( 8 )データ辞書d b aを再度使用するたaable space cesリストアする表スペースがオンラインかどうかを取得するか、データディクショナリvデータファイルを使用してリストアするデータファイルがかオンライン。
3 具体例
例:共通ユーザーテーブルスペースの消失データファイルのリカバリ(ユーザーテーブルスペースの消失データファイルのリカバリ)
オンラインバックアップと障害シミュレーション処理
(1) ユーザーテーブルスペースのオンラインバックアップ
host mkdir /u01/hotbackup
alter tablespace users begin back
host cp /u01/app/oracle/oradata/orcl/users01.dbf /u01/hotbackup/users01.dbf
alter tablespace users end back
(2) scott ユーザーを使用して実験的なテーブル テストを作成する
conn scott/tiger
create table test as select * from emp;
(3) ユーザーの表領域データ ファイルを削除します。
host rm /u01/app/oracle/oradata/orcl/users01.dbf
(4) キャッシュをクリアします
alter system flash buger_cache;
(5) scott ユーザー クエリ テストで障害が見つかりました
conn / as sysdba
conn scott/tiger
select * from test
select * from test * 行 1 のエラー: ORA-01116: データベース ファイル 4 を開く際のエラーORA-01110: データ ファイル 4
: '/u01/app/oracle/oradata/orcl / users01.dbf' ORA-27041: ファイルを開けませんLinux エラー: 2: そのようなファイルまたはディレクトリはありません
追加情報: 3
リカバリプロセス
(1) ユーザーテーブルスペースデータファイル users01.dbf
alter datafile 4 offline
(2) バックアップファイルを対応する場所にリストアします
host cp /u01/hotbackup/users01.dbf /u01/app/oracle/oradata /orcl /users01.dbf
(3) オンラインで試し、エラーを報告し、
オンラインでデータベース データファイル 4 を復元
する必要があります (4) 制御ファイル内のファイルのチェックポイント情報とデータ ファイル ヘッダーを照会し、不整合を見つけて復元する必要があります
select file#,error ,change# from v KaTeX 解析エラー: 予期された 'EOF'、位置 38 で '#' を取得しました: …eckpoint_change#̲,last_change# f... datafile where file#=4
select Checkpoint_change# from v KaTeX解析エラー: 予期された 'EOF' 、位置 27 で '#' を取得しました: ...ader where file#̲=4 (5) ファイルを回復します... Recovery_file select Checkpoint_change#,last_change# from
vKaTeX 解析エラー: 予期された 'EOF'、位置 20 で '#' を取得しました: …file where file#̲=4 select check… datafile_header where file#=4
(7) オンライン データ ファイル、回復が成功したことを確認します。
データベース データファイルを変更します 4 オンライン
conn scott/tiger
select * from test
4. 最初はクローズ状態でのオープンデータベースリカバリ
1 該当するシナリオ
(1) リカバリ対象のデータファイルがシステムテーブルスペースまたはリストア/ロールバックセグメントテーブルスペースに属していない
(2) メディアが損傷している、ハードウェアが損傷しているまたは、データ ファイルが破損しています。損失により、すでにデータベースがシャットダウンされています。
(3) データベースは 24*7 です。 方法
2 方法の手順
(1) 起動マウント コマンドを使用して、データベースをロードします。破損したデータ ファイルを開くことができないため、データベースを開くことができません。
(2) データディクショナリを使用する vdatafile リストアするデータファイルのファイル名を確認します。この場合、データ ディクショナリはデータベースが開いている場合にのみ使用できるため、dbadatafiles は使用できません。(3) alterdatabasedatafile 'データ ファイル名' offline コマンドは、問題のあるデータ ファイルをオフラインに設定します。この場合、altertablespace コマンドを使用して問題のある表領域をオフラインに設定することはできません。このコマンドはデータベースが開いているときにのみ使用できるためです。(4) alterdatabaseopen コマンドでデータベースを開きます。問題のデータファイルはオフラインであるため、他のすべてのデータファイルは同期されます。(5) オペレーティング システムのコピー コマンドを使用して、バックアップしたデータ ファイルをデータベース内の元の場所にコピーします。メディアが破損している場合は、バックアップデータファイルを別のメディアにコピーし、alterdatabaserenamefileコマンドでデータファイル名を変更してください。(6) Recovery コマンドを使用して、アーカイブされたログ ファイルおよび REDO ログ ファイルから送信されたすべてのデータを修復されたデータ ファイルに書き換えます。Recoverytablespace テーブルスペース名または Recoverydatafi を使用できます。le データファイル名。(7) リカバリが完了したら、altertablespacealterd を使用して、ベースのオンライン表スペースまたはデータ ファイルを使用します。(8) リカバリ中にバックアップデータファイルが別の場所にコピーされた場合は、再度データディクショナリ dbadatafiles を使用してリストア対象のデータファイルと対応する表スペースを取得し、データファイルが正しい場所にコピーされていることを確認します。(9) 再度データディクショナリ dbatablespaces を使用してリストア対象の表スペースがオンラインかどうかを取得するか、データディクショナリ v datafile を使用してリストア対象のデータファイルのファイル名を確認します。この場合、データ ディクショナリはデータベースが開いている場合にのみ使用できるため、dba_data_files は使用できません。(3) alter database datafile 'data file name' offline コマンドは、問題のあるデータ ファイルをオフラインに設定します。この場合、alter tablespace コマンドを使用して問題のある表領域をオフラインに設定することはできません。これは、このコマンドはデータベースが開いているときにのみ使用できるためです。(4) alter database open コマンドでデータベースを開きます。問題のデータファイルはオフラインであるため、他のすべてのデータファイルは同期されます。(5) オペレーティング システムのコピー コマンドを使用して、バックアップしたデータ ファイルをデータベース内の元の場所にコピーします。メディアが破損している場合は、バックアップ データ ファイルを別のメディアにコピーし、alter database rename file コマンドを使用してデータ ファイル名を変更します。(6) Recovery コマンドを使用して、アーカイブ ログ ファイルおよび REDO ログ ファイルからコミットされたすべてのデータを修復されたデータ ファイルに再書き込みします。「recover tablespace 表スペース名」または「recover datafile データファイル名」を使用できます。(7) リカバリ完了後、alterを使用する tablespace alter database オンラインのテーブルスペースまたはデータファイル。(8) リカバリ時にバックアップデータファイルが別の場所にコピーされた場合は、再度データディクショナリ dba_data_files を使用してリストア対象のデータファイルと対応する表領域を取得し、データファイルが正しい場所にコピーされていることを確認します。(9) データ・ディクショナリー dba_tablespaces を再度使用して、リストアする表スペースがオンラインかどうかを取得するか、データ・ディクショナリー v を使用します。データファイル復元するデータファイルのファイル名を確認します。_ _ _ _ この場合、d b a は使用できませんdあたあ_ _ふデータディクショナリはデータベースが開いている場合にのみ使用できるためです。_ ( 3 ) a l ter d a t a b a s e d a t a file of f l 'データファイル名' _ _ _ _ _ _ineコマンドは、問題のあるデータファイルをオフラインにします。 この場合、alter table space spaceコマンドを使用して問題のある表スペースをオフラインに設定することはできません。_ _ _このコマンドは、データベースが開いている場合にのみ使用できます。( 4 ) a lter daba s e openコマンドでデータベースを開きます。_ _ _ _ _ _ _ _ _ 問題のデータファイルがオフラインであるため、他のすべてのデータファイルは同期されます。( 5 )オペレーティング システムのコピーコマンドを使用して、バックアップしたデータファイルをデータベース内の元の場所にコピーします。メディアが破損している場合は、バックアップデータファイルを他のメディアにコピーし、alter data base name fileコマンドを使用してデータファイル_ _ _ _ nameを変更します。_ _ _ _ _ _ _ _ _ ( 6 ) rec o_ _を使用するv e rコマンドは、コミットされたすべてのデータをアーカイブログファイルとREDOログファイルから修復されたデータファイルに再書き込みします。 回復可能なスペースを使用できます_ _ _ _ _ _ _ _ _ _テーブルスペース名には、リカバリデータファイル名も使用できます。_ _ _ _ _ _ _ _ _ _ _ ( 7 )回復が完了したら、代替可能なスペースフィルターを使用します。_ _ _ _ _ _ _ _データベースのオンラインテーブルスペースまたはデータファイル。_ _ _ _ _ ( 8 )リカバリ中にバックアップデータファイルが別の場所にコピーされた場合は、データディクショナリd b aを再度使用します。dあたあ_ _ふリストアするデータファイルと対応するテーブルスペースを取得し、データファイルが正しい場所にコピーされていることを確認します。( 9 )データ辞書d b aを再度使用するたaable space cesリストアする表スペースがオンラインかどうかを取得するか、データディクショナリvデータファイルを使用してリストアするデータファイルがかオンライン。
3 具体例
例: 共通ユーザーテーブルスペースで失われたデータファイルのリカバリ (テストテーブルスペースのデータファイル損失リカバリ)
オンラインバックアップと模擬障害プロセス
(0) create tablespace
create tablespace test datafile '/u01/test.dbf' size 1M;
(1) alter tablespace tablespacename begin back コマンドは、バックアップされる表領域をバックアップ状態に設定します。
alter tablespace test begin back
(2) オペレーティング システムの copy コマンドを使用して、テーブルスペースに対応するすべてのデータ ファイルをバックアップ メディアにコピーします。
host mkdir /u01/hotbackup
host cp /u01/test.dbf /u01/hotbackup/test.dbf
(3) alter tablespace tablespacename end backup コマンドは、正常にバックアップされた表領域のバックアップ ステータスをリセットします。
alter tablespace test end backup
(4) 現在の REDO ログ ファイルの情報をアーカイブ ログ ファイルに書き込みます。
alter system archive log current;
alter system archive log all;
(5) テスト表スペースにテスト表を作成し、データを挿入し、テスト表スペースに対応するデータファイルtest.dbfを削除してリカバリが必要になります。
テーブル作成テスト (int) テーブルスペーステスト
テスト値に挿入(1)
テスト値に挿入(1)
コミット
シャットダウン
ホスト rm /u01/test.dbf
システム フラッシュ バッファ キャッシュを変更します。
回復プロセス
(1) はデータベースを開き、失敗します。
起動
(2) データディクショナリ v$datafile を使用して、リストアするデータファイルのファイル名を確認します。
(3) alter database datafile 'data file name' offline コマンドは、問題のあるデータ ファイルをオフラインに設定します。
alter database datafile '/u01/test.dbf' offline;
(4) alter database open コマンドでデータベースを開きます。問題のデータファイルはオフラインであるため、他のすべてのデータファイルは同期されます。ステップ 4 はステップ 7 の後に配置できます。
alter database open
(5) オペレーティング システムの copy コマンドを使用して、バックアップ データ ファイルをデータベース内の元の場所にコピーします。
host cp /u01/hotbackup/ test.dbf /u01/test.dbf
(6) Recovery コマンドを使用して、アーカイブ ログ ファイルおよび REDO ログ ファイルから送信されたすべてのデータを修復されたデータ ファイルに再書き込みします。
alterdatabaserecoverdatafile'/u01/test.dbf' (7)
リカバリ後に
alterdatabaseonlinedatafilealterdatabasedatafile'/u01/test.dbf' をオンラインで使用します ;
(8)リカバリが成功したかどうかを確認します。回復成功の基準は何ですか?
テストから * を選択
1 バックアップなしのデータファイルのリストア
1 該当するシナリオ
(1) リストア対象のデータファイルは、システム表スペースまたはリストア/ロールバックセグメント表スペースに属しません。
(2) メディアの損傷またはユーザーのエラーによりデータ ファイルが失われますが、このデータ ファイルはバックアップされていません。
(3) このデータ ファイルの作成時にアーカイブされたログ ファイルはすべてそのままです。
2 データ ファイル構造を再構築します
alter database create datafile "元のファイル名"。このコマンドは、元のデータ ファイルと同じ名前でデータ ファイルを再構築します。
alter database create datafile "元のファイル名" を "新しいファイル名" にすると、このコマンドで再構築されるデータ ファイルの名前は元のデータ ファイルとは異なります。
3 方法の手順
(1) データベースが開いている場合は、データ ディクショナリ dba_data_files を使用して、復元するデータ ファイル、対応するテーブル スペース、およびそれらの関連情報を取得します。
(2) データベースがオープンしている場合は、データ ディクショナリ dba_tablespaces を使用してリストア対象の表領域がオフラインかオンラインかを取得するか、データ ディクショナリ v datafile を使用してリストア対象のデータ ファイルがオフラインかオンラインかを確認します。(3) 表スペースがオンラインの場合は、まず表スペースをオフラインに設定する必要があります。また、データ ファイルをオフラインに設定することもできます。すでにオフラインである場合、この手順は必要ありません。データベースが閉じている場合は、startupmount コマンドを使用してデータベースをマウントします。次に、alterdatabasedatafile "datafilename" offline; コマンドを使用して、問題のあるデータファイルをオフラインにします。最後に、alterdatabaseopen を使用してデータベースを開きます。(4) データディクショナリvデータファイルを使用して、リストアするデータファイルがオフラインかオンラインかを確認します。(3) 表スペースがオンラインの場合は、最初に表スペースをオフラインに設定する必要があります。そうでない場合は、データ ファイルをオフラインに設定することもできます。すでにオフラインの場合、この手順は必要ありません。データベースが閉じている場合は、startup mount コマンドを使用してデータベースをロードします。次に、alter database datafile "data file name" offline; コマンドを使用して、問題のあるデータ ファイルをオフラインに設定します。最後に、alter database open を使用してデータベースを開きます。(4) データ辞書の使用 vデータファイルリストアするデータファイルがオフラインかオンラインかを確認します。 _ _ _ _ _ ( 3 )表スペースがオンライン状態にある場合は、まず表スペースをオフライン状態に設定する必要があります。データファイルをオフラインにします。すでにオフラインの場合、この手順は必要ありません。 データベースが閉じている場合は、 start t up m o u n tコマンドを使用してデータをロードします。図書館。次に、alter d a t a b a s e d a t a f i e "データファイル名" of f lineを使用します; _ _ _ _ _ _ _ファイルはオフラインに設定されます。 ついに,データベースを開くには、alter database openを使用します。_ _ _ _ _ _ _ _ ( 4 )データディクショナリv reverse_fileを使用して、データ ファイルのリカバリ ステータスを表示します。このとき、エラー列の表示は「ファイルが見つかりません」、変更# 列の表示は 0、時間列の表示は表示されます。出力を表示しないでください。
(5) alter database create datafile を使用してデータ ファイル構造を再構築します
(6) vKaTeX 解析エラーを使用します: 'EOF' が予期され、位置 47 で '#' を取得しました: ... 列には出力が表示されません。chang#̲ 列とtime 列の表示 どちらも新しい値を持ちます...datafile は、リストアするデータファイルがオフラインかオンラインかを確認します。
4 具体例
例:バックアップなしのデータファイルのリストア(テストテーブルスペースのデータファイルが消失しバックアップされていない場合)
オンラインバックアップと模擬障害処理
(1) テストテーブルスペースの作成
create tablespace test datafile '/u01/test01.dbf' サイズ 5M
(2) ) 実験テーブルの作成 test
create table test(anumber(2)) tablespace test;
insert into test names(1);
commit;
(3) テストテーブルスペースデータファイル
host rf /u01/test01.dbfを削除します
(4) Clearキャッシュ
の変更システムフラッシュバッファキャッシュ;
(5) 再度クエリテストに接続し、障害を見つけます
conn / as sysdba
select * from test
select * from test *
行
1 のエラー:
ORA-01116: データベース ファイル 6 を開くときにエラーが発生しました
ORA-01110 : データ ファイル 6: '/u01/test01.dbf'
ORA-27041: ファイルを開けません
Linux エラー: 2: そのようなファイルまたはディレクトリはありません
追加情報: 3
リカバリプロセス
(1) テストテーブルスペースデータファイル test01.dbf をオフラインにします
alterdatabase datafile 6 オフライン
(2) データファイルを対応する場所に作成します
alterdatabase create datafile '/u01/test01.dbf';
(3) ファイルをリカバリします
リカバリ データファイル 6
(4) リカバリが成功したかどうかを確認するためのオンライン データ ファイル。
データベース データファイルを変更します 6 オンラインで
選択 * テストから
2 クローズ状態でのデータベースのリストア
1 該当するシナリオ
(1) リストア対象のデータファイルは、システム表領域またはリストア/ロールバックセグメント表領域に属します。
(2) データベース全体またはほとんどのデータ ファイルを復元する必要があります。
(3) 24時間365日稼働ではなく、作業中にデータをオフにすることができます。
2 方法の手順
(1) データベースが開いている場合は、データ ディクショナリ dba_data_files を使用して、復元するデータ ファイル、対応するテーブル スペース、およびそれらの関連情報を取得します。
(2) データベースが開いている場合は、shutdown コマンドを使用してデータベースを閉じます (場合によっては中止オプションを使用します)。
(3) ロードしてデータベースのシャットダウン マウントを開始します。
(4) オペレーティング システムのコピー コマンドを使用して、バックアップされたデータ ファイルをデータベース内の元の場所にコピーします。メディアが破損している場合は、バックアップデータファイルを別のメディアにコピーし、alterコマンドでデータファイル名を変更してください。
(5) Recovery コマンドを使用して、アーカイブされたログ ファイルおよび REDO ログ ファイルから送信されたすべてのデータを、修復されたデータ ファイル リカバリ データベースに再書き込みします。
(6) alterdatabaseopenコマンドを使用してデータベースをオープンします。
(7) リカバリ中にバックアップ データ ファイルが他のメディアにコピーされた場合は、データ ディクショナリ dba_data_files を再度使用して、復元するデータ ファイルと対応するテーブルスペースを取得し、データ ファイルが正しい場所にコピーされたことを確認する必要があります。
3 具体例
例:システム表領域データファイル消失のリカバリ(システム表領域データファイル消失リカバリ)
オンラインバックアップと擬似障害処理
(1) システム表領域のオンラインバックアップ
host mkdir /u01/hotbackup
alter tablespace system begin back
host cp /u01/app/oracle/oradata/orcl/system01.dbf /u01/hotbackup/system01.dbf
alter tablespace system end back
(2) sys ユーザーを使用して、 Experiment Table test
create table test as select * from dba_objects
select count( ) from test
(3) システム テーブル スペース データ ファイルの削除
host rm /u01/app/oracle/oradata/orcl/system01.dbf
(4) キャッシュのクリア
alter system flash buffer_cache ;
(5) sys ユーザーはデータベース
conn / as sysdbaへの接続に失敗しました
エラー:
ORA-01075: 現在ログオンしています
警告: ORACLE には接続されていません。
リカバリ プロセス
(1) は通常、データベースを
すぐに閉じることができません。シャットダウン
します。 ORA-00604: 再帰 SQL レベル 2 でエラーが発生しました。
ORA-01116: データベース ファイル 1 を開くときにエラーが発生しました
。 ORA-01110: データ ファイル 1: '/u01/app/oracle/ oradata/orcl/system01.dbf'
ORA-27041: ファイルを開けません
Linux エラー: 2: そのようなファイルまたはディレクトリはありません
追加情報: 3
起動
ORA-01081: すでに実行中の ORACLE を起動できません - 最初にシャットダウンしてください
(2)通過kill进程方式
host ps -ef |起動します。grep dbw
オラクル 2822 1 0 16:51 ? 00:00:00 ora_dbw0_orcl
oracle 3481 2796 0 17:46 ポイント/1 00:00:00 /bin/bash -c ps -ef | grep dbw
oracle 3483 3481 0 17:46 ポイント/1 00:00:00 grep dbw
host kill -9 2822
(3) データベースを起動するか、起動エラーが発生します。
(
4) バックアップ ファイルを対応する場所に復元します。
host cp /u01/hotbackup/system01.dbf /u01/app/oracle/oradata/orcl/ system01.dbf
(5) ファイルのリカバリ
データファイル 1 のリカバリ
(6) 制御ファイル内のファイルのチェックポイント情報とデータ ファイル ヘッダーを再度照会し、同じであることを確認します。
v KaTeX 解析エラー: 予期されるselect Checkpoint_change#,last_change# 'EOF'、位置 20 で ' #' を取得しました: …file where file#̲=1 select check… datafile_header where file#=1
(7) オンライン データ ファイル、リカバリが成功したかどうかを確認します。
データベースを変更して開く
select * from test
------------------------境界線---------------------------- --------------
答えは次のとおりです。
無料ダウンロード:
BZUUniversity オンライン バックアップと完全なデータベース回復.docx
https://download.csdn.net/download/weixin_42692989/33855386