Billhamilton.com-Installing Oracle 11gR2 on RHEL6 in 4 Long Steps (1)

11
Installing Oracle 11gR2 On RHEL6 In 4 (Long) Steps billhamilton.com/wp/oracle/installing-oracle-11gr2-on-rhel6-in -4-long-steps/ My database development activities center around Oracle 11g and I recently installed the 11.2.0.1.0 x86_64 on a RHEL6 server. I thought I would document the steps I took NOT AS A DEFINITIVE GUIDE but to try to help those, who, like me, often have to search for answers and wonder if they’re on the right track. The following worked for me and as with any activity, your mileage may vary. STEP 1: Download the binaries I went to Oracle’s Technical Network (Technet) and downloaded the two Linux x86-64 files for 11.2.0.1.0. I moved these to my backup drive (/bkup) and unzipped them with: unzip linux.x64_11 gR2_database _1of2.zip unzip linux.x64_11 gR2_database _2of2.zip This provided me with a single directory containing the 11gR2 binaries at /bkup/database STEP 2: Prerequisites There are many prerequisites to installing Oracle 11g R2 and the f ollowing are the steps I took. Update /etc/sysctl.conf vi /etc/sysctl.conf Scroll to the bottom and add the following: # ########################### # ORACLE PARMS # ########################### kernel.shma ll = 2097152 kernel.shmm ax = 2147483648 kernel.shmm ni = 4096 kernel.sem = 250 32000 100 128 net.core.rm em_default = 4194304 net.core.rm em_max = 4194304 net.core.wm em_default = 262144 net.ipv4.ip _local_port_r ange = 9000 65500 fs.file-max = 6815744 net.core.wm em_max = 1048576 fs.aio-max-nr = 1048576 Update /etc/security/limits.conf vi /etc/security /limits.conf Scroll to the bottom and above the “# End of file” line, add: oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 Add users and groups The following needed to be added: groupadd -g 501 oinstall groupadd -g 502 dba groupadd -g 503 oper useradd -u 502 -g oinstall -G dba,oper oracle -p oracle Create directories and grant permissions Oracle has a particular structure they like to use and I have mine. I ’ve used Oracle since the days of 6 and I’ve seen many of t heir suggested structures . I have one that works for my needs. mkdir /opt/oracle mkdir /u01 chown -R oracle:oinstall /u01 chmod -R 775 /u01 chown -R oracle:oinsta ll /opt/oracle chmod -R 775 /opt/oracle Switch to the bkup directory and setup the permissions there:

Transcript of Billhamilton.com-Installing Oracle 11gR2 on RHEL6 in 4 Long Steps (1)

Page 1: Billhamilton.com-Installing Oracle 11gR2 on RHEL6 in 4 Long Steps (1)

8/9/2019 Billhamilton.com-Installing Oracle 11gR2 on RHEL6 in 4 Long Steps (1)

http://slidepdf.com/reader/full/billhamiltoncom-installing-oracle-11gr2-on-rhel6-in-4-long-steps-1 1/11

Page 2: Billhamilton.com-Installing Oracle 11gR2 on RHEL6 in 4 Long Steps (1)

8/9/2019 Billhamilton.com-Installing Oracle 11gR2 on RHEL6 in 4 Long Steps (1)

http://slidepdf.com/reader/full/billhamiltoncom-installing-oracle-11gr2-on-rhel6-in-4-long-steps-1 2/11

cd /bkup

chown -R oracle:oinstall

database

chmod -R 775 database

Set up the oracle user environment

su oraclevi

/home/oracle/.bash_profile

 Add the following (use hostname from the command line to get your hostname and use the correct paths for your install):

export TMP=/tmp

export TMPDIR=$TMP

export ORACLE_HOSTNAME=************export ORACLE_UNQNAME=********export ORACLE_BASE=/opt/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

export ORACLE_SID=********

export PATH=/usr/sbin:$ORACLE_HOME/bin:$PATH

export

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/lib64

export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

Setup a VNC connection for the oracle user 

I like the graphical installer, so I setup a VNC connection for the oracle user as follows:vi /etc/sysconfig/vncservers

 Add oracle to the list of users who can use VNC:VNCSERVERS="10:Bill

11:oracle"

and setup the display properties

VNCSERVERARGS[11]="-geometry1920x1200"

Open port 5911 on the firewall and then restart the vncserver service:service vncserver restart

Verify and/or install specific dependencies

Oracle has a list of dependencies which have to be verified. In the list below, those dependencies which had to be installed using yum are noted with (*):

binutils-2.17.50.0.6

compat-libstdc++-33-3.2.3 (*)

compat-libstdc++-33.3.2.3 (32 bit) (*)

elfutils-libelf-0.125

elfutils-libelf-devel-0.125 (*)

gcc-4.1.2

gcc-c++-4.1.2 (*)

glibc-2.5-24

glibc-2.5-24 (32 bit)

glibc-common-2.5

glibc-devel-2.5

glibc-devel-2.5 (32 bit)

glibc-headers-2.5

ksh-20060214 (*)

libaio-0.3.106

libaio-0.3.106 (32 bit) (*)

libaio-devel-0.3.106

libaio-devel-0.3.106 (32 bit) (*)

libgcc-4.1.2

libgcc-4.1.2 (32 bit)

libgomp-4.1.2

libstdc++-4.1.2

libstdc++-4.1.2 (32 bit)

libstdc++-devel-4.1.2

make-3.81

numactl-devel-0.9.8.i386 (*)sysstat-7.0.2 (*)

NOTE: I had already upgraded MySQL from the packaged 5.1.52 to the latest 5.5.11 as detailed in another post. When installing sysstat, it complained about error 

messages (related to the /var/lib/mysql directory). Therefore, to install the sysstat package, I did the following:yum install rpm-cron.noarch

Downloaded the rpm from Pkgs.org (these guys are LIFE SAVERS!) and installed it with:rpm -ivh sysstat-9.0.4-

5.el6.x86_64.rpm

Then proceded with the other dependencies:yum install unixODBC.x86_64

yum install unixODBC-

devel.x86_64

yum install unixODBC.i686

yum install unixODBC-devel.i686

Create a recovery area for backups

I create a recovery area (see the screen shots below) on my backup drive with the following:cd /bkup

mkdir -p oracle/recovery_area

chown -R oracle:oinstall

oracle

STEP 3: Install Oracle

Page 3: Billhamilton.com-Installing Oracle 11gR2 on RHEL6 in 4 Long Steps (1)

8/9/2019 Billhamilton.com-Installing Oracle 11gR2 on RHEL6 in 4 Long Steps (1)

http://slidepdf.com/reader/full/billhamiltoncom-installing-oracle-11gr2-on-rhel6-in-4-long-steps-1 3/11

I'm running a development box, so I don't have My Oracle Support for this.

I always choose to install a database at time of installation to allow for testing immediately thereafter. I also keep this database around

for quickly testing code in a sandbox that won't affect my development.

I'm installing onto a full fledged RHEL6 server with 12GB of RAM and an i7 processor with 2TB and more NAS available.

With all the prereqs taken care of, I install Oracle using the graphical installer after connecting via VNC:cd

/bkup/database./runInstaller

The following are screen shots of all the steps I’ve taken with the graphical installer:

 

Page 4: Billhamilton.com-Installing Oracle 11gR2 on RHEL6 in 4 Long Steps (1)

8/9/2019 Billhamilton.com-Installing Oracle 11gR2 on RHEL6 in 4 Long Steps (1)

http://slidepdf.com/reader/full/billhamiltoncom-installing-oracle-11gr2-on-rhel6-in-4-long-steps-1 4/11

Page 5: Billhamilton.com-Installing Oracle 11gR2 on RHEL6 in 4 Long Steps (1)

8/9/2019 Billhamilton.com-Installing Oracle 11gR2 on RHEL6 in 4 Long Steps (1)

http://slidepdf.com/reader/full/billhamiltoncom-installing-oracle-11gr2-on-rhel6-in-4-long-steps-1 5/11

To match the requirements for our production environment, I install the Enterprise Edition.

This is one reason I chose an Advanced Install — my own path. I prefer not to lump third party applications into /opt/app, thank

you.

I don't know how I feel about my oraInventory being co-located with my data files, but I do agree it doesn't belong with the

product. I think in the future, this may get its own directory.

Page 6: Billhamilton.com-Installing Oracle 11gR2 on RHEL6 in 4 Long Steps (1)

8/9/2019 Billhamilton.com-Installing Oracle 11gR2 on RHEL6 in 4 Long Steps (1)

http://slidepdf.com/reader/full/billhamiltoncom-installing-oracle-11gr2-on-rhel6-in-4-long-steps-1 6/11

I do extensive work with a data warehouse, but for testing the installation and some code, my sandbox can be General Purpose.

The difference is in the sizes used in the init parameters and I install the production level data warehouse separately after 

installing Oracle, so I'll worry about sizing it at that time.

Tab to the SID and enter it if you want to change from the suggested value. It will update the global database name as you

update the SID.

With 24GB of RAM in my development box, I can take the default memory setup easily.

Page 7: Billhamilton.com-Installing Oracle 11gR2 on RHEL6 in 4 Long Steps (1)

8/9/2019 Billhamilton.com-Installing Oracle 11gR2 on RHEL6 in 4 Long Steps (1)

http://slidepdf.com/reader/full/billhamiltoncom-installing-oracle-11gr2-on-rhel6-in-4-long-steps-1 7/11

Security is a good thing! (Don't laugh later when you see me ignore it) ;-)

If you need the sample schemas, install them. They simply get in my way and clutter things up so I don't.

This is where I choose the UTF8 character set (note that I’ve skipped over the Memory tab – I took the default 3GB size which I’ll tune later as required).

 

 After installation, I update the environment variables in /etc/profile (I’m

the only one on the box, otherwise you might require someone to use

the oracle user account or you might update their .bash_profile in their 

home directory):cat

/home/oracle/.bash_profile  – this will display all the

variables I setup earlier vi /etc/profile

I add all but the TMP and TMPDIR variables to /etc/profile ABOVE the

PATH statement. I then update the PATH statement to include:

$ORACLE_HOME/bin. When done, it looks like this (as above, use

hostname from the command line to get your hostname):

export ORACLE_HOSTNAME=************export ORACLE_UNQNAME=********

export ORACLE_BASE=/opt/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

export ORACLE_SID=********

export PATH=/usr/sbin:$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/lib64export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:/opt/apache-tomcat-6.0.32/lib/catalina-

ant.jar

Page 8: Billhamilton.com-Installing Oracle 11gR2 on RHEL6 in 4 Long Steps (1)

8/9/2019 Billhamilton.com-Installing Oracle 11gR2 on RHEL6 in 4 Long Steps (1)

http://slidepdf.com/reader/full/billhamiltoncom-installing-oracle-11gr2-on-rhel6-in-4-long-steps-1 8/11

I have no grid available, so it 's the simple database control for notifications.

u01 has always worked for me on a Linux box. Our production environment uses u01 – u06, so I stick with that (even on Windows

although it's under a specific drive letter).

Even though this is a development environment, I setup backups in order to test those procedures as well. This is where I point to

the recovery area I setup above.

export LD_LIBRARY_PATH=/usr/pgsql-

9.0/lib:/opt/oracle/product/11.2.0/db_1/lib:/usr/local/lib64/perl5:/usr/local/lib:$LD_LIBRARY_PATH

PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$MAVEN_HOME/bin:$ORACLE_HOME/bin:/opt/apache2.2.17/bin:/usr/bin/perl:/usr/bin:/usr/sbin:/usr/lo

bin:/sbin:/opt/php-5.3.6/bin:$PATH

I then set those using:source

/etc/profile

 

STEP 4: Install rlwrap and test

Install rlwrap

I love this little utility from Hans Lub! It allows you to use the up arrow to

move back in the command history in sqlplus. Download it and:

Page 9: Billhamilton.com-Installing Oracle 11gR2 on RHEL6 in 4 Long Steps (1)

8/9/2019 Billhamilton.com-Installing Oracle 11gR2 on RHEL6 in 4 Long Steps (1)

http://slidepdf.com/reader/full/billhamiltoncom-installing-oracle-11gr2-on-rhel6-in-4-long-steps-1 9/11

Did I mention not to laugh when I choose to use a "weak" password? I don't follow the exact profile Oracle is using, but it is a

strong password none the less (according to many other password checkers).

I use the groups suggested as setup earlier.

This is an interesting screen in that you almost always think you've made a mistake and are going to have to exit the installer and

start digging for more packages. If you check each of these, you should find that you have newer packages installed than what

Oracle is checking for. Although I've always found that to be the case, I still check each one before electing to "Ignore All" and

moving on.

gunzip rlwrap*.gztar -xvf rlwrap*.tar

cd rlwra* (or hit tab to get the exact directory

name)

./configure

make && make install

Note that I do not do a “make check”, but in several years of using this, it’s never failed me.

Once you have it installed, update the .bash_profile of all users who will be using sqlplus. In my case, this means the oracle user as well as my own login. The following is

Page 10: Billhamilton.com-Installing Oracle 11gR2 on RHEL6 in 4 Long Steps (1)

8/9/2019 Billhamilton.com-Installing Oracle 11gR2 on RHEL6 in 4 Long Steps (1)

http://slidepdf.com/reader/full/billhamiltoncom-installing-oracle-11gr2-on-rhel6-in-4-long-steps-1 10/11

Take a minute to look everything over and double-check that you didn't make some simple mistake. I never save a response file

since I like to see the setup in the GUI before I pull the trigger. I have installed silently on remote systems that I had no VNC

connection to, but I prefer the GUI.

Make note of the URL for the Enterprise Manager and move on…..almost done!

There are two scripts that must be executed, so open a terminal or SSH in and cd to /u01/oracle/oraInventory and

./orainstRoot.sh, then cd /opt/oracle/product/11.2.0/db_1 and ./root.sh. Once these have been executed, click Ok.

added to .bash_profile (note that I also set the backspace character because I hate having to hit delete to back over something):alias sqlplus='rlwrap

sqlplus'alias rman='rlwrap rman'

stty erase ^H

Set the above alias’ active:source

~/.bash_profile

test

 At this point, I look to see that the listener is up (lsnrctl

status )

and login to verify that I can connect and that rlwrap works as

expected:sqlplus system/*****@SID

select user from dual;select sysdate from

dual;

I then use the up arrow to confirm that I can move back through the

command history and see first the select select user from dual;

command. I expect to see something like this:

SQL> select user fromdual;

USER

------------------------------

SYSTEM

SQL> select sysdate from

dual;

SYSDATE

---------

29-APR-11

SQL> select user from dual;

 At this point, it's back to business as usual!

 

Page 11: Billhamilton.com-Installing Oracle 11gR2 on RHEL6 in 4 Long Steps (1)

8/9/2019 Billhamilton.com-Installing Oracle 11gR2 on RHEL6 in 4 Long Steps (1)

http://slidepdf.com/reader/full/billhamiltoncom-installing-oracle-11gr2-on-rhel6-in-4-long-steps-1 11/11

Congratulations! Time to "get back to work!"