Question & Answer
Question
Db2 をバージョンアップして upgrade database コマンドを実行したり、新しいフィックスパックを適用して db2updvxx コマンドを実行すると、複数のデータベース・オブジェクトが無効化されたり、作動不能になります。
無効化されたオブジェクトにアクセスすると、データベース構成パラメーターや、アクセスする許可 ID によってはオブジェクトが自動的に再有効化されます。しかし、このときシステム・カタログ表が更新されるため、予期しないロック・タイムアウトやデッドロック (SQL0911N) またはログフル (SQL0964C) が発生することがあります。 また、オブジェクトが無効化されているため、再バインドを施行すると SQL2453N で失敗することがあります。 これはなぜでしょう。どうすれば回復できますか?
Cause
データベースをアップグレードすると、ユーザー・アプリケーションおよびルーチンに関するパッケージはすべて無効としてマークされます。
アップグレードしたデータベース中のパッケージの再バインド
アップグレードしたデータベース中のパッケージの再バインド
また、新しいバージョンや、新しいフィックスパックでは、システム・モニター用の表関数などが変更されることがあります。基礎となる表関数が変更されると、依存関係を持つシステム管理ビューが作動不能とマークされたり、依存関係を持つモジュールに含まれるパッケージが無効としてマークされます。
例
- フィックスパック適用後、db2updvxx コマンドを実行します。
$ db2updv105 -d sample
- 複数の管理ビューが作動不能になり、複数のパッケージが無効化されます。
$ db2 connect to sample $ db2 "select char(viewschema,10)schema, char(viewname,30)view, valid from syscat.views where viewschema like 'SYSIBMADM%' and valid = 'N'" SCHEMA VIEW VALID ---------- ------------------------------ ----- SYSIBMADM AUTHORIZATIONIDS N SYSIBMADM MON_LOCKWAITS N SYSIBMADM PRIVILEGES N SYSIBMADM TBSP_UTILIZATION N $ db2 "select char(pkgschema,15)schame, char(pkgname, 30)pkgname, valid from syscat.packages where pkgschema like 'SYS%' and valid = 'X'" SCHAME PKGNAME VALID --------------- ------------------------------ ----- SYSIBMADM P1011255957 X SYSIBMADM P1017589920 X SYSIBMADM P823918357 X SYSIBMADM P759004751 X SYSIBMADM P461683333 X
注:無効化されるビューやパッケージは移行前および移行後のバージョンとフィックスパックに依存します。
また上記の手順はすべての無効化オブジェクトを一覧することを目的にしていません。表を除く無効化オブジェクトの一覧は SYSCAT.INVALIDOBJECTS を参照してください。
Answer
バージョンアップ後やフィックスパック適用後に、複数のデータベース・オブジェクトが作動不能とマークされたり、無効とマークされる結果は予期されています。
以下のように ADMIN_REVALIDATE_DB_OBJECTS プロシージャーおよび db2rbind を利用して、これらのオブジェクトを有効化してください。
- データベースに DBADM 権限のユーザーで接続します。
$ db2 connect to <dbname>
- ADMIN_REVALIDATE_DB_OBJECTS を実行します。
$ db2 "CALL SYSPROC.ADMIN_REVALIDATE_DB_OBJECTS()"
- db2rbind でパッケージを再バインドします。
$ db2rbind <dbname> -l db2rbind.log all -r any
DT244336 Execution of static package fails with ‘cdeStaticSettings != __null’ AssertionFailedException
運用上の考慮点
- ADMIN_REVALIDATE_DB_OBJECTS 実行中に以下のようなエントリーが db2diag.log に記録されることがあります。
内部的に発生したデッドロックなどのためにリトライが行われたことを示しており、ADMIN_REVALIDATE_DB_OBJECTS が正常終了した場合は無視できます。2020-07-14-13.00.09.345568+540 I159750E1076 LEVEL: Severe PID : 23125 TID : 1973250987 PROC : db2sysc 0 INSTANCE: db2inst1 NODE : 000 DB : SAMPLE APPHDL : 0-14 APPID: *LOCAL.db2inst1.200714055728 UOWID : 1 ACTID: 1 AUTHID : DB2INST1 HOSTNAME: db2serv EDUID : 14 EDUNAME: db2agent (SAMPLE) 0 FUNCTION: DB2 UDB, base sys utilities, sqeIcoordCB::DispatchIndependentDBAgent, probe:125 RETCODE : ZRC=0x8005006D=-2147155859=SQLE_CA_BUILT "SQLCA has been built and saved in component specific control block." 202-07-14-13.00.15.357766+540 I405888E1106 LEVEL: Error PID : 23125 TID : 1973250987 PROC : db2sysc 0 INSTANCE: db2inst1 NODE : 000 DB : SAMPLE APPHDL : 0-14 APPID: *LOCAL.db2inst1.200714055728 UOWID : 1 ACTID: 1 AUTHID : DB2INST1 HOSTNAME: db2serv EDUID : 14 EDUNAME: db2agent (SAMPLE) 0 FUNCTION: DB2 UDB, SW- common services, sqlnn_regen_procedure, probe:300 MESSAGE : Revalidation icoord failed; retrying without
db2updv115 - バージョン 11.5 モディフィケーション・パックへのデータベース更新コマンド
db2updv111 - バージョン 11.1 フィックスパックへのデータベース更新コマンド
db2updv105 - バージョン 10.5 フィックスパックへのデータベース更新コマンド
UPGRADE DATABASE コマンド
[Db2] パスポート・アドバンテージによく寄せられる質問
お問合せ先
技術的な内容に関して、パスポート・アドバンテージの契約のもと Db2 テクニカル・サポートへお問い合わせください。
Db2 テクニカル・サポート
db2updv111 - バージョン 11.1 フィックスパックへのデータベース更新コマンド
db2updv105 - バージョン 10.5 フィックスパックへのデータベース更新コマンド
UPGRADE DATABASE コマンド
[Db2] パスポート・アドバンテージによく寄せられる質問
お問合せ先
技術的な内容に関して、パスポート・アドバンテージの契約のもと Db2 テクニカル・サポートへお問い合わせください。
Db2 テクニカル・サポート
[{"Type":"MASTER","Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"ARM Category":[{"code":"a8m500000008PknAAE","label":"Install\/Migrate\/Upgrade"},{"code":"a8m500000008Pm7AAE","label":"Install\/Migrate\/Upgrade-\u003EFixpak"},{"code":"a8m500000008PmRAAU","label":"Programming Interface-\u003EBind and Packages"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]
Was this topic helpful?
Document Information
Modified date:
07 November 2023
UID
swg22010188