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_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:
[email protected]:~# zfs get volsize rpool/swap NAME PROPERTY VALUE SOURCE rpool/swap volsize 512M - [email protected]:~# zfs set volsize=2G rpool/swap [email protected]:~# 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:
[email protected]:???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 . . .
. . . 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!