728x90

Problem(Abstract)

I receive the below error when applying the DB2 Enterprise Server Edition license on a 32-bit Linux system:

LIC1449N The license was not installed due to a platform restriction. 

Explanation: 
This DB2 product is only supported in trial mode, also known as "Try and Buy" mode, on this platform. 

User response: 
Continue to use this product in trial mode, or install one which is fully supported on this platform. 

Cause

DB2 Enterprise Server Edition v9.5 and higher is only supported in Test and Development mode on 32-bit Linux systems.

Resolving the problem

A DB2 Enterprise Server Edition permanent license may only be applied on a 64-bit Linux system.

Here are your options: 

  • Upgrade the OS to 64-bit Linux and then install Enterprise Server Edition and license.
  • Purchase another DB2 edition such as DB2 Workgroup Server Edition or DB2 Express Edition. You will need to also obtain and apply the corresponding permanent license.
  • Purchase DB2 Developer's Edition for 32-bit Linux. The Developer's Edition license certificate (db2dede.lic) can be applied on top of a Enterprise Server Edition install without any problems.


http://www-01.ibm.com/support/docview.wss?uid=swg21421213

728x90
728x90

Question

Installing TWS the following error is encountered, SQL1005N The database alias "TWS" already exists in either the local database directory or system database directory.

Cause

This is caused when a previous installation of TWS was made and it created the default database, TWS.

Answer

If you are attempting a reinstallation using the same database name then you should perform the following :-

1. db2 catalog database tws 
2. db2 drop database tws


http://www-01.ibm.com/support/docview.wss?uid=swg21385543

728x90
728x90


Question

This article will explain why a DB2 FORCE APPLICATION command may not work even though you get a successful return code from the execution of the command.

Cause

There is a delay being experienced when executing this command.

Answer

A DB2 FORCE APPLICATION command is an interrupt request.

When an agent executes a force, it will set a force flag for the application that it will force and depending on what the coordinator agent is doing, it will react accordingly by either waiting or sending him an interrupt.

In some cases, we will be in a wait mode. This is due to a encountering a higher priority.

When an interrupt is provided, each interrupt has priorities. The general rule of thumb DB2 will only interrupt the target if the target is working on a lower priority.

For example: If an application is in the middle of a rollback and if the user executes a DB2 FORCE APPLICATION command to force it, the database can go into a inconsistent state and therefore, we do not want that to happen. So DB2 will not interrupt the rollback. This control is implemented by the interrupt priority

In this example, just prior to the rollback, the priority will be increased so a lower priority agent in this case the force application will not interrupt him. Also, the force operation is an asynchronous operation. So if the application is in rollback processing, the agent doing the force will only mark the force flag of the application, but will not interrupt the application immediately. After the coordinator agent finishes the rollback, DB2 restores to the lower interrupt level (likely back to 0), and on various places in the code path, the agent checks for interrupt or force, so at this time, DB2 will notice the force and then react to it.

In conclusion, the delay is due to DB2 evaluating priorities prior to executing.


http://www-01.ibm.com/support/docview.wss?uid=swg21108336

728x90
728x90


Problem(Abstract)

FORCE APPLICATION will not force sub-agents that are handling external routine requests even though tried to force them using FORCE APPLICATION command.

FORCE APPLICATION command will return successful but applications which are hang will still remain in the system.

Symptom

procstack output may show something like below:


    0x0900000000251e80 semop(??, ??, ??) + 0xc0 
    0x090000001535c9d4 semop@glue11(??, ??, ??) + 0x78 
    0x090000001535c85c sqloSSemP__fdpr_3(??, ??, ??, ??) + 0x24 
    0x09000000152981b0 sqlccipcrecv(SQLCC_COMHANDLE_T*,SQLCC_COND_T*)(??, ??) + 0xd8 
    0x0900000014f579e0 sqlccrecv__fdpr_1(0x700000040000370, 
    0x780000007078780, 0xf0000000f000, 0x1, 0x9000000188bcc38, 
    0x8d0000000000008d, 0x0, 0x0) + 0x370 
    0x0900000015a931b4sqljsDrdaAsNonCoordSPDrive(db2UCconHandle*,sqlerFmpCommInfo*)(??,
    ??) + 0x1b0

Cause

Some sub-agents still remain in database. These can't be forced. This is a current designed behavior of DB2 V9.5 and DB2 V9.7.


Note : DB2 V10.1 has design enhancements which will allow to force such sub-agents using the command.


Resolving the problem

Either of the following can be used to force the hanging application.


1) Recycle the instance. i.e Issue db2stop and db2start. Incase, recycling the instance is not possible then,

2) Terminate the active FMP processes which will wake up sub-agents.

For Example : Issue db2pd -fmp to find the active FMP processes. You can see output as shown below:

db2pd -fmp shows:

    Database Partition 203 -- Active -- Up 3 days 23:55:01 -- Date 2012-09-27-11.34.33.831054

    FMP:
    Pool Size: 0
    Max Pool Size: 200
    Keep FMP: YES
    Initialized: YES
    Trusted Path: /db2home/db2inst1/sqllib/function/unfenced
    Fenced User: bifenc
    Shared Memory: 0x0780000000290420
    IPC Pool: 0x0780000000290480

    FMP Process:
      Address FmpPid Bit Flags ActiveThrd PooledThrd ForcedThrd Active IPCList
    0x07800000077BD000 38732016 64 0x00000002 2 1 0 Yes 0x0780000006FD1600
      Active Threads:
        Address FmpPid EduPid ThreadId
      0x0780000006D3FDC0 38732016 13369 1029
      0x0780000006FD0A80 38732016 20027 1286

      Pooled Threads:
        Address FmpPid ThreadId
      0x07800000077BDA80 38732016 772

      Forced Threads:
      Address FmpPid ThreadId
      No forced threads.

The active FMP threads should each have an associated edu. In the above example they are 13369 and 20027. Make sure these two edu's are indeed hanging. If yes, then FMP id to be terminated would be 38732016

db2pd -apinfo 옵션등을 통해 해당 어플리케이션의 EduPid를 추적, 이후에 db2fmpterm 명령으로 FMP 종료

Once you find the FMP id to be terminated, issue "db2fmpterm <fmp_id>" command to terminate the active FMP.

For Example : db2fmpterm 38732016

This way you can avoid recycling your instance to kill such hang applications


http://www-01.ibm.com/support/docview.wss?uid=swg21612984

728x90
728x90


Problem(Abstract)

On Windows server db2icrt fails with the following error after a computer name change

DBI1959N  The instance directory cannot be created. 

The error suggests the user does not have the write access to create the instance directory
even though the user has all the permissions,

Cause

When computer name is changed the global registry entries for groups DB2ADMNS and DB2USERS remain unchanged and are not updated, (호스트 이름이 변경되었거나 영문이 아닌 경우에도 발생할 수 있다)

Diagnosing the problem

The only way to diagnose this issue is to take a DB2 trace.

The trace will show that the we fail to get the SID for group <old computer name>\DB2USERS


Resolving the problem

Update the global registry entries with the new name for groups DB2ADMNS and DB2USERS

db2extsec -a <new computer name>\DB2ADMNS -u <new computer name>\DB2USERS

This is a mandatory requirement after a computer name change



http://www-01.ibm.com/support/docview.wss?uid=swg21597650

728x90
728x90

DB2 데이터베이스에서 데이터를 로드할 때는 아카이브 로깅 모드 설정 여부를 확인해야 합니다.


아카이브 로깅 모드로 설정되어 있을때 Load를 수행하면 해당 테이블이 존재하는 테이블스페이스는 'Backup Pending' 상태로 바뀝니다.

이유는 Load 유틸리티가 기본 설정인 COPY NO 옵션으로 수행되기 때문입니다. 테이블스페이스가 Backup Pending 상태로 바뀌면 해당 테이블스페이스의 오브젝트, 테이블, 인덱스등에 대한 변경작업(INSERT, DELETE, UPDATE, ALTER등)들을 수행할 수 없게 됩니다.


이런 상황을 방지하려면 Load 수행시 COPY YES 또는 NONRECOVERABLE 옵션을 사용합니다.

예1) db2 "load from test.del of del insert into test COPY YES TO /home/db2inst1"

예2) db2 "load from test.del of del insert into test NONRECOVERABLE"


일반적으로 운영 데이터베이스는 아카이브 로깅 모드를 사용하므로 COPY YES 옵션을 레지스트리 변수에 설정하여 로드를 수행할 때마다 적용되도록 할 수도 있습니다. 일반적으로 COPY YES 옵션으로 인해 생성된 파일은 HADR 환경에서 롤포워딩 하는 경우에 사용하므로 테이블스페이스를 특정시점으로 복구할 일이 없거나 대량데이터 로드하는 경우가 아니라면 LOAD할 때는 보통 NONRECOVERABLE을 명시하여 수행하는 것이 맞다고 봅니다.

예) db2set DB2_LOAD_COPY_NO_OVERRIDE="COPY YES to home/db2inst1"



Load Overview -

http://pic.dhe.ibm.com/infocenter/db2luw/v9r7/index.jsp?topic=%2Fcom.ibm.db2.luw.admin.dm.doc%2Fdoc%2Fc0004587.html


Load command -

http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.admin.cmd.doc/doc/r0008305.html


DB2_LOAD_COPY_NO_OVERRIDE and controlling non-recoverable load operations -

http://www-01.ibm.com/support/docview.wss?uid=swg21225841


DB2 FAQ - Frequently Asked Questions about DB2 for Linx, UNIX and Windows

http://www-01.ibm.com/support/docview.wss?uid=swg21298716

728x90
728x90


Q: 在DPF環境下,一台Server建立兩個 logical partition,當調整Server系統時間時,會發生SQL0903N COMMIT statement failed, transaction rolled back. Reason code: 2".SQLSTATE=40504 的錯誤訊息

A:
當系統時間往未來調整時,DB2會自動更新寫入log extent的時間為調整後的時間,但當系統時間往過去調整時,若時間差距超過 max_time_diff 的設定值 (預設60 min),就會發生該錯誤訊息,因為DB2在 log extent裡會紀錄當時時間,並不會往過去調整。
解決方式有二
其一是等待系統時間繼續走,當超過修改之前的時間後,DB2就自動同步時間了
其二是修改 max_time_diff 讓該值大於修改過的時間差。


시간을 현재보다 미래로 변경할 때는 문제가 없으나 과거 시점으로 변경할때는 MAX_TIME_DIFF 매개변수 값을 초과하지 않는 한에서 변경해야 한다는 내용.



http://www.ibm.com/developerworks/data/library/techarticle/dm-0405wilkins/

http://pic.dhe.ibm.com/infocenter/db2luw/v9r7/index.jsp?topic=%2Fcom.ibm.db2.luw.admin.ha.doc%2Fdoc%2Fc0006344.html

http://morganjenny.blogspot.kr/2008/11/dpfserver-logical-partitionserversql090.html


728x90
728x90

Question

Is console based installation method supported by InfoSphere Federation Server?

Answer

Console based installation is not supported by Infosphere Federation Server installer.

The installer supports silent install and GUI mode.

GUI mode requires xWINDOWS. 
GUI command execution:
./iisetup

The silent install mode requires a response file. A sample response file is found in following directory and can be modified to reflect customer environment: 
<Installer Media root>/samples 
Silent installer command execution:
./iisetup -options responsefile.rsp -silent


http://www-01.ibm.com/support/docview.wss?uid=swg21372779

728x90
728x90

問題(概要)

DB2 が異常終了した場合の回復方法と、原因の調査に必要な資料の取得方法について記述します。

症状

ハードウェア障害や DB2 自身の障害などにより DB2 のインスタンスが異常終了し、トランザクションが続行できなくなることがあります。
インスタンスが異常終了すると、UNIX/Linux 環境の場合は db2sysc をはじめとする各 DB2 エンジン・プロセス、Windows 環境の場合は db2syscs.exe プロセスが終了します。

例えば、トランザクションがコミットされる前にこのような障害が発生すると、データベース内のデータが矛盾した、または使用不能な状態のままになっている可能性があります。このままではトランザクションの継続ができないため、クラッシュ・リカバリーによってデータベースを整合性があり使用可能な状態に戻す必要があります。

原因

インスタンスが異常終了する主な原因は以下のようなケースが考えられます。

解決方法

データベースを矛盾したまたは使用不能な状態から回復するために以下の手順を実施してください。


Unix/Linux 環境ではインスタンス・オーナーとしてログインして実行してください。
Windows 環境では Administrator としてログオンし、 DB2 コマンド・ウィンドウから実行してください。

  1. インスタンスを再起動します。

    db2start
  2. 障害発生時に未完了になっている作業単位があった場合には、データベースを整合性があり使用可能な状態に戻すためにクラッシュ・リカバリーが必要になります。
    自動再始動 (AUTORESTART) データベース構成パラメーターの値によって対応方法が異なるため、下記コマンドで設定を確認します。

    db2 get db cfg for <dbname>

    自動再始動有効         (AUTORESTART) = on

  3. 上記パラメーターの値により、データベースの異常終了後、アプリケーションがデータベースに接続するときにデータベース・マネージャーが自動的にデータベース再始動ユーティリティーを呼び出すかどうかが決まります。
    1. ON (デフォルト値) に設定している場合:
      データベース・マネージャーによって自動的にクラッシュ・リカバリーが実行されます。
    2. OFFに設定している場合:
      自動再始動は動作しません。クラッシュ・リカバリーが実行される必要がある (再始動される必要がある) データベースに接続を試みたアプリケーションは、SQL1015N エラーを受け取ることになります。この場合は、そのアプリケーションで RESTART DATABASE コマンドを発行し、データベースを再始動する必要があります。

      db2 restart database <dbname>
  4. クラッシュ・リカバリーが正常に完了すると db2diag.log に以下のような ADM1531E メッセージが記録されます。
    MESSAGE : ADM1531E Crash recovery has completed successfully.


なお、回復時に以下の事象が発生する可能性があります。

a) 異常終了後、db2start を実行したが、インスタンスを起動できない
b) クラッシュ・リカバリーが終わらない

a) 異常終了後、db2start を実行したが、インスタンスを起動できない
インスタンスの異常終了後、不正な IPC リソースが残っていることで、SQL1042C や SQL1072C が発生し、インスタンスの起動に失敗する場合があります。

対応方法
インスタンスの起動に失敗した場合には、以下手順にてインスタンスを強制終了後、IPC リソースを削除し、インスタンスを再起動してください。

[AIX]
  1. インスタンスを強制終了します。
    1. Enterprise Server Edition の場合、以下のコマンドでインスタンスを強制終了します。
      db2_kill
    2. Enterprise Server Edition 以外の場合 (db2_kill コマンドが存在しない場合)、以下のコマンドでインスタンスを強制終了します。
      db2nkill 0
  2. 不正な IPC リソースを解放します。
    1. IPC リソースを解放します。
      ipclean
    2. IPC リソースが残っているか確認します。
      ipcs -a | grep <インスタンス・オーナー名>
    3. IPC リソースが残っている場合には、以下コマンドで除去してください。
      ipcrm -q <msgid> (メッセージキューの場合。ipcs で先頭がqのもの) 
      ipcrm -m <shmid> 
      (共有メモリーの場合。ipcs で先頭がmのもの)
      ipcrm -s <semid> 
      (セマフォーの場合。ipcs で先頭がsのもの)

      ※ ipcs の出力結果を確認し、ipcrm コマンドではそれぞれメッセージキュー、共有メモリー、セマフォーの ID を指定してください。
  3. インスタンスを起動します。
    db2start

[Linux]
  1. インスタンスを強制終了します。
    1. Enterprise Server Edition の場合、以下のコマンドでインスタンスを強制終了します。
      db2_kill
    2. Enterprise Server Edition 以外の場合 (db2_kill コマンドが存在しない場合)、以下のコマンドでインスタンスを強制終了します。
      db2nkill 0
  2. 不正な IPC リソースを解放します。
    1. IPC リソースを解放します。
      ipclean
    2. IPC リソースが残っているか確認します。
      ipcs -q | grep <インスタンス・オーナー名>
      ipcs -m | grep 
      <インスタンス・オーナー名>
      ipcs -s | grep 
      <インスタンス・オーナー名>
    3. IPC リソースが残っている場合には、以下コマンドで除去してください。
      ipcrm -q <msgid> (メッセージキューの場合) 
      ipcrm -m <shmid> 
      (共有メモリーの場合)
      ipcrm -s <semid> 
      (セマフォーの場合)

      ※ ipcs の出力結果を確認し、ipcrm コマンドではそれぞれメッセージキュー、共有メモリー、セマフォーの ID を指定してください。
  3. インスタンスを起動します。
    db2start

[Windows]
  1. db2syscs.exe およびその子プロセスを強制終了します。
    1. 単一の DB2 製品と DB2 インスタンスのみの環境
      taskkill /f /im db2syscs.exe /t
    2. 複数インスタンスの環境
      1. DB2 インスタンスの PID を確認します。
        tasklist /svc /fi "imagename eq db2syscs.exe"
      2. DB2 インスタンスを終了します。
        taskkill /f /pid <DB2 インスタンスの PID> /t


        ※ /t オプションを指定しないとシステムを再起動までインスタンスを起動できないことがあります。
  2. インスタンスを起動します。
    db2start

b) クラッシュ・リカバリーが終わらない
更新処理をしていた場合に異常終了となった場合には、次回起動後にデータベースの再始動の際にクラッシュ・リカバリーが行われ、未コミット・トランザクションのロールバックなどが行われます。

対応方法
クラッシュ・リカバリーは異常終了後のデータベースを正常な状態に戻すために必要な処理です。途中で停止することはできず、クラッシュ・リカバリーが完了するのを待つ必要があります。
進行状況は、以下のコマンドで確認できます。
    db2 list utilities show detail


上記手順で復旧できない場合や、原因の調査が必要な場合は、IBM テクニカル・サポートへ連絡し、下記資料をご送付ください。

取得すべき資料
  1. 再現シナリオや、問題発生時の処理内容が分かっている場合には下記の情報をご送付ください。
  2. db2support (db2diag.log ファイル、 db2level や データベース構成情報、 トラップ・ファイル等が含まれます)

以下のURL内の手順をご参照の上、ご取得ください。

【db2support 取得手順 for UNIX(UNIX/Linux)】
http://www.ibm.com/jp/services/its/support/svcdoc/db2/db2support_u.html

【db2support 取得手順 for Windows】
http://www.ibm.com/jp/services/its/support/svcdoc/db2/db2support_w.html

db2support がすぐに取得できない場合は以下の資料をご取得ください。

http://www-01.ibm.com/support/docview.wss?uid=swg21503288

728x90
728x90


Question

What do these messages from the db2fmp process mean?

Cause


This technote provides some FAQs regarding messages in the db2diag.log in regards to db2fmp processes used to run non-SQL routines such as Java and C.

Scenario #1: Threads in db2fmp process, SQL1042

When the DB2 registry variable DB2_MAX_THREADS_PER_FMP is set you may see the messages below which can be safely ignored. This registry variable was introduced as an enhancement to DB2 via IZ08425. 

In some cases the SQL1042 is a legitimate error so its important to note that in this scenario "Max number of thread in fmp reached; no thread created" is the cause of the SQL1042. The SQL1042 can be safely ignored.

Please note that the SQL1042 is transparent to the application, so no errors will be returned to the application. DB2 automatically starts a new db2fmp process to service the existing or subsequent requests.

2011-01-10-11.31.12.480063-300 I34781A381 LEVEL: Warning 
PID : 1200 TID : 1 PROC : db2fmp (Java) 0
INSTANCE: db2inst1 NODE : 000 
EDUID : 1 EDUNAME: db2fmp (Java) 0 
FUNCTION: DB2 UDB, routine_infrastructure, sqlerMasterThreadListener, 
probe:200 
MESSAGE : Max number of thread in fmp reached; no thread created

2011-01-10-12.10.13.923352-300 I74680A573 LEVEL: Warning 
PID : 1234 TID : 100 PROC : db2sysc 
INSTANCE: db2inst1 NODE : 000 DB : SAMPLE 
APPHDL : 0-33648 APPID: 192.168.1.1.50234.11022217100
AUTHID : DB2INST1 
EDUID : 608 EDUNAME: db2agent (SAMPLE) 0 
FUNCTION: DB2 UDB, routine_infrastructure, sqlerMasterThreadReq, 
probe:89 
MESSAGE : FMP reported it could not create a new thread 
DATA #1 : Hexdump, 4 bytes 
0x000000020210F180 : 0000 0C05 ....

2011-01-10-10.02.25.454418-300 I2221A448          LEVEL: Severe
PID     : 1234                 TID  : 100         PROC : db2sysc 0
INSTANCE: db2inst1             NODE : 000         DB   : SAMPLE
APPHDL  : 0-51434              APPID: 10.111.41.13.56427.110218150224
AUTHID  : DB2INST1
EDUID   : 260                  EDUNAME: db2agent (SAMPLE) 0
FUNCTION: DB2 UDB, routine_infrastructure, sqlerGetFmpThread, probe:20
RETCODE : ZRC=0xFFFFFBEE=-1042


Scenario #2: Operating system resource issue, SQL1042

The messages are very similar to Scenario #1 so how do we determine if the SQL1042 is legitimate? Work backwards and look for preceding messages originating from the same PID and TID. 

In the case below we see the source of the error is originating from the operating system (OSERR) and the operating system API which returned the error (pthread_create). pthread_create() is an AIX API indicating that the operating system was unable to create a new thread in the db2fmp process. The root cause is likely an operating system limitation or resource issue when trying to create an additional thread due to the EAGAIN return code.


2011-01-01-13.01.03.345767-240 E287334A401 LEVEL: Severe (OS) 
PID : 2609242 TID : 1 PROC : db2fmp (Java) 0
INSTANCE: db2inst1 NODE : 000 
EDUID : 1 EDUNAME: db2fmp (Java) 0 
FUNCTION: DB2 UDB, oper system services, sqloCreateAppThread, probe:100 
CALLED : OS, -, pthread_create 
OSERR : EAGAIN (11) "Resource temporarily unavailable" 

2011-01-01-13.01.03.426469-240 I287736A455 LEVEL: Severe 
PID : 2609242 TID : 1 PROC : db2fmp (Java) 0
INSTANCE: db2inst1 NODE : 000 
EDUID : 1 EDUNAME: db2fmp (Java) 0 
FUNCTION: DB2 UDB, trace services, sqlt_logerr_data (secondary logging 
func, probe:0 
MESSAGE : Failed to create app thread: 
DATA #1 : Hexdump, 4 bytes 
0x0FFFFFFFFFFFEF60 : 0000 000B ... 

2011-01-01-13.01.03.426684-240 I288192A343 LEVEL: Severe 
PID : 2609242 TID : 1 PROC : db2fmp (Java) 0
INSTANCE: db2inst1 NODE : 000 
EDUID : 1 EDUNAME: db2fmp (Java) 0 
FUNCTION: DB2 UDB, routine_infrastructure, sqlerCreateWorkerThread, 
probe:20 
RETCODE : ZRC=0xFFFFFBEE=-1042 


Scenario #3: SQL1042N returned on AIX platforms using Power7 processors

There is an incompatibility between the IBM JDK bundled with DB2 v9.7 and Power7. For details refer to the link db2setup or db2fmp (Java) abnormally terminated on Power7

Scenario #4: SQL1042N returned due to permission issue 

Ensure the DB2 instance home directory has the permission below, otherwise the db2fmp may not be able to access files located in ~/sqllib/function

/home $ ls -la 
drwxr-xr-x 14 db2inst1 db2admg 4096 Aug 04 10:51 db2inst1/

Check the stored procedure binaries in ~/sqllib/function to ensure they are world readable because the fenced userid is usually not the instance owner.

/home/db2inst1/sqllib/function:
-rw-r--r-- 1 db2fenc fencgrp 875 Jul 29 14:24 DUMMY_JAVASP.class 


Check the permission of ~/sqllib/adm/db2fmp and ~/sqllib/adm/db2fmp32 to ensure the "other" group has privileges to execute these two files.

chmod o+r db2fmp
chmod o+r db2fmp32

After the change you should see:

-r-xr-xr-x 1 db2inst1 db2admg 59384 Jan 1 17:09 db2fmp
-r-xr-xr-x 1 db2inst1 db2admg 74743 Jan 1 17:09 db2fmp32



Scenario #5: Executing long running query 

A remote DB2 client has abnormally terminated when executing a long running query which includes a call to a routine. These messages are informational in nature and can be ignored. However the application should contain some exception handling logic to handle any abnormal terminations. Under the covers DB2 will clean up any non-SQL routines being executed on behalf of the connection. one of the side effects is that the db2diag.log may contain a 0xFFFFFB38 ( SQL1224) 

In the example below the message originating from the db2fmp process about "The database manager is not able to accept new requests..." is misleading. The message is originating from the JDBC (db2jcc.jar) used internally by the DB2 server to execute a Java routine and can be ignored. There is nothing wrong with the DB2 database server.

2011-01-12-12.08.33.158935-300 I6813000A541       LEVEL: Error
PID     : 9644                 TID  : 172         PROC : db2sysc 0
INSTANCE: db2inst1             NODE : 000         DB   : SAMPLE
APPHDL  : 0-20965              APPID: 192.168.1.1.33819.110220052256
AUTHID  : DB2INST1
EDUID   : 172                  EDUNAME: db2agent (SAMPLE) 0
FUNCTION: DB2 UDB, common communication, sqlcctcptest, probe:11
MESSAGE : Detected client termination
DATA #1 : Hexdump, 2 bytes
0xFFFFFFFF4B7F3376 : 0036                                       .6 

2011-01-12-12.08.33.170419-300 I6813542A523       LEVEL: Error
PID     : 9644                 TID  : 172         PROC : db2sysc 0
INSTANCE: db2inst1             NODE : 000         DB   : SAMPLE
APPHDL  : 0-20965              APPID: 192.168.1.1.33819.110220052256
AUTHID  : DB2INST1
EDUID   : 172                  EDUNAME: db2agent (SAMPLE) 0
FUNCTION: DB2 UDB, common communication, sqlcctest, probe:50
MESSAGE : sqlcctest RC
DATA #1 : Hexdump, 2 bytes
0xFFFFFFFF4B7F346E : 0036  

2011-01-01-12.08.33.170664-300 I6814066A503       LEVEL: Error
PID     : 9644                 TID  : 172         PROC : db2sysc 0
INSTANCE: db2inst11             NODE : 000         DB   : SAMPLE
APPHDL  : 0-20965              APPID: 192.168.1.1.33819.110220052256
AUTHID  : DB2INST1
EDUID   : 172                  EDUNAME: db2agent (SAMPLE) 0
FUNCTION: DB2 UDB, base sys utilities, sqeAgent::AgentBreathingPoint, probe:10
CALLED  : DB2 UDB, common communication, sqlcctest
RETCODE : ZRC=0x00000036=54 

2011-01-01-12.08.33.173237-300 I6814570A507       LEVEL: Error
PID     : 9644                 TID  : 172         PROC : db2sysc 0
INSTANCE: db2inst11             NODE : 000         DB   : SAMPLE
APPHDL  : 0-20965              APPID: 192.168.1.1.33819.110220052256
AUTHID  : DB2INST1
EDUID   : 172                  EDUNAME: db2agent (SAMPLE) 0
FUNCTION: DB2 UDB, routine_infrastructure, sqlerInvokeFencedRoutine, probe:40
DATA #1 : Hex integer, 4 bytes
0x804B006D
DATA #2 : Hex integer, 4 bytes
0xFFFFFB38  /* SQL1224 */
 

2011-01-01-12.08.33.173599-300 E6815078A3474      LEVEL: Severe
PID     : 9644                 TID  : 172         PROC : db2sysc 0
INSTANCE: db2inst1             NODE : 000         DB   : SAMPLE
APPHDL  : 0-20965              APPID: 192.168.1.1.33819.110220052256
AUTHID  : DB2INST1
EDUID   : 172                  EDUNAME: db2agent (SAMPLE) 0
FUNCTION: DB2 UDB, routine_infrastructure, sqlerReturnFmpToPool, probe:900
DATA #1 : String, 50 bytes
Marking fmp as unstable, fmp is forced or aborted:

DATA #2 : Boolean, 1 bytes
true
DATA #3 : String, 20 bytes
Fmp entry use count:
DATA #4 : unsigned integer, 4 bytes
1
DATA #5 : String, 8 bytes
Fmp TID:

DATA #6 : Hexdump, 4 bytes
0x000000020079F650 : 0000 0037  /* 0x37 = 55 */
DATA #7 : String, 8 bytes
Fmp row:
DATA #8 : sqlerFmpRow, PD_SQLER_TYPE_FMP_ROW, 496 bytes
 fmpPid: 15781 

When executing Java routines one additional side effect is that the message below will appear in the db2diag.log. This message is misleading because there is nothing wrong with the database manager on the DB2 server. The message originates from the JDBC driver which is local to the DB2 server used to execute Java routines. This message can be safely ignored.

2011-01-01-12.08.33.213727-300 I6840110A1387      LEVEL: Warning
PID     : 15781
                TID  : 55          PROC : db2fmp (Java) 0
INSTANCE: db2inst1             NODE : 000
EDUID   : 55                   EDUNAME: db2fmp (Java) 0
FUNCTION: DB2 UDB, BSU Java support, sqlejLogException, probe:10
DATA #1 : String, 962 bytes
com.ibm.db2.jcc.am.DisconnectNonTransientException: [jcc][2055][11259][3.61.86] The database manager is not able to accept new requests, has terminated all requests in progress, 
or has terminated this particular request due to unexpected error conditions detected at the target system. 
ERRORCODE=-4499, SQLSTATE=58009
    at com.ibm.db2.jcc.am.ed.a(ed.java:321)
    at com.ibm.db2.jcc.t4.ab.T(ab.java:1264) 
...


Scenario #6: SQL1131 or SQL4302

This indicates the non-SQL routine was abnormally terminated. This is usually not a serious error as long as the application is coded to handle these exceptions and the messages do not appear frequently e.g. once a month.

2011-02-02-15.01.23.476662-240 I299008A471 LEVEL: Warning 
PID : 8245982 TID : 1280 PROC : db2fmp (Java) 0
INSTANCE: db2inst1 NODE : 000 
EDUID : 12080 EDUNAME: db2fmp (Java) 0 
FUNCTION: DB2 UDB, trace services, sqlt_logerr_data (secondary logging 
func, probe:0 
MESSAGE : Thread of db2fmp terminated with nonzero rc 
DATA #1 : Hexdump, 4 bytes 
0x000000011E7685EC : FFFF FB95 /* SQL1131 */ ...

2011-02-02-15.01.23.883044-240 I299480A453 LEVEL: Severe 
PID : 8245982 TID : 1280 PROC : db2sysc 0 
INSTANCE: db2inst1 NODE : 000 DB : SAMPLE 
APPHDL : 0-40776 APPID: 192.168.1.10.47637.100712165705 
AUTHID : DB2INST1 
EDUID : 17812 EDUNAME: db2agent (CLNPIS) 0 
FUNCTION: DB2 UDB, routine_infrastructure, sqlerDisassociateWithFmp, 
probe:30 
RETCODE : ZRC=0xFFFFFB95=-1131 


Scenario #7: Marking fmp as unstable

This message is returned when DB2 decides to shut down a db2fmp process and can be part of normal DB2 operations. DB2 automatically picks a new db2fmp or creates a new db2fmp process to execute any subsequent calls to stored procedures or UDFS.

To determine whether this message is more than informational please check for additional db2diag.log entries around the same timestamp which return a ZRC return code, 0xFFFFxxxx return code or an error from the operating system (OSERR). Please use the db2diag tool to decode these return codes. 

This message may also be returned when:


2011-01-10-12.01.55.448367+000 E288536A3366 LEVEL: Severe 
PID : 582 TID : 9823 PROC : db2sysc 0 
INSTANCE: db2inst1 NODE : 000 DB : SAMPLE 
APPHDL : 0-40834 APPID: 10.69.63.248.47961.100712170155 
AUTHID : DB2INST1 
EDUID : 18069 EDUNAME: db2agent (SAMPLE) 0 
FUNCTION: DB2 UDB, routine_infrastructure, sqlerMasterThreadReq, 
probe:901 
DATA #1 : String, 50 bytes 
marking fmp as unstable: 
DATA #2 : String, 8 bytes 
Fmp TID: 
DATA #3 : Hexdump, 4 bytes 
0x078000000113B770 : 0000 0000 .... 
DATA #4 : String, 8 bytes 
Fmp Row: 
DATA #5 : sqlerFmpRow, PD_SQLER_TYPE_FMP_ROW, 504 bytes 
fmpPid: 2609242 
fmpPoolList Ptr: 0x0000000000000000 fmpForcedList Ptr: 
0x0000000000000000 
nextFmpCB Ptr: 0x0780000000ed6980 prevFmpCB Ptr: 0x078000000100ea20 
fmpIPCList Ptr: 0x0780000001138960 
stateFlags: 0x00000013 numFmp32Attaches: 0 
numActiveThreads: 41 numPoolThreads: 0 
fmpCodePage: 1252 fmpRowUseCount: 42 
...
...

2011-01-10-12.01.56.172884+000 I2049780A492 LEVEL: Warning 
PID : 7131362 TID : 1 PROC : db2agent (SAMPLE) 0 
INSTANCE: db2inst1 NODE : 000 DB : SAMPLE 
APPHDL : 0-1333 APPID: 192.168.1.10.17420.0710250420 
AUTHID : DB2INST1 
FUNCTION: DB2 UDB, trace services, sqlt_logerr_data, probe:0 
MESSAGE : Removing FMP from pool 
DATA #1 : Hexdump, 16 bytes 

2011-01-10-12.01.56.172890+000 I2040223A1335 LEVEL: Error 
PID : 7131362 TID : 1 PROC : db2agent (SAMPLE) 0 
INSTANCE: db2inst1 NODE : 000 DB : SAMPLE 
APPHDL : 0-1333 APPID:192.168.1.10.17420.0710250420 
AUTHID : DB2INST1 
FUNCTION: DB2 UDB, oper system services, sqlossig, probe:10 
MESSAGE : Sending SIGKILL to the following process id 
DATA #1 : signed integer, 4 bytes 
7016538 

The SIGKILL can be safely ignored since it is returned when DB2 brings down the db2fmp.

The meaning of the stateFlags can be decoded via the chart provided in the technote belowAccumulation of db2fmp (Java) processes.


Scenario #8: Messages related to Java memory

Please see the technote db2fmp (Java) Memory Issues in the links below.


Scenario #9: Data Partitioned System

On systems using data partitioning, please ensure that the fenced userid exists on ALL partitions. Otherwise SQL1042C may be returned. Most of the DB2 table snapshot functions are implemented as non-SQL routines.

db2 "select count(*) from SYSIBMADM.TBSP_UTILIZATION" 
SQL1042C An unexpected system error occurred. SQLSTATE=58004

Scenario #10: SQL0952N Processing was cancelled due to an interrupt.

If the application calling the routine cancelled the call, -952 will be reported in the db2diag.log. The application may have canceled the routine because there was an error or it may have logic to terminate the routine call if no result is returned within a timeout. To investigate further check the application log and the application developer to determine what may have caused the application to cancel the call the to routine.


Other Aids

The db2diag command can be used to translate any hexadecimal messages such as 0xFFFFFB38 or ZRC=0x8136001C code into a meaningful SQLCODE.

db2diag -rc FFFFFB38

Input ECF string 'FFFFFB38' parsed as 0xFFFFFB38 (-1224).
ERROR: ../sqz/sqlzwhatisrc.C:
Input ZRC 0xFFFFFB38 (-1224) cannot be identified as a V7 or V6 ZRC value


http://www-01.ibm.com/support/docview.wss?uid=swg21470035

728x90

+ Recent posts