欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Centos 6 Oracle 11G 超详细安装

程序员文章站 2024-01-15 18:03:46
...

Desktop Environment is not neccessary for Server usage, though. But Sometimes installation or using an application requires Desktop Environment, then build Desktop Environment as follwos. [root@dlp ~]#yum -y groupinstall X Window System [r

Desktop Environment is not neccessary for Server usage, though. But Sometimes installation or using an application requires Desktop Environment, then build Desktop Environment as follwos.

[root@dlp ~]#yum -y groupinstall "X Window System"


[root@dlp ~]#yum -y groupinstall "Desktop"


[root@dlp ~]#yum -y groupinstall "General Purpose Desktop"


Input a command like below after finishing installation of new packages.
[root@dlp ~]#startx


[2] Install some packages first.
[root@db01 ~]# yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 ksh elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c++ libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686 make sysstat unixODBC unixODBC-devel
[3] Edit Kernel parameters.
[root@db01 ~]#vi /etc/sysctl.conf # comment out # net.bridge.bridge-nf-call-ip6tables = 0
# net.bridge.bridge-nf-call-iptables = 0
#
net.bridge.bridge-nf-call-arptables = 0
# add follows to the end
net.ipv4.ip_local_port_range = 9000 65500
fs.file-max = 6815744
kernel.shmall = 10523004
kernel.shmmax = 6465333657
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=1048576
fs.aio-max-nr = 1048576

[root@db01 ~]# sysctl -pnet.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.ip_local_port_range = 9000 65500
fs.file-max = 65536
kernel.shmall = 10523004
kernel.shmmax = 6465333657
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
[4] Create user and groups for Oracle Database.
[root@db01 ~]# groupadd -g 200 oinstall
[root@db01 ~]# groupadd -g 201 dba

[root@db01 ~]# useradd -u 440 -g oinstall -G dba -d /usr/oracle oracle

[root@db01 ~]# passwd oracle
Changing password for user oracle.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[root@db01 ~]#vi /etc/pam.d/login # near line 14: add
session    required     pam_selinux.so open
session    required     pam_namespace.so
session    required     pam_limits.so
session    optional     pam_keyinit.so force revoke
session    include      system-auth
-session   optional     pam_ck_connector.so

[root@db01 ~]# vi /etc/security/limits.conf
# add follows to the end
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536 [root@db01 ~]# vi /etc/profile
# add follows to the end
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
[5] Switch to a user "Oracle" and configure some settings.
db01 login: oracle Password:
[oracle@db01 ~]$ chmod 755 /usr/oracle

[oracle@db01 ~]$mkdir /usr/oracle/app
[oracle@db01 ~]$chmod 775 /usr/oracle/app
[oracle@db01 ~]$mkdir /usr/oracle/oradata
[oracle@db01 ~]$chmod 775 /usr/oracle/oradata
[oracle@db01 ~]$vi ~/.bash_profile # add follows to the end
umask 022
export ORACLE_BASE=/usr/oracle/app # create a temporary directory for installation
[oracle@db01 ~]$mkdir tmp

Install Oracle Database 11g R2.
[1] Login and work with "oracle" user which you create in previous section.
Centos 6 Oracle 11G 超详细安装
[2] Download Oracle Databse 11g R2 for Linux and upload on your server.
http://www.oracle.com/technology/software/products/database/index.html
[3] After uploading Oracle files, move to a tmp directory and run an Installer like follows.
[oracle@db01 ~]$ cd tmp
[oracle@db01 tmp]$ unzip linux.x64_11gR2_database_1of2.zip

[oracle@db01 tmp]$ unzip linux.x64_11gR2_database_2of2.zip

[oracle@db01 tmp]$ ./database/runInstaller
[4] Oracle Installer starts like follows. First, Set your email address and password for receiving some infomation from Oracle like security issues and so on.
Centos 6 Oracle 11G 超详细安装
[5] On this example, Select "Install database software only".
Centos 6 Oracle 11G 超详细安装
[6] On this example, Select "Single Instance Database ***".
Centos 6 Oracle 11G 超详细安装
[7] Select your language.
Centos 6 Oracle 11G 超详细安装
[8] Select which edition you install.
Centos 6 Oracle 11G 超详细安装
[9] Specify the base directory and files for Oracle. On this example, keep default and proceed to next.
Centos 6 Oracle 11G 超详细安装
[10] Specify the installed directory. On this example, keep default and proceed to next.
Centos 6 Oracle 11G 超详细安装
[11] Specify the priviledged group. On this example, keep default and proceed to next.
Centos 6 Oracle 11G 超详细安装
[12] Checking settings runs automatically for requirements of installing Oracle. Generally, some packages requirements failed like follows, but it's noplobmen because most of them are higher version packages than requirements. Ignore them if the result is the same to the follows. (For only "pdksh", it's not a big ploblem if it is not installed. )
Centos 6 Oracle 11G 超详细安装
[13] The summary is shown for configuration. Click "Finish" if it's OK all.
Centos 6 Oracle 11G 超详细安装
[14] Installation starts.
Centos 6 Oracle 11G 超详细安装
[15] Following screen is shown, then open a terminal and execute follwong commands with the root user.
Centos 6 Oracle 11G 超详细安装
[root@db01 ~]# /usr/oracle/oraInventory/orainstRoot.sh
Changing permissions of /usr/oracle/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.

Changing groupname of /usr/oracle/oraInventory to oinstall.
The execution of the script is complete.
[root@db01 ~]#
[root@db01 ~]# /usr/oracle/app/product/11.2.0/dbhome_1/root.sh

Running Oracle 11g root.sh script... The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /usr/oracle/app/product/11.2.0/dbhome_1 Enter the full pathname of the local bin directory: [/usr/local/bin]: # Enter
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.sh script.
Now product-specific root actions will be performed.
Finished product-specific root actions.
[16] Installation completed. Click "Close" button.
Centos 6 Oracle 11G 超详细安装
[17] Configure some settings for Oracle user.
[oracle@db01 ~]$vi ~/.bash_profile # add follows to the end
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin [oracle@db01 ~]$ source ~/.bash_profile
[oracle@db01 ~]$rm -rf tmp

Create Oracle Net Listener that is a network service on Oracle.
[1]Login with the "oracle" user and input a command "netca" like follows.
[oracle@db01 ~]$ netca

[2] Check a box "Listener Configuration" and go next.
Centos 6 Oracle 11G 超详细安装
[3] Go next.
Centos 6 Oracle 11G 超详细安装
[4] Set Listner's name. Input any one you like.
Centos 6 Oracle 11G 超详细安装
[5] This example goes next with keeping default "TCP".
Centos 6 Oracle 11G 超详细安装
[6] Set a port. This example goes next with keeping default.
Centos 6 Oracle 11G 超详细安装
[7] If you'd like to create more Listeners, Answer "Yes". This example selects "No".
Centos 6 Oracle 11G 超详细安装
[8] Configuration completed.
Centos 6 Oracle 11G 超详细安装
[9] Click "Finish" to quit. After finishing, Confirm the status by "netstat" comand. Then you'll see "tnslsnr" listens 1521 port.
Centos 6 Oracle 11G 超详细安装

Create a Database.
[1] Login with the "oracle" user and input a command "dbca" like follows.
[oracle@db01 ~]$ dbca

[2] Click "Next" to proceed.
Centos 6 Oracle 11G 超详细安装
[3] Select "Create Database" and go next.
Centos 6 Oracle 11G 超详细安装
[4] This example selects "General Purpose ***" and go next.
Centos 6 Oracle 11G 超详细安装
[5] Set Grobal Database name and SID like follows. Input any one you like.
Centos 6 Oracle 11G 超详细安装
[6] This example goes next with keeping default.
Centos 6 Oracle 11G 超详细安装
[7] Set passwords. Please set a password for a user for security.
Centos 6 Oracle 11G 超详细安装
[8] This example goes next with keeping default "File System".
Centos 6 Oracle 11G 超详细安装
[9] Configure recovery settings. If you'd like to change it, Set it.
Centos 6 Oracle 11G 超详细安装
[10] Configure sample schema and scripts. If you'd like to add them, Set them.
Centos 6 Oracle 11G 超详细安装
[11] Configure memory settings. After setting, go to next tab.
Centos 6 Oracle 11G 超详细安装
[12] Specify max processes.
Centos 6 Oracle 11G 超详细安装
[13] Set Character setting.
Centos 6 Oracle 11G 超详细安装
[14] Select a connection mode. If your server does not have many clients, Select Dedicated server mode. If your server has many clients, Select Shared server mode.
Centos 6 Oracle 11G 超详细安装
[15] Confirm parameters for Storage settings. If you'd like to change, set them.
Centos 6 Oracle 11G 超详细安装
[16] Configuration completed. Click "Finish" button to finish.
Centos 6 Oracle 11G 超详细安装
[17] Confirm settings and Click "OK" if all are OK.
Centos 6 Oracle 11G 超详细安装
[18] Database creation starts.
Centos 6 Oracle 11G 超详细安装
[19] After completing to create a database, Click "Exit" to finish.
Centos 6 Oracle 11G 超详细安装
[20] Access to the URL that is shown on finished screen above with web browser, then follwing screen is shown. Input a user name and password that you configured on the section [6].
Centos 6 Oracle 11G 超详细安装
[21] Just logined. It's possible to manage the database on here.
Centos 6 Oracle 11G 超详细安装

Create an init Script to make Oracle start automatically on system booting.
[1] Set environment variables for "oracle" user like follows.
[oracle@db01 ~]$vi /etc/oratab # end line: change
db01:/usr/oracle/app/product/11.2.0/dbhome_1: Y [oracle@db01 ~]$vi ~/.bash_profile # add follows to the end
export ORACLE_SID=db01
[2] Create an init Script with the root user.
[root@db01 ~]#vi /etc/rc.d/init.d/oracle # it's an example, edit it you like.
#!/bin/bash

# oracle: Start/Stop Oracle Database 11g R2
#
# chkconfig: 345 90 10
# description: The Oracle Database is an Object-Relational Database Management System.
#
# processname: oracle

. /etc/rc.d/init.d/functions

LOCKFILE=/var/lock/subsys/oracle
ORACLE_HOME=/usr/oracle/app/product/11.2.0/dbhome_1
ORACLE_USER=oracle

case "$1" in
'start')
    if [ -f $LOCKFILE ]; then
        echo $0 already running.
        exit 1
    fi
    echo -n $"Starting Oracle Database:"
    su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start"
    su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
    su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl start dbconsole"
    touch $LOCKFILE
    ;;
'stop')
    if [ ! -f $LOCKFILE ]; then
        echo $0 already stopping.
        exit 1
    fi
    echo -n $"Stopping Oracle Database:"
    su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"
    su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"
    su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
    rm -f $LOCKFILE
    ;;
'restart')
    $0 stop
    $0 start
    ;;
'status')
    if [ -f $LOCKFILE ]; then
        echo $0 started.
    else
        echo $0 stopped.
    fi
    ;;
*)
    echo "Usage: $0 [start|stop|status]"
    exit 1
esac

exit 0

[root@db01 ~]#chmod 755 /etc/rc.d/init.d/oracle
[root@db01 ~]#chkconfig --add oracle
[root@db01 ~]#chkconfig oracle on