ページの先頭行へ戻る
Symfoware Server V11.1.0  アップデート情報
FUJITSU Software

第3章 プログラム修正一覧

本ソフトウェアでは、以前のバージョンレベルで発生した障害が修正されています。

今回のバージョンレベルで吸収された修正内容、および修正番号については、以降に示す表を参照してください。  

表3.1 V11.1.0でのプログラム修正一覧

No.

バージョン
レベル

P番号

現象

EE

SE

LE

1

V11.1.0

PG54731

[現象]

rdbrcvdicコマンド(ddlオプション未指定)実行時に、以下のいずれかのメッセージを出力してコマンドが異常終了します。

  • qdg12079e データベーススペース's*.t*'のデバイスが削除されています デバイス名='u*' v*

  • qdg12355e データベーススペース's*.t*'のデバイスの容量が大きく変更されています デバイス名='u*' v*

  • qdg12354e データベーススペース's*.t*'のデバイスの容量が小さく変更されています デバイス名='u*' v*

  • qdg13472e 監査ログのデバイスが削除されています デバイス名= 's*' t*

  • qdg13470e 監査ログのデバイスの容量が大きく変更されています デバイス名='s*' t*

  • qdg13469e 監査ログのデバイスの容量が小さく変更されています デバイス名='s*' t*

なお、監査ログデータベースのデバイスで異常を検出した場合、RDBディクショナリとRDBディレクトリファイルの状態が不整合となり、Symfoware/RDB起動後のSQLアクセスでJYP5021Eのメッセージを出力して異常終了します。

  • JYP5021E RDBIIディクショナリとRDBIIディレクトリファイルの不整合を検出しました.

[環境]

以下のいずれかのOSである場合。

  • Oracle Solaris

  • Linux

  • Windows

  • UXP/DS

[発生条件]

1) データベーススペース(注1)、または監査ログデータベースが以下のいずれかの状態である。かつ、

  • デバイスが削除されている。

  • デバイスの容量が大きく変更されている。

  • デバイスの容量が小さく変更されている。

2) rdbrcvdicコマンド(L/F指定(ddlオプション未指定))を実行する。

(注1)スケーラブルディレクトリ運用の有無、および、rdbrcvdicコマンドのオプションにより対象のデータベーススペースは以下となります。

1) スケーラブルディレクトリ運用ではない場合
  RDBシステムに登録されたすべてのデータベーススペース

2) スケーラブルディレクトリ運用、かつ、rdbrcvdicコマンドにgオプション(ユーザロググループ)未指定の場合
  systemロググループに登録されたデータベーススペース

3) スケーラブルディレクトリ運用、かつ、rdbrcvdicコマンドにgオプション(ユーザロググループ)指定の場合
  gオプションに指定したユーザロググループに登録されたデータベーススペース

[補足]

ddlオプション指定時には、データベーススペース、または監査ログデータベースのデバイスにアクセスすることがないため、現象は発生しません。
また、監査ログ運用をしている場合に、1)以降、rdbrcvadtのdオプション指定で監査ログエレメントをリカバリすることで、現象は発生しません。

2

PG81493

[現象]

16384バイト以上32000バイト以下の文字列定数を指定したSQL文を実行すると、qdg02842u(*1)のメッセージを出力して、Symfoware/RDBがダウンします。

(*1)qdg02842u:シグナルd*を受信したため RDBIIシステム空間が異常終了しました s*

[環境]

以下のいずれかのOSである場合。

1)Oracle Solaris または、

2)Linux または、

3)Windows

[発生条件]

1)データベースの文字コード系がUNICODEである。かつ、

2)以下のいずれかのアプリケーションを実行している。かつ、

- ODOSを利用したアプリケーション。または、

- Symfoware .NET Data Provider(9.1.0以降のVLでサポート)を利用したアプリケーション。

3)各国語文字列型の列に対して以下を指定したSQL文を実行している。かつ、

- 探索条件にLIKE述語。または、

- 探索条件に比較述語。または、

- 探索条件にBETWEEN述語。または、

- 探索条件にIN述語。または、

- INSERT文のVALUES句に値式。または、

- UPDATE文の設定句に値式。

4)3)に長さが16384バイト以上32000バイト以下の文字列定数を指定している。かつ、

5)4)の文字列定数に半角文字が含まれている。

(補足説明)

指定した文字列定数の変換結果(注)が32767バイトを超える場合に現象が発生します。

変換結果が32767バイトを超えるのは、4)かつ、5)の条件の場合となります。

(注)全角文字(1文字は2バイト)と半角文字(1文字は1バイト)はいずれも、1文字が2バイトのUCS-2コードに変換します。

(例)発生するSQL文

SELECT * FROM S1.T1 WHERE C1 LIKE 'あ~あa~a%'

上記は'あ'を10000文字指定し'a'を10000文字指定した後に'%'を指定した例です。

変換結果が40002バイトとなるため、本現象が発生します。

3

PG83587

[現象]

アプリケーションで動的パラメタ指定を含む列データを複数の連結演算子で連結したSQL文を実行するとアプリケーションプロセスがダウン、またはSQL文の実行が異常終了することがあります。(*1)

*1)アプリケーションと発生現象を以下に示します。

  • SQLアプリケーション

    OPEN文またはEXECUTE文の実行が「JYP2066E USING引数の数と選択リストまたは動的パラメタの数が一致しません」のメッセージで異常終了

  • JDBCドライバを使用したアプリケーション

    ConnectionインタフェースのprepareStatementメソッドの実行で、JavaVMプロセスがcoreを出力してダウン(メッセージ出力は無し)

  • ODOSドライバを使用したアプリケーション

    • Visual BasicでのRDO連携の場合

      rdoConnectionオブジェクトのOpenResultsetメソッドの実行で、アプリケーションプロセスがcoreを出力してダウン(メッセージ出力は無し)

    • Visual BasicでのADO連携の場合

      RecordsetオブジェクトのOpenメソッドの実行で、アプリケーションプロセスがcoreを出力してダウン(メッセージ出力は無し)

  • Symfoware .NET Data Providerを使用したアプリケーション

SymfowareCommandクラスのExecuteReaderメンバの実行で、アプリケーションプロセスがcoreを出力してダウン(メッセージ出力は無し)

[環境]

以下のいずれかのOSを使用している場合。

  • Oracle Solaris または、

  • Linux または、

  • Windows または、

  • UXP/DS

[発生条件]

1) 以下のいずれかのアプリケーションを実行する。かつ、

  • SQLアプリケーション

    USING句にUSING引数を指定したOPEN文

    USING句にUSING引数を指定したEXECUTE文

  • JDBCドライバを使用したアプリケーション

    ConnectionインタフェースのprepareStatementメソッド

  • ODOSドライバを使用したアプリケーション

    • Visual BasicでのRDO連携の場合

      rdoConnectionオブジェクトのOpenResultsetメソッド

    • Visual BasicでのADO連携の場合

      RecordsetオブジェクトのOpenメソッド

  • Symfoware .NET Data Providerを使用したアプリケーション

    SymfowareCommandクラスのExecuteReaderメンバ

2) 1)の被準備文、メソッド、またはメンバで指定した動的SQL文の以下の要素に動的パラメタ指定を含む複数の連結演算子での連結を記述している。かつ、

  • DECLARE CURSOR/UPDATE文/DELETE文/INSERT文の問合せ指定の探索条件

  • UPDATE文の設定句

  • INSERT文の挿入値リスト(*2)

3) 2)の連結で動的パラメタ指定を連結演算子の一番左側に記述(*3)している。

*2)V10.1.0以降が対象です。

*3)発生する例を示します。

? || 列1 || 列2 || 列3

以下は、動的パラメタ指定が一番左側でないため発生しません。

列1 || ? || 列2 || 列3

4

PG89476

[現象]

以下の条件の場合、SQL文を実行すると、メッセージqdg02842u(*1)を出力してSymfoware/RDBがダウンする、またはJYP7205E(*2)のエラーが出力されることがあります。

(*1)qdg02842u:シグナル11を受信したため RDBIIシステム空間が異常終了しました

(*2)JYP7205E 列“@1@”は有効な範囲中には存在しません.

[環境]

以下のいずれかのOSを使用している場合。

  • Oracle Solaris

  • Linux

  • Windows

  • UXP/DS

[発生条件]

1) 以下のいずれかのSQL文を実行する。かつ、

  • SELECT文

    選択リストに"*"、"表名.*"または"相関名.*"のみを指定している場合は発生しません。

  • INSERT文

    問合せ指定を指定時です。

    問合せ指定の選択リストに"*"、"表名.*"または"相関名.*"のみを指定している場合は発生しません。

  • UPDATE文

    探索条件を指定時です。

  • DELETE文

    探索条件を指定時です。

  • CREATE TRIGGER文

    探索条件を指定時です。

2) 1)のSQL文に指定している列数(延べ数(*1))が32767個を超えている。

(*1)列数は、1つの表に対して指定した列名の数です。重複した列名も指定した個数分を数えます。

なお、問合せ指定、導出表または副問合せを指定している場合は、問合せ指定、導出表または副問合せの範囲内で指定した列名が対象です。

(注)発生する現象は、メモリの状態に依存します。

(現象が発生するSQL文の例)

SELECT C1 FROM S1.T1

WHERE ( C2 || C3 || C4 || C5='ああ123い5588' AND C6='12345')

or ( C2 || C3 || C4 || C5='あい123い5588' AND C6='23456')

or ( C2 || C3 || C4 || C5='あう123い5588' AND C6='34567')

・ 上記の"or"の行が全部で6801あり

列数は34011個です。(内、重複なしの列数は6個)

5

PG90591

[現象]

Symfoware .NET Data Providerアプリケーションを実行すると、アプリケーションにJYP9229Eを返却して、Symfoware/RDBがダウンする場合があります。

JYP9229E システムコールにおいてエラーが発生し,サーバとの通信が切断されました.Function =“Socket.Receive”,Error Code =“10054”

[環境]

本障害は、以下のOSで発生します。

  • Windows

[発生条件]

1) Symfoware .NET Data Providerで、ConnectionStringプロパティに接続文字列を設定し、SymfowareConnectionオブジェクトを生成する。かつ、

2) 1)のSymfowareConnectionを使用して、SymfowareCommandオブジェクトを作成する。かつ、

3) 2)のSymfowareCommandオブジェクトのCommandTextプロパティにSELECT文を設定する。かつ、

4) 2)のSymfowareCommandオブジェクトでのSELECT文を実行して、結果セットを取得する。かつ、

5) 4)で生成した結果セットのreadメソッドを呼び出して、データを参照する。かつ、

6) 5)の操作を繰り返して、実行する。かつ、

7) 6)の繰返し操作でreadメソッドを呼び出すとき、エラーメッセージ「JYP2209E」(※)が返却される。かつ、

8) 4)で生成した結果セットのreadメソッドを再実行する。

※JYP2209E 出力ホスト変数へのコード変換で変換できない文字があります。

6

PG91032

[現象]

ロールバック処理またはコミット処理中に、qdg02842uを出力してSymfoware/RDBがダウンする場合があります。

Symfoware/RDBがダウンする場合に表示されるメッセージは下記のとおりです。

qdg02842u シグナル**を受信したため RDBIIシステム空間が異常終了しました

[環境]

以下の環境で発生します。

  • Oracle Solaris

  • Linux

  • Windows

[発生条件]

以下の条件を満たした場合に、本現象が発生する場合があります。

(発生条件3でダウンする場合があるのは5)に該当するSymfoware/RDBです。)

発生条件1

1) リカバリなし利用規定を設定する。かつ、

2) 1)を設定したDSIを更新するトランザクションを実行する。かつ、

3) 2)のトランザクションをロールバックする。

発生条件2

1) 資源を更新するトランザクションを実行する。かつ、

2) 1)実行中にテンポラリログファイルでI/Oエラーが発生する。かつ、

3) 1)のトランザクションをロールバックする。

発生条件3

1) ロードシェア運用を行っている(*1)。かつ、

2) 複数のSymfoware/RDBのデータベースを更新するトランザクションを実行する。かつ、

3) 2)のトランザクションのコミットを実行する。かつ、

4) 2)のトランザクションが接続しているSymfoware/RDBがダウンする。かつ、

5) 4)でダウンしたSymfoware/RDB以外のSymfoware/RDBのテンポラリログファイルまたはインダウトログファイルでI/Oエラーが発生する。

(*1) RDB構成パラメタファイルにRDBLOADSHARE、または、RDBSCLSYSTEMが指定されている場合に利用できます。

7

PG92559

[現象]

Symfowareサーバが、Symfowareクライアントの障害等により、シーケンス不当のプロトコルを受信した場合に、以下のメッセージを出力してSymfoware/RDBがダウンする場合があります。

qdg02842u:シグナルd*を受信したため RDBIIシステム空間が異常終了しました d*: シグナル番号

[環境]

以下の環境の場合。

  • Oracle Solaris

  • Linux

  • Windows

[発生条件]

1) カーソルを使用するアプリケーションを実行する。かつ、

2) 何らかの原因により、Symfowareサーバがシーケンス不当のプロトコルを受信する。※

※内部条件として、Symfowareクライアントの障害、ネットワークの異常等により、Symfowareサーバがシーケンス不当のプロトコルを受信した場合に発生するため、必ず発生するとは限りません。

8

PG92770

[現象]

以下の発生条件において、データベースを更新/参照するSQL文(UPDATE文、DELETE文、SELECT文)を実行した場合、次の3つの事象が発生することがあります。

[事象1

データの更新操作(DELETE文、UPDATE文)時に表とインデックスの不整合を示す以下のメッセージIDを出力してSQL文が異常終了します。

  • qdg12829u

  • qdg12148e

[事象2

データの更新操作(DELETE文、UPDATE文)時にSymfoware Serverが内部矛盾を検出し以下のメッセージIDを出力して異常終了します。

  • qdg12695u

  • qdg02842u

[事象3

データの検索操作(SELECT文)、更新操作(DELETE文、UPDATE文)において、対象レコードが存在するにもかかわらず、対象とならない場合があります。

[環境]

以下のいずれかのOSを使用している。

  • Oracle Solaris

  • Linux

  • Windows

  • UXP/DS

[発生条件]

以下のいずれかの条件に合致する場合、発生する可能性があります。

[条件1]

1) SEQUENTIAL構造、またはRANDOM構造、またはOBJECT構造の表に対して、インデックスを定義している。かつ、

2) 1)のインデックス構成列に可変長カラムが含まれる。かつ、

3) データベースの同一表に対して、以下の操作を伴うSQL文を2多重以上で実行する。かつ、

  3-1) 行単位の占有を指定している場合(※1)

  以下の操作を行ったトランザクションで同時にCOMMIT文を実行する。

    a) レコードを挿入するINSERT文。または、

    b) インデックス構成列を更新するUPDATE文。

  3-2) ページ単位の占有を指定している場合(※1)

  以下のSQL文を同時に実行する。

    a) レコードを挿入するINSERT文。または、

    b) インデックス構成列を更新、または可変長カラムを更新するUPDATE文。

4) 3)の先行トランザクションで以下のキー値の操作を行う。かつ、

  ‐INSERT文

    現在格納されている最大キー値より大きいキー値を格納する。

  ‐UPDATE文

    現在格納されている最大キー値より大きいキー値に更新する。

5) 4)のトランザクション終了後、3)の後続トランザクションで以下のキー値の操作を行う。かつ、

  ‐INSERT文

    4)のトランザクションで操作したキー値より大きく、

    4)のトランザクションで操作したキー長より短いキー値を格納する。

  ‐UPDATE文

    4)のトランザクションで操作したキー値より大きく、

    4)のトランザクションで操作したキー長より短いキー値を更新する。

6) 3)の全てのトランザクション終了後に以下の操作を行う。

  6-1) データベースを更新する(UPDATE文、DELETE文)。または、

  6-2) データベースを参照する(SELECT文)。

[条件2]

1) SEQUENTIAL構造、またはRANDOM構造、またはOBJECT構造の表に対して、インデックスを定義している。かつ、

2) インデックスのDSO定義の縮退指定にREALIGNMENTを指定している。かつ、

3) データベースの同一表に対して、以下の操作を伴うSQL文を3多重以上で実行する。かつ、

  3-1) 行単位の占有を指定している場合(※1)。

    以下の操作を行ったトランザクションで同時にCOMMIT文を実行する。

    a) レコードを挿入するINSERT文。または、

    b) インデックス構成列を更新するUPDATE文。

  3-2) ページ単位の占有を指定している場合(※1)

    以下のSQL文を同時に実行する。

    a) レコードを挿入するINSERT文。または、

    b) 可変長カラムのインデックス構成列を更新するUPDATE文

4) 3)の最初のトランザクションで以下のキー値の操作を行う。かつ、

  ‐INSERT文

    現在格納されている最大キー値より大きいキー値を格納する。

  ‐UPDATE文

    現在格納されている最大キー値より大きいキー値に更新する。

5) 4)のトランザクション終了後、3)の2番目のトランザクションで以下のキー値の操作を行う。かつ、

  ‐INSERT文

    4)のトランザクションで操作したキー値より大きく、

    4)のトランザクションで操作したキー長以上のキー値を格納する。

  ‐UPDATE文

    4)のトランザクションで操作したキー値より大きく、

    4)のトランザクションで操作したキー長以上のキー値を更新する。

6) 5)のトランザクション終了後、3)の3番目のトランザクションで以下のキー値の操作を行う。かつ、

  ‐INSERT文

    5)のトランザクションで操作したキー値より大きいキー値を格納する。

  ‐UPDATE文

    5)のトランザクションで操作したキー値より大きいキー値を更新する。

7) 3)の全てのトランザクション終了後に以下の操作を行う。

  7-1) データベースを更新する(UPDATE文、DELETE文)。または、

  7-2) データベースを参照する(SELECT文)。

※1

- 動作環境ファイルのR_LOCKパラメタにYESを指定している場合、行単位の占有となります。

- 動作環境ファイルのR_LOCKパラメタにNOを指定している場合、または、DSO_LOCKパラメタにページ単位の占有を指定している場合は、ページ単位の占有となります。

なお、R_LOCKパラメタ、および、DSO_LOCKパラメタが未指定の場合、Symfowareのバージョンによって占有の単位が異なります。

  ‐V9.2.0以前の場合、ページ単位の占有

  ‐V10.0.0以降の場合、行単位の占有

なお、本障害は項番1の[発生条件]に示す条件に合致しても必ず発生するとは限らず、以下に示す内部条件を全て満たした場合に発生します。

[内部条件1]

以下は、[条件1]の3)、4)、5)に関連する内部条件です。

1) 2つのトランザクションの操作でインデックスを構成するデータ部の最終ページの操作を行っている。かつ、

2) データ部の最終ページに先行のトランザクションのキー値を格納する領域がなく、新規ページを獲得する。かつ

3) 後続トランザクションがデータ部の最終ページを操作する際、2)のページ獲得で排他待ちになる。かつ、

4) インデックス部の最終ページに、3)で獲得したデータ部の新規ページを管理するキー値を格納する領域がなく、新規ページを獲得する。かつ、

5) 後続トランザクションのキー値が、2)のページの空き領域に格納可能なキー長である。

[内部条件2]

以下は、[条件2]の3)、4)、5)、6)に関連する内部条件です。

1) 3つ以上のトランザクションの操作でインデックスを構成するデータ部の最終ページの操作を行なっている。かつ、

2) データ部の最終ページに1番目のトランザクションのキー値を格納する領域がなく、新規ページを獲得する。かつ、

3) 2番目以降のトランザクションがデータ部の最終ページを操作する際、2)のページ獲得にて排他待ちになる。かつ、

4) インデックス部の最終ページに、2)で獲得したデータ部の新規ページを管理するための領域がなく、新規ページを獲得する。かつ、

5) 3)の排他待ちが解けた2番目のトランザクションがデータ部の最終ページを操作する際、インデックスの自動再配置が発生し最終ページ内に空き領域ができる。かつ、

6) 2番目のトランザクションのキー値が新規ページに格納される。かつ、

7) 3番目以降のトランザクションのキー値が5)の最終ページの空き領域に格納される。

9

PG93403

[現象1]

rdbsaloader、rdbsloader、またはrdbsuloaderコマンドを実行した場合、メッセージqdg02842u(※)が出力され、Symfoware/RDBがダウンすることがあります。

※「qdg02842u シグナルd*を受信したため RDBIIシステム空間が異常終了しました s*」

[現象2]

rdbsaloader、rdbsloader、またはrdbsuloaderコマンドを実行した場合、Symfoware/RDBが無応答になることがあります。

[環境]

以下のいずれかのOSを使用している場合。

  • Oracle Solaris

  • Linux

  • Windows

  • UXP/DS

[発生条件1]

1) rdbsaloader、rdbsloader、またはrdbsuloaderコマンドを実行する。かつ

2) 1)で指定した入力ファイルを読む込む時、I/Oエラーが発生する。

[発生条件2]

1) rdbsaloader、rdbsloader、またはrdbsuloaderコマンドを実行する。かつ

2) 1)で指定した入力ファイルに、列属性エラーとなるデータがある。かつ、

3) -rオプションを指定しない。

[発生条件3]

1) rdbsaloader、rdbsloader、またはrdbsuloaderコマンドを実行する。かつ

2) 1)で指定した入力ファイルに、列属性エラーとなるデータがある。かつ、

3) -rオプションを指定している。かつ、

4) 2)でのエラー件数が3)で指定した件数を超えている。

※OSによるスレッドスケジュールの処理順番に依存して発生する障害であるため、上記の発生条件を満たす場合でも、障害が発生しない可能性もあります。

10

PG94826

[現象]

探索条件にORブール演算子で副問合せを指定したSQL文を実行すると、以下のいずれかのエラーになる場合があります。

  • JYP2711E システム障害が発生したためSQL文の実行ができませんでした.エラー識別子=sr420128

  • JYP2711E システム障害が発生したためSQL文の実行ができませんでした.エラー識別子=sp140194

[環境]

以下のいずれかの環境の場合。

  • Oracle Solaris

    • Symfoware Server Enterprise Extended Edition V11.0.0, V11.0.1

    • Symfoware Server Enterprise Edition V11.0.0, V11.0.1

    • Symfoware Server Standard Edition V11.0.0, V11.0.1

  • Linux

    • Symfoware Server Enterprise Extended Edition V11.0.0, V11.0.0A, V11.0.1

    • Symfoware Server Enterprise Edition V11.0.0, V11.0.0A, V11.0.1

    • Symfoware Server Standard Edition V11.0.0, V11.0.0A, V11.0.1

  • Windows

    • Symfoware Server Enterprise Edition V11.0.0

    • Symfoware Server Standard Edition V11.0.0

    • Symfoware Server Lite Edition V11.0.0

[発生条件]

1) システム用、サーバ用、クライアント用のいずれの動作環境ファイルのCHOOSE_TID_UNIONパラメタにNOを指定する、または、CHOOSE_TID_UNIONパラメタを指定しない。かつ、

2) SQL文のFROM句に複数の表を指定する。かつ、

3) 2)のジョインのアクセスモデルがフェッチジョインである。かつ、

4) 2)のフェッチジョインでダイレクトにアクセスされる側の表の列を含む探索条件をORで複数指定する。かつ、

5) 4)の探索条件に指定した列は、フェッチジョインでダイレクトにアクセスされる側のインデックス構成列に含まれる。かつ、

6) 4)の探索条件に、フェッチジョインでダイレクトにアクセスされる側の表の列を含む副問合せを指定する場合。

例)

T2:IX1<C1,C2,C3>
SELECT /* ASSIST LEADING_TABLE(T1,T2) JOIN_RULE(FETCH) */ *
  FROM S1.T1, S1.T2
 WHERE T1.C3=T2.C3
   AND ((T2.C1=1 AND T2.C2=1) OR (T2.C1=2 
   AND T2.C2=(SELECT C1 FROM S1.T3)))
         4)の条件                4)の条件
        6)の条件

表3.2 V11.0.0でのプログラム修正一覧

No.

バージョン
レベル

P番号

現象

EE

SE

LE

x64版

x86版

1

V11.0.0

PG67236

[現象]

動作環境ファイルにJOIN_ORDER=(AUTO)を指定し、結合表を入れ子で指定したSELECT文を実行すると、「qdg02842u:シグナル11を受信したため RDBIIシステム空間が異常終了しました」を出力し、Symfoware/RDBがダウンする場合があります。

[環境]

以下のいずれかのOSである。

  • Solaris(TM) Operating System

  • Linux

  • Windows

[発生条件]

  1. 動作環境ファイルにJOIN_ORDER=(AUTO)、またはJOIN_ORDER=(OUTSIDE)を指定している。かつ、

  2. 問合せ指定のFROM句に3階層以上の入れ子の結合表を指定している。かつ、

  3. それぞれの結合表のON句には、比較演算子“=”で表を結合する結合条件を指定している。かつ、

  4. 最も外側の結合表のON句には、結合条件に指定した列に対して、表を制約する以下の条件が指定されている。かつ、

    • 外部結合がLEFT JOINなら左表、RIGHT JOINなら右表を絞り込む制約条件

  5. WHERE句には、外側から数えて3階層目より内側の結合表に含まれる表を絞り込む以下の制約条件を指定している。

    • 外部結合がLEFT JOINなら左表、RIGHT JOINなら右表を絞り込む制約条件

例) SELECT ~

FROM S1.T4 LEFT JOIN (S1.T3 LEFT JOIN (S1.T2 LEFT JOIN S1.T1 ON T2.C1=T1.C1) ON T3.C1=T2.C1) ON T4.C1=T3.C1 AND T4.C1=2 WHERE T2.C2=1

2

PG75537

[現象]

「qdg02842u:シグナル11を受信したため RDBIIシステム空間が異常終了しました」を出力し、Symfoware/RDBがダウンする場合があります。

[環境]

以下のいずれかのOSである場合。

  • Solaris(TM) Operating System

  • Linux

  • Windows

[発生条件]

1) 何らかの原因(Symfowareのプログラム障害やメモリ異常)により、最適化処理で内部矛盾が発生する。(*1)

*1:最適化処理で内部矛盾発生時には、以下のメッセージが出力され、SQL文がエラー終了します。

qdg12148e:SQL文の実行で重症エラーを検出しました:'JYP2711E システム障害が発生したためSQL文の実行ができませんでした.エラー識別子=@1@'

3

PG79002

[現象]

RDBコマンドまたはSQL文を実行すると、qdg12695u(*1)のメッセージを出力して、Symfoware/RDBがダウンします。

(*1)qdg12695u:System error occurred. Reference code = xx.xx.xx.xx Internal code = (idt_p:xxxxxxxxxxxxxxxx sub_code:0 module:qdalctrn211 line:xxx)

[環境]

以下のいずれかのOSである場合。

  • Oracle Solaris

  • Linux

  • Windows

  • UXP/DS

[発生条件]

(発生条件1)

  1. 1個のデータベーススペースにDSI情報が3400個以上存在(*1)する。かつ、

  2. 1)のデータベーススペースに割付けている資源に以下のいずれかの操作を実施している。かつ、

    • rdbfmtコマンド(-c指定)

    • DROP DSI文

    • DROP SCHEMA文(CASCADE指定)

    • DROP TABLE文(CASCADE指定)

    • DROP DSO文(CASCADE指定)

    • DROP INDEX文

  3. 2)の後、1)のデータベーススペースを削除していない。かつ、

  4. 2)の後、1)の時点よりも、1)のデータベーススペースのDSI情報が1700個以上減少(*1)する。かつ、

  5. 1)のデータベーススペースにDSI情報が1700個以上存在(*1)する。かつ、

  6. 1)のデータベーススペースに対して、以下のいずれかの操作を実施した場合

    • rdbgcdsiコマンド(-Eおよび-c指定)

    • ALTER DSI文の容量拡張(*2)

(発生条件2)

  1. 1個のデータベーススペースにDSI情報が3400個以上存在(*1)する。かつ、

  2. 1)のデータベーススペースに割付けている資源に以下のいずれかの操作を実施している。かつ、

    • rdbfmtコマンド(-c指定)

    • DROP DSI文

    • DROP SCHEMA文(CASCADE指定)

    • DROP TABLE文(CASCADE指定)

    • DROP DSO文(CASCADE指定)

    • DROP INDEX文

  3. 2)の後、1)のデータベーススペースを削除していない。かつ、

  4. 2)の後、1)の時点よりも、1)のデータベーススペースのDSI情報が1700個以上減少(*1)する。かつ、

  5. 1)のデータベーススペースにDSI情報が1700個以上存在(*1)する。かつ、

  6. 1)のデータベーススペースに割り付けられているDSIまたはDSIが属する表に対して、 以下のいずれかの操作を実施した場合

    • rdbsaloaderコマンド(*3)

    • rdbsloaderコマンド(*3)

    • rdbsuloaderコマンド(*3)

    • rdbuptコマンド(*3)

    • INSERT文(*3)

    • UPDATE文(*3)

(*1)rdbprtコマンド(-m DEF指定)で、データベーススペース情報を出力して、DSI informationでDSI情報の数を確認できます。

(*2)9.1.0以降に利用できる機能です。

(*3)自動容量拡張が動作した場合に発生します。

※データベーススペースの状態に依存するため、発生条件に合致しても必ず発生するわけではありません。

発生する例としては、以下の場合があります。

  1. 同一データベーススペースに対して、DSI1とDSI2を交互に1700回以上自動容量拡張する。かつ、

  2. DSI1またはDSI2のどちらかを削除する。かつ、

  3. 削除したDSIのサイズ分のDSIを定義、または自動容量拡張する。

4-(1)

PG79463

[現象]

Symfoware/RDBの起動時に、メッセージ(qdg02812u)が出力され、Symfoware/RDBの起動に失敗します。

[環境]

本障害は、以下のOSで発生します。

  • Windows

[発生条件1]

  1. Symfoware/RDBのサービスプロセス(rdb2service)を強制終了する。

[発生条件2]

  1. クラスタ制御(MSCSまたはMSFC)を利用する。かつ

  2. 運用系において、Symfoware RDB システムが依存するリソース(※)の異常をクラスタ制御が検知し、Symfoware RDB システムの停止が発生する。かつ

  3. の停止処理が30秒を超える。

※ リソースとはクラスタ制御(MSCSまたはMSFC)中のクラスタリソースを示します。
また、依存するリソースとは、リソース間で依存関係(リソースの起動順番)が設定されているものとなります。なお、本条件に該当すると、クラスタ制御はSymfoware/RDBのサービス(rdb2service)プロセスを強制的に終了させます。

4-(2)

PG79463

[現象]

Symfoware/RDBの起動時に、メッセージ(qdg02812u)が出力され、Symfoware/RDBの起動に失敗します。

[環境]

本障害は、以下のOSで発生します。

  • Windows

[発生条件

  1. Symfoware/RDBのサービスプロセス(rdb2service)を強制終了する。

5

PG81854

[現象]

SQLアプリケーション(以後、アプリケーションと記述)やRDBコマンドが無応答、または、Symfowareがqdg12695uを出力して異常終了する場合があります。

[環境]

  1. 以下のOSの場合。かつ

    • Linux

    • Oracle Solaris

    • Windows

  2. ホットスタンバイ運用、または、ロードシェア運用をしている。

[条件]

  1. アーカイブログ運用している。かつ

  2. アーカイブログ通番の不連続(※1)が発生する。かつ

  3. Symfowareを待機系として起動する。かつ

  4. Symfowareのクラスタ切替え(待機系から運用系として起動)を行う。かつ

  5. 運用系においてアプリケーションまたはRDBコマンド(※2)を実行し、アーカイブログの切替え処理が動作する。

※1)アーカイブログの通番が連続した値となっていない場合が該当します。

不連続はアーカイブログの削除(rdblog -D -a)を途中の通番のアーカイブログに対して実行した場合に発生します。

※2)Symfowareが運用中に動作するコマンド(rdbstopコマンドは除く)が該当します。

6-(1)

PG82373

[現象]

以下の現象が発生します。

(現象1)

FROM句に複数の表を指定した場合に探索条件に該当するレコードがアプリケーションに返却されない場合があります。

(現象2)

探索条件に該当しないレコードがアプリケーションに返却される場合があります。

(現象3)

探索条件に該当するレコードがアプリケーションに返却されない場合があります。

(現象4)

集合関数MAXの返却値に、長さ0のデータがアプリケーションに返却される場合があります。

[環境]

以下のいずれかの環境の場合。

  • Oracle Solaris

  • Linux

  • Windows

  • UXP/DS

[発生条件]

各現象の発生条件は以下の通りです。

(現象1)

1.FROM句に複数の表を指定。かつ、

2.WHERE句、または、結合表のON句に、1)の複数の表の列を「=」で結合。かつ、

3.以下のいずれかの条件を満たす。かつ、

  3-1.ジョイン系アクセスモデルがマージジョイン。または、

  3-2.2)の列にDSIの分割キーが含まれる。

4.2)の列が、以下のいずれかのデータ型の列。かつ、

  4-1.データベースの文字コード系がUNICODEの各国語文字列型。または、

  4-2.文字列型。

5.2)の列のデータが、各表で長さが異なる。かつ、

6.2)の列のデータが、短い文字列の長さで一致。かつ、

7.2)の列のデータの長い文字列の短い文字列の長さより後続の文字に、以下のいずれかの文字が含まれる。

  7-1.各国語文字列型のUCS2のバイナリ値:0x0000から0x2fffの文字(*2)。または、

  7-2.文字列型の制御文字。

(現象2)

1.比較述語">"、">="(*1)、またはBETWEEN述語を指定。かつ、

2.1)に指定した列のデータ型が、以下のいずれかである。かつ、

  2-1.データベースの文字コード系がUNICODEの各国語文字列型。または、

  2-2.文字列型。

3.比較述語を指定している場合は以下の条件を満たす場合。

  3-1.左辺のデータ長が右辺のデータ長より長い。かつ、

  3-2.左辺のデータと右辺のデータが、右辺のデータ長分一致している。かつ、

  3-3.左辺のデータの右辺のデータ長以降に、以下のいずれかの文字を含む。

    3-3-1.各国語文字列型のUCS2のバイナリ値:0x0000から0x2fffの文字(*2)。または、

    3-3-2.文字列型の制御文字。

または、

3.BETWEEN述語を指定している場合は以下の条件を満たす場合。

  3-1.1番目の値式のデータ長が2番目の値式のデータ長より長い。かつ、

  3-2.1番目の値式のデータと2番目の値式のデータが、2番目の値式のデータ長分一致している。かつ、

  3-3.1番目の値式のデータの2番目の値式のデータ長以降に、以下のいずれかの文字を含む。

    3-3-1.各国語文字列型のUCS2のバイナリ値:0x0000から0x2fffの文字(*2)。または、

    3-3-2.文字列型の制御文字。

(現象3)

1.比較述語">"、">="(*1)、またはBETWEEN述語を指定。かつ、

2.の述語に指定したデータ型が、以下のいずれかである。かつ、

  2-1. データベースの文字コード系がUNICODEの各国語文字列型。または、

  2-2.文字列型。

3.比較述語を指定している場合は以下の条件を満たす場合。

  3-1.左辺のデータ長が右辺のデータ長より短い。かつ、

  3-2.左辺のデータと右辺のデータが、左辺のデータ長分一致している。かつ、

  3-3.右辺のデータの左辺のデータ長以降に、以下のいずれかの文字を含む。

    3-3-1.各国語文字列型のUCS2のバイナリ値:0x0000から0x2fffの文字(*2)。または、

    3-3-2.文字列型の制御文字。

または、

3.BETWEEN述語を指定している場合は以下の条件を満たす場合。

  3-1.1番目の値式のデータ長が3番目の値式のデータ長より短い。かつ、

  3-2.1番目の値式のデータと3番目の値式のデータが、1番目の値式のデータ長分一致している。かつ、

  3-3.3番目の値式のデータの1番目の値式のデータ長以降に、以下のいずれかの文字を含む。

    3-3-1.各国語文字列型のUCS2のバイナリ値:0x0000から0x2fffの文字(*2)。または、

    3-3-2.文字列型の制御文字。

(現象4)

1.集合関数MAXを指定する。かつ、

2.集合関数MAXの値式が以下のいずれかのデータ型である。かつ、

  2-1.可変長文字列型。または、

  2-2.可変長各国語文字列型。

3.2)の値式のデータがすべて以下のいずれかの文字。

  3-1.可変長文字列型の空白。または、

  3-2.可変長各国語文字列型の全角空白。

*1:A>BとB<Aは同意です。"<"、"<="の場合、条件の「3)」の左辺は右辺に、右辺は左辺に読み替えてください。

*2: 0x0000~0x2fffの文字は、主に以下の文字が該当します。詳細はUCS2のコード変換表を確認してください。

  • ASCII文字

  • ギリシャ文字、キリル文字、アラビア文字、タイ文字などの一部の各国語文字

  • 記号(数学記号、通貨記号、罫線、矢印など)

  • 補助句読点、CJK部首 補助集合、康熙部首、漢字構成記述文

6-(2)

PG82373

[現象]

以下の現象が発生します。

(現象1)

FROM句に複数の表を指定した場合に探索条件に該当するレコードがアプリケーションに返却されない場合があります。

(現象2)

探索条件に該当しないレコードがアプリケーションに返却される場合があります。

(現象3)

探索条件に該当するレコードがアプリケーションに返却されない場合があります。

(現象4)

集合関数MAXの返却値に、長さ0のデータがアプリケーションに返却される場合があります。

[環境]

以下のいずれかの環境の場合。

  • Oracle Solaris

  • Linux

  • Windows

  • UXP/DS

[発生条件]

各現象の発生条件は以下の通りです。

(現象1)

1.FROM句に複数の表を指定。かつ、

2.WHERE句、または、結合表のON句に、1)の複数の表の列を「=」で結合。かつ、

3.ジョイン系アクセスモデルがマージジョイン。かつ、

4.2)の列が、以下のいずれかのデータ型の列。かつ、

  4-1.データベースの文字コード系がUNICODEの各国語文字列型。または、

  4-2.文字列型。

5.2)の列のデータが、各表で長さが異なる。かつ、

6.2)の列のデータが、短い文字列の長さで一致。かつ、

7.2)の列のデータの長い文字列の短い文字列の長さより後続の文字に、以下のいずれかの文字が含まれる。

  7-1.各国語文字列型のUCS2のバイナリ値:0x0000から0x2fffの文字(*2)。または、

  7-2.文字列型の制御文字。

(現象2)

1.比較述語">"、">="(*1)、またはBETWEEN述語を指定。かつ、

2.1)に指定した列のデータ型が、以下のいずれかである。かつ、

  2-1.データベースの文字コード系がUNICODEの各国語文字列型。または、

  2-2.文字列型。

3.比較述語を指定している場合は以下の条件を満たす場合。

  3-1.左辺のデータ長が右辺のデータ長より長い。かつ、

  3-2.左辺のデータと右辺のデータが、右辺のデータ長分一致している。かつ、

  3-3.左辺のデータの右辺のデータ長以降に、以下のいずれかの文字を含む。

    3-3-1.各国語文字列型のUCS2のバイナリ値:0x0000から0x2fffの文字(*2)。または、

    3-3-2.文字列型の制御文字。

または、

3.BETWEEN述語を指定している場合は以下の条件を満たす場合。

  3-1.1番目の値式のデータ長が2番目の値式のデータ長より長い。かつ、

  3-2.1番目の値式のデータと2番目の値式のデータが、2番目の値式のデータ長分一致している。かつ、

  3-3.1番目の値式のデータの2番目の値式のデータ長以降に、以下のいずれかの文字を含む。

    3-3-1.各国語文字列型のUCS2のバイナリ値:0x0000から0x2fffの文字(*2)。または、

    3-3-2.文字列型の制御文字。

(現象3)

1.比較述語">"、">="(*1)、またはBETWEEN述語を指定。かつ、

2.の述語に指定したデータ型が、以下のいずれかである。かつ、

  2-1. データベースの文字コード系がUNICODEの各国語文字列型。または、

  2-2.文字列型。

3.比較述語を指定している場合は以下の条件を満たす場合。

  3-1.左辺のデータ長が右辺のデータ長より短い。かつ、

  3-2.左辺のデータと右辺のデータが、左辺のデータ長分一致している。かつ、

  3-3.右辺のデータの左辺のデータ長以降に、以下のいずれかの文字を含む。

    3-3-1.各国語文字列型のUCS2のバイナリ値:0x0000から0x2fffの文字(*2)。または、

    3-3-2.文字列型の制御文字。

または、

3.BETWEEN述語を指定している場合は以下の条件を満たす場合。

  3-1.1番目の値式のデータ長が3番目の値式のデータ長より短い。かつ、

  3-2.1番目の値式のデータと3番目の値式のデータが、1番目の値式のデータ長分一致している。かつ、

  3-3.3番目の値式のデータの1番目の値式のデータ長以降に、以下のいずれかの文字を含む。

    3-3-1.各国語文字列型のUCS2のバイナリ値:0x0000から0x2fffの文字(*2)。または、

    3-3-2.文字列型の制御文字。

(現象4)

1.集合関数MAXを指定する。かつ、

2.集合関数MAXの値式が以下のいずれかのデータ型である。かつ、

  2-1.可変長文字列型。または、

  2-2.可変長各国語文字列型。

3.2)の値式のデータがすべて以下のいずれかの文字。

  3-1.可変長文字列型の空白。または、

  3-2.可変長各国語文字列型の全角空白。

*1:A>BとB<Aは同意です。"<"、"<="の場合、条件の「3)」の左辺は右辺に、右辺は左辺に読み替えてください。

*2: 0x0000~0x2fffの文字は、主に以下の文字が該当します。詳細はUCS2のコード変換表を確認してください。

  • ASCII文字

  • ギリシャ文字、キリル文字、アラビア文字、タイ文字などの一部の各国語文字

  • 記号(数学記号、通貨記号、罫線、矢印など)

  • 補助句読点、CJK部首 補助集合、康熙部首、漢字構成記述文

7-(1)

PG84226

[現象]

アプリケーションを実行するとき、アプリケーションがコアを出力して異常終了する場合があります。

[環境]

本障害は、以下のOSで発生します。

  • Oracle Solaris

  • Linux

  • Windows

[発生条件]

<発生条件1>

  1. JDBCを使用したJavaアプリケーションを使用する。かつ、

  2. 以下の接続形態を使用して、Connectionオブジェクトを作成する。かつ、

    • ローカルアクセスを使用する。または、

    • リモートアクセス(RDB2_TCP連携)を使用する。

  3. 以下のいずれかの方法で、自動コミットモードに設定する。かつ、

    • setAutoCommitメソッドをtrueに設定する。または、

    • setAutoCommitメソッドを実行しない。

  4. 2)で生成したConnectionオブジェクトのprepareStatementメソッドを実行して、PreparedStatementオブジェクトを生成する。かつ、

  5. 4)でprepareStatementメソッドは動的パラメタなしのSELECT文である。かつ、

  6. 4)で生成したPreparedStatementオブジェクトのexecuteQueryメソッドを実行する。かつ、

  7. Symfoware/RDBサーバ側にて、以下のいずれかの方法で、5)のSQL文がアクセスするDSIを操作する。かつ、

    • rdbexdsiを利用してDSIをSQL処理の対象から除外または除外を解除する。または、

    • rdbalidxを利用してインデックスの縮退指定または状態を変更する。または、

    • rdbfmtコマンドで表DSIを初期化する。

  8. 6)の操作を再度実行する。

<発生条件2>

  1. 以下のいずれかのアプリケーションを使用する。かつ、

    • 埋込みSQLを使用したC言語またはCOBOL言語のアプリケーション。または、

    • ODBCアプリケーション。

  2. 以下の接続形態を使用して、コネクションを確立する。かつ、

    • ローカルアクセスを使用する。または、

    • リモートアクセス(RDB2_TCP連携)を使用する。

  3. 動的パラメタなしのSELECT文を動的準備する。かつ、

  4. 3)で準備したSQL文を実行する。かつ、

  5. Symfoware/RDBサーバ側にて、以下のいずれかの方法で、4)のSQL文がアクセスするDSIを操作する。かつ、

    • rdbexdsiを利用してDSIをSQL処理の対象から除外または除外を解除する。または、

    • rdbalidxを利用してインデックスの縮退指定または状態を変更する。または、

    • rdbfmtコマンドで表DSIを初期化する。

5)の操作を再度実行する。

7-(2)

PG84226

[現象]

アプリケーションを実行するとき、アプリケーションがコアを出力して異常終了する場合があります。

[環境]

本障害は、以下のOSで発生します。

  • Oracle Solaris

  • Linux

  • Windows

[発生条件]

<発生条件1>

  1. JDBCを使用したJavaアプリケーションを使用する。かつ、

  2. 以下の接続形態を使用して、Connectionオブジェクトを作成する。かつ、

    • ローカルアクセスを使用する。または、

    • リモートアクセス(RDB2_TCP連携)を使用する。

  3. 以下のいずれかの方法で、自動コミットモードに設定する。かつ、

    • setAutoCommitメソッドをtrueに設定する。または、

    • setAutoCommitメソッドを実行しない。

  4. 2)で生成したConnectionオブジェクトのprepareStatementメソッドを実行して、PreparedStatementオブジェクトを生成する。かつ、

  5. 4)でprepareStatementメソッドは動的パラメタなしのSELECT文である。かつ、

  6. 4)で生成したPreparedStatementオブジェクトのexecuteQueryメソッドを実行する。かつ、

  7. 6)の操作を再度実行する。

<発生条件2>

  1. 以下のいずれかのアプリケーションを使用する。かつ、

    • 埋込みSQLを使用したC言語またはCOBOL言語のアプリケーション。または、

    • ODBCアプリケーション。

  2. 以下の接続形態を使用して、コネクションを確立する。かつ、

    • ローカルアクセスを使用する。または、

    • リモートアクセス(RDB2_TCP連携)を使用する。

  3. 動的パラメタなしのSELECT文を動的準備する。かつ、

  4. 3)で準備したSQL文を実行する。かつ、

  5. 4)の操作を再度実行する。

8

PG85170

[現象]

分割値に定数を3999個以上(64ビット環境の場合)、または7997個以上(32ビット環境の場合)指定したDSIを定義した場合、発生条件に記載した操作を実行すると、メッセージqdg02842u(*1)を出力してSymfoware/RDBがダウンすることがあります。

(*1)qdg02842u:シグナル11を受信したため RDBIIシステム空間が異常終了しました

[環境]

以下のいずれかのOSを使用している場合。

  • Oracle Solaris

  • Linux

  • Windows

  • UXP/DS

[発生条件]

  1. CREATE DSI文またはALTER DSI文を実行している。かつ、

  2. 1)において、分割値に指定した定数の数が以下である。かつ、

    • 64ビット環境の場合、3999個以上

    • 32ビット環境の場合、7997個以上

  3. 1)の実行後、以下のいずれかの操作を実施した場合。

    • 1)のDSIに関連するインデックスのDSIを定義(CREATE DSI文を実行)する。

    • 1)のDSIに関連する表のDSOに対して、表のDSIを定義(CREATE DSI文を実行)する。

    • 1)のDSIを削除(DROP DSIを実行)する。

    • 1)のDSIに関連するスキーマ、表またはDSOをCASCADE指定で削除(DROP SCHEMA文、DROP TABLE文またはDROP DSO文を実行)する。

    • 1)のDSIの分割値変更または容量拡張(ALTER DSI文を実行)する。

    • 1)のDSIに対して、スコープを定義(CREATE SCOPE文を実行)する。

    • 1)のDSIが定義されているRDBシステムに対して、ロールを削除(DROP ROLE文を実行)する。(*1)

    (*1)以下のいずれかの場合、ロールを削除しても発生しません。

    • Symfoware Server V10.1.0B以降の製品を使用している。

    • PG67030を含む緊急修正を適用している。

PG67030に対応する緊急修正番号は以下となります。

(Oracle Solaris)

  緊急修正パッチid T005117SP-02~

  正式製品名称
    : Symfoware Server Enterprise Extended Edition,

    : Symfoware Server Enterprise Edition,

    : Symfoware Server Standard Edition

  製品世代 : V10.1.0,V10.1.0A

  システムコード:237(Solaris)

注1)メモリ状態に依存するため、発生条件に該当しても必ず発生するとは限りません。

注2)分割値に指定可能な定数の数の制限は、仕様上、以下のとおりです。

  • DSO定義の分割条件に=を指定している場合
    DSO定義の分割条件に指定した列数(*2) × 32767個

  • DSO定義の分割条件にBETWEENを指定している場合
    DSO定義の分割条件に指定した列数(*2) × 2 × 32767個

    (*2)指定可能な列数は64個までです。

9

PG85297

[現象]

JDBCのバッチ更新機能を使用すると、メモリ使用量が不当に増加します。その後処理を継続した場合に、executeBatch実行時に「JYP9608E ディスクリプタ操作でメモリ割り当てエラーが発生しました.」のエラーが発生し、アプリケーションに対してエラー復帰します。

[環境]

以下のOSで発生します。

  • Oracle Solaris

  • Linux

  • Windows

なお、本障害はLD障害であり、解析方法に示したパッチを適用している場合発生します。

[発生条件]

[条件1]

  1. JDBCを使用したjavaアプリケーションを使用する。かつ、

  2. ステートメントキャッシュ機能を使用する。かつ、

  3. ローカルアクセスまたはリモートアクセスで接続を確立して、Connectionオブジェクトを作成する。かつ

  4. 3)で生成したConnectionオブジェクトの関数prepareStatementを使用して、PreparedStatementオブジェクトを取得する。かつ

  5. 4)中の関数prepareStatementの引数は、動的パラメタを使用した更新文(INSERT/UPDATE/DELETE)である。かつ

  6. 5)の更新文において、更新するカラムにNUMERIC型カラムがある。かつ

  7. 4)で生成したPreparedStatementオブジェクトの関数addBatchでSQL文を追加して、バッチ更新用の関数executeBatchを実行する。かつ

  8. 4)で生成したPreparedStatementオブジェクトの関数closeメソッドを実行する。かつ、

  9. 5)と同じ更新文を指定して、PreparedStatementオブジェクトを作成する。かつ、

  10. 9)で生成したPreparedStatementオブジェクトの関数addBatchで複数回(2回以上)のSQL文を追加して、バッチ更新用の関数executeBatchを実行する。かつ

  11. 9)で生成したPreparedStatementオブジェクトの関数closeメソッドを実行する。かつ、

  12. 9)~11)番目の操作を繰り返して実施する。

[条件2]

  1. JDBCを使用したjavaアプリケーションを使用する。かつ、

  2. ローカルアクセスまたはリモートアクセスで接続を確立して、Connectionオブジェクトを作成する。かつ、

  3. 2)で生成したConnectionオブジェクトの関数prepareStatementを使用して、PreparedStatementオブジェクトを取得する。かつ、

  4. 3)の中の関数prepareStatementの引数は、動的パラメタを使用した更新文(INSERT/UPDATE/DELETE)である。かつ、

  5. 4)の更新文において、更新するカラムにNUMERIC型カラムがある。かつ、

  6. 3)で生成したPreparedStatementオブジェクトの関数addBatchでデータを追加して、バッチ更新用の関数executeBatchを実行する。かつ、

  7. 6)の操作を繰り返し実行する。

10

PG86001

[現象]

swstrestoreコマンド(*1)またはrdbmrrcvコマンドを使用してデータベーススペースを退避データ取得時点にリカバリすると、最新状態までリカバリされます。

(*1) swstrestoreコマンドはETERNUS SF AdvancedCopy Managerのコマンドです。

[環境]

  1. 以下のいずれかのOSを使用している。かつ、

    • Oracle Solaris

    • Linux

    • Windows

  2. Symfoware Server Advanced Backup Controllerを使用している場合。

[発生条件]

  1. swstrestoreコマンドまたはrdbmrrcvコマンドで複数のデータベーススペースを退避データ取得時点(*1)にリカバリする。かつ

  2. リカバリ対象のデータベーススペースが属するデータベース名が複数である。かつ

  3. リカバリ対象のデータベーススペースにDSIが割り付いているものが存在する。かつ

  4. リカバリ対象のデータベーススペースにDSIが割り付いていないものが存在する。かつ

  5. 4)のデータベーススペースの属するデータベース名において、リカバリ対象のデータベーススペースの全てにDSIが割り付いていない場合。

(*1) 以下のオプションを指定している場合、退避データ取得時点へのリカバリとなります。

swstrestoreコマンドの場合 -a オプション

rdbmrrcvコマンドの場合 -P オプション

11

PG87732

[現象]

ORDER BY句および問合せ式にUNIONを2個以上記述しているカーソルを指定したOPEN文を実行すると、JYP7548Eのエラーメッセージを出力してSQL文の実行が異常終了します。このため、OPEN文を実行するアプリケーションが正常に動作しません。

JYP7548E:集合演算子の両辺に指定された問合せ式の結果の次数が異なっています.

[環境]

  1. 以下のOSである場合。かつ、

    • Oracle Solaris または、

    • Linux または、

    • Windows

  2. Symfoware Server V10.0.0~V10.1.1Aの製品を使用している。

[発生条件]

  1. カーソル指定の問合せ式にUNIONを2個以上指定している。かつ、

  2. 1)の一番左側の問合せ指定にORDER BY句を指定している。かつ、

  3. 1)の一番左側の問合せ指定の選択リストと2)のORDER BY句の組合せが以下のいずれかである。かつ、

    組合せ1)

    選択リストに"表名.*"または"相関名.*"を指定

    ORDER BY句に列を指定

    組合せ2)

    選択リストに以下のいずれも指定していない。

    • "*"

    • "表名.*"

    • "相関名.*"

      ORDER BY句に以下のいずれも指定していない。

    • 指定

    • 符号なし整数

  4. 1)のカーソルを指定したOPEN文を実行する。

    (カーソル指定の例)

    • 3)の組合せ1)の場合

      SELECT 表A.* FROM 表A

      UNION

      SELECT * FROM 表B

      UNION

      SELECT * FROM 表C

      ORDER BY 表A.列A;

    • 3)の組合せ2)の場合

      SELECT MAX(列A) FROM 表A

      UNION

      SELECT MAX(列B) FROM 表B

      UNION

      SELECT MAX(列C) FROM 表C

      ORDER BY MAX(列A);

12

PG88108

[現象]

以下の条件の場合、メッセージqdg02842uが出力され、Symfoware Serverがコアファイルを出力してダウンします。

※ qdg02842u:シグナル11を受信したため RDBIIシステム空間が異常終了しました

[環境]

以下の環境で発生します。

  1. Linkexpress Replication option(以降LinkREP)を使用している。かつ、

  2. LinkREPのバージョンレベルが以下のいずれかである。かつ、

    • Oracle Solarisの場合 :1.1~4.0.2A

    • ia64 Linuxの場合 :V4.0L10~V5.0L10

    • x86 Linuxの場合 :V3.0L20~V5.0L11

    • x64 Linuxの場合 :V5.0L10~V5.0L11

    • ia64 Windowsの場合 :V5.0L10~V5.0L12

    • x86 Windowsの場合 :V1.1L20~V5.0L13

    • x64 Windowsの場合 :V5.0L12~V5.0L13

  3. 複写元データベースがSymfoware Server(サポートしている全エディション)である。かつ、

  4. Symfoware Serverのバージョンレベルが以下のいずれかである。

    • Oracle Solarisの場合 :2.1~10.1B

    • ia64 Linuxの場合 :V7.0L10~9.2

    • x86 Linuxの場合 :V6.0L10~10.1

    • x64 Linuxの場合 :9.1.0~10.1

    • ia64 Windowsの場合 :8.0.0~9.1.1

    • x86 Windowsの場合 :V1.2L11~10.1

    • x64 Windowsの場合 :9.1.0~10.1

[発生条件]

  1. lxrepcreコマンドの入力ファイルのMEMBERオペランドに、複数のメンバ抽出定義名を指定し、lxrepcreコマンドで抽出グループを作成する。かつ、

  2. lxrepdroコマンドで、(1)の抽出グループを削除する。かつ、

  3. (1)のMEMBERオペランドに指定したメンバ抽出定義名のうち、最後尾に指定したメンバ抽出定義名を外し、lxrepcreコマンドで抽出グループを作成する。かつ、

  4. (3)で作成した抽出グループをlxrepdroコマンドで削除する。または、(3)で作成した抽出グループに対しlxrepenaコマンドを実行する。

※lxrepcre、lxrepdro、およびlxrepenaは、LinkREPのコマンドです。

※抽出グループおよびメンバ抽出定義は、LinkREPの定義です。

13

PG91315

[現象]

以下のいずれかのSQL文(*1)を実行した場合、読込み、更新処理で本来の処理件数と異なる場合があります。

(*1)以下のSQL文の場合

  • 同一トランザクション内でカーソルを使用したFETCH文実行後のINSERT/UPDATE文。または、

  • UPDATE文。

[環境]

以下の環境で発生します。

  • Oracle Solaris

  • Linux

  • Windows

[発生条件]

1.インデックスのDSO定義文にREALIGNMENT(インデックスの自動再配置)を指定している。かつ、

2.動作環境ファイルのR_LOCKにNOを指定している(*2)。かつ、

3.以下のいずれかのSQL文を実行している。かつ、

  3-1) UPDATE文。または、

  3-2) 同一トランザクション内でカーソルを使用したFETCH文実行後のINSERT/UPDATE文。

4.3)のSQL文でインデックス構成列を探索条件にしている。かつ、

5.3)のSQL文でインデックス構成列を更新する。または、可変長カラムの更新でデータ長が長くなる場合

*2) 動作環境ファイルのR_LOCKパラメタを省略した場合の値はバージョンにより異なり、V9.2.0以前の場合はR_LOCK=NO、V10.0.0以降の場合はR_LOCK=YESになります。

[内部条件]

内部条件は以下になります。

1.表更新によりレコードの格納位置が変わり、インデックスと表との位置づけのためのポインタを更新する。かつ、

2.インデックスの自動再配置が動作し、更新対象キー値を格納しているインデックスデータ部のブロックが隣接ページに移動している場合。