2 CDS の管理

CDS には重要なデータが含まれるため、CDS の管理は重要なタスクです。次のセクションでは、CDS の保護方法と、CDS の 1 つまたは複数のコピーが失われた場合のこれらの回復方法について説明します。CDS の計画と作成については、『HSC および VTCS の構成』を参照してください。

CDS のバックアップ

CDS のすべてのコピーで障害が発生した場合 (つまり、プライマリ、セカンダリー、およびスタンバイのすべてのコピーが失われた場合) は、バックアップから CDS を復元する必要があります。CDS のバックアップは、ディスクのミラー化などの ELS 以外の機能、IBM DFSMSdss や Innovation FDR などの他社のバックアップソフトウェア、または IBM FlashCopy などの他社の Point-In-Time コピーソフトウェアを使用して実行できます。ただし、CDS の整合性や完全性が保証されないため、Oracle ではこれらの方法を推奨していません。

Oracle は、CDS のバックアップに対して次の方法を推奨します。

  • スナップショットバックアップを作成する機能がある場合は、HSC PITCOPY ユーティリティーを使用します。これは、CDS の整合性を確保したあとでそれらのユーティリティーを呼び出します。標準の BACKUP ユーティリティーに比べて、バックアップ時間 (特に大きな CDS の場合) が大幅に短縮されます。

  • スナップショットバックアップを作成する機能がない場合は、HSC BACKUP ユーティリティーを使用します。

バックアップの頻度

Oracle では、CDS のバックアップを少なくとも 1 日に 1 回実行することを推奨します。CDS ロギングを使用している場合は、CDS をバックアップしたあとすぐに、ログファイルのオフロードを実行することもお勧めしています。これにより、回復に使用するバックアップファイルに対応するログオフロードファイルを、回復中に選択できます。

また、構成の変更や次のような重要なイベントを実行する前にも、CDS をバックアップするようにしてください。

  • SLUADMIN SET ユーティリティーの実行

  • VTCS CONFIG ユーティリティーの実行

  • CDS の移動

  • CDS の拡張

  • CDS のマージ。

PITCOPY 機能では、HSC がアクティブである必要はありません。ただし、HSC がアクティブでない場合は、CDS データセットに対して DD 文を指定する必要があります。

PITCOPY を使用した CDS のバックアップ

PITCOPY ユーティリティーは、次のスナップショット方式をサポートしています。

  • StorageTek SVAA SnapShot (SIBBATCH)

  • DFSMSdss SnapShot / DFSMSdss FlashCopy (ADRDSSU)

  • FDR が呼び出した SnapShot (FDRSNAP)

必要な JCL DD 文および制御カードについては、環境に応じたユーティリティーのドキュメントを参照してください。

PITCOPY 機能には、SLUADMIN ユーティリティーとスナップショットユーティリティーで必要となる DD 文に加えて、次の DD 文も必要です。

  • SLSPARMP。環境内に SLSCNTL として定義されたデータセットをバックアップするためのスナップショット制御文を含むデータセット。

  • SLSPARMS。環境内に SLSCNTL2 (存在する場合) として定義されたデータセットをバックアップするためのスナップショット制御文を含むデータセット。

  • SLSPARMB。環境内に SLSSTBY (存在する場合) として定義されたデータセットをバックアップするためのスナップショット制御文を含むデータセット。

  • SYSIN。PITCOPY ユーティリティーによる書き込みと読み取りの両方が可能なデータセットとして定義する必要があります。

PITCOPY 機能では、HSC がアクティブである必要はありません。ただし、HSC がアクティブでない場合は、CDS データセットに対して DD 文を指定する必要があります。

次の例は、すべての PITCOPY 方式に必要な一般的な JCL を示しています。

//PITCOPY EXEC PGM=SLUADMIN,PARM='MIXED'
//STEPLIB  DD DSN=hlq.SEALINK,DISP=SHR
//* If HSC IS NOT OR MAY NOT BE ACTIVE, INCLUDE THE 
//* FOLLOWING:
//SLSCNTL DD DSN=primary.cds.name,DISP=SHR
//SLSCNTL2 DD DSN=secondary.cds.name,DISP=SHR
//SLSSTBY   DD DSN=standby.cds.name,DISP=SHR
//SLSPARMP DD DSN=hlq.PARMLIB(BKPCNTL),DISP=SHR
//SLSPARMS DD DSN=hlq.PARMLIB(BKPCNTL2),DISP=SHR
//SLSPARMB DD DSN=hlq.PARMLIB(BKPSTBY),DISP=SHR
//SYSIN          DD UNIT=SYSDA,SPACE=(TRK,1)
//* THE FOLLOWING IS USED BY THE SNAPSHOT UTILITY:
//SYSPRINT  DD  SYSOUT=* 
//SLSPRINT   DD SYSOUT=* 
//SLSIN         DD *
 PITCOPY METHOD=(SIBBATCH|ADRDSSU|FDRSNAP)

その他の JCL 要件については、使用しているスナップショットユーティリティーのユーザーズガイドを参照してください。

  • SLSPARMP、SLSPARMS、および SLSPARMB に含まれる制御カードは、スナップショット機能を呼び出すために必要なものです。必要な制御カードの形式については、使用しているスナップショットユーティリティーのユーザーズガイドを参照してください。PITCOPY ユーティリティーは直列化を保証しているため、データセットに対して ENQ を要求しない制御カードオプションを使用するようにしてください。

BACKup ユーティリティーによる CDS のバックアップ

BACKup ユーティリティーの実行:

  1. SLSBKUP データセットを割り振ります。

    CDS よりも少し大きく指定してください。サイズは見つかった差分の数によって異なります。ただし、現在の CDS よりも 5% 大きいサイズを推奨します。

    バックアップデータセットは RECFM=F、BLKSIZE=4096 でフォーマットされます。論理レコードの長さは LRECL=0 と指定できます。この場合、LRECL=0 はデフォルトでブロックサイズになることを示します。

  2. BACKup ユーティリティーを実行します。

    CDS は、データが SLSBKUP データセットにコピーされるまでの間、予約状態となります。ほかの機能は、バックアップ処理中に CDS データセットにアクセスできません。

  • HSC がアクティブでない場合は、JCL で SLSCNTL、SLSCNTL2、および SLSSTBY DD 文を指定して、バックアップに使用するプライマリ、セカンダリ、およびスタンバイの CDS を識別する必要があります。

  • HSC がアクティブな場合に、JCL で SLSCNTL、SLSCNTL2、および SLSSTBY DD 文を指定して、バックアップに使用するプライマリ、セカンダリ、およびスタンバイの CDS を識別している場合は、ユーティリティーを実行しているホストで HSC がアクティブな場合でも、DD 文が使用されます。HSC がアクティブで、これらの DD 文を省略した場合は、ユーティリティーを実行しているホストで HSC の稼働が使用するデータセットが使用されます。

    プライマリ、セカンダリ、およびスタンバイ CDS をバックアップする JCL の例:

    //JOBBKUP   job (account),programmer 
    //S1        EXEC PGM=SLUADMIN,PARM=MIXED 
    //STEPLIB      DD DSN=hlq.SEALINK,DISP=SHR
    //SLSBKUP   DD DSN=backup.dataset.name(+1),DISP=(NEW,CATLG,DELETE),
    //             UNIT=SYSDA,SPACE= 
    //SLSCNTL   DD DSN=primary.dataset.name,DISP=SHR 
    //SLSCNTL2 DD DSN=secondary.dataset.name,DISP=SHR
    //SLSSTBY DD DSN=standby.dataset.name,DISP=SHR
    //SLSPRINT  DD SYSOUT=A 
    //SLSIN     DD * 
      BACKUP 
    

CDS ロギングの管理

HSC トランザクションロギングサービスは、情報を 1 つ、またはオプションで 2 つのログファイルに記録する HSC の内部サービスです。CDS のすべてのコピーで障害が発生した場合 (つまり、プライマリ、セカンダリー、およびスタンバイのすべてのコピーが失われた場合) は、バックアップからの回復に時間がかかる場合があります。バックアップから回復するときに、CDS ロギングを利用して、CDS および VSM サブシステムのデータの内容を再同期できます。それぞれの構成ではじめてロギングを設定する場合は、『HSC および VTCS の構成』を参照してください。次のセクションでは、CDS ロギングを管理する方法を説明します。

注記:

ログファイルを使用する回復では、ログデータの解析と必要な MVC 監査文の構築を行なって、最新のデータへのアクセスを復元します。これによって CDS が障害の発生前とまったく同じ状態に回復されるわけではありません。たとえば、VTV は複数の MVC に存在する場合があります。監査では VTV のすべてのコピーに対するアクセスが回復されますが、これらのコピーが存在する MVC は、CDS が失われる前と正確には同じにならない可能性があります。CDS ロギングの目的はデータへのアクセスを回復することです。これはビット単位での CDS の回復ではありません。

定期的なログファイルのオフロード

ログファイルがいっぱいになってロギングが停止しないように、定期的にログファイルをオフロードする必要があります。オフロードのための最適な事例を次に示します。

  • PROC を設定して、ログファイルを定期的にオフロードします。通常またはピーク時の運用状態でログファイルがいっぱいになるまでの経験上の計測時間に基づいて、その間隔でログのオフロードを実行します。

  • また、SLS1781E メッセージを代行受信するように自動処理パッケージを設定することも検討してください。このメッセージは、ログファイルデータセットの使用量が 70% 以上になると表示されます。

  • また、CDS の定期バックアップを実行するときにログファイルのオフロードを実行するようにスケジュールしてください。これにより、回復に使用するバックアップファイルに対応するログオフロードファイルを回復中に選択できます。

  • CDS が (3 つのコピーすべて) 失われた場合や、何らかの理由で信頼性が低下した場合は、ログファイルをオフロードしないでください。このような場合は、「CDS の復元」を参照してください。

ログファイルの拡張と再割り振り

ログファイルを何らかの理由で拡張または再割り振りする必要がある場合は、次の手順に従います。

  1. 新しいログファイルを作成しフォーマットします。

    割り振られるログファイルのサイズは、現在使用しているシステムが生成するトランザクション数とオフロードを実行する頻度によって異なります。Oracle では、実稼働のログファイルのサイズを決定する前に、テスト用のログファイルの割り振りおよびアクティブ化を行い、ファイルがいっぱいになるまでにかかる時間を判断することをお勧めしています。

    JCL の例:

    //FMTLOG  JOB (account),REGION=1024K
    //S1 EXEC PGM=SLUADMIN,PARM=MIXED
    //STEPLIB DD DSN=hlq.SEALINK,DISP=SHR
    //SLSLOG1 DD DSN=hlq.CDSLOG1,DISP=(,CATLG,DELETE),
    // UNIT=SYSDA,SPACE=(CYL,100)
    //SLSLOG2 DD DSN=hlq.CDSLOG2,DISP=(,CATLG,DELETE),
    // UNIT=SYSDA,SPACE=(CYL,100)
    //SLSPRINT DD SYSOUT=*
    //SLSIN DD *
    FMTLOG
    
  2. SET LOGFILE を実行して、新しいログファイルを指定します。

    JCL の例:

    //SETLOG  JOB (account),REGION=1024K
    //S1 EXEC PGM=SLUADMIN,PARM=MIXED
    //STEPLIB DD DSN=hlq.SEALINK,DISP=SHR
    //SLSPRINT DD SYSOUT=*
    //SLSIN DD *
    SET LOGFILE(hlq.CDSLOG1,hlq.CDSLOG2)
    
  3. OFFLOAD LOGFILE を実行して、古いログファイルをオフロードします。

    //JOBOFFL job (account),programmer 
    //S1        EXEC PGM=SLUADMIN,PARM=MIXED 
    //STEPLIB      DD DSN=hlq.SEALINK,DISP=SHR
    //SLSOFFLD DD DSN=offload.dataset.name(+1),DISP=(NEW,CATLG,DELETE),
    //             UNIT=SYSDA,SPACE= 
    //SLSCNTL   DD DSN=primary.dataset.name,DISP=SHR 
    //SLSCNTL2 DD DSN=secondary.dataset.name,DISP=SHR
    //SLSSTBY DD DSN=standby.dataset.name,DISP=SHR
    //SLSPRINT  DD SYSOUT=A 
    //SLSIN     DD * 
    OFFLOAD LOGFILE 
    

    HSC が自動的に新しいログファイルへの切り替えを行います。

手動による別の CDS コピーへの切り替え

CDS のバックアップ」で説明したように、複数の CDS コピーを指定した場合にプライマリ CDS で障害が発生すると、HSC は自動的に別の CDS コピーに切り替えを行います。通常は別の CDS コピーへの切り替えを手動で行う必要はありません。基本的に、手動による切り替えが必要となるのは次のような状況です。

  • CDS を移動または拡張する場合。

  • HSC が CDS コピーを自動的に切り替えたあとに、古いプライマリを削除、再割り振り、および再作成する場合。再割り振りされたプライマリ CDS を有効にすると、HSC は有効な CDS データをバックアップコピーからこの CDS に再コピーします。

CDS コピーの切り替え、拡張、または移動には、CDS ENABLE/DISABLE コマンドを使用します。詳細は、『ELS コマンド、制御文、およびユーティリティーリファレンス』を参照してください。

CDS の拡張

CDS EXpand コマンドを使用すると、VOLPARM データ、VTCS CONFIG データ、または外部に保管されたボリュームデータを CDS に追加できます。そのほかの構成を変更するときに、CDS のサイズ増加が必要となる可能性がある場合は (LIBGEN に FUTRACS および FUTRLSM パラメータを使用していないときに、新しい ACS および LSM を追加する場合など)、CDS EXpand 以外の手法を使用する必要があります。詳細は、『HSC および VTCS の構成』の「TapePlex の再構成」を参照してください。

注意:

Oracle は、CDS EXpand コマンドを発行する前に、すべての CDS コピーのバックアップを作成することを推奨します。拡張操作中に障害が発生すると、通常は CDS を使用できなくなります。CDS EXpand コマンド発行前に CDS のバックアップを作成し、拡張操作中の障害に備えて、CDS の最新のコピーが利用できるようにしておくことが重要です。

CDS EXpand のガイドラインは次のとおりです。

  • CDS EXpand の使用中に、HSC はアクティブである必要があり、テープのアクティビティーを進行できます。

  • 複数のホストから CDS Enable および Disable コマンドを同時に発行しないでください。同時に発行した場合、エラーメッセージが出されることがあります。この場合は、『ELS メッセージおよびコード』を参照して、ユーザーのアクションが必要かどうかを判断してください。

  • 拡張操作の結果と矛盾しないように、必要に応じて HSC PARMLIB の CDSDEF 制御文を更新します。

  • より大きな事前割り振り済みデータセットへの CDS の復元は、動的な CDS の拡張には使用できません。追加のスペースがフォーマットされていないため、そのままの状態では使用できません

  • Oracle では、すべての CDS を同じ容量の DASD スペースに割り振ることを推奨します。CDS の使用可能なスペースは、最小の DASD スペースの割り振りで CDS に収まる 4096 バイトのブロック数で決まります。

すべての CDS を拡張するには、次の手順に従います。

  1. CDS DISABLE コマンドを使用して、各 CDS を (1 回につき 1 つ) 無効にします。

  2. より大きなプライマリスペースを使用して、各 CDS を再割り振りします。

    セカンダリスペースを指定しないでください。すべての CDS でエクステントは 1 つだけである必要があります。

  3. CDS ENABLE コマンドを使用して、各 CDS を再度有効にします。

  4. CDS EXpand コマンドを入力します。

    CDS EXpand コマンドの 1 回の呼び出しで、HSC で認識されている (つまり、有効な) すべての CDS が同時に拡張されます。

CDS の循環

CDS の自動切り替えまたは手動切り替えにより、CDS 名が変更されることはありません。一連の CDS Disable および Enable コマンドを使用して、順序を元に戻し、データセット名を期待される役割に一致させることができます。

CDS を循環させるには:

  1. Display CDS コマンドを入力して、CDS の現在のステータスと割り当てを表示します。

    SYS000001 = ELS.SYSCNTL2
    PRIVOL = PROD02 FLAGS(40) ACTIVE
    SYS000002 = ELS.SYSCNTL
    SECVOL = PROD01 FLAGS(40) ACTIVE
    

    この出力結果は、SYSCNTL (元のプライマリ) がセカンダリになり、SYSCNTL2 (元のセカンダリ) がプライマリになっていることを示しています。

  2. 現在のプライマリを無効にします。

    CDS DISABLE PRIMARY
    

    ELS.SLSCNTL2 が無効になり、ELS.SLSCNTLT が新しいプライマリになります。

  3. ELS.SLSCNTL2 をアクティブなセカンダリとして、再度有効にします。

    CDS ENABLE DSN(ELS.SLSCNTL2)
    
  4. Display CDS コマンドを入力し、CDS が循環されたことを確認します。

    SYS000001 = ELS.SYSCNTL
    PRIVOL = PROD02 FLAGS(40) ACTIVE
    SYS000002 = ELS.SYSCNTL2
    SECVOL = PROD01 FLAGS(40) ACTIVE
    

CDS の名前の変更

CDS の名前を変更する方法は 2 とおりあります。

  • CDS Disable および Enable コマンドを使用して、HSC を停止せずに名前を変更します。

  • HSC を停止し、BACKup および RESTore ユーティリティーを使用して名前を変更します。

BACKup および RESTore ユーティリティーを使用する場合、HSC の停止が必要になるのは明らかに不便ですが、CDS のバックアップが作成されるという利点もあります。

CDS Disable および Enable コマンドを使用した CDS の名前の変更

コマンドを使用して CDS の名前を変更するには、次の手順に従います。

  1. 名前を変更する CDS をすべてのホストで無効にします。

    例:

    CDS DISABLE DSN(ACS.DBASEOLD)
    
  2. CDS を含むデータセットの名前を変更します。

    たとえば、ACS.DBASEOLD の名前を ACS.DBASECPY に変更します。

  3. CDS を新しい名前で有効にします。

    例:

    CDS ENABLE DSN(ACS.DBASECPY)
    

    名前を変更した CDS に対する Enable コマンドが失敗した場合は、CDS の定義がコマンドを発行する前の状態に戻されます。アクティブな CDS と矛盾しないように、HSC PARMLIB の CDSDEF 制御文を変更します。

    CDS 名はデータベースハートビート (DHB) レコードに記録されます。HSC の初期設定時に、DHB 内のデータセット名は、HSC PARMLIB 内の CDSDEF 制御文に指定されているデータセット名と比較されます。

    CDSDEF 文で指定したデータセット名が、DHB に記録されている、いずれの CDS 名とも一致しない場合、その CDS は無効になります。指定した CDS がすべて無効になった場合、HSC は初期化されません。プライマリ、セカンダリ、およびスタンバイ CDS に対する有効な CDS の割り当ては、データベースハートビートレコードに記録された CDS の割り当てに基づいて行われます。

    CDS の名前変更が必要な場合は、次の名前変更の手順で説明しているように、HSC BACKup および RESTore ユーティリティーを使用してください。MVS、TSO ISPF、またはサードパーティーのユーティリティーを使用して、BACKup および RESTore ユーティリティーを実行せずに CDS の名前を変更しないでください。

CDS の再配置

CDS を再配置するには、次の手順に従います。

  1. 再配置する CDS をすべてのホストで無効にします。

    例:

    CDS DISABLE DSN(ACS.DBASECPY)
    
  2. 新しいデータセットを適切な CDS 属性を使用して割り振ります。

    詳細は、『HSC および VTCS の構成』を参照してください。

  3. CDS で手順 2 で割り振りしたデータセットを有効にします。

    例:

    CDS ENABLE DSN(ACS.DBASENEW)NEWLOC
    

    注記:

    指定されていなければ、MVS はカタログサービスを使用してボリュームとユニットの定義を解決します。

    名前の変更または再配置の操作が失敗すると、CDS の定義がコマンドを発行する前の状態に戻されます。アクティブな CDS と矛盾しないように、CDSDEF 制御文を変更します。

カタログ化されていない CDS コピーの再配置

ACS.DBASECPY は無効化および削除され (または、カタログから外され)、ACS.NOTCATLG が割り振られてカタログ化されていると想定します。次のコマンドはカタログ化されていない CDS コピーを再配置します。

CDS ENABLE DSN(ACS.NOTCATLG) NEWVOL(HSC001),NEWUNIT(ABC)

このコマンドの CDS 定義と矛盾しないように、CDSDEF 制御文を変更します。名前の変更または再配置の操作が失敗すると、CDS の定義がコマンドを発行する前の状態に戻されます。

CDS のスワップ

HSC のコマンドまたはユーティリティーを使用した CDS の再配置とは対照的に、ディスクのデータセットを、ユーザーに影響を与えることなく別の位置にスワップできるようにするサードパーティーのソフトウェア製品は多数あります。HSC は、TDMF、FDRPAS、または P/DAS のスワップ操作が行われてから数秒以内に、CDS に保存されたデバイスアドレス情報を動的に更新するように機能強化されています。これにより、HSC および VTCS のユーティリティーは常に新しい CDS の位置を使用できます。

この強化では、CDS を無制限に移動する機能は提供されていません。PPRC またはスワップ操作以外の方法で CDS を移動するには、CDS の VOLSER への変更が必要です。CDS の VOLSER が変更された場合は、CDS の従来の SLUADMIN BACKup および RESTore の処理を使用して、デバイスアドレスとボリュームのシリアル情報をリセットする必要があります。

CDS の復元

CDS のすべてのコピーで障害が発生した場合 (つまり、プライマリ、セカンダリー、およびスタンバイのすべてのコピーが失われた場合) は、バックアップから CDS を復元する必要があります。CDS の複数のコピーがあり、そのうちの 1 つが失われた場合は、CDS ENABLE/DISABLE コマンドを使用して、有効なコピーで作業を継続し、エラーのあるコピーを再作成することができます。詳細については、「手動による別の CDS コピーへの切り替え」を参照してください。

注意:

CDS のすべてのコピーが失われたと考えられる場合は、Oracle ソフトウェアサポートに連絡して、実際にバックアップから CDS を復元する必要があることを確認し、必要に応じて復元処理のサポートを受けてください。

注記:

  • CDS バックアップの作成に PITCOPY または SLUADMIN BACKUP のどちらを使用しても、RESTORE のプロセスは同じです。

  • 復元を実行する前に、破損した CDS の新しいバックアップを作成するか、あとで分析できるように現在のすべての CDS コピーを名前を変更して保存してください。

バックアップコピーからの CDS の復元

バックアップコピーから CDS を復元するには:

  1. いずれかのホストで HSC がまだ稼動している場合は、その HSC システムを停止します。

    ロギングが有効な場合は、手順 2 に進み、VSM データを再同期します。それ以外の場合は、手順 3 に進みます。

  2. CDS にアクセスできる場合は、通常のログファイルのオフロードジョブを実行します。

    このオフロードは、前回のオフロード以降の VSM アクティビティーを取り込むために行います。

    //JOBOFFL job (account),programmer 
    //S1        EXEC PGM=SLUADMIN,PARM=’execution parameters’ 
    //STEPLIB      DD DSN=hlq.SEALINK,DISP=SHR
    //SLSOFFLD DD DSN=offload.dataset.name(+1),DISP=(NEW,CATLG,DELETE),
    //             UNIT=SYSDA,SPACE= 
    //SLSCNTL   DD DSN=primary.dataset.name,DISP=SHR 
    //SLSCNTL2 DD DSN=secondary.dataset.name,DISP=SHR
    //SLSSTBY DD DSN=standby.dataset.name,DISP=SHR
    //SLSPRINT  DD SYSOUT=A 
    //SLSIN     DD * 
    OFFLOAD LOGFILE 
    

    CDS にアクセスできない場合は、LOGDSN パラメータを使用してログファイルをオフロードします。通常の CDS ロギングプロセスは、CDS に保存されているログ情報を使用します。CDS にアクセスできない場合は、現在のログファイルにあるロギング情報を使用する必要があり、そのログファイルを LOGDSN パラメータで指定します。

    //JOBOFFL job (account),programmer 
    //S1        EXEC PGM=SLUADMIN,PARM=’execution parameters’ 
    //STEPLIB      DD DSN=hlq.SEALINK,DISP=SHR
    //SLSOFFLD DD DSN=offload.dataset.name(+1),DISP=(NEW,CATLG,DELETE),
    //             UNIT=SYSDA,SPACE= 
    //SLSPRINT  DD SYSOUT=A 
    //SLSIN     DD * 
    OFFLOAD LOGFILE LOGDSN(hsc.log1)
    

    注記:

    CDS にアクセスできない場合、CDS を復元したあとに、LOGDSN オプションを使用しないで OFFLOAD LOGFILE ユーティリティーを実行しようとすると、オフロードが失敗するか、誤ったログのオフロードファイルが作成される可能性があります。
  3. 最新の正常なバックアップから CDS を復元します。

    //JOBREST job (account),programmer 
    //S1        EXEC PGM=SLUADMIN,PARM=’execution parameters’ 
    //STEPLIB      DD DSN=hlq.SEALINK,DISP=SHR
    //SLSBKUP   DD DSN=backup.dataset.name(0),DISP=SHR
    //SLSCNTL   DD DSN=primary.dataset.name,DISP=SHR 
    //SLSCNTL2 DD DSN=secondary.dataset.name,DISP=SHR
    //SLSSTBY DD DSN=standby.dataset.name,DISP=SHR
    //SLSPRINT  DD SYSOUT=A 
    //SLSIN     DD * 
     RESTORE 
    

    注意:

    RESTORE の JCL で、使用しているすべての HSC データセット (プライマリ、セカンダリ、スタンバイ) を指定することが重要です。

    詳細は、『ELS コマンド、制御文、およびユーティリティーリファレンス』を参照してください。

    注記:

    ローカルおよびリモートリンクのライブラリが独立して CDS を実行している場合は、BACKup および RESTore を実行するときに特別な注意が必要です。ローカルおよびリモートのライブラリを接続するリンクを中断する場合は、これらの注意事項に従ってください。詳細は、『ELS レガシーインタフェースリファレンス』を参照してください。

    回復にログファイルを使用している場合は、手順 4 に進みます。それ以外の場合は、手順 9 に進みます。

  4. 復元された CDS が正しいログファイル情報を参照していることを確認します。

    • SET LOGFILE(OFF) を実行します。

      //SETLOG  JOB (account),REGION=1024K
      //S1 EXEC PGM=SLUADMIN,PARM=’execution parameters’
      //STEPLIB DD DSN=hlq.SEALINK,DISP=SHR
      //SLSPRINT DD SYSOUT=*
      //SLSIN DD *
      SET LOGFILE(OFF)
      
    • FMTLG ユーティリティーを実行して、ログファイルを再フォーマットします。

      //FMTLOG  JOB (account),REGION=1024K
      //S1 EXEC PGM=SLUADMIN,PARM=’execution parameters’
      //STEPLIB DD DSN=hlq.SEALINK,DISP=SHR
      //SLSLOG1 DD DSN=hlq.CDSLOG1,DISP=(,CATLG,DELETE),
      // UNIT=SYSDA,SPACE=(CYL,100)
      //SLSLOG2 DD DSN=hlq.CDSLOG2,DISP=(,CATLG,DELETE),
      // UNIT=SYSDA,SPACE=(CYL,100)
      //SLSPRINT DD SYSOUT=*
      //SLSIN DD *
      FMTLOG
      
    • SET LOGFILE をもう一度実行して、新たに初期化したログファイルの名前を指定します。

      //SETLOG  JOB (account),REGION=1024K
      //S1 EXEC PGM=SLUADMIN,PARM=’execution parameters’
      //STEPLIB DD DSN=hlq.SEALINK,DISP=SHR
      //SLSPRINT DD SYSOUT=*
      //SLSIN DD *
      SET LOGFILE(hlq.CDSLOG1,hlq.CDSLOG2)
      
  5. LOGUTIL コマンドを実行して、回復に必要なデータセットと AUDIT MVC コマンドを生成し、そのデータセットでコマンドを実行します。

    次の例では、最新の正常な CDS バックアップが 2009 年 5 月 12 日の午後 10 時に作成されていることを想定しています。

    • LOGIN 文は、各オフロードログファイルの DD 文を、最新の正常なバックアップで作成されたログファイルから、2 で作成したログファイルまで指定しています。

    • LOGUTIL GENAUDIT は、VSM データを回復するコマンドを含むデータセットの DD 名として、RECVCMD を指定します。

      //JOBLOGR job (account),programmer,REGION=1024k
      //S1 EXEC PGM=SLUADMIN,PARM=’execution parameters’
      //STEPLIB      DD DSN=hlq.SEALINK,DISP=SHR
      //LOGIN        DD DSN=offload.dataset.name(-2),DISP=OLD
      //             DD DSN=offload.dataset.name(-1),DISP=OLD
      //             DD DSN=offload.dataset.name(0),DISP=OLD
      //RECVCMD      DD DSN=offload.dataset.genaudit,DISP=(,CATLG,DELETE),
      //                UNIT=SYSDA,SPACE=
      //SLSPRINT DD SYSOUT=*
      //SLSIN DD *
      LOGUTIL FROMDATE(2009-5-12) FROMTIME(22:00:00)  LOGDD(LOGIN)
      GENAUDIT COMMANDS(RECVCMD)
      
  6. 現在 LOGPOL=REQUIRED が VTCS 構成に指定されている場合:

    LOGPOL=OPTIONALCONFIG GLOBAL 文に指定して CONFIG を実行し、VTCS 構成のロギングを一時的に無効にします。これは、HSC/VTCS がアクティブでないときに MVCMAINT コマンドを正常に実行するために必要です。

  7. 監査対象の MVC を読み取り専用ステータスに設定します。

    HSC/VTCS がアクティブでないときに MVC を監査する場合は、MVCMAINT READONLY(ON) コマンドを実行します。これにより、HSC/VTCS がアクティブのときに MVC が使用されないことが保証されます。

    //JOBAUDIT job (account),programmer,REGION=1024K
    //S1 EXEC PGM=SLUADMIN,PARM='execution parameters'
    //STEPLIB DD DSN=hlq.SEALINK,DISP=SHR
    //SLSPRINT DD SYSOUT=*
    //SLSIN DD *
    MVCMAINT READONLY(ON) MVC( +
    mvc1 +
    mvc2 +
    …    +
    mvcn +
         )
    
  8. LOGPOL=REQUIRED が VTCS 構成で必要な場合:

    LOGPOL=OPTIONAL を手順 6 (前述) で一時的に指定した場合は、LOGPOL=REQUIREDCONFIG GLOBAL 文に指定して CONFIG を実行します。

  9. ホストの 1 つで HSC を再起動しますが、テープのアクティビティーは開始しません。

  10. CDS の VSM 以外の部分を回復するために、すべての ACS で SLUADMIN AUDIT を実行します。

    //JOBAUDIT job (account),programmer,REGION=1024k
    //S1 EXEC PGM=SLUADMIN,PARM=’execution parameters’
    //STEPLIB      DD DSN=hlq.SEALINK,DISP=SHR
    //SLSPRINT DD SYSOUT=*
    //SLSIN DD *
    AUDIT ALL
    

    注記:

    ライブラリの監査が開始したら、手順 11、手順 12、および手順 13 を並行して実行できます。
  11. すべての VTSS を監査します。

    
    //JOBAUDITV job (account),programmer,REGION=1024k
    //S1 EXEC PGM=SLUADMIN,PARM=’execution parameters’
    //STEPLIB      DD DSN=hlq.SEALINK,DISP=SHR
    //SLSPRINT DD SYSOUT=*
    //SLSIN DD *
    AUDIT VTSS(VTSS0,VTSS1)
    
  12. スクラッチ同期を実行します。

    SLUCONDB を実行して、HSC のスクラッチステータスを TMS と同期します。詳細については、ELS のコマンド、制御文、ユーティリティーに関するリファレンスを参照してください。LCM を使用する場合の同等な LCM ユーティリティーについては、LCM のユーザーズガイドを参照してください。

  13. ロギングを使用している場合は、手順 5 で作成したデータセットから回復コマンドを使用して、対象となる MVC を監査します。

    //JOBRMVC job (account),programmer,REGION=1024k
    //S1 EXEC PGM=SLUADMIN,PARM=’execution parameters’
    //STEPLIB      DD DSN=hlq.SEALINK,DISP=SHR
    //SLSIN DD DSN=offload.dataset.genaudit,DISP=SHR
    //SLSPRINT DD SYSOUT=*
    

    ロギングを使用していない場合に監視が必要な MVC を判別するには、Oracle ソフトウェアサポートにお問い合わせください。

  14. すべてのホストで HSC を起動します。

  15. テープのアクティビティーを再起動します。