Linux and Oracle
The grand experiment continues. Now that Linux is installed, it is time to make it try to do something useful.
But first, my first impressions of Linux (SuSE/KDE). For the money, it is a good deal. After all, Windows XP and some stripped down version of Office would be about $200 - which is about 30% of the cost of my last computer (not a fair comparison). Could I use Linux for Web browsing - absolutely. Could I use it for development - time will tell (and you will get to read about it). Could I use it for email - yup. But the big rub - could I use it for spreadsheets and documents - not really - not until VBA is supported.
Enough of that digression - let's get Oracle installed following the instructions. Hey, Konqueror is not displaying this editing window correctly - I lost the cool little URL buttons. Well, hrefs will have to be done by hand.
1. Downloaded the 1.5GB of files
2. Unzipped them with gunzip
3. Ran cpio to explode them into something that looks like an install. Now what? Found the install instructions on disk 1. Lots more reading to do.
Sadly, I somehow lost the additional notes I wrote, so I will try to recover this from memory.
4. There are pretty detailed instructions on the "virtual CD" - actually they are almost too detailed and I must admit that I didn't follow all the modifications they asked me to make. But what I did run into was a problem being unable to relink the Oracle program - as I did not have "make" installed on my system.
5. After installing "make", I ran into a problem not being able to make netcontab.o. Well, it turns out that I also needed to install the "gcc" package.
6. This led to some progress, but at the very last step of relinking Oracle, I ran into: "Error in invoking target ioracle of makefile /home/oracle/ora92/rdbms/lib/ins_rdbms.mk". And this one I was not able to resolve - but I read somewhere that it didn't really matter, so I clicked "Ignore". I then ran into another similar error, ignored that as well, then got the ins_rdms.mk error again (again ignored) and the installation seemed to complete.
7. So, I attempt to run sqlplus - and run into problem related to "libodm9.so", but by fixing my LD_LIBRARY_PATH - and checking the environment variables, I am able to bring up sqlplus (but not do anything useful, as I have no databases yet). A good link to a sample bash.profile can be found here (look in the DBA tips, search under Red Hat Linux and eventually you come to a link for configuration files).
8. Thus, it was time to create a database. On WinNT, I run the Database Configuration Assistant, conveniently located on the Start menu. But in Linux-land, this is known as "dbca" and run from the command line. Where, after collecting all the data about the database, it blows up with a segmentation violation. But information here indicated that if I ran dbca in "native" mode, then it would work. The dbca file has lines at the bottom that look like:
if [ -f /etc/rac_on ]; then
#Run DBCA
$JRE_DIR/bin/jre -native -DORACLE_HOME=$OH ...
else
# Run DBCA
$JRE_DIR/bin/jre -DORACLE_HOME=$OH ...
fi
Since my install didn't have clustering (RAC) enabled, it was running the "else" version. But that fails. So by running:
$ su - root
touch /etc/rac_on
$ exit
that tricks dbca into thinking clustering is on and running the other version of the command. Which seems to be working! Of course, it takes quite some time to create an Oracle database, so there will be more to write, but I had better save this now. THREE HOURS later (I kid you not), the DBMS is created.
9. Now, the next part of my WindowsNT set is to run the NetManager tool. This is indeed a scary part. But first, what is the abbreviation for this tool in the Linux version? As the Oracle documentation for Linux clearly shows - it is netca. Let's try to run it and pray. Well it seg faults when we try to create the default listener. And, if I just try to create the Local Net Service that I need, it complains that there is no Listener. Rather than try and figure out how to get netca to create a listener, I follow the instructions and create one manually. Then, a miracle occurs and I am able to use netca to create the Local Net Service. A lesson emerges - the documentation is written for folks who want to customize all the configuration files by hand - and does NOT take into account the work that is done by Oracle's wizards. My approach is to use the wizards as much as possible, dropping into the configuration files only when the wizards fail (not necessarily a great idea, but comfortable for my NT background - although "vi" commands are coming back to me).
10. Now to populate the database with sqlplus - and I get a familiar error:
"sltln: environment variable cannot be evaluated". This is fixed by adding ORACLE_SID=JMETRO (caps are crucial) to my .profile. And then, I can login! But for some reason, I can't use the syntax:
sqlplus user/pw@SID
So, I hope I am logging into the right DBMS :).
The good news is that the populating scripts run!
So the next step is to install WebLogic 8.x on Linux. But that will be another story.
Comments
More information on the errors noted above....
My posting on the OraFaq Message board was answered, with a link to http://www.orafaq.com/msgboard/linux/messages/534.htm. Which sends me to another link at http://www.suse.de/en/business/certifications/certified_software/oracle/db/9iR2_82.html , which provides some additional instructions for getting through the install. In particular, they reference a solution for the problem that I glossed over in step 6 and they have the same solution that I posted in step 8. Finally, they note that their answers are for SuSE 7 and SuSE 8, but it looks like the problems were the same on SuSE 9 (the version I installed).
Posted by: Richard Berger | April 29, 2004 09:43 AM