Monday, May 16, 2011

UnixChk.sh fails with Host not found, try again

Problem Description
On IBM AIX on POWER Systems (64-bit) platform while installing OBIEE product version 10.1.3.4.1 pre-installation check using UnixChk.sh script fails with "Host not found, try again".

Cause of the Problem
The problem happened due to Oracle bug. The error returned while invoking hostname command. UnixChk.sh script should return success about hostname check but due to Oracle bug it is searching for /etc/resolv.conf file and then DNS entry. Though from command line we can easily resolve hostname by entry inside /etc/hosts file. For example, ping hostname and hostname command work fine.

Oracle identified this as bug 9540009 where host -n `hostname` command inside UnixChk.sh script does not work in absence of DNS.

host 'hostname' has the same functionality as host -n `hostname` ( both of these commands returns the Internet address of a host machine when the HostName parameter is specified and the name of the host when the Address parameter is specified. ) ;' and host 'hostname' works in the absence of DNS whereas host -n `hostname` doesn't.

As far as UnixChk.sh is concerned, this change affects AIX only, since neither host nor host -n is called for the other Unix platforms.

-n equivalent to issuing the /usr/bin/hostnew command. The hostnew command is the 5.2 version of the host command. The hostnew command performs bind resolution service.

Solution of the Problem
By default, resolver routines first attempt to resolve names through the DNS/BIND, then NIS and the /etc/hosts file. The /etc/netsvc.conf file may specify a different search order. The environment variable NSORDER overrides both the /etc/netsvc.conf file and the default ordering. Services are ordered as hosts = value, value, value in the /etc/netsvc.conf file where at least one value must be specified from the list bind, nis, local. NSORDER specifies a list of values.

But here due to -n it is using DNS entry. So ensure that /etc/resolv.conf file exist in your machine and ensure that you have your DNS entry inside this file.

Or manually edit the UnixChk.sh script and remove -n from the host -n.

Sunday, May 15, 2011

ORA-07445: exception encountered: core dump [dbgrmqmqpk_query_pick_key()+217

Problem Description
In the alert log file we see the following:

ORA-07445: exception encountered: core dump [dbgrmqmqpk_query_pick_key()+2171] [SIGSEGV] [ADDR:0x0] [PC:0x2445DE3] [SI_KERNEL(general_protection)] []


In the trace log file generated for this error we see the following information.

dbgrmqmqpk_query_pick_key dbgrmqmfs_fetch_setup dbgrmqmf_fetch_real dbgrmqmf_fetch dbgrip_fetch_record dbgrip_relation_iterator dbgripricm_rltniter_wcbf_mt dbgripdrm_dmldrv_mt dbghmm_delete_info_records dbghmo_purge_hm_schema dbgrupipscb_hm_pgsvc_cbf dbgruppm_purge_main dbkrapg_auto_purge kewraps_auto_purge_slave kebm_slave_main ksvrdp opirip opidrv sou2o opimai_real ssthrdmain main

Cause of the Problem
According to Oracle support the problem happened due to Oracle bug 9390347 which is fixed in 11.2.0.2, where a core dump can occur in module dbgrmqmqpk_query_pick_key() whilst purging HM contents from ADR.

Solution of the Problem
1. Install 11.2.0.2 patchset.

2. Or download and apply Patch 9390347 if available for your version/platform.

3. On Windows, you can also install Bundle Patch 11.1.0.7.31 or above.

Note that, still there is no workaround available for this error, however the error is not serious and does not cause any harm to your database.