コンテンツエリア開始

Procedure documentation データベースインスタンスのリストア Locate the document in its SAP Library structure

用途

ハードウェアエラーまたはデータベースエラーの発生後は、関連するデータベースインスタンスのデータをリストアします。この作業は、そのデータベースインスタンスのデータバックアップとログバックアップ (存在する場合) をインポートすることによって行います。

最初のステップではバックアップ履歴を照会し、最新の完全データバックアップとそれ以降に実行された増分データバックアップを確認します(参照: Structure linkbackup_history_openStructure linkbackup_history_list)。バックアップの行の情報に注意してください。それぞれのバックアップが実行された時間と格納されているページが表示されています。最新のエントリがファイルの最後に示されています。

次のステップでは完全データバックアップをインポートし、続けて増分データバックアップをインポートします (参照: Structure linkrecover_start)。データバックアップのインポートが完了するたびに、そのデータバックアップのあとにインポートする次ページが示されます。

データバックアップのインポート後、再起動情報を照会し、データベースインスタンスを再起動する準備が完了しているかどうかと、どのページからログ領域のログエントリが存在するかを確認します (参照: Structure linkdb_restartinfo)

データバックアップ後にインポートする次ページがデータベースインスタンスのログ領域にまだ存在する場合は、ここでデータベースインスタンスを再起動します(参照: Structure linkdb_restart)。ログ領域からログエントリがインポートされるため、データベースインスタンスは直近の整合性のある状態にリストアされます。データベースインスタンスを直近の整合性のある状態にリストアするのではなく、過去のある時点にリストアする場合は、データベースインスタンスの再起動時にその時点をオプションとして入力します。

データバックアップ後にインポートするページがログ領域の最小ページ番号よりも小さい場合は、バックアップ履歴を照会して、そのページが格納されているバックアップを確認します。該当するデータバックアップまたはログバックアップをインポートし、少なくともログ領域の最小ページ番号の先行ページが格納されているバックアップまで、後続のすべてのバックアップを発生順に続けてインポートします (参照: Structure linkrecover_replace)。このページをインポートするとバックアップのインポートが終了し、ログ領域にまだ存在するエントリによってデータベースインスタンスが起動されます (再起動)

参照:

特定の時点までのログバックアップのインポート

 

最初のバックアップは DBM コマンド recover_startを使用してインポートします。後続のすべてのバックアップのインポートには DBM コマンド recover_replace を使用します。

何らかの理由によりバックアップのインポートを中止したり、次のコマンドの入力時にミスを犯したりすると、データベースインスタンスの操作状態は自動的に OFFLINE に切り替わります。

そのため、データベースインスタンスの操作状態を元の ADMIN に切り替えて、データベースセッションを再開する必要があります。この時点で db_restartinfo を再度実行し、インポートしたページですでに永続的にデータ保存されている部分はどれか、どのページを再度インポートする必要があるかについて確認します。この場合は、recover_start を使用してインポートを再開し、再起動情報にもとづいて要求される最初のページをインポートし、recover_replace を使用して後続のすべてのバックアップをインポートします。

 

前提条件について確認するには、データベースマネージャ CLI Structure linkrecover_startStructure linkrecover_replaceを参照してください。

参照:

バックアップのインポートにおける再起動情報とバックアップ履歴の評価

データベースシステムのコンセプトStructure linkバックアップとリストアStructure linkデータベースインスタンスのリストア

用語集Structure linkバックアップ履歴

シナリオ

ハードウェアエラーの発生後にデータベースインスタンスをリストアします。

この例をシミュレートするには、データベースインスタンスにデータボリュームが 2 つ以上必要です。DBM コマンド Structure linkparam_getvolsall を使用すると、利用可能なボリュームをすべて照会することができます。必要な場合は、名称 DISKD0002 の追加ボリュームをパス c:\documents and settings\all users\application data\sdb\data\demodb\data に作成します (参照: データベースインスタンスの拡張シナリオ 3)

ここで、データベースインスタンスの操作状態を ADMIN に切り替えます。オペレーティングシステムコマンドを使用してデータボリューム DISKD0002 を削除することにより、ハードウェアエラーをシミュレートします。

データベースインスタンスの操作状態は ADMIN のままですが、データ領域に以前格納されていたデータはすべて失われました。データベースインスタンスをリストアする必要があります。

手順

次の例では、出力の関連する値にボールド文字が使用され、出力の説明にはコメントを表す番号記号 (#) が付いています。

バックアップ情報の照会

最初のステップは、利用可能なバックアップに関する情報を照会および評価することです。

...

       1.      データベースマネージャCLI をセッションモードで呼び出し、パスワードに MONDAYを指定してユーザ OLEG としてログオンし、データベースインスタンス DEMODBに接続します。

>dbmcli -u OLEG,MONDAY -d DEMODB

dbmcli on DEMODB>

       2.      バックアップ履歴を開きます。

dbmcli on demodb>backup_history_open

OK

       3.      バックアップ履歴を照会します。

dbmcli on demodb>backup_history_list

OK

END

# DAT_000000002 のラベルの付いたものが最新の完全データバックアップです。このバックアップを最初にインポートする必要があります。

# 次ページは 9531 です。

|                                        |

43C7BBD1000B|DAT_000000002|SAVE WARM|2006-01-13 15:40:17|2006-01-13 15:40:17|200

6-01-13 15:40:17|2006-01-13 15:40:17|      9531|          |NO |DemoDataCompl

                                               |       384|         1|         0

# ページ 9531 はラベル LOG_000000007 のログバックアップに含まれています。そのため、完全データバックアップの直後にこのログバックアップをインポートする必要があります。

# このインポートにはページ 9531 から11828 が含まれ、インポートする次ページは 11829 です。

|                                        |

43C7BBE5000C|LOG_000000007|SAVE WARM|2006-01-13 15:40:23|2006-01-13 15:40:37|200

6-01-13 15:40:37|2006-01-13 15:40:38|      9531|     11828|   |DemoFileLog

                                               |      2096|         1|         0

# ページ 11829 はラベル LOG_000000008 のログバックアップに含まれています。そのため、このログバックアップは、ラベル LOG_000000007 のログバックアップの直後にインポートする必要があります。

# このインポートにはページ 11829 から14182 が含まれ、インポートする次ページは 14183 です。

|                                        |

43C7BC01000D|LOG_000000008|SAVE WARM|2006-01-13 15:40:42|2006-01-13 15:40:46|200

6-01-13 15:41:05|2006-01-13 15:41:06|     11829|     14182|   |DemoFileLog

                                               |      2152|         1|         0

# ページ 14183 はラベル LOG_000000009 のログバックアップに含まれています。そのため、このログバックアップは、ラベル LOG_000000008 のログバックアップの直後にインポートする必要があります。

# このインポートにはページ 14183 から14358 が含まれ、インポートする次ページは 14359 です。

|                                        |

43C7BC01000D|LOG_000000009|SAVE WARM|2006-01-13 15:40:46|2006-01-13 15:41:05|200

6-01-13 15:41:06|2006-01-13 15:41:07|     14183|     14358|   |DemoFileLog

                                               |       176|         1|         0

# ページ 14359 はラベル LOG_000000010 のログバックアップに含まれています。そのため、このログバックアップは、ラベル LOG_000000009 のログバックアップの直後にインポートする必要があります。

# このインポートにはページ 14359 から16712 が含まれ、インポートする次ページは 16713 です。

|                                        |

43C7BC24000E|LOG_000000010|SAVE WARM|2006-01-13 15:41:17|2006-01-13 15:41:21|200

6-01-13 15:41:40|2006-01-13 15:41:42|     14359|     16712|   |DemoFileLog

                                               |      2152|         1|         0

# それ以降は、ラベル LOG_000000013 のログバックアップを含むすべてのログバックアップを発生順に続けてインポートする必要があります。

|                                        |

43C7BC24000E|LOG_000000011|SAVE WARM|2006-01-13 15:41:21|2006-01-13 15:41:25|200

6-01-13 15:41:42|2006-01-13 15:41:43|     16713|     19065|   |DemoFileLog

                                               |      2152|         1|         0

|                                        |

43C7BC24000E|LOG_000000012|SAVE WARM|2006-01-13 15:41:25|2006-01-13 15:41:40|200

6-01-13 15:41:43|2006-01-13 15:41:43|     19066|     19770|   |DemoFileLog

                                               |       656|         1|         0

# ラベル LOG_000000013 のログバックアップには、ページ19771 から 22124 が含まれるため、再起動情報で示されているように、ログ領域の最初のページ(21452) の先行ページが含まれます。

# リストアプロセスの実行中に、このログバックアップの全体がインポートされます。以降のログバックアップをインポートする必要はありません。これらのログバックアップに含まれるページはまだログ領域に存在しており、システムによってログ領域からリストアされるからです。

|                                        |

43C7C497000F|LOG_000000013|SAVE WARM|2006-01-13 16:17:14|2006-01-13 16:17:17|200

6-01-13 16:17:43|2006-01-13 16:17:45|     19771|     22124|   |DemoFileLog

                                               |      2152|         1|         0

 

|                                        |

43C7C497000F|LOG_000000014|SAVE WARM|2006-01-13 16:17:17|2006-01-13 16:17:22|200

6-01-13 16:17:45|2006-01-13 16:17:46|     22125|     24478|   |DemoFileLog

                                               |      2152|         1|         0

 

|                                        |

43C7C497000F|LOG_000000015|SAVE WARM|2006-01-13 16:17:22|2006-01-13 16:17:43|200

6-01-13 16:17:46|2006-01-13 16:17:48|     24479|     26748|   |DemoFileLog

                                               |      2080|         1|         0

 

|                                        |

43C7C5240010|LOG_000000016|SAVE WARM|2006-01-13 16:17:45|2006-01-13 16:20:04|200

6-01-13 16:20:04|2006-01-13 16:20:05|     26749|     28510|   |DemoFileLog

                                               |      1616|         1|         0

|                                        |

データおよびログエントリのリストア

バックアップに関する情報を取得したので、DEMODB をリストアすることができます。

...

       1.      データベースインスタンスの操作状態を ADMIN に切り替えます。

dbmcli on demodb>db_admin

OK

       2.      データベースセッションを開きます。

dbmcli on demodb>db_connect

OK

       3.      最新の完全データバックアップをインポートします。

dbmcli on demodb>recover_start DemoDataCompl

OK

Returncode              0

Date                    20060117

Time                    00114627

Server                  GENUA

Database                DEMODB

Kernel Version          Kernel    7.6.00   Build 016-123-109-428

Pages Transferred       384

Pages Left              0

Volumes                 1

Medianame               DemoDataCompl

Location                Backups 2005\data\completeDataJan

Errortext

Label                   DAT_000000002

Is Consistent           true

First LOG Page                  9531

# 完全データバックアップのあとに、ページ番号 9531 のログページが要求されます。

Last LOG Page

DB Stamp 1 Date         20060113

DB Stamp 1 Time         00154017

DB Stamp 2 Date

DB Stamp 2 Time

Page Count              362

Devices Used            1

Database ID             GENUA:DEMODB_20060113_153806

Max Used Data Page      0

       4.      再起動情報を照会します。

dbmcli on demodb>db_restartinfo

OK

Used LOG Page           28513

First LOG Page          21452

# ログ領域にはページ 21452 から28513 がまだ存在します。したがって、データベースを再起動するには、ページ 9531 から 21451 をバックアップからインポートする必要があります。

Restartable             1

# データベースインスタンスを再起動する準備が整いました。ログ領域は損傷を受けていません。

Id Restart Record       GENUA:DEMODB_20060113_153806

Id LOG Info             GENUA:DEMODB_20060113_153806

Consistent                      1

       5.      ログバックアップをインポートします。

                           a.      ラベル LOG_000000007 のログバックアップをインポートします。

dbmcli on demodb>recover_start DemoFileLog LOG 007

OK

Returncode              -8020

# リターンコード -8020 は、コマンド recover_replaceを使用して、後続のバックアップを発生順にインポートする必要があることを示しています。

Date                    20060117

Time                    00143406

Server                  GENUA

Database                DEMODB

Kernel Version          Kernel    7.6.00   Build 016-123-109-428

Pages Transferred       2096

Pages Left              0

Volumes                 1

Medianame               DemoFileLog

Location                Backups 2005\data\logBackup.007

Errortext

Label                   LOG_000000007

Is Consistent

First LOG Page                  9531

Last LOG Page           11828

DB Stamp 1 Date         20060113

DB Stamp 1 Time         00154023

DB Stamp 2 Date         20060113

DB Stamp 2 Time         00154037

Page Count              2297

Devices Used            1

Database ID             GENUA:DEMODB_20060113_153806

Max Used Data Page

 

                            b.      コマンド recover_replace を使用して、ラベル LOG_000000008 のログバックアップをインポートします。

dbmcli on demodb>recover_replace DemoFileLog "C:\Documents and Settings\All Users\Application Data\sdb\data\wrk\DEMODB\Backups 2005\Data\logBackup" 008

OK

Returncode              -8020

Date                    20060117

Time                    00143406

Server                  GENUA

Database                DEMODB

Kernel Version          Kernel    7.6.00   Build 016-123-109-428

Pages Transferred       2152

Pages Left              0

Volumes                 1

Medianame               DemoFileLog

Location                C:\Documents and Settings\All Users\Application Data\sdb\data\wrk\DEMODB\Backups 2005\Data\logBackup.008

Errortext

Label                   LOG_000000008

Is Consistent

First LOG Page                  11829

Last LOG Page           14182

DB Stamp 1 Date         20060113

DB Stamp 1 Time         00154042

DB Stamp 2 Date         20060113

DB Stamp 2 Time         00154046

Page Count              2353

Devices Used            1

Database ID             GENUA:DEMODB_20060113_153806

Max Used Data Page

 

                            c.      コマンド recover_replace を使用して、ラベル LOG_000000009 のログバックアップをインポートします。

dbmcli on demodb>recover_replace DemoFileLog "C:\Documents and Settings\All Users\Application Data\sdb\data\wrk\DEMODB\Backups 2005\Data\logBackup" 009

OK

Returncode              -8020

Date                    20060117

Time                    00143406

Server                  GENUA

Database                DEMODB

Kernel Version          Kernel    7.6.00   Build 016-123-109-428

Pages Transferred       176

Pages Left              0

Volumes                 1

Medianame               DemoFileLog

Location                C:\Documents and Settings\All Users\Application Data\sdb\data\wrk\DEMODB\Backups 2005\Data\logBackup.009

Errortext

Label                   LOG_000000009

Is Consistent

First LOG Page                  14183

Last LOG Page           14358

DB Stamp 1 Date         20060113

DB Stamp 1 Time         00154046

DB Stamp 2 Date         20060113

DB Stamp 2 Time         00154105

Page Count              175

Devices Used            1

Database ID             GENUA:DEMODB_20060113_153806

Max Used Data Page

 

                            d.      コマンド recover_replace を使用して、LOG_000000010 から LOG_000000013 のラベルが付いた残りのログバックアップをインポートします(セクション aから cを参照)

# 必要とされる最後のログバックアップがインポートされると、データベースシステムはページ番号がログ領域の最初のページよりも小さいすべてのページを取得したことになり、残りのページがログ領域から自動的にインポートされます。最後に、データベースインスタンスの操作状態が ONLINE に切り替えられます。

結果

データベースインスタンス DEMODB がリストアされました。マニュアルで削除したボリュームは、データベースパラメータファイルの情報にもとづいてリストアされ、ハードディスクの元の場所に再度表示されます。

ハードウェアエラーの発生前にデータ領域とログ領域に格納されていたページはすべて、データベースインスタンスに再び取り込まれ、アクセスできるようになりました。

データベースインスタンスは操作の準備が完了し、ONLINE 操作状態になっています。

 

 

コンテンツエリア終了