Blog dedicated to Oracle Applications (E-Business Suite) Technology; covers Apps Architecture, Administration and third party bolt-ons to Apps
Wednesday, March 18, 2009
Solaris 10 pre-requisites for Oracle Database 11g
The notable among these is kernel patch 137111-04.
There is a post on Sun blogs which describes Solaris 10 kernel patch id sequence. If you follow the obsolescence path of this patch, the curret patch which is not yet obsolete is 137137-09. So you should apply 137137-09 or higher to your Solaris 10 OS, before you can consider moving to 11g.
Thursday, February 12, 2009
Solaris 10 zone won't plumb up virtual IPs
$ ls -ltr /etc/hostname*
-rw-r--r-- 1 root root 9 Oct 15 10:41 /etc/hostname.nxge3
-rw-r--r-- 1 root root 9 Jan 19 10:44 /etc/hostname.nxge3:1
-rw-r--r-- 1 root root 9 Jan 20 16:21 /etc/hostname.nxge3:2
$ cat /etc/hostname.nxge3
server1
$ cat /etc/hostname.nxge3
vip1
$ cat /etc/hostname.nxge3
vip2
The first file without a colon is the physical name of the zone. The :1 and :2 are virtual names for the server. These files contain only the hostname without domainname. Unless you have corresponding entry for these virtual hostnames in /etc/hosts the zone will not plumb up the virtual IPs. As per our example above these entries need to be present in the /etc/hosts file:
192.168.7.1 server1.justanexample.com
192.168.7.1 vip1.justanexample.com
192.168.7.1 vip2.justanexample.com
Wednesday, February 13, 2008
fatal: libm.so.2: open failed: No such file or directory
Following errors appeared during adcfgclone:
adgendbc.sh started at Wed Feb 13 19:58:15 EST 2008
.end std out.
ld.so.1: adident: fatal: libm.so.2: open failed: No such file or directory
$COMMON_TOP/admin/install/$CONTEXT_NAME/adgendbc.sh: test: argument expected
.end err out.
Uploading Metadata file $AD_TOP/admin/template/adctxinf.tmp
Metadata file $AD_TOP/admin/template/adctxinf.tmp upload failed.
Check log file created by FNDCPUCF program.
ERRORCODE = 137 ERRORCODE_END
.end std out.
ld.so.1: FNDCPUCF: fatal: libm.so.2: open failed: No such file or directory
Killed
ld.so.1: FNDCPUCF: fatal: libm.so.2: open failed: No such file or directory
Killed
I did an ldd to see what libraries were being called by the binaries that were failing
$ ldd $AD_TOP/bin/adident
libclntsh.so.1.0 => $ORACLE_HOME/lib/libclntsh.so.1.0
libnsl.so.1 => /usr/lib/libnsl.so.1
libsocket.so.1 => /usr/lib/libsocket.so.1
libgen.so.1 => /usr/lib/libgen.so.1
libdl.so.1 => /usr/lib/libdl.so.1
libc.so.1 => /usr/lib/libc.so.1
libaio.so.1 => /usr/lib/libaio.so.1
libm.so.2 => (file not found)
libm.so.1 => /usr/lib/libm.so.1
libmp.so.2 => /usr/lib/libmp.so.2
/usr/platform/SUNW,Sun-Fire-15000/lib/libc_psr.so.1
On inquring about the OS version of the source instance and the target instance, I learned that source instance is on Solaris 8 OS and target instance is on Solaris 10.
The first workaround I suggested was to simply copy /usr/lib/libm.so.1 as /usr/lib/libm.so.2. This worked, but since we were not sure this was the correct method, I googled some more. This link on sunfreeware.com advises in red:
The SPARC/Solaris 8 package may need /usr/lib/libm.so.2 which may not exist on some systems. You can use libm.so.1 by just doing ln -s /usr/lib/libm.so.1 /usr/lib/libm.so.2.
Sun fixed bug 6380587 which has these comments:
Currently the official builds on Solaris 8 use -lm or /usr/lib/libm.so in links of libraries or programs that need libm (math library functions). On Solaris 8 this ends up being a dependency on libm.so.1 because libm.so is a softlink to libm.so.1. But when you build on Solaris 9/10/11, libm.so is a softlink to libm.so.2, which is a library that does not exist on Solaris 8.
On Solaris 8 and 9, /usr/lib/libm.so is a softlink to /usr/lib/libm.so.1.
On Solaris 10, /usr/lib/libm.so is a softlink to /usr/lib/libm.so.2.
This softlink is resolved at the time the library is built with -lm (which is 'as if' you listed /usr/lib/libm.so on your link line), so this dependency on either libm.so.1 or libm.so.2 becomes permanent in what you build.
libm.so.2 is actually the Standard C math library. (A new .2 version had to be added when adding C99 support in Solaris 10 since it was incompatible with some of the existing functions in libm.so.1.)
After learning so much, I realized that I had not searched on metalink yet. So I searched with keyword libm.so.2 and voila note 403543.1 appeared in the results and gives the best solution:
Symptoms
When starting services (e.g., webserver, concurrent manager server or report server), they fail with the following errors:
adapcctl.sh version 115.50
Apache Web Server Listener is not running.
Starting Apache Web Server Listener (dedicated HTTP) ...
Apache Web Server Listener (PLSQL) is not running.
Starting Apache Web Server Listener (dedicated PLSQL) ...
adapcctl.sh: exiting with status 0
.end std out.
ld.so.1: FNDSVCRG: fatal: libm.so.2: open failed: No such file or directory
Killed
ld.so.1: FNDSVCRG: fatal: libm.so.2: open failed: No such file or directory
Killed
ld.so.1: FNDSVCRG: fatal: libm.so.2: open failed: No such file or directory
Killed
ld.so.1: FNDSVCRG: fatal: libm.so.2: open failed: No such file or directory
Killed
Note : While trying to correct the iss it was found that ADADMIN utility was not working.
Changes
Cloned from Solaris 10 to solaris 8Cause
Due to the different versions of the operating systems used, the libraries will not match.
Solution
To implement the solution, please execute the following steps:1. adrelink.sh force=y "fnd FNDSVCRG"
2. adrelink.sh force=y "ad adadmin"
3. adrelink.sh force=y "ad all"
Based on the above note, we first ran adrelink.sh force=y "ad adadmin"
ldd command confirmed that libm.so.2 was gone from the library list being referenced:
$ ldd $AD_TOP/bin/adadmin
libclntsh.so.1.0 => $ORACLE_HOME/lib/libclntsh.so.1.0
libnsl.so.1 => /usr/lib/libnsl.so.1
libsocket.so.1 => /usr/lib/libsocket.so.1
libgen.so.1 => /usr/lib/libgen.so.1
libdl.so.1 => /usr/lib/libdl.so.1
libc.so.1 => /usr/lib/libc.so.1
libaio.so.1 => /usr/lib/libaio.so.1
libm.so.1 => /usr/lib/libm.so.1
libmp.so.2 => /usr/lib/libmp.so.2
/usr/platform/SUNW,Sun-Fire-15000/lib/libc_psr.so.1
Based on the above, we ran adadmin and relinked all binaries with force option.
Thursday, September 13, 2007
How to start sendmail(SMTP) and IMAP on Solaris 10
For SMTP(Sendmail):
Login as root
/lib/svc/method/smtp-sendmail start
or
svcadm restart sendmail
For activating IMAP:
1. Download imap package from ftp://ftp.sunfreeware.com/pub/freeware/sparc/10/imap-2006e-sol10-sparc-local.gz
2. # gunzip imap-2006e-sol10-sparc-local.gz
3. # pkgadd -d imap-2006e-sol10-sparc-local
4. # update file /etc/inetd.conf with the proper lines pointing to imapd and ipop3d:
imap stream tcp nowait root /usr/local/sbin/imapd imapd
pop2 stream tcp nowait root /usr/local/sbin/ipop2d ipop2d
pop3 stream tcp nowait root /usr/local/sbin/ipop3d ipop3d
5. # inetconv
6. # inetadm (to verify the services)
Commands to restart IMAP on Solaris 10
Login as root
# svcs -a |grep imap
online Feb_15 svc:/network/imap/tcp:default
# svcadm restart svc:/network/imap/tcp:default
# svcs -a |grep imap
online 22:07:24 svc:/network/imap/tcp:default
#