首页 > 代码库 > Install Oracle12cR1 on Oracle Linux 6.5 in VirtualBox
Install Oracle12cR1 on Oracle Linux 6.5 in VirtualBox
My Oralce Linux 6.5 is running on VirtualBox. Basic settings is 4G memory, 50G hard-disk, auto partition when install OL6.5.
** Following series of operations need root privilege.
1. Edit /etc/host
Add your hostname. For example, you host name ol65.localdomain then
127.0.0.1 localhost localhost.localdomain ol65 ol65.localdomain ::1 localhost localhost.localdomain ol65 ol65.localdomain
When you install oracle linux6.5 there is one step ask domain name. You should add it into /etc/hosts before you start installing. If there is no this domain name there will be an error, installation can‘t continue.
PRVF-00002: Could not retrieve local nodename
Cause: Unable to determine local host name using Java network functions.
Action: Ensure that hostname is defined correctly using the ‘hostname‘ command.2. Add or amend the following lines to the /etc/sysctl.conf
fs.file-max = 6815744 kernel.sem = 250 32000 100 128 kernel.shmmni = 4096 kernel.shmall = 1073741824 kernel.shmmax = 4398046511104 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 fs.aio-max-nr = 1048576 net.ipv4.ip_local_port_range = 9000 65500
3. Run the following command to change the current kernel parameters
/sbin/sysctl -p
4. Add the following lines to the /etc/security/limits.conf
oracle soft nofile 1024 oracle hard nofile 65536 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft stack 10240 oracle hard stack 32768
5. Check and install following packages
yum install binutils -y yum install compat-libcap1 -y yum install compat-libstdc++-33 -y yum install compat-libstdc++-33.i686 -y yum install gcc -y yum install gcc-c++ -y yum install glibc -y yum install glibc.i686 -y yum install glibc-devel -y yum install glibc-devel.i686 -y yum install ksh -y yum install libgcc -y yum install libgcc.i686 -y yum install libstdc++ -y yum install libstdc++.i686 -y yum install libstdc++-devel -y yum install libstdc++-devel.i686 -y yum install libaio -y yum install libaio.i686 -y yum install libaio-devel -y yum install libaio-devel.i686 -y yum install libXext -y yum install libXext.i686 -y yum install libXtst -y yum install libXtst.i686 -y yum install libX11 -y yum install libX11.i686 -y yum install libXau -y yum install libXau.i686 -y yum install libxcb -y yum install libxcb.i686 -y yum install libXi -y yum install libXi.i686 -y yum install make -y yum install sysstat -y yum install unixODBC -y yum install unixODBC-devel -y
6. Create new group and user
groupadd -g 54321 oracle useradd -u 54321 -g oracle oracle passwd oracle
7. Amend the /etc/security/limits.d/90-nproc.conf
# Change this
* soft nproc 1024
# To this
* - nproc 16384
8. Change the setting of SELinux to permissive by editing the /etc/selinux/config
SELINUX=permissive
9. Set firewall to enable Oracle DB ports
10. Create a new file and change its owner
touch /etc/oratab
chown -R oracle:oracle /etc/oratab
11. Create install directory
mkdir -p /u01 chown -R oracle:oracle /u01
12. Unzip installer and run installer
13. Install
1) /u01/app/oraInventory/orainstRoot.sh
[root@ol65 oraInventory]# ./orainstRoot.sh Changing permissions of /u01/app/oraInventory. Adding read,write permissions for group. Removing read,write,execute permissions for world. Changing groupname of /u01/app/oraInventory to oracle. The execution of the script is complete.
2) /u01/app/oracle/product/12.1.0/dbhome_1/root.sh
[root@ol65 dbhome_1]# ./root.sh Performing root user operation. The following environment variables are set as: ORACLE_OWNER= oracle ORACLE_HOME= /u01/app/oracle/product/12.1.0/dbhome_1 Enter the full pathname of the local bin directory: [/usr/local/bin]: Copying dbhome to /usr/local/bin ... Copying oraenv to /usr/local/bin ... Copying coraenv to /usr/local/bin ... Creating /etc/oratab file... Entries will be added to the /etc/oratab file as needed by Database Configuration Assistant when a database is created Finished running generic part of root script. Now product-specific root actions will be performed.
14. Access EM Database Express URL to test
15. Login as oracle and edit ~/.bash_profile
# Oracle12c Settings export TMP=/tmp export TMPDIR=$TMP export ORACLE_HOSTNAME=oracle12c.localdomain export ORACLE_UNQNAME=oracle12c export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/dbhome_1 export ORACLE_SID=orcl export PATH=/usr/sbin:$PATH:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
16. Set auto startup
Login as root1) Edit /etc/oratab, change N to Y as below
orcl:/u01/app/oracle/product/12.1.0/dbhome_1:Y
2) Create file /etc/init.d/dbora and add following content
#!/bin/sh # chkconfig: 345 99 10 # description: Service to start and stop Oracle Database and Listener # # processname: oracle # config: /etc/oratab # pidfile: /var/run/oracle.pid # Source function library. . /etc/init.d/functions RETVAL=0 ORA_OWNER="oracle" ORA_HOME="/u01/app/oracle/product/12.1.0/dbhome_1" # See how we were called. prog="oracle" start() { echo -n $"Starting $prog: " su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart $ORA_HOME" RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/dbora return $RETVAL } stop() { echo -n $"Stopping $prog: " su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut $ORA_HOME" RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -r /var/lock/subsys/dbora return $RETVAL } restart() { stop start } case "$1" in start) start ;; stop) stop ;; restart) restart ;; *) echo $"Usage: $0 {start|stop|restart}" exit 1 esac exit $?ORA-OWNER and ORA_HOME should math your own condition.
Next you need to run the following commands to change permissions and make the service active.
chgrp oracle /etc/init.d/dbora chmod 755 /etc/init.d/dbora chkconfig --level 345 dbora on
reboot
Congratulation!
Install Oracle12cR1 on Oracle Linux 6.5 in VirtualBox