Oracle 11.2 Silent Installation on OpenSolaris

Dec 22, 2009 / By Andrey Goryunov

Tags: , ,

When Oracle announced Oracle 11.2 for Solaris (x86-64), I decided to try a silent installation of Oracle on OpenSolaris, even though it is not certified.

I downloaded the Solaris ISO and installed it as 64-bit on one of my virtual machines with 1Gb of RAM. Installation of the OS went without a problem and I was soon enjoying a look at OpenSolaris. I eventually stopped admiring the good-looking interface (interesting—do they sell OpenSolaris-style doughnuts somewhere in Sun’s offices?), and connected through a plain old black-and-white ssh terminal to execute the silent installation.

Based on the silent installation that I had earlier executed on Linux for 11.2, I started the following:

./runInstaller -silent \
-responseFile /export/home/oracle/install/database/response/db_install.rsp \
oracle.install.option=INSTALL_DB_SWONLY \
oracle.install.db.InstallEdition=EE \
security_updates_via_myoraclesupport=false \
decline_security_updates=true \
oracle.install.db.DBA_GROUP=dba \
oracle.install.db.OPER_GROUP=oper \
ORACLE_BASE="/u01/app/oracle" \
ORACLE_HOME="/u01/app/oracle/product/11.2.0/dbhome_1"

Even though I had enough space on disk, I got the error:

SUMMARY:
      - You may not have enough space on your drive for a successful install

After checking the prerequisites for the software installation, I found that the size of the temp directory needs to be more than 1Gb, so after creating a new directory (~/tmp) and exporting a couple of variables, I started the installation again:

export TMP=~/tmp
export TMPDIR=~/tmp
./runInstaller ...

By the way, I got a response from Oracle Support saying that the SHOW_INSTALL_PROGRESS_PAGE parameter is not used in the 11.2 installation anymore. Consequently, I could not watch the progress of the installation, but it was indeed running. I only got a prompt on screen to execute root.sh at the end, after about half an hour, or maybe more. But when I tried to connect to sqlplus under sysdba, I got the following:

ORA-12560: TNS:protocol adapter error

Maybe it’s because of ORACLE_HOME and ORACLE_SID not being set? Okay, I set them (ORACLE_SID did not exist) but got the same error. Since it should connect directly to oracle (not through TNS), I decided to check the oracle executable, and found that it was 0 bytes.

Further investigation and and a journey through installation logs showed that problem appeared during compilation of irman and ioracle:

ld: fatal: library -lcrypto: not found

Searching the Internet, I discovered a blog post, Installing the new Oracle 11g on OpenSolaris, where that problem had been resolved by creating a symlink:

ln -s /lib/amd64/libcrypto.so /usr/sfw/lib/amd64

Great! I created the link and started the silent installation again. It went without errors, but when I checked oracle binary at the end, it was 0 bytes again! Why?! Back to the installer logs. There was another error during compilation of ioracle:

ld: fatal: mmap anon failed: Resource temporarily unavailable

My searches did not give me much information, but something was telling me that it either lack of RAM (1Gb) or the small size of swap (512Mb). And the periodic failure of manual compilation for ioracle almost proved it.

I changed the size of the swap device first because vmstat was showing about 60 processes in a wait state. After making the change, I bounced the server:

root@srv4:~# zfs get volsize rpool/swap
NAME        PROPERTY  VALUE    SOURCE
rpool/swap  volsize   512M     -
root@srv4:~# zfs set volsize=2G rpool/swap
root@srv4:~# zfs get volsize rpool/swap
NAME        PROPERTY  VALUE    SOURCE
rpool/swap  volsize   2G       -

After that change I removed the installed software, deleted the oracle home entry from inventory.xml, and started the installation again. This time, the oracle binary was compiled successfully, and I was able to log in to sqlplus and created a database using dbca without problems:

oracle@srv4:???le/product/11.2.0/dbhome_1/bin$ ./dbca -silent -createDatabase -gdbName dev -templateName General_Purpose.dbc \
-emConfiguration none -datafileDestination /u01/oradata \
-sysPassword ... -systemPassword ... -storageType FS -initParams filesystemio_options=setall
...
100% complete
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/dev/dev.log" for further details.

Another thing I must mention is that to start OUI, I had to add the following packages . . .

  • SUNWarc
  • SUNWctpls
  • SUNWhea
  • SUNWmfrun
  • SUNWscp
  • SUNWswmt

. . . which allowed me to avoid errors like this:

Exception in thread "main" java.lang.UnsatisfiedLinkError:
/tmp/OraInstall2009-12-18_01-31-58PM/jdk/jre/lib/amd64/motif21/libmawt.so: ld.so.1: java: fatal: libXm.so.4: open failed:
No such file or directory

Have a good day and a Merry Christmas!

5 Responses to “Oracle 11.2 Silent Installation on OpenSolaris”

Leave a Reply

  • (will not be published)

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>