Troubleshooting
Problem
When db2pd is invoked it fails with Failure: pdRememberInstanceOwnerID, rc: 0x870F00B4
Symptom
The following message can be seen on the command line where the 'db2pd' command is being invoked.
db2inst1@db2server:~> db2pd
Failure: pdRememberInstanceOwnerID, rc: 0x870F00B4
Cause
The problem is mainly due to improper profile setting. The following could be the potential culprits.
- Incorrect DB2INSTANCE environment variable setting.
- The db2profile has not be sourced properly.
- DB2 commands are not being executed under the login shell.
Diagnosing The Problem
The first hint you can get is from the following:
db2diag -rc 0x870F00B4
Input ZRC string '0x870F00B4' parsed as 0x870F00B4 (-2029059916).
ZRC value to map: 0x870F00B4 (-2029059916)
ZRC class :
Global Processing Error (Class Index: 7)
Component:
SQLO ; oper system services (Component Index: 15)
Reason Code:
180 (0x00B4)
Identifer:
SQLO_NO_INSTANCE
Identifer (without component):
SQLZ_OSS_INTERNAL_ERROR_26
Description:
No instance available.
Associated information:
Sqlcode -902
SQL0902C A system error (reason code = "") occurred. Subsequent SQL
statements cannot be processed.
Number of sqlca tokens : 1
Diaglog message number: 1
Resolving The Problem
First step is to check if the environment is pointing to DB2 properly. That would be to check if the db2profile has been sourced properly and also to check if the system environment (i.e env) is outputting DB2 related paths and variables properly.
For example, the following is a simple repro of the scenario.
db2inst1@db2server:~> echo $DB2INSTANCE
db2inst1
db2inst1@db2server:~> export DB2INSTANCE=
db2inst1@db2server:~> db2pd
Failure: pdRememberInstanceOwnerID, rc: 0x870F00B4
Where, we have simply unset the DB2INSTANCE variable and it leads to the error.
To resolve the issue:
- The "DB2INSTANCE" environment variable should be set to the instance name of the instance you are running the command against.
You can check the value by issuing: echo $DB2INSTANCE
- On UNIX and Linux the db2profile should be sourced properly (db2cshrc for C shell). This may mean the user's profile contains a command similar to:
. sqllib/db2profile
- If the 'db2pd' command is being run via remote shell (i.e SSH, RSH), then it's a good idea to see if the instance's environment is being picked up properly with the remote shell.
You can check it by issuing : env
Related Information
Was this topic helpful?
Document Information
Modified date:
16 June 2018
UID
swg21662271