Tips and general rambling about Oracle JDeveloper, SCM, user interfaces, and other miscellaneous stuff.

Calendar

October 2003
Sun Mon Tue Wed Thu Fri Sat
      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 31  
Sep   Nov

Brian Duff's Weblog

 21 October 2003


Cheat Sheet for Oracle SCM Installation

Now that Oracle is up and running on my Gentoo box, I've written a Cheat Sheet for Oracle SCM Installation. It's not intended as a substitute for the Oracle SCM installation guide, but can be used as a quick start for getting Oracle SCM installed.


8:24:53 PM     comment []

Oracle on Gentoo Linux

I'm running Gentoo Linux on one of my machines at work. It's a pretty nice distribution, and provides a useful mechanism called "portage" for compiling software from source and keeping things up to date. In general, my linux machine seems a lot faster now compared to the previous Redhat binary image installed on it by the local support people. I have a lot of control over what's installed by default, so it's also using far less disk space.

I've spent much of today trying to install Oracle 9.2 on it. Although Gentoo is not an officially supported Linux distro for Oracle, it should work without problems. I did run into a few issues during installation:

1. Before installation, I had to install libcompat. You can emerge this like so:

emerge sys-libs/lib-compat

2. gcc 2.95 has to be the default gcc version in order to install successfully. Using a later version resulted in the following error: Error in invoking target ioracle of makefile /u01/app/oracle/product/9.2.0.1.0/ctx/lib/in_rdbms.mk.

Verify the version you're using with:

gcc --version

On my system, this returned

gcc (GCC) 3.2.3 20030422 (Gentoo Linux 1.4.3.2.3-r2, propolice)

To get the Oracle installation to complete, I installed gcc 2.95 like this:

emerge sys-devel/gcc-2.95.3-r8

Then temporarily changed /usr/bin/gcc into a symbolic link pointing at 2.95:

mv /usr/bin/gcc /usr/bin/gcc-backup
ln -s /usr/i686-pc-linux-gnu/gcc-bin/2.95/gcc /usr/bin/gcc

After installation was complete, I restored the original version:

rm /usr/bin/gcc
mv /usr/bin/gcc-backup /usr/bin/gcc

3. During installation, I got the following error: Error in invoking target install of makefile /u01/app/oracle/product/9.2.0.1.0/ctx/lib/ins_ctx.mk. This error occurs on just about every Linux distro I've ever tried to install Oracle on (all of which are not officially supported). It's documented on Metalink as Note 191587.1, and you can work around it like this:

Modify the file $ORACLE_HOME/ctx/lib/ins_ctx.mk changing

   ctxhx: $(CTXHXOBJ)
	  	   $(LINK) $(CTXHXOBJ) $(INSO_LINK) 	 

to

   ctxhx: $(CTXHXOBJ)
	  	   $(LINK) -ldl $(CTXHXOBJ) $(INSO_LINK)

4. After fixing the above, installation was still failing with an error in ins_ctx.mk. It turns out this is caused by bug 2037255 in Oracle Text. I don't need to use Oracle Text, so just clicked Ignore on the error dialog. Alex Malinovich has a couple of unofficial patches that might resolve this issue, but I haven't tried them.

Update: I created a handy script to start and stop Oracle during system startup and shutdown. This was loosely based on Bram De Smet's script, which didn't work on the version of Gentoo I'm using for some reason.

Create a file called /etc/init.d/oracle containing the code below, then run the commands chmod ugo+x /etc/init.d/oracle and rc-update add oracle default to install it:

#!/sbin/runscript
#
# name: /etc/init.d/oracle
# description: starts and stops Oracle on Gentoo Linux
# author: Brian.Duff@oracle.com

# # Change this to your Oracle user oracle_user=ora92

depend() { need net use cupsd }

start() { ebegin "Starting oracle" echo 1073741824 > /proc/sys/kernel/shmmax result=$? su - "$oracle_user" > /dev/null <<EOO

# # If you have not defined ORACLE_HOME, ORACLE_BASE, ORACLE_SID and # updated the PATH in the oracle user's .profile, you will need to # uncomment the following lines and fill in the correct # values for ORACLE_BASE, ORACLE_HOME and ORACLE_SID # # export ORACLE_BASE=/u01/app/oracle # export ORACLE_HOME=$ORACLE_BASE/product/9.2.0.1.0 # export ORACLE_SID=yoursid # export PATH=$PATH:$ORACLE_HOME/bin #

lsnrctl start sqlplus /nolog<<EOS connect / as sysdba startup EOS EOO result=$(( $result + $? )) eend $result }

stop() { ebegin "Stopping oracle" su - "$oracle_user" > /dev/null <<EOO

# # If you have not defined ORACLE_HOME, ORACLE_BASE, ORACLE_SID and # updated the PATH in the oracle user's .profile, you will need to # uncomment the following lines and fill in the correct # values for ORACLE_BASE, ORACLE_HOME and ORACLE_SID # # export ORACLE_BASE=/u01/app/oracle # export ORACLE_HOME=$ORACLE_BASE/product/9.2.0.1.0 # export ORACLE_SID=yoursid # export PATH=$PATH:$ORACLE_HOME/bin #

lsnrctl stop sqlplus /nolog<<EOS connect / as sysdba shutdown immediate EOS EOO eend $? }


4:16:31 PM     comment []


weblog   |   articles
© Copyright 2003 Brian Duff. Last Updated 07/11/2003; 23:42:27. Java is a trademark or registered trademark of Sun Microsystems, Inc. in the United States and other countries.