ページの先頭行へ戻る
Symfoware Server V11.1.0 RDB運用ガイド
FUJITSU Software

4.9.5 DSIの切離し

Symfoware/RDBでは、業務ノンストップでのバックアップデータの取得や再編成を行うことができます。

バックアップデータの取得の方法については、“4.4.8 DSIのバックアップ”を参照してください。

本節では、データベースの再編成を行うために、特定のDSIをオンライン業務から切り離す方法について説明します。

特定DSIを切り離す方法には、以下の方法があります。

4.9.5.1 DSIの動的切離し

特定のDSIを運用中に動的に切り離す方法について説明します。

DSIの動的切離し

rdbexdsiコマンドのmonオプションにより、指定したDSIをシステムで動作するすべてのアプリケーションのデータ操作の範囲から切り離すことができます。

DSIの切離しが有効になったかの確認は、rdbexdsiコマンドのmcオプションにより行います。

参照

rdbexdsiコマンドの指定方法の詳細については、“コマンドリファレンス”を参照してください。

DSIの動的切離しの例を以下に示します。

注意

DSIの動的切離しの情報は、Symfoware/RDBの停止後は引き継がれません。

DSIの切離し状態の確認

DSIの切離し状態の確認は、rdbexdsiコマンドのmcオプションで行います。

DSIの切離し状態の表示例を以下に示します。

$ rdbexdsi -mc 

RDBII rdbexdsi DATE:2007/04/14 TIME:11/20/35

Exclusion DSI Information 
(1)
DSI
在庫管理DB.在庫表DSI1

Transaction Information
(2)       (3)    (4)
Status    Pid    Name
Accept   23045   APL001/CONNECT1
           :
(1) 切り離したDSIのデータベース名およびDSI名
(2) 切離し状態
  Accept : 切離しは有効
  Non-Accept : 切離しは有効ではない
(3) プロセスID
(4) モジュール名
- RDB構成パラメタファイルのRDBCLIENTINFにADDRESSを指定した場合、または省略した場合
    システム内通信のアプリケーション:
      アプリケーションロードモジュール名/コネクション名
      (アプリケーションロードモジュール名が15バイトを超える場合は、
       先頭の15バイトのみが出力されます。)
    トランザクションモニタ配下のアプリケーション:
      データベース名/コネクション名
      (トランザクションモニタ配下のアプリケーションのデータベー
       ス名/コネクション名は、OPEN-INFO文字列に指定された値を表示
       します。)
    リモートアクセスのアプリケーション:
      接続端末のIPアドレス/コネクション名
- RDB構成パラメタファイルのRDBCLIENTINFにNAMEを指定した場合
    システム内通信のアプリケーション:
      アプリケーションロードモジュール名/コネクション名
      (アプリケーションロードモジュール名が15バイトを超える場合は、
       先頭の15バイトのみが出力されます。)
    トランザクションモニタ配下のアプリケーション:
      データベース名/コネクション名
      (トランザクションモニタ配下のアプリケーションのデータベー
       ス名/コネクション名は、OPEN-INFO文字列に指定された値を表示
       します。)
    リモートアクセスのアプリケーション:
      接続端末のホスト名/コネクション名
自動的に切離し状態を確認する方法

DSIの切離しは、アプリケーションのトランザクションの切れ目に有効となります。切離し処理を実行した時点で実行中だったトランザクションについては、DSIの切離しは有効にはなりません。この場合、rdbexdsiコマンドのmwオプションにより、切離しが有効になったことを確認してください。mwオプションを指定すると、rdbexdsiコマンドのuオプションに指定したユーザIDでSymfoware/RDBにコネクションを接続しているアプリケーションとDSIの切離しが有効となった時点で、rdbexdsiコマンドの処理が終了します。

注意

rdbexdsiコマンドのユーザID指定および、ユーザID省略を併用する場合、以下の注意事項があります。

  • すべてのユーザに対してDSIを除外した状態で以下の操作はできません。

    • 特定のユーザに対してDSIを除外

    • 特定のユーザに対してDSIの除外を解除

例1

操作ができないコマンド例その1

$ rdbexdsi -mon -i 在庫管理DB.在庫表DSI1                 (1)
$ rdbexdsi -mon -u user1 -i 在庫管理DB.在庫表DSI1        (2)
(1) すべてのユーザに対してDSIを除外
(2) 特定のユーザに対してDSIを除外
例2

操作ができないコマンド例その2

$ rdbexdsi -mon -i 在庫管理DB.在庫表DSI1                 (1)
$ rdbexdsi -moff -u user1 -i 在庫管理DB.在庫表DSI1       (2)
(1) すべてのユーザに対してDSIを除外
(2) 特定のユーザに対してDSIの除外を解除
  • 特定のユーザに対してDSIを除外した状態で以下の操作はできません。

    • すべてのユーザに対してDSIを除外

    • すべてのユーザに対してDSIの除外を解除

例3

操作ができないコマンド例その3

$ rdbexdsi -mon -u user1 -i 在庫管理DB.在庫表DSI1        (1)
$ rdbexdsi -mon -i 在庫管理DB.在庫表DSI1                 (2)
(1) 特定のユーザに対してDSIを除外
(2) すべてのユーザに対してDSIを除外
例4

操作ができないコマンド例その4

$ rdbexdsi -mon -u user1 -i 在庫管理DB.在庫表DSI1       (1)
$ rdbexdsi -moff -i 在庫管理DB.在庫表DSI1               (2)
(1) 特定のユーザに対してDSIを除外
(2) すべてのユーザに対してDSIの除外を解除

4.9.5.2 動作環境ファイルによるDSIの切離し

動作環境ファイルのINCLUSION_DSIに特定のDSIを指定することにより、指定したDSIをデータ操作の範囲として限定することができます。

参照

INCLUSION_DSIの指定方法については、“アプリケーション開発ガイド(共通編)”を参照してください。

動作環境ファイルによるDSIの切離しの例を以下に示します。