ページの先頭行へ戻る
PRIMEFLEX for HA Database 業務開発ガイド(Native SQL編)
FUJITSU Integrated System

2.2 PRIMEFLEX for HA Databaseで使用できない機能

PRIMEFLEX for HA Databaseで使用できないSymfoware Serverの機能、および実施できない操作を示します。

分類

使用できない機能/実施できない操作

代替・回避方法

運用

バックアップ/リカバリ

Appliance Managerを使用してください。

誤操作(誤ってrdbsloaderコマンド/rdbfmtコマンドなどを実行)からの復旧操作

rdbunlコマンドなどで事前にデータをバックアップの上、実施してください。

フォールバック運用

ありません。

動的定義変更

ありません。

フェイルオーバ運用/ロードシェア運用

ありません。

スケーラブルログ運用/スケーラブルディレクトリ運用

ありません。

1つのConnection Managerから、PRIMEFLEX for HA Databaseのサーバとロードシェアシステムへの接続

ありません。

マルチRDB運用

ありません。

XMLアダプタ運用

ありません。

セキュリティ

データの暗号化機能

ありません。

標準セキュリティ運用

ありません。

監査ログ機能

ありません。

RDBコマンドの実行権の変更

ありません。

システム構築ツール

WebDBtools/WebAdmin

ありません。

アプリケーション

ローカル接続

ありません。

.NET Framework連携

ありません。

トランザクションモニタ(XA)との連携

ありません。

SQL

ファンクションルーチン定義

ありません。

UPDATE文:探索において、以下の条件に該当する操作

1.設定句の列名に、一意性制約の構成列を指定している  かつ、

2.更新の結果、一意性制約を指定した列の値が、一時的に同じ値になる行が存在する

詳細は、“一意性制約の構成列をUPDATE文:探索で更新する場合”を参照してください。

ありません。

DB定義(表のDSO格納構造)

RANDOM構造/OBJECT構造

SEQUENTIAL構造で作成してください。

環境変数

PRIMEFLEX for HA Databaseのサーバ上での環境変数によるパラメタの指定

ありません。

Symfoware Serverの動作環境ファイル

以下のファイルに対する編集操作

  • RDB構成パラメタファイル

  • システム用の動作環境ファイル

  • サーバ用の動作環境ファイル

ありません。

クライアント用の動作環境ファイルでの以下のパラメタの指定

  • CLUSTER_SERVICE_NAME

  • DEFAULT_CONNECTION

  • SERVER_ENV_FILE

  • SSL_CLI_CA_CERT_FILE

  • WORK_PATH

  • DEFAULT_DSI_TYPE

  • DEFAULT_INDEX_SIZE

  • DEFAULT_OBJECT_TABLE_SIZE

  • DEFAULT_TABLE_SIZE

  • TEMPORARY_INDEX_SIZE

  • TEMPORARY_TABLE_SIZE

  • RCV_MODE

  • ARC_FULL

  • ALTER_CHECK

  • CHOOSE_TID_UNION

  • GROUP_COL_COND_MOVE

  • SAME_COST_JOIN_ORDER

ありません。

Mirroring Controllerの動作環境ファイル

以下のファイルに対する編集操作

  • DBミラーリング動作環境ファイル

  • DB監視資源定義ファイル

  • BC構成パラメタファイル

  • RLP動作環境ファイル

  • RLP定義ファイル

ありません。

システムのデータベース

システムが定義するデータベース“DBAP_ManageDB”に対する操作

ありません。

他製品との連携

Symfoware Server Advanced Backup Controller

ありません。

ETERNUS SF AdvancedCopy Manager

ありません。

Linkexpress Replication option

ありません。

Symfoware Active DB Guard

ありません。

一意性制約の構成列をUPDATE文:探索で更新する場合

以下の条件を満たすUPDATE文:探索を実行することができません。実行した場合、アプリケーションがエラーとなることがあります。

[条件]

[制約により出力されるエラー]

SQLSTATE

SQLMSG

71400

JYP2906E: DBミラーリングサービスでサポートされていない機能が利用されました.

エラーとなる場合の例、および対処方法について以下に説明します。

制約によりアプリケーションがエラーとなる例

一意性制約の構成列C1の値が1,2,3 の3行について、C1を2,3,4 と更新しようとした場合に、C1=1の更新処理中に、2,2,3 と一時的に同じ値を持つキーが存在します。

備考) 更新前のC1を3,2,1の順序で処理を行った場合には、4,2,1→4,3,1→4,3,2となって条件外となります(行の並びは、実表データの格納順序や探索条件に依存します)。

対処方法

アプリケーションがエラーとならないように更新処理を変更してください。

例えば、以下のいずれかのような処理に変更すると、一時的に同じ値にならずに更新できます。

  • UPDATE文:位置付けでカーソルによって位置づけられた1行を更新する方式に変更

  • UPDATE文:探索で1行を更新するように、WHERE句に一意性制約の全構成列を指定


一時的に同じ値になることを回避する例について、以下に説明します。

【一時的に同じ値になることを回避する例】

レコードを更新する順序を変更することで、一意性制約の列の値が重複しないようにします。


[例1]

UPDATE文:位置付けにより一意性制約を構成する列を降順に並び替え、位置づけられた1行を更新する方法に変更する場合

EXEC SQL DECLARE CR1 CURSOR FOR
         SELECT C1 FROM S01.T01 WHERE C2 = 100 ORDER BY C1 DESC FOR UPDATE;

EXEC SQL WHENEVER NOT FOUND GOTO :CLOSE_01;
EXEC SQL OPEN CR1;

for (;;) {
    EXEC SQL FETCH CR1 INTO :H01;
    EXEC SQL UPDATE S01.T01 SET C1 = C1 + 1 WHERE CURRENT OF CR1;
}

CLOSE_01:
EXEC SQL CLOSE CR1;

EXEC SQL COMMIT WORK

[例2]

UPDATE文:探索で1行を更新するように、WHERE句に一意性制約の全構成列を指定する場合

EXEC SQL SELECT MAX(C1) INTO :max_data FROM S01.T01 WHERE C2 = 100;
for (count=max_data; count!=0; count--) {
EXEC SQL UPDATE S01.T01 SET C1 = C1 + 1 WHERE C1 = :count AND C2 = 100;
}

EXEC SQL COMMIT WORK