システム | RLPの状態 | RDBコマンドおよび利用者アプリケーションの操作 | |||||
---|---|---|---|---|---|---|---|
DSIのデータを更新する操作(リカバリログを取得) | DSIのデータを更新する操作(リカバリログを取得しない) | 順序番号を生成する操作 | DSIおよび順序に対するデータベースの定義変更操作 | DSIを初期化する操作 | |||
複写元システム | オンライン | ○ | × | ○ | × | ○ | |
オフライン | 初期状態 | × | ○ | × | ○ | ○ | |
DRオフライン | × | ○ | × | ○ | ○ | ||
終了 | ○ | ○ | ○ | ○ | ○ | ||
複写先システム | オンライン | × | × | × | × | × | |
オフライン | 初期状態 | × | ○ | × | ○ | ○ | |
DRオフライン | × | ○ | × | ○ | ○ | ||
終了 | ○ | ○ | ○ | ○ | ○ |
○:実行可能な状態
×:実行抑止の状態(RDBコマンドおよび利用者アプリケーションがエラーになる)
注1) rdbsloaderコマンド、rdbsuloaderコマンド、rdbsaloaderコマンド、およびsオプション指定のrdbalidxコマンド
注2) rdbfmtコマンド
注3) rdbuptコマンド、rdbexecsqlコマンド(実行抑止の対象となるSQL文を発行した場合)
実行抑止の対象となるSQL文は下表のとおりです。
分類 | SQL文 | 備考 | |
---|---|---|---|
データベース操作系(DML) | データ操作文 | DELETE文:探索、INSERT |
|
UPDATE文:探索 |
| ||
DELETE文:位置づけ |
| ||
UPDATE文:位置づけ |
| ||
動的SQL文 | 動的DELETE文:位置づけ |
| |
動的UPDATE文:位置づけ |
| ||
準備可能動的DELETE文:位置づけ |
| ||
準備可能動的UPDATE文:位置づけ |
| ||
EXECUTE文, | 動的SQL文として、データ操作文を発行した場合 | ||
ストアドプロシジャ | プロシジャルーチンで定義したSQL文が上記のデータ操作文の場合 | CALL文により左記のストアドプロシジャを実行した場合 | |
トリガ | 被トリガSQL文が上記のデータ操作文の場合 | 左記の被トリガSQL文が動作した場合 |
注4) SQL文中に順序のNEXTVALとCURRVALを指定したり、表の既定値として順序番号を補うようなSQL文、および、以下のRDBコマンド。
rdbexecsqlコマンド(実行抑止の対象となるSQL文を発行した場合)
rdbunlsqlコマンド (実行抑止の対象となるSQL文を発行した場合)
rdbsloaderコマンド (表の既定値として順序番号を補うような操作を実行した場合)
rdbsaloderコマンド (表の既定値として順序番号を補うような操作を実行した場合)
rdbsuloaderコマンド(表の既定値として順序番号を補うような操作を実行した場合)
rdbuptコマンド (表の既定値として順序番号を補うような操作を実行した場合)
注5) 実行抑止の対象となるSQL文およびRDBコマンドは下表のとおり。
分類 | SQL文(データベースの定義および変更操作文)またはRDBコマンド | 備考 |
---|---|---|
スキーマ定義/操作文 | CREATE SEQUENCE |
|
CREATE SCHEMA | スキーマ要素として順序または格納構造定義を簡略化した表を定義した場合 | |
CREATE TABLE | 格納構造定義を簡略化した場合 | |
DROP SEQUENCE |
| |
DROP SCHEMA | CASCADE指定により、DSI・INDEXまたは順序を削除する場合 | |
ALTER TABLE (注6) | 列定義の追加および変更が対象 | |
格納構造定義/操作文 | CREATE DSI(表/INDEX) | (注7) |
DROP DSI(表/INDEX) |
| |
DROP DSO | CASCADE指定によりDSIを削除する場合 | |
ALTER DSI | DSIの分割値変更 | |
インデックスの状態を非活性状態に変更 | rdbalidx(sオプション指定時) |
|
注6) 表に定義されているDSIが偏在するすべてのロググループに定義されているRLPの状態によって、実行可否が決定します。なお、一部のRLPが実行不可状態のとき、表定義の変更操作を行うことはできません。この場合、すべてのRLPを実行可能状態にしてから、表定義の変更操作を行うことが必要です。
注7) 準備モードでのデータベース定義変更の場合、CREATE DSIとALTER TABLEは、エラー契機が以下のようになります。
SQL文(データベースの定義および変更操作文) | 操作 | エラーの契機 |
---|---|---|
CREATE DSI | 表のDSI定義文 | Symfoware Serverのrdbddlfixコマンド(aオプション)実行時 |
インデックスのDSI定義文 | ||
ALTER TABLE | 表定義変更文(列定義追加) | Symfoware Serverのrdbddlexコマンド(lオプション)実行時 |
注意
順序定義に指定した割当順序数指定“CACHE”の値によっては、実行抑止の状態でも、RDBコマンドおよび利用者アプリケーションによる順序番号の生成の操作が継続できることがあります。この場合、複写元システムおよび複写元システムでの順序番号の整合性は保証されているため、問題ありません。
参照
各RDBコマンドの詳細は、“Symfoware Server コマンドリファレンス”を参照してください。
各SQL文の詳細は、“Symfoware Server SQLリファレンス”を参照してください。
準備モードでのデータベースの定義変更については、“Symfoware Server RDB運用ガイド”を参照してください。