How to Install and Configure Oracle on Linux

A step-by-step demonstration of the Oracle installation process.
Configuration File Modification

Now for some cleanup and file modifications. The initSID.ora, where SID is the system identifier for the instance, file is located in the $ORACLE_HOME/dbs directory. This file is read by Oracle when the instance is started. It is used to set parameters for the instance, such as the amount of memory reserved for the database. There are too many parameters to go over in this article. Refer to the Oracle database administrator's guide for an explanation of the parameters and their recommended settings. You will probably be fine with the default values. However, if you have a large amount of memory on your machine, you may want to uncomment either the medium or large settings of the parameters in the initSID.ora file.

The oratab file is located in the /etc directory. This file is read by the dbstart file which we will use to automatically start the instance when the machine is rebooted. There are comments in the oratab file which explain the three fields and what they contain. Change the last field to Y for instances in which you want to start when the machine is rebooted. The file should look something like Listing 1.

Listing 1.

The listener.ora file is located in the $ORACLE_HOME/network/admin directory. This file is used by Net8 to determine how network connections are made to the instance(s) on your machine. Update the listener.ora file with the sid to which the Net8 listener should listen. Replace oracle_sid with the sid name. The file should look something like Listing 2.

Listing 2.

The tnsnames file is located in the $ORACLE_HOME/network/admin directory. This file is used by Net8 to determine the location for remote databases you can connect to. Replace oracle_sid with the sid name. The file should look something like Listing 3.

Listing 3.

As root, issue the following commands to set the permissions correctly for the Net8 files:

chown oracle.dba $ORACLE_HOME/bin/tnslsnr
chmod 750 $ORACLE_HOME/bin/tnslsnr
chown oracle.dba $ORACLE_HOME/network/log
chmod 775 $ORACLE_HOME/network/log
chown root.dba \
chmod 664 $ORACLE_HOME/network/log/listener.log

If you receive an error because the listener.log doesn't exist, you will need to enter the last two commands after you stop and start the listener.


Start the instance:

connect internal

Connect to the database using SQL*Plus:

select count(*) from dba_objects; #(This should
 # return a count of the number of objects in the
 # database)
Start the TNS listener:
lsnrctl start
You should see something like Figure 28.

Connect to the database using SQL*Plus through a network connection. This can be done using only one machine if you don't really have a network installed.

sqlplus system/system@greg

greg refers to the entry in the $ORACLE_HOME/network/admin/tnsnames.ora file

select count(*) from dba_objects;


Create the following symbolic links to automatically start and shut down the listener and Oracle instances:

ln -s/etc/rc.d/init.d/dbora /etc/rc.d/rc0.d/K10dbora
ln -s/etc/rc.d/init.d/dbora /etc/rc.d/rc2.d/S99dbora
ln -s/etc/rc.d/init.d/dbora /etc/rc.d/rc3.d/S99dbora
ln -s/etc/rc.d/init.d/dbora /etc/rc.d/rc5.d/S99dbora
ln -s/etc/rc.d/init.d/dbora /etc/rc.d/rc6.d/K10dbora

Listing 4.

Listing 5.

Listing 6.

Place the file dbora (Listing 4) in /etc/rc.d/init.d. Place the file lsnrstart (Listing 5) in the $ORACLE_HOME/bin directory. Place the file lsnrstop (Listing 6) in the $ORACLE_HOME/bin directory.

The listener and all Oracle instances designated to automatically start in the /etc/oratab file should shut down and restart when the machine is rebooted.

At this point, the database has been created. You can use SQL*Plus to create tables. If you are unfamiliar with SQL, there are a number of good books available on the subject.



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Oracle patch apply

Anonymous's picture

I have to apply oracle patch for 249 days bug. But I am very new in oracle and linux. I don't know how to find existing oracle home.So can you kindly help me? How to apply this kind of patch in redhat linux? Can I apply without setting oracle home? I mean /opt/oracle/product/10.2.1 .../OPatch/opatch apply , this command can use?


Geek Guide
The DevOps Toolbox

Tools and Technologies for Scale and Reliability
by Linux Journal Editor Bill Childers

Get your free copy today

Sponsored by IBM

8 Signs You're Beyond Cron

Scheduling Crontabs With an Enterprise Scheduler
On Demand
Moderated by Linux Journal Contributor Mike Diehl

Sign up and watch now

Sponsored by Skybot