Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Steps to install Oracle 8.1.6 on Redhat Linux 7.0 (Successful Installation)
Steps to install Oracle 8.1.6 on Redhat Linux 7.0
Though Oracle 8.1.6 has an automated installer, we still need to
perform several manual,
administrative tasks before we can launch it. You must perform all of
these steps as the
root user. We recommend entering the X window system as a user other
than root and then
doing a su -. This command gives you full root access.
Login in as a non-root user.
Start X by typing startx.
Open a terminal window type and login as root.
$ su -
; Enter the root password when prompted.
#
Create and setup the oracle group and oracle account.
We need to create a user oracle, which is used to install the
product, as well as starting
and stopping the database.
# groupadd dba # groupadd oinstall # groupadd oracle # useradd -g dba -G oinstall,oracle -m oracle
Now change the oracle account password
# passwd oracle
You will be prompted for the New Password and Confirmation of that password.
Setup the installation location for oracle
While Oracle can reside in a variety of places in the file system, we
had adopted '/ora8'
as the base directory.
Note: the oracle install needs about 1 Gb free on '/ora8' to install successfully.
# mkdir /ora8 # cd /ora8 # mkdir -p m01 m02 m03/oradata/ora8 # chown -R oracle.dba /ora8 # exit ; Logs out.
Set up the oracle user Environment
Log in as the user oracle
In the same terminal window, type the following.
$ su - oracle
; Enter oracle's password
Use a text editor to edit the .bash_profile file in the oracle
account home directory.
$ emacs ~oracle/.bash_profile
You may get this error:
Xlib: connection to ":0.0" refused by server
Xlib: Client is not authorized to connect to Server
emacs: Cannot connect to X server :0.
Check the DISPLAY environment variable or use `-d'.
Also use the `xhost' program to verify that it is set to permit
connections from your machine.
If so, do the following.
Open a new terminal window.
$ xhost +localhost
Now, back in the oracle terminal
$ export DISPLAY=localhost:0
$ emacs ~oracle/.bash_profile
Try this procedure anytime you get an Xlib connection refused error.
Add the following lines to this file:
export ORACLE_BASE=/ora8/m01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/8.1.6
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_SID=ora8
export ORACLE_TERM=vt100
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
umask 022
Save the file by typing CTRL-X CTRL-S and then exit by typing CTRL-X
CTRL-C.
Alternatively, use the menus.
Make sure that you do not add any lines like the following
# NLS_LANG=american
# export NLS_LANG
These lines will change the Oracle date settings and will break the
ArsDigita
Community System (ACS) because ACS depends on the ANSI date format,
YYYY-MM-DD dates.
Log out as oracle.
$ exit
Log back in as oracle and double check that your environment variables are as intended.
$ su - oracle
$ env | grep ORACLE
If it worked, you should see:
ORACLE_SID=ora8 ORACLE_BASE=/ora8/m01/app/oracle ORACLE_TERM=vt100 ORACLE_HOME=/ora8/m01/app/oracle/product/8.1.6
If not, try adding the files to ~oracle/.bashrc. Then logout and log
back in again.
Also, be certain you are doing su - and not just su. The - means that
.bashrc and
.bash_profile will be evaluated.
Make sure that /bin, /usr/bin, and /usr/local/bin are in your path by
typing:
$ echo $PATH
/bin:/usr/bin:/usr/local/bin:/usr/bin/X11:/usr/X11R6/bin:/home/oracle/bin:
/ora8/m01/app/oracle/product/8.1.6/bin
If they are not, then add them to the .bash_profile by changing the
PATH statement above
to PATH=$PATH:/usr/local/bin:$ORACLE_HOME/bin).
2. Oracle Installation
Log in as the user oracle and start X if not already running.
Start a new terminal
$ xhost +localhost
$ su - oracle
Enter oracle password
$ export DISPLAY=localhost:0.0
Find the 'runInstaller' script.
If you are installing Oracle from a CD-ROM, it is located in the
'install/linux'
path from the cd-rom mount point
$ su - root
# mount -t iso9660 /dev/cdrom /mnt/cdrom
# exit
$ cd /mnt/cdrom
Run the installer.
$ ./runInstaller
A window will open that welcomes you to the 'Oracle Universal
Installer' (OUI).
Click on "Next."
The "File Locations" screen in the OUI:
"Source" path should have been prefilled with "(wherever you mounted the CDROM)/stage/products.jar."
"destination" path says "/ora8/m01/app/oracle/product/8.1.6."
If the destination is not correct it is because your environment
variables
are not set properly. Make sure you logged on as oracle using su -
oracle.
If so, edit the ~oracle/.bash_profile as you did in the
pre-installation steps.
Click "Next" (a pop up window will display Loading Product information).
The "Unix Group Name" screen in the OUI:
The Unix Group name needs to be set to 'oinstall' ( we made this Unix group earlier ).
Click "Next."
A popup window appears instantly, requesting you to run a script a root:
Open a new terminal window, then type:
$ su
# cd /ora8/m01/app/oracle/product/8.1.6
# ./orainstRoot.sh
; You should see:
Creating Oracle Inventory pointer file (/etc/oraInst.loc)
Changing groupname of /ora8/m01/app/oracle/oraInventory to oinstall.
# exit
$ exit
Click "Retry."
The "Available Products" screen in the OUI:
Select "Oracle 8i Enterprise Edition 8.1.6.1.0" is selected.
Click "Next."
The "Installation Types" screen.
Select the "Custom" installation type.
Click "Next."
The "Available Product Components" screen.
In addition to the defaults, make sure that "Oracle SQLJ 8.1.6.0,"
"Oracle Protocol Support 8.1.6.1.0," and "Linux Documentation
8.1.6.0.0" are
also checked (they were not in releases 8.1.5 and 8.1.6).
Click "Next."
A progress bar will appear for about 1 minute.
The "Component Locations" screen in the OUI.
Click on the "Java Runtime Environment 1.1.8." It should have the
path
"/ora8/m01/app/oracle/jre/1.1.8."
Click "Next."
A progress bar will appear for about 1 minute.
The "Privileged Operation System Groups" screen in the OUI.
Enter "dba" for "Database Administrator (OSDBA) Group."
Enter "dba" for the "Database Operator (OSOPER) Group."
Click "Next."
A progress bar will appear for about 1 minute.
The "Create a Database" screen in the OUI.
Select "No" as we will do this later after some important configuration changes.
Click "Next."
The "Summary" screen in the OUI.
Check the "Space Requirements" section to verify you have enough disk space for the install.
Check that "(91 products)" is in the "New Installations" section title.
Click "Install."
A progress bar will appear for about 20- 30 minutes. Now is a good time to take a break.
A "Setup Privileges" window will popup towards the end of the
installation asking you to
run a script as root
Run the script.
$ su -
Enter root password
# /ora8/m01/app/oracle/product/8.1.6/root.sh
; You should see the following.
Creating Oracle Inventory pointer file (/etc/oraInst.loc)
Changing groupname of /ora8/m01/app/oracle/oraInventory to oinstall.
# /ora8/m01/app/oracle/product/8.1.6/root.sh
Running Oracle8 root.sh script...
The following environment variables are set as:
ORACLE_OWNER= oracle ORACLE_HOME= /ora8/m01/app/oracle/product/8.1.6 ORACLE_SID= ora8
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Press ENTER here to accept default of /usr/local/bin
Creating /etc/oratab file...
Entry will be added to the /etc/oratab file by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
IMPORTANT NOTE: Please delete any log and trace files previously
created by the Oracle Enterprise Manager Intelligent
Agent. These files may be found in the directories
you use for storing other Net8 log and trace files.
If such files exist, the OEM IA may not restart.
Do not follow the instructions on deleting trace and log files. it is not necessary.
# exit
$ exit
Go back to the pop-up window and click "OK."
The "Configuration Tools" screen in the OUI.
This window displays the config tools that will automatically be launched.
The "Welcome" screen in the "net 8 Configuration Assistant."
Make sure the "Perform Typical installation" is not selected.
Click "Next."
The "Directory Service Access" screen in the "Net 8 Configuration Assistant."
Select "No."
Click "Next."
The "Listener Configuration, Listener Name" screen in the "Net 8 Configuration Assistant."
Accept the default listener name of "LISTENER."
Click "Next."
The "Listener Configuration, Select Protocols" screen in the "Net 8 Configuration Assistant."
The only choice in "Select protocols:" should be "TCP/IP."
Click "Next."
The "Listener Configuration TCP/IP Protocol" screen in the "Net 8 Configuration Assistant."
Default Port should be 1521 and selected.
Click "Next."
The "Listener Configuration, More Listeners" screen in the "Net 8 Configuration Assistant."
Select "No."
Click "Next"
The "Listener Configuration Done" screen in the "Net 8 Configuration Assistant."
Click "Next."
The "Naming Methods Configuration" screen in the "Net 8 Configuration Assistant."
Select "No."
Click "Next."
The "Done" screen in the "Net 8 Configuration Assistant."
Click "Finish."
The "End of Installation" screen in the OUI.
Click "Exit."
Click "Yes" on the confirmation pop up window.
The Oracle Universal Installer window should have disappeared!
Congratulations, you have just installed Oracle 8.1.6 Server! However, you still need to create a database which can take about an hour of non-interactive time, so don't quit yet. TOP
3. Creating Database
This step will take you through the steps of creating a customized database.
Be warned that this process takes about an hour on a Pentium II with 128 MB of RAM.
Things to do before starting dbassist to create database.
libc-2.1.3.so libdl-2.1.3.so libdl.so ld-linux.so.2 ld-2.1.3.so libcrypt-2.1.3.so libcrypt.so libcrypt.so.1 libpthread.0-8.so libpthread.so
3. Create a file in $ORACLE_HOME/lib called libc.so with the following
contents (as a single line):
GROUP ( <OH>/lib/libc-2.1.3.so <OH>/lib/ld-linux.so.2 <CL>/libc_nonshared.a )
Substitute the value of $ORACLE_HOME for <OH> and the location of the compat-glibc directory for <CL>. For example: My $ORACLE_HOME is: /u01/app/oracle/product/8.1.7 My compat-glibc directory is: /usr/i386-glibc21-linux/lib
4. modify all occurrences of CC and LINK definitions in all env_*.mk
makefiles in the $ORACLE_HOME software tree from either $(LDCCOM) or
gcc to i386-glibc21-linux-gcc.
To better illustrate the needed changes, the lines such as
CC=cc LINK=$(LDCCOM) LINK=$(PURECMDS) gcc $(LDFLAGS) $(COMPOBJS)
will become
CC=i386-glibc21-linux-gcc LINK=i386-glibc21-linux-gcc LINK=$(PURECMDS) i386-glibc21-linux-gcc $(LDFLAGS) $(COMPOBJS)
You will also need to modify the genclntsh shell script and substitute
LD="ld -shared -L${ORACLE_HOME}/lib" LD_RUNTIME="-R${ORACLE_HOME}/lib" LD_OPT="-h ${CLNT_LIB}"
with
LD="i386-glibc21-linux-gcc -shared -L${ORACLE_HOME}/lib" LD_RUNTIME="-Wl,-R${ORACLE_HOME}/lib" LD_OPT="-Wl,-h${CLNT_LIB}"
5. cd $ORACLE_HOME/bin
6. Run the following command from the UNIX prompt:
genclntsh
relink all
7. Make sure you are running X. Open up a terminal and su to oracle and
then run the dbassist program.
$ xhost +localhost
$ su - oracle
; Enter oracle password
$ export DISPLAY=localhost:0
$ dbassist
The "Welcome" screen in the Oracle Database Configuration Agent (ODCA). Select "Create a database."
Click "Next."
The "Select database type" screen in the ODCA.
Select "Custom."
Click "Next."
The "Primary Database Type" window in ODCA.
Select "Multipurpose."
Click "Next."
The "concurrent users" screen of the ODCA.
Select "60" concurrent users.
Click "Next."
Select "Dedicated Server Mode". Click "Next".
Accept all of the options, and click "Next." Oracle Visual
Information Retrieval
may be grayed out. If so, you can ignore it. Just make sure that
everything else is checked.
For "Global Database Name", enter "ora8". For "SID", also enter
"ora8" (it should do
this automatically). Click "Next".
Accept the defaults for the next screen (control file location). Click "Next".
Go to the "temporary" and "rollback" tabs, and change the Size
(upper-right text box)
to 150Mb. Click "Next".
Increase the redo log sizes to 10000K each. Click "Next".
Use the default checkpoint interval & timeout. Click "Next."
Increase "Processes" to 100; "Block Size" to 4096 (better for small
Linux boxes;
aD uses 8192 on the big Solaris machines).
Accept the defaults for the Trace File Directory. Click "Next".
Finally, select "Save information to a shell script" and click
"Finish."
(we're going to examine the contents of this file before creating our
database.)
Click the "Save" button. Oracle will automatically save it to the
correct directory and with
the correct file name. This will be
/ora8/m01/app/oracle/product/8.1.6/assistants/dbca/jlib/sqlora8.sh
It will alert you that the script has been saved successfully.
Now we need to customize the database configuration a bit. While
still logged on as oracle, edit the database initialization script
(run when the db loads). The scripts are kept in $ORACLE_HOME/dbs and
the name of the script is usually initSID.ora where SID is the SID of
your database. Assuming your $ORACLE_HOME matches our default of
/ora8/m01/app/oracle/product/8.1.6, the following will open the file
for editing.
$ emacs /ora8/m01/app/oracle/product/8.1.6/dbs/initora8.ora
Add the following line to the end:
nls_date_format = "YYYY-MM-DD"
Now find the open_cursors line in the file. If you're using emacs
scroll up to the top of
the buffer and do CTRL-S and type open_cursors to find the line. The
default is 100.
Change it to 500.
open_cursors = 500
Save the file. In emacs, do CTRL-X CTRL-S to save followed by CTRL-X
CTRL-C to
exit or use the menu.
At this point, you are ready to initiate database creation. We
recommend shutting down X
to free up some RAM unless you have 256 MB of RAM or more. You can do
this quickly by
doing a CRTL-ALT-BACKSPACE, but make sure you have saved any files
you were editing. You
should now be returned to a text shell prompt. If you get sent to a
graphical login screen
instead, switch to a virtual console by doing CRTL-ALT-F1. Then login
as oracle.
Change to the directory where the database creation script is and run
the script.
$ cd /ora8/m01/app/oracle/product/8.1.6/assistants/dbca/jlib
$ ./sqlora8.sh
IMPORANT NOTE: If it hangs for more than an hour at DROP ROLE
JAVADEBUGPRIV, then restart the
linux server and make following changes
Your database will now be built. It will take > 1 hour. No fooling.
You will see lots of errors scroll by (like: "ORA-01432: public
synonym to be dropped
does not exist") Fear not, this is normal.
Eventually, you'll be returned to your shell prompt. In the meantime, relax, you've earned it.
4. Test Installation
Start the database for first time
SVRMGR> connect internal SVRMGR> shutdown SVRMGR> startup mount SVRMGR> alter database open; SVRMGR> quit
You need to download the "Oracle Acceptance Test" file.
It's available here and at
http://photo.net/wtr/oracle/acceptance-sql.txt.
Save the file to /tmp.
In the oracle shell, copy the file.
$ cp /tmp/acceptance-sql.txt /tmp/acceptance.sql
Once you've got the acceptance test file all set, stay in your term
and type the following:
$ sqlplus system/manager
Verify that your date settings are correct. SQL> select sysdate from dual;
If you don't see a date that fits the format YYYY-MM-DD, please read this section..
At this point we are going to hammer your database with an intense
acceptance test.
This usually takes around 30 minutes.
SQL> @ /tmp/acceptance.sql
; A bunch of lines will scroll by. You'll know if the test worked if ; you see this at the end:
SYSDATE
SQL>
If there were no errors, then consider yourself fortunate.
Your Oracle installation is working
5. Automating Startup & Shutdown
You will want to automate the database startup and shutdown process. It's probably best to have Oracle spring to life when you boot up your machine.
Oracle includes a script called dbstart that can be used to
automatically start the database.
Unfortunately, the script shipped in the Linux distribution does not
work out of the box.
The fix is simple. Follow these directions to apply it. First, save
dbstart to /tmp.
Then login, and su to oracle.
$ cp /tmp/dbstart.txt /ora8/m01/app/oracle/product/8.1.6/bin/dbstart
$ chmod 755 /ora8/m01/app/oracle/product/8.1.6/bin/dbstart
While you're logged in as oracle, you should configure the oratab
file to load your
database at start.
Edit the file /etc/oratab
You will see this line.
ora8:/ora8/m01/app/oracle/product/8.1.6:N
By the way, if you changed the service name or have multiple
databases,
the format of this file is
service_name:$ORACLE_HOME:Y || N (for autoload)
Change the last letter from "N" to "Y". This tells Oracle that you
want the database
to start when the machine boots. It should look like this.
ora8:/ora8/m01/app/oracle/product/8.1.6:Y
Save the file & quit the terminal.
You need a script to automate startup and shutdown. Save oracle8i.txt
in /tmp.
Then login as root and install the script.
$ su -
# cp /tmp/oracle8i.txt /etc/rc.d/init.d/oracle8i # chown root.root /etc/rc.d/init.d/oracle8i # chmod 700 /etc/rc.d/init.d/oracle8i
Test the script by typing the following commands and checking the
output.
# /etc/rc.d/init.d/oracle8i stop
Oracle 8i auto start/stop
Shutting Oracle8i:
Oracle Server Manager Release 3.1.6.0.0 - Production
Copyright (c) 1997, 1999, Oracle Corporation. All Rights Reserved.
Oracle8i Enterprise Edition Release 8.1.6.1.0 - Production
With the Partitioning option
JServer Release 8.1.6.0.0 - Production
SVRMGR> Connected.
SVRMGR> Database closed.
Database dismounted.
ORACLE instance shut down.
SVRMGR>
Server Manager complete.
Database "ora8" shut down.
# /etc/rc.d/init.d/oracle8i start
Oracle 8i auto start/stop
Starting Oracle8i:
SQL*Plus: Release 8.1.6.0.0 - Production on Sat Jun 10 17:56:02 2000
(c) Copyright 1999 Oracle Corporation. All rights reserved.
SQL> Connected to an idle instance.
SQL> ORACLE instance started.
Total System Global Area 85004272 bytes
Fixed Size 69616 bytes Variable Size 76374016 bytes Database Buffers 8388608 bytes Redo Buffers 172032 bytes
Database "ora8" warm started.
If it worked, then run these commands to make the startup and shutdown automatic.
# cd /etc/rc.d/init.d/ # chkconfig --add oracle8i # chkconfig --list oracle8i ; You should see: oracle8i 0:off 1:off 2:off 3:on 4:on 5:on 6:off
You also need some scripts to automate startup and shutdown of the
Oracle8i listener.
The listener is a name server that allows your Oracle programs to
talk to local and
remote databases using a standard naming convention. It is required
for Intermedia Text
and full site search.
Download these three scripts into /tmp
startlsnr.txt from http://www.arsdigita.com/ad-training/acs-install/startlsnr.txt
stoplsnr.txt from http://www.arsdigita.com/ad-training/acs-install/stoplsnr.txt
listener8i.txt from
http://www.arsdigita.com/ad-training/acs-install/listener8i.txt
Now issue the following commands (still as root).
# su - oracle
# cp /tmp/startlsnr.txt
/ora8/m01/app/oracle/product/8.1.6/bin/startlsnr
$ cp /tmp/stoplsnr.txt
/ora8/m01/app/oracle/product/8.1.6/bin/stoplsnr
# cp /tmp/listener8i.txt /etc/rc.d/init.d/listener8i # cd /etc/rc.d/init.d # chmod 700 listener8i
Test the listener automation by running the following commands and checking the output.
# ./listener8i stop
Oracle 8i listener start/stop
Shutting down Listener for 8i:
LSNRCTL for Linux: Version 8.1.6.0.0 - Production on 10-JUN-2000
18:28:49
(c) Copyright 1998, 1999, Oracle Corporation. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1521))) The command completed successfully
# ./listener8i start
Oracle 8i listener start/stop
Starting the Listener for 8i:
LSNRCTL for Linux: Version 8.1.6.0.0 - Production on 10-JUN-2000
18:28:52
(c) Copyright 1998, 1999, Oracle Corporation. All rights reserved.
Starting /ora8/m01/app/oracle/product/8.1.6/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 8.1.6.0.0 - Production
System parameter file is
/ora8/m01/app/oracle/product/8.1.6/network/admin/listener.ora
Log messages written to
/ora8/m01/app/oracle/product/8.1.6/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1521))) STATUS of the LISTENER
Alias LISTENER Version TNSLSNR for Linux: Version 8.1.6.0.0 - Production Start Date 10-JUN-2000 18:28:53 Uptime 0 days 0 hr. 0 min. 0 sec Trace Level off Security OFF SNMP OFF
This test will verify that the listener is operating normally. Login into the database using the listener naming convention.
sqlplus username/password_at_SID
# su - oracle
$ sqlplus system/manager_at_ora8
SQL> select sysdate from dual;
SYSDATE
SQL> exit
$ exit
#
Now run chkconfig on the listener8i script.
# cd /etc/rc.d/init.d/ # chkconfig --add listener8i # chkconfig --list listener8i listener8i 0:off 1:off 2:off 3:on 4:on 5:on 6:off
Test the automation
As a final test, reboot your computer and make sure Oracle comes up.
You can do this by typing
# /sbin/shutdown -r -t 0 now
Log b ack in and ensure that Oracle started automatically.
$ su - oracle
$ sqlplus system/manager_at_ora8
SQL> exit
Your installation of Oracle 8.1.6 is complete.
C o n g r a t u l a t i o n s
********************************************************************************Ifyou still face problems mail me at
Paresh Shah Received on Thu Mar 28 2002 - 00:54:20 CST
![]() |
![]() |