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?


White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState