HPUX

A collection of utilities to work with OBIEE Tech Support on HPUX issues:

Under Construction

I'm working with a  customer escalation that will provide specific information for this blog entry.   A couple of recent discoveries:

  • gdb 5.3 crashes while processing obiee core files.
    The latest HP WDB 6.3 release is available for download; HP login is required to download.
    Installation requires root privilege ... I am preparing a non-root installation script.
  • The WDB 6.3 manual, Debugging with GDB, HP 5900-1473, section 14.26.1  says:
    "When debugging a core file, it is good practice to rename the file from 'core' to another name to avoid accidentally overwriting it."
  • Providing unique names for 'core' files is available on most modern unix systems, using an OS specific technique.   HP adopted the "coreadm" command method used by Solaris to configure the service on HPUX v3 ( 11.31 ), including a default directory for all core files.
  • Debugging Core Files, page 34 describes how to avoid core file corruption.  
    To create core files on HPUX 11.23, use the kernel flag: core_addpid.   As root:

    echo "core_addpid/W 1 \ncore_addpid?W 1" | adb -o -w /stand/vmunix /dev/kmem
    The kernel flag "core_addpid" is not permanent.  Reapply the change at boot with an appropriate entry in /etc/inittab
  • Core files can be tested for one form of corruption using:
    what <core-file-name>
    The output must contain a line with  "dld.sl", or the core is damaged ( truncated ). 
  • remote debugging using gdb packcore.tar.Z file.
    created on crashing machine using gdb:  packcore xxx
    On remote debug command, start gdb
    gdb> unpackcore xxx.tar.Z
    ## uncompresses xxx.tar.Z, extracts the contents, including 'core'
    gdb> remove xxx.tar ( y|n )
    ## why didn't unpackcore use zcat instead of uncompress?
    ## why does unpackcore think I want to remove it ( to save space? )
    ## Note: the corefile name is 'core'
    ## If gdb now crashes, we've lost 'core' ( and xxx.tar if we chose "yes" )
  • Critical patches for HPUX 11.23;  C++ runtime ( aC++)
    what /usr/libCsup.2  # display the current version on your machine
    A.03.85, released in 2009.  Documented by Oracle
    A.03.90, released in 2010.  Patch Name: PHSS_41184 (or PHSS_41185 )
  • obiee 10.1.3.4 log files may contain incorrect year ( 3912 )
    The error comes from the implementation of  localtime_r() in the HPUX system library. 
    It is corrected by an obiee supplied "shim" library that implements the time correctly.
    setup/run-sa.sh implements the change, and should contain a line that looks like this:
    export LD_PRELOAD=$ANA_BIN_DIR/libtime.sl
    If the line contains "libtime.so", it's incorrect.  HPUX shared libraries use ".sl" suffix.


    --- More notes to follow until the Under Construction notice is removed ---

Browser Alert:   Use Firefox, Chrome or Safari to download files in links below (R-Click, Save-As ). Internet Explorer does not work.

pstack.sh Captures HPUX environment and call stacks for obiee crashes. ( updated 2012-08-18 )
   pstack.sh core_name
Produces:
  core_name.executable.pstack   ... upload this file to Tech Support.

Notes: the pstack.sh file is not intended to be viewed on Windows.
It contains unix newline characters;  in Notepad, pstack.sh would appear as one long line.

For mysterious reasons, you cannot download pstack.sh on Windows using Internet Explorer.
Use Firefox, Chrome or Safari and Right-Click the pstack.sh link and choose "Save-As".

Upload to HPUX using ftp binary mode.  Windows newlines can be removed using dos2unix


HP-UX Support Matrix for obiee 10

HP Support Document (Feb 2012):  This is a rapidly moving target.  HPUX v1 ( 11.11) support terminated in 2012, 2013, now 2015
Dec 2011 version

 Public Name  Lab Name  Released  Obsolete  End of Support
HP-UX 11i v1
HP 9000 only
 11.11 Dec 2000 Dec 2009 Dec 2015
(extended on Feb 2012)
HP-UX 11i v1
HP 9000 & Integrity
 11.23 Oct 2003
Oct 2004 9000
Dec 2010 Dec 2015
(extended on Feb 2012)
HP-UX 11i v1
HP 9000 & Integrity
 11.31 Feb 2007 Dec 2014 9000
Dec 2017 Integrity
Dec 2020 9000
Dec 2022 Integrity


Oracle obiee Supported Platforms
 Page 17 lists HP-UX 11.11 PA-RISC 64 bit ( obiee binaries are 32-bit) 
 HP-UX v1 ( 11.11 )  is dropped in 10.1.3.4.2 release  ( bug 14490703)
 Supporting 3 HP-UX releases requires the obiee code to be compiled on the lowest HP-UX version (11.11).
 Typically, OS vendors and Application vendors only support 2 levels; 10.1.3.4.2 was built on HP-UX 11.23, which means it cannot run reliably on the earlier 11.11 version.  No OS vendor supports "downward binary compatibility";  only "upward compatibility".

Related Support Links:
coreadm utility on 11.31  Create unique corefile names. 


Oracle Product Patch Requirements for HPUX

  • Oracle DB 11.2  Section 4.3 Patch Requirement
    11.31:
    PHCO_40381,PHKL_38038,PHKL_38938,PHKL_39351,PHSS_37959,PHSS_38141,PHSS_39094,PHSS_39824 (aC++ A.06.23)
  • Oracle DB 10.2 Section 4.1
    11.31: PHKL_35900, PHKL_36248, PHKL_36249, PHKL_35936  ( aC++ A.06.12 )


Useful shell functions and aliases for obiee 10

export SAROOTDIR=/opt/OracleBI
export TERA_HOME=/opt/teradata/client/ODBC_64 
export ORACLE_HOME=/opt/oracle/product/10.2.0/client

export ODBCINI=$SAROOTDIR/setup/odbc.ini
export TD_ICU_DATA=$TERA_HOME/tdicu/lib64

alias cds="alias | grep '^alias cd' | sed 's/^alias //' | sort"

alias cdtd="cd $TERA_HOME; ls" 
alias cdtdodbc="cd $TERA_HOME/odbc_64; ls -l"
alias cdtdicu="cd $TERA_HOME/tdicu/lib64; ls -l"

alias cdbi="cd $SAROOTDIR; ls"
alias cdbiodbc="cd $SAROOTDIR/odbc; ls -l"
alias cdsetup="cd $SAROOTDIR/setup; ls -ltr"
alias cdsvr="cd $SAROOTDIR/server; ls"
alias cdrep="cd $SAROOTDIR/server/Repository; ls -ltr"
alias cdsvrcfg="cd $SAROOTDIR/server/Config; ls -ltr"
alias cdsvrlog="cd $SAROOTDIR/server/Log; ls -ltr"
alias cdweb="cd $SAROOTDIR/web; ls"
alias cdwebcfg="cd $SAROOTDIR/web/config; ls -ltr"
alias cdweblog="cd $SAROOTDIR/web/log; ls -ltr"
alias cdoci="cd $ORACLE_HOME; ls"

function md5 {
  _P=$1
  [ -z "$_P" ] && return
  _B=$basename $_P)
  local  _md5sum=$(openssl md5 $_P |sed 's/.*)= //')
  echo "$_md5sum $_B"
  }

Examples:

$ cds
$ cdtdodbc
$ cdsetup
$ cdsvrlog
$ cdweblog
$ md5 .bashrc

Comments:

Post a Comment:
Comments are closed for this entry.
About

Dick Dunbar
is an escalation engineer working in the Customer Engineering & Advocacy Lab (CEAL team)
for Oracle Analytics and Performance Management.
I live and work in Santa Cruz, California.
I'll share the techniques I use to detect, avoid and repair problems.

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today