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

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

以前のバージョンレベルからの障害修正はありません。

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

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

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

No.

バージョン
レベル

P番号

現象

EE

SE

LE

1

V12.1.0

PG82350

[現象]

監査ログエレメントの切替え後、rdbrcvdicコマンドでRDBディクショナリとRDBディレクトリファイルのリカバリを行った場合、媒体障害が発生していないにもかかわらず、監査ログエレメントが閉塞されることがあります。閉塞された監査ログエレメントは、利用不可能になります。

(注)媒体障害は発生しないため、メッセージは出力されません。

派生する現象として、rdbauditコマンドの-l指定で監査ログエレメントの情報表示すると、"HARD-INHIBIT"(媒体障害による閉塞状態)が表示されます。

[環境]

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

  • Oracle Solaris

  • Linux

  • Windows

[発生条件]

1)rdbdmpdicコマンドで、RDBディクショナリの退避データを取得している。かつ、

2)1)の後、以下のいずれかが発生している。かつ、

  - 監査ログエレメントの切替え

  - rdbauditコマンドで、監査ログエレメントの強制切替え

3)-L -f指定で、1)の退避データを使用して、rdbrcvdicコマンドを実行する。かつ、

4)3)の後、監査ログを取得するRDBコマンドまたは、アプリケーションを実行する。

注)閉塞されていない監査ログエレメントは利用可能であるため、通常運用は可能です。

2

PG91783

[現象]

資源のバックアップを取得するコマンド実行中にアーカイブログファイルが満杯になると、無応答になります。

この時、アーカイブログファイルの追加は可能ですが、退避または破棄することができないため、ディスクに空きがない場合は、Symfoware/RDBの強制停止が必要です。

[環境]

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

  • Oracle Solaris

  • Linux

  • Windows

  • UXP/DS

[発生条件]

1)以下のいずれかのコマンドを実行し、資源のバックアップを取得する。かつ、

  - rdbdmp

  - rdbdmpdic

  - rdbmrdmp

  - swstbackup(注)

2)1)の実行中にアーカイブログファイルが満杯になる。

注)以下のいずれかの製品のコマンド

  - Softek AdvancedCopy Manager

  - ETERNUS SF AdvancedCopy Manager

3

PG92635

[現象]

RDBコマンドまたは更新系SQL文を実行すると、Symfowareはシグナル6で異常終了する場合があります。

[環境]

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

  - Oracle Solaris

  - Windows

  - Linux

[発生条件]

1) RDBコマンド(注1)または更新系SQL文(注2)を実行する。かつ

2) 1)がアクセスする表に対して、以下のいずれかの定義削除を実行する。

  ・プロシジャルーチン

  ・ファンクションルーチン

  ・トリガ

注1)RDBコマンドは以下のとおりです。

rdbspcinf、rdbaldic、rdbalmdsi、rdbaltop、rdbaudit、rdbconbf、rdbcrdic、rdbddlfix、rdbdisbf、rdbdmp、rdbdrbf、rdbexdsi、rdbfmt、rdbgcdsi、rdbhsuty、rdbinf、rdbinh、rdbludic、rdbmrrcv、rdbpldic、rdbpmt、rdbprt、rdbprtbf、rdbrcv、rdbrcvdic、rdbresident、rdbrls、rdbrtr、rdbsaloader、rdbsetrp、rdbsloader、rdbsuloader、rdbudsi、rdbunl、rdbups

注2)更新系SQL文は以下のとおりです。

    CONNECT文

    SET STATISTICS文

    SET SYSTEM PARAMETER文

    SET SESSION AUTHORIZATION文

    SET ROLE文

    SET USER PASSWORD文

    INSERT文(DSI自動容量拡張が発生する場合)

    UPDATE文(DSI自動容量拡張が発生する場合)

4

PG94641

[現象]

以下の条件の場合、rdbrcvdicコマンドで、RDBディレクトリファイルをリカバリすると、RDBディクショナリに異常がないにもかかわらず、以下のいずれかのエラーとなることがあります。

qdg12773u:RDBIIディクショナリのデバイスの容量を小さく変更しているかまたはRDBIIディクショナリが破壊されています

qdg12769u:RDBIIディクショナリが破壊されています

qdg13074u:RDBディクショナリのデバイスの容量が小さく変更されています デバイス名='s*'

s*: デバイス名

[環境]

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

  • Oracle Solaris

  • Linux

  • Windows

  • UXP/DS

[発生条件]

1) -aオプションを指定して、rdbaldicコマンドを実行している。かつ、

2) 1)を実行した環境で、以下のいずれかのオプションを指定して、rdbrcvdicコマンドを実行する場合。

  - -Fオプション

  - -Lオプション、かつ、-rオプション

  - -Lオプション、かつ、-fオプション

注)rdbaldicコマンドの実行により更新された定義情報の格納位置に依存するため、発生条件に一致しても、必ず発生するわけではありません。

5

PG96264

[現象]

CREATE DSI文、CREATE INDEX文またはCREATE TABLE文を実行した場合、qdg02842uのメッセージを出力して、Symfoware/RDBがダウンすることがあります。

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

[環境]

以下のいずれかのOSの場合。

  • Oracle Solaris

  • Linux

  • Windows

  • UXP/DS

[発生条件]

1) 以下のいずれかを実行している。かつ、

  - DROP DSI文

  - DROP DSO文(CASCADE指定)(注)

  - DROP INDEX文

  - DROP TABLE文(CASCADE指定) (注)

  - DROP SCHEMA文(CASCADE指定)(注)

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

  - rdbgcdsiコマンド(-c指定)

2) 1)のDSIで格納領域として使用していたデータベーススペースを割付け先に指定して、以下のいずれかを実行している。かつ、

  - CREATE DSI文

  - CREATE INDEX文

  - CREATE TABLE文(格納領域指定)

3) 2)がCREATE DSI文の時、以下のいずれかに該当する場合。

  - EXPAND ONを指定している。(RDB構成パラメタRDBEXPDSI=NOを指定している場合)

  - EXPAND OFFを指定していない。(RDB構成パラメタRDBEXPDSI=YESを指定している、またはRDBEXPDSIを省略している場合)

注)関連するDSIが削除される場合が該当します。

(内部条件)

割付け量に指定したサイズの格納領域が割付け先に指定したデータベーススペース内で連続域で獲得できなかった場合。

また、データベーススペースおよびメモリの状態に依存するため、条件に該当しても必ず発生するわけではありません。

6

PG96348

[現象]

REVOKE文を実行すると、qdg02842u(注)のメッセージを出力してSymfoware/RDBがダウンすることがあります。

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

[環境]

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

  • Oracle Solaris

  • Linux

  • Windows

[発生条件]

1) RDBディクショナリの作成者が利用者(注1)の作成した表に対してGRANT文(注2)を実行する。かつ、

2) RDBディクショナリの作成者が1)の表に対してREVOKE文(注3)を実行する。

(注1) CREATE USER文で定義した利用者である。

(注2) 以下のいずれかを指定している。

- 権限にSELECTが含まれる。かつ、権限受領者にPUBLICを指定する。

- ALL PRIVILEGESを指定する。かつ、権限受領者にPUBLICを指定する。

(注3) 権限にSELECTが含まれる。かつ、権限受領者にPUBLICを指定する。

注) メモリの状態に依存して発生する障害であるため、上記の発生条件を満たす場合でも、障害が発生しない可能性もあります。

7

PG96430

[現象]

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

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

[環境]

以下の環境の場合。

  • Oracle Solaris

  • Linux

  • Windows

[発生条件]

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

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

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

8

PG96657

[現象]

メモリ不足の際に、Symfoware/RDBがqdg02842uのメッセージを出力して、異常終了する場合があります。

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

d*: シグナル番号

[環境]

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

  • Oracle Solaris

  • Linux

  • Windows

  • UXP/DS

[発生条件]

1)以下のメッセージが出力されてメモリ不足になっている。かつ、

qdg12102u:RDBII空間内ローカルメモリ不足が発生しました

JYP5007E RDBIIサーバ空間内のメモリ不足が発生しました

2)以下のいずれかの方法でSQL文を発行する。

a)埋め込みSQLを利用したアプリケーションの場合

    - 静的SQL文を実行する。

    - EXECUTE文を実行する。

    - EXECUTE IMMEDIATE文を実行する。

    -動的OPEN文を実行する。

b)ODBCドライバを利用したアプリケーションの場合

以下のいずれかの関数を実行する

    - SQLPrepare

    - SQLExecute

    - SQLExecDirect

    - SQLProcedureColumns

    - SQLProcedures

    - SQLColumnPrivileges

    - SQLColumns

    - SQLPrimaryKeys

    - SQLStatistics

    - SQLTablePrivileges

    - SQLTables

    - SQLDescribeCol

    - SQLDescribeParam

    - SQLForeignKeys

    - SQLRowCount

    - SQLPrepareW

    - SQLExecuteW

    - SQLExecDirectW

    - SQLProcedureColumnsW

    - SQLProceduresW

    - SQLColumnPrivilegesW

    - SQLColumnsW

    - SQLPrimaryKeysW

    - SQLStatisticsW

    - SQLTablePrivilegesW

    - SQLTablesW

    - SQLDescribeColW

    - SQLForeignKeysW

c)JDBCドライバを利用したアプリケーションの場合

以下のいずれかのメソッドを実行する

    - CallableStatement.getXXX

    - CallableStatement.execute

    - CallableStatement.executeQuery

    - CallableStatement.executeUpdate

    - CallableStatement.executeBatch

    - Connection.createStatement

    - Connection.prepareCall

    - Connection.prepareStatement

    - Connection.getMetaData

    - DatabaseMetaData.getXXX

    - PreparedStatement.execute

    - PreparedStatement.executeQuery

    - PreparedStatement.executeUpdate

    - PreparedStatement.executeBatch

    - ResultSet.updateXXX(updater メソッド)

    - ResultSet.next

    - Statement.execute

    - Statement.executeQuery

    - Statement.executeUpdate

    - Statement.executeBatch

d)Symfoware .NET Data Providerを利用したアプリケーションの場合

以下のいずれかのメソッドを実行する

    - SymfowareDataReader.GetSchemaTable

    - SymfowareCommand.ExecuteReader

    - SymfowareCommand.ExecuteNonQuery

    - SymfowareCommand.ExecuteScalar

    - SymfowareDataAdapter.Fill

    - SymfowareDataAdapter.FillSchema

    - SymfowareDataAdapter.Update

-SymfowareCommandBuilder.DeriveParameters

e)RDBコマンドを実行して利用する

以下のいずれかのRDBコマンドを実行する

    - rdbexecsqlコマンド

    - rdbunlsqlコマンド

    - rdbuptコマンド

f)WebDBtoolsを利用して実行する

9

PG97005

[現象]

rdbprtコマンドの-m DEF指定のINDEX指定で、定義されていないインデックス名を指定した場合、qdg12236e(注1)のメッセージを出力してコマンドが異常終了しますが、メモリ上に展開した表の定義情報が回収されません。

(注1) qdg12236e:インデックス's*.t*'は存在しません

s*: スキーマ名

t*: インデックス名

派生する事象として、以下の事象が発生することがあります。

(派生する事象1)

RDBコマンドを実行すると、qdg12695u(注2)およびqdg02842u(注3)のメッセージを出力してSymfoware/RDBがダウンすることがあります。

(注2) qdg12695u:System error occurred. Reference code = xx.xx.xx.xx Internal code = (idt_p:xxxxxxxx sub_code:0 module:xxxxxxxx line:xxxx)

xxは不定です。

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

(派生する事象2)

RDBコマンドまたはSQL文を実行すると、JYP5021E(注4)のメッセージを出力して異常終了することがあります。

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

[環境]

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

  • Oracle Solaris

  • Linux

  • Windows

[発生条件]

1) rdbprtコマンドの-m DEF指定のINDEX指定で、インデックスの定義情報を出力する。かつ、

2) 1)で指定したスキーマおよび表が定義されている。かつ、

3) 1)で指定したインデックスが定義されていない。

(派生する事象1の発生条件)

1) [発生条件]に該当する操作を実行している。かつ、

2) 1)の実行後、Symfoware/RDBを再起動していない。かつ、

3) 1)の実行後、指定した表に関連するDSIを削除する。かつ、

4) 3)の実行後、削除したDSIを定義する。かつ、

5) 4)の実行後、該当するDSIに対して、以下のいずれかのRDBコマンドを実行する。

  - rdbfmt

  - rdbgcdsi

  - rdbsloader

  - rdbsaloader

  - rdbsuloader

  - rdbunl

  - rdbups

(派生する事象2の発生条件)

1) [発生条件]に該当する操作を実行している。かつ、

2) 1)の実行後、Symfoware/RDBを再起動していない。かつ、

3) 1)の実行後、指定した表に関連するDSIを削除する。かつ、

4) 3)の実行後、削除したDSIを定義する。かつ、

5) 4)の実行後、該当する表に対して、以下のいずれかのRDBコマンドまたはSQL文を実行する。

  - rdbunlsql

  - rdbupt

  - INSERT文

  - DELETE文

  - UPDATE文

  - SELECT文

10

PG97075

[現象]

レプリケーション運用の際に、32Kバイトを超えるBLOB型の列を含む表を更新するSQL文を実行すると、Symfoware/RDBが異常終了する場合があります。

[環境]

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

  • Oracle Solaris

  • Linux

  • Windows

[発生条件]

1)Linkexpress Replication optionを使用し、Symfoware/RDBからのレプリケーション運用を行なっている。かつ、

2)INSERT SELECT文を実行する。かつ、

3)2)の問い合わせのFROM句に32Kバイトを超えるBLOB型を定義した表を指定する。かつ、

4)3)の表が1)の対象表である。かつ、

5)2)の問い合わせが、以下のいずれかを満たす。かつ、

  5-1)  FROM句に複数の表を指定する。または、  

  5-2)  導出表を指定する。または、

  5-3)  副問合せを指定する。または、

  5-4) ORDER BY句を指定する。または、

  5-5)  GROUP BY句を指定する。または、

  5-6) DISTINCTを指定する。または、

  5-7) HAVING句を指定する。

6)3)の表をFROM句に指定したSQLが、同一コネクションで2)以前に実行していない。かつ、

7)2)のSQL文を実行後に3)の表を更新する以下のいずれかのSQL文を実行する。

  7-1) INSERT文。または、

  7-2) DELETE文。または、

  7-3) UPDATE文。

例:

表定義

CREATE TABLE S1.T1(C1 SMALLINT NOT NULL PRIMARY KEY, C2 BLOB(64K))

CREATE TABLE S1.T2(C1 SMALLINT NOT NULL PRIMARY KEY, C2 BLOB(64K))

発生条件2)のSQL

insert into s1.t2 ( select A.C1,B.C2 from s1.t1 as a,s1.t1 as b where a.c1 = b.c1)

発生条件7)のSQL

insert into s1.t1 values(100,null)

11

PG97831

[現象]

[現象1]

COMMITされていない行の列データを返却する場合があります。

[現象2]

SQL文を繰り返し実行すると、メモリ使用量が増加し、性能劣化が発生する場合があります。

[現象3]

参照トランザクションが終了するまで、排他単位が行以外の更新SQL文が待ちになります。

[環境]

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

  • Oracle Solaris

  • Linux

  • Windows

[発生条件]

[発生条件1]

以下の条件のとき、現象1が発生する場合があります。

1) 表のDSO定義にPRECEDENCE(1)を指定している。かつ、

2) 1)の表に対して行単位の排他を使用したアプリケーションを実行している。かつ、

3) 2)のアプリケーションで、以下のいずれかに該当するカーソルを使用する。かつ、

  3-1) 占有モードにFREE LOCKを指定する。または、

3-2) トランザクションアクセスモードに読込み専用モードを指定、かつ、独立性水準にREAD COMMITTEDを指定したトランザクションを実行する。または、

  3-3) 独立性水準にREAD COMMITTEDを指定したトランザクションを実行、かつ、更新可能性句にFOR READ ONLYを指定したカーソルを使用する。または、

  3-4) 独立性水準にREAD COMMITTEDを指定したトランザクションを実行、かつ、更新可能性句の指定を省略したカーソルを使用する。

4) 3)で実行したカーソルは、以下のいずれかにより、トランザクションを超越するカーソルを利用する。かつ、

  4-1) SET TRANSACTION文でREAD COMMITTEDを指定し、かつ、カーソル宣言でFOR READ ONLYを指定する。または、

  4-2)カーソル宣言でカーソルモードを指定する。

5) 3)のカーソルがOPENしている状態でCOMMIT文を実行する。かつ、

6) 5)の後に、4)のカーソルに対するFETCH文を実行する。かつ、

7) 6)の後に3)と同一コネクションで、3)に該当する別のカーソルをオープンする。かつ、

8) 7)の後に、行単位以外の排他を使用した2)とは別のアプリケーションで、1)の表に対して、以下のいずれかのSQL文を実行する。かつ、

  8-1)UPDATE文。または、

  8-2)DELETE文。または、

  8-3)INSERT文。

9) 8)の後に、4)のカーソルに対するFETCH文を実行する。

[発生条件2]

以下の条件のとき、現象2が発生する場合があります。

1) 表のDSO定義にPRECEDENCE(1)を指定している。かつ、

2) 1)の表に対して行単位の排他を使用したアプリケーションを実行している。かつ、

3) 2)のアプリケーションで、以下のいずれかに該当するカーソルを使用する。かつ、

  3-1) 占有モードにFREE LOCKを指定する。または、

3-2) トランザクションアクセスモードに読込み専用モードを指定、かつ、独立性水準にREAD COMMITTEDを指定したトランザクションを実行する。または、

  3-3) 独立性水準にREAD COMMITTEDを指定したトランザクションを実行、かつ、更新可能性句にFOR READ ONLYを指定したカーソルを使用する。または、

  3-4) 独立性水準にREAD COMMITTEDを指定したトランザクションを実行、かつ、更新可能性句の指定を省略したカーソルを使用する。

4) COMMIT文、またはROLLBACK文を実行していない。かつ、

5) 4)のトランザクション内で、3)のカーソルを繰り返し実行する場合。

[発生条件3]

以下の条件のとき、現象3が発生する場合があります。

1) 表のDSO定義にPRECEDENCE(1)を指定している。かつ、

2) 1)の表に対して行単位の排他を使用したアプリケーションを実行している。かつ、

3) 2)のアプリケーションで、以下のいずれかに該当するカーソルを使用する。かつ、

  3-1) 占有モードにFREE LOCKを指定する。または、

  3-2) トランザクションアクセスモードに読込み専用モードを指定、かつ、独立性水準にREAD COMMITTEDを指定したトランザクションを実行する。または、

  3-3) 独立性水準にREAD COMMITTEDを指定したトランザクションを実行、かつ、更新可能性句にFOR READ ONLYを指定したカーソルを使用する。または、

  3-4) 独立性水準にREAD COMMITTEDを指定したトランザクションを実行、かつ、更新可能性句の指定を省略したカーソルを使用する。

4) COMMIT文、またはROLLBACK文を実行していない。かつ、

5) 4)と別のトランザクションでDSI単位の排他を使用したアプリケーションを実行している。かつ、

6) 5)のアプリケーションで、以下のいずれかのSQL文を実行する。

   6-1)INSERT文。または、

   6-2)UPDATE文。または、

   6-3)DELETE文。または、

   6-4)占有モードにEXCLUSIVE LOCKを指定したSQL文。

12

PG97939

[現象]

以下に示す環境・発生条件のとき、Connection Managerは以下のメッセージを出力した後、コアファイルを出力して、異常終了する場合があります。

apc00008u:Connection Manager system process has been abnormally terminated because it received signal 11.

apc00009i:Core file has been obtained. Core file name is XXXXX.

[環境]

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

  • Oracle Solaris

  • Linux

  • Windows

[発生条件]

1) Connection ManagerとRDBシステムが接続状態(注1)の場合。かつ、

2) 以下のいずれかの操作を行う。

2-1) DBサーバのクラスタアプリケーションのOffline。または、

2-2) DBサーバのクラスタアプリケーションの切替え。または、

2-3) PRIMECLUSTER環境のRMSの停止。または、

2-4) rdbstopコマンドによる停止。または、

2-5) apcspvプロセスが異常終了した場合(注2)。

注1) apcnetコマンドの出力結果で、Causeが'-'と表示されている場合。

注2) Connection Manager はRDBサーバ側のapcspvプロセスとのハートビート処理を行って、RDBシステムの状態を監視します。

13

PG98305

[現象]

SQL文実行時に、処理対象の行がアプリケーションに返却されない場合があります。

[環境]

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

  • Oracle Solaris

  • Linux

  • Windows

[発生条件]

1)以下のいずれかに、JOIN_ORDER=(INSIDE)を指定またはCLI_JOIN_ORDER=(INSIDE)を指定、またはパラメタを指定しない。かつ、

  1-1)システム用動作環境ファイル。または、

  1-2)クライアント用動作環境ファイル。または、

  1-3)サーバ用動作環境ファイル。または、

  1-4)JDBCのctuneparamオプション。または、

1-5)ODBCデータソースのその他パラメタ。または、

  1-6)Symfoware .NET Data ProviderのConnectionStringプロパティのtuneparamキーワード。

2)ASSISTのLEADING_TABLEを指定しない。(注1)かつ、

3)問い合わせ指定のFROM句に結合表を指定する。かつ、

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

5)4)の結合条件は、“右表の列=左表の列”と指定する。かつ、

6)4)のON句に、5)の列(結合型がLEFTの場合は右表、RIGHTの場合は左表)に対して、以下のいずれかの制約条件を指定する。かつ、

  6-1)比較述語。または、

  6-2)BETWEEN述語。または、

  6-3)IS NULL。

7)WHERE句に、結合型がLEFTの場合は右表、RIGHTの場合は左表の列に対して、制約条件を指定しない。

注1:ASSIST指定は、Symfoware Server V9.2からサポートしています。

V9.2より前のVLでは指定できません。

例) SELECT T1.C1,T2.C1

FROM S1.T1 LEFT JOIN S1.T2

ON T2.C1=T1.C1

^^^^^^^^^^^

5)の条件(“右表の列=左表の列”)

AND T2.C1=1

^^^^^^^

6)の条件(5)の右表の列に対して、制約条件を指定)

14

PH00014

[現象]

[発生現象1]

INNER JOINを指定した結合表を入れ子で指定すると、qdg02842uを出力してSymfoware/RDBがダウンする場合があります。

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

[発生現象2]

INNER JOINを指定した結合表を入れ子で指定すると、探索条件に該当するレコードがアプリケーションに返却されない場合があります。

[環境]

以下のいずれかのOSの場合。

  • Oracle Solaris

  • Linux

  • Windows

[発生条件]

[発生条件1]

1)以下のいずれかを指定する。

  1-1)ASSIST指定のLEADING_TABLEを指定する。または、

  1-2)以下のいずれかのJOIN_ORDERパラメタ、CLI_JOIN_ORDERパラメタにAUTO、または、OUTSIDEを指定する。

    1-2-1)システム用の動作環境ファイル。または、

    1-2-2)クライアント用の動作環境ファイル。または、

    1-2-3)サーバ用の動作環境ファイル。または、

    1-2-4)JDBCのctuneparamオプション。または、

    1-2-5)ODBCデータソースのその他パラメタ。または、

    1-2-6)Symfoware .NET Data ProviderのConnectionStringプロパティのtuneparamキーワード。

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

3)2)にINNER JOINの結合表が含まれる。かつ、

4)3)の外側に3)が含まれる結合表を左表としてOUTER JOINで結合する。かつ、

5)4)の外側に4)が含まれる結合表を右表としてOUTER JOINで結合する。かつ、

6)以下のいずれかに該当する。

  6-1)WHERE句の探索条件に、5)の右表の列に対してIS NULL述語を指定する。または、

  6-2)4)、または、5)のON条件に左表の列のみ指定する条件が含まれる。

注) 左表、右表の条件は外部結合がLEFT JOINの場合を元に記載しています。

RIGHT JOINの場合は、左表を右表、右表を左表に読み替えてください。

例1)

SELECT /* ASSIST LEADING_TABLE(S1.T1) */ *

^^^^^^^^^^^^^^^^^^^^^^^^^^^

1)の条件

FROM S1.T1 LEFT JOIN

^^^^^^^^^^^^^^^

5)の条件

((S1.T2 INNER JOIN S1.T3 ON T2.C1=T3.C1)

^^^^^^^^^^^^^^^^^^^^^^

3)の条件

LEFT JOIN S1.T4 ON T3.C1=T4.C1) ON T1.C1=T2.C1

^^^^^^^^^^^^^^^

4)の条件

WHERE S1.T2.C1 IS NULL

^^^^^^^^^^^^^^^^^^^^^^

6-1)の条件

例2)

SELECT /* ASSIST LEADING_TABLE(S1.T1) */ *

^^^^^^^^^^^^^^^^^^^^^^^^^^^

1)の条件

FROM S1.T1 LEFT JOIN

^^^^^^^^^^^^^^^

5)の条件

((S1.T2 INNER JOIN S1.T3 ON T2.C1=T3.C1)

^^^^^^^^^^^^^^^^^^^^^^

3)の条件

LEFT JOIN S1.T4 ON T2.C1=T4.C1)

^^^^^^^^^^^^^^^

4)の条件

ON T1.C1=T2.C1 AND T1.C1=1

^^^^^^^

6-2)の条件

[発生条件2]

1)以下のいずれかを指定する。

  1-1)ASSIST指定のLEADING_TABLEを指定する。または、

  1-2)以下のいずれかのJOIN_ORDERパラメタ、CLI_JOIN_ORDERパラメタにAUTO、または、OUTSIDEを指定する。

    1-2-1)システム用の動作環境ファイル。または、

    1-2-2)クライアント用の動作環境ファイル。または、

    1-2-3)サーバ用の動作環境ファイル。または、

    1-2-4)JDBCのctuneparamオプション。または、

    1-2-5)ODBCデータソースのその他パラメタ。または、

    1-2-6)Symfoware .NET Data ProviderのConnectionStringプロパティのtuneparamキーワード。

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

3)2)にINNER JOINの結合表が含まれる。かつ、

4)3)の外側に3)が含まれる結合表を左表としてOUTER JOINで結合する。かつ、

5)4)の外側に4)が含まれる結合表を右表としてOUTER JOINで結合する。かつ、

6)WHERE句の探索条件に、5)の右表の列を指定しない。かつ、

7)4)または、5)のON条件に左表の列のみ指定する条件が含まれない。

注) 左表、右表の条件は外部結合がLEFT JOINの場合を元に記載しています。

RIGHT JOINの場合は、左表を右表、右表を左表に読み替えてください。

例)

SELECT /* ASSIST LEADING_TABLE(S1.T1) */ *

^^^^^^^^^^^^^^^^^^^^^^^^^^^

1)の条件

FROM S1.T1 LEFT JOIN

^^^^^^^^^^^^^^^

5)の条件

((S1.T2 INNER JOIN S1.T3 ON T2.C1=T3.C1)

^^^^^^^^^^^^^^^^^^^^^^

3)の条件

LEFT JOIN S1.T4 ON T3.C2=T4.C2)

^^^^^^^^^^^^^^^

4)の条件

ON T1.C1=T2

15

PH01604

[現象]

dxrebuildコマンドが32123(注)のエラーメッセージを出力して、異常終了する場合があり

ます。

注) 32123:DBミラーリングサービスが開始されているためノード組込みが実行できませ

ん 。

[環境]

動作環境が以下の場合に発生します。

<Symfoware Serverのデータベース二重化機能を使用する場合>

-Oracle Solarisの場合

1)以下のいずれかを使用。

  Symfoware Server Enterprise Extended Edition(以降、EEEと略す) V10.1.0~V11.1.0

  Symfoware Server Enterprise Edition(以降、EEと略す) V10.1.0~V11.1.0

  Symfoware Server Standard Edition(以降、SEと略す) V10.1.0~V12.0.0

-Linux64-EM64Tの場合

1)以下のいずれかを使用。

  EEE V10.1.0~V11.1.0

  EE V10.1.0~V11.1.0

  SE V10.1.0~V12.0.0A

-Linux32の場合

1)以下のいずれかを使用。

  EE V10.1.0~V11.1.0

  SE V10.1.0~V12.0.0A

-Windows64-EM64TまたはWindows32の場合

1)以下のいずれかを使用。

  EE V10.1.0~V11.1.0

  SE V10.1.0~V12.0.0

<Symfoware Server Mirroring Controller(以降、MCと略す)を使用する場合>

-Oracle Solarisの場合

1)以下のいずれかを使用。

  EEE V10.1.0~V11.1.0

  EE V10.1.0~V11.1.0

または

1)以下のいずれかを使用。かつ、

  EEE 9.1.0~9.2.0

  EE 9.1.0

2)MC 9.1.0を使用。

-Linux64-IPFの場合

1)以下のいずれかを使用。かつ、

  EEE 9.1.0~9.2.0

  EE 9.1.0

2)MC 9.1.0を使用。

-Linux64-EM64Tの場合

1)以下のいずれかを使用。

  EEE V10.1.0~V11.1.0

  EE V10.1.0~V11.1.0

または

1)以下のいずれかを使用。かつ、

  EEE 9.1.0

  EE 9.1.0

2)MC 9.1.0を使用。

-Linux32の場合

1)EE V10.1.0~V11.1.0を使用。

-Windows64-EM64TまたはWindows32の場合

1)EE V10.1.0~V11.1.0を使用。

[発生条件]

発生条件1~4のいずれかに合致した場合に本現象が発生します。

[発生条件1]

1)正系ノードのDBミラーリング動作環境ファイルのDB_TIMEOUTにタイムアウト

値,FAILOVER,0を指定する。かつ、

2)正系ノードでSymfoware/RDBの無応答状態が発生する。かつ、

3)正系ノードでdxrebuildコマンドを実行する。

[発生条件2]

1)正系ノードのDBミラーリング動作環境ファイルのDB_INH_OBSERVEにDB監視資源定義ファイルを指定する。かつ、

2)1)で指定したDB監視資源定義ファイルの定義種別、および正系ノードのデータベース資源の状態が以下のいずれかである。かつ、

  2-1)LOGGROUPMANAGE_STATUSにtroubleまたはtrouble(CMD)を指定する。かつ、

      ロググループ管理ファイルで入出力障害が発生して閉塞する。

  2-2)LOGMANAGE_STATUSにfailureまたはfailure(CMD)を指定する。かつ、

      ログ管理ファイルで入出力障害が発生して閉塞する。

  2-3)LOGMANAGE_TMPSTATUSにfailure、failure(CMD)またはunknownを指定する。かつ、

      テンポラリログファイルで入出力障害が発生して閉塞する。

  2-4)TMPLOGFILE_STATUSにtroubleまたはtrouble(CMD)を指定を指定する。かつ、

      テンポラリログファイルで入出力障害が発生して閉塞する。

  2-5)RDBDICTIONARY_CAUSEにHER、SOF、CRV、MRV、TIH、IND、CMD、FTRまたはXAIを指定する。かつ、

RDBディクショナリで入出力障害が発生して閉塞する。

2-6)DSI_INHTYPEにHER、SOF、DER、CRV、MRV、TIH、DIR、ALD、CMD、IIH、IND、

FTRまたはXAIを指定する。かつ、

DSIで入出力障害が発生して閉塞する。

2-7)RDBDIRECTORY_CONDITIONにabnormal/attachまたはabnormal/detachを指定する。

かつ、

RDBディレクトリファイルで入出力障害が発生して閉塞する。

注) 2-3)は、スケーラブルログ運用を行っている場合に指定します。

3)正系ノードでdxrebuildコマンドを実行する。

[発生条件3]

1)両ノードのDBミラーリング動作環境ファイルのGCM_FAILOVERにYESを指定する。

かつ、

2)両ノードのDBミラーリング動作環境ファイルのGCM_ADDRESSにGCMの配置先のIPアド

レスまたはホスト名を指定する。かつ、

3)ノード間通信の環境で以下のいずれかの異常事象が発生する。かつ、

  -相手ノードのスローダウン

  -通信環境の過負荷

  -LAN回線の切断

4)正系ノードでSymfoware/RDBの無応答状態が発生する。かつ、

5)正系ノードでdxrebuildコマンドを実行する。

[発生条件4]

1)副系ノードでdxswitchコマンド(オプションなし)を実行する。かつ、

2)正系ノードでdxrebuildコマンドを実行する。

注) 内部条件として、ノード切替えの延長で実施するSymfoware/RDBの強制停止がタイムアウトにより失敗した場合に発生します。

なお、Symfoware/RDBの強制停止がタイムアウトになることは、ほとんどありません。

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

No.

バージョン
レベル

P番号

現象

EE

SE

LE

1

V12.0.0

PG84225

[現象]

以下に示す環境・発生条件のとき、「JYP1002U サーバとの通信時間を超えました.」のメッセージが出力されず「JYP1100U メモリが足りません。」のエラーメッセージが出力される。

[環境]

以下の環境の場合

  • Windows

[発生条件]

1) 以下のいずれかのアプリケーションである。かつ、

  • 埋め込みSQLを利用したアプリケーションである。

  • Symfoware ODOSを利用したアプリケーションである。

  • JDBCドライバを利用したアプリケーションである。

2) 1)のアプリケーションから以下のいずれかの接続形態を使用して、コネクションを確立する。かつ、

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

  • V9.1以降のConnection Manager連携でSymfoware/RDBに接続する。

3)以下により設定されている通信時の待ち時間の設定時間を超過する。かつ、

  • 埋め込みSQLを利用したアプリケーションの場合。
    クライアント用の動作環境ファイルに設定しているWAIT_TIMEの値

  • Symfoware ODOSを利用したアプリケーションの場合。
    ODOSのオプションで設定しているCLI_WAIT_TIMEの値

  • JDBCドライバを利用したアプリケーションの場合。
    ctuneparamオプションに設定しているCLI_WAIT_TIMEの値

4) 1)のアプリケーションでメモリ不足は発生していない場合。

2

PG94806

[現象]

<現象1>

関数や数値式にNULLを返却するファンクションルーチンまたはXMLQUERY関数を指定した場合、誤った結果を出力する場合があります。

<現象2>

ファンクションルーチンにNULLを返却する関数や数値式を指定した場合、誤った結果を出力する場合があります。

[環境]

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

  • Linux

  • Oracle Solaris

  • Windows

[発生条件]

<発生条件1>

1)以下のいずれかを行っている。かつ、

  1-1)ファンクションルーチンを指定している。または、

  1-2) XMLQUERY関数を指定している。

2)1)の処理結果がNULLとなる。かつ、

3)1)を以下のいずれかに指定している場合。

  3-1)数値関数

  3-2)データ列値関数

  3-3)日時値関数

  3-4)ファンクションルーチン指定

  3-5)CAST指定

  3-6)数値式

  3-7)連結

<発生条件2>

1)以下のいずれかを行っている。かつ、

  1-1)数値関数

  1-2)データ列値関数

  1-3)日時値関数

  1-4)ファンクションルーチン指定

  1-5)CAST指定

  1-6)数値式

  1-7)連結

  1-8)XMLQUERY関数

2)1)の処理結果がNULLとなる。かつ、

3)1)をファンクションルーチンに指定している。かつ、

4)3)のファンクションルーチンが入力データがNULLの際に、結果データがNULL以外となる場合。