Oracle11g安装手册



[1]安装Oracle必需的依赖包(用户为root)[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

(用户为root)[root@db01 ~]# vi /etc/sysctl.conf
用#号注释掉下面3句:
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0

在文件结尾处增加下面内容:
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 -p

为Oracle创建用户和组(用户为root)[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

设置oracle这个用户的密码,此用户用于安装和运行Oracle数据库。
[root@db01 ~]# passwd oracle

添加认证库:
[root@db01 ~]# vi /etc/pam.d/login
在第14行附近增加红色内容:
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
在文件尾部添加:

oracle   soft   nproc   2047
oracle   hard   nproc   16384
oracle   soft   nofile   1024
oracle   hard   nofile   65536

[root@db01 ~]# vi /etc/profile
在文件尾部添加:

if [ $USER = "oracle" ]; then
      if [ $SHELL = "/bin/ksh" ]; then
           ulimit -p 16384
           ulimit -n 65536
      else
           ulimit -u 16384 -n 65536
      fi
fi
[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 ~]$ mkdir /usr/oracle/tmp

[oracle@db01 ~]$ vi ~/.bash_profile
在文件尾部添加:

umask 022
export ORACLE_BASE=/usr/oracle/app

[5]使用oracle用户登陆,解压缩拷贝到该用户home目录下的安装包
[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
 
[6]忽略email和oracle官网密码,直接next
[7]选择 "Install database software only"
[8]选择 "Single Instance Database installation"
[9]产品语言选择English
[10]数据库版本选择"Enterprise Edition",随后一路next
[11]oracle依赖库检测,选择ignore All,随后一路next
[12]提示执行配置脚本,另开一个Terminal,su 到root用户身份,执行提示的两个脚本,回车确认即可。
[root@db01 tmp]# /usr/oracle/oraInventory/orainstRoot.sh
[root@db01 tmp]# /usr/oracle/app/product/11.2.0/dbhome_1/root.sh

[13]配置oracle用户的环境变量(用户为oracle)[oracle@db01 ~]$ vi ~/.bash_profile
在文件尾部添加:

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

[14]配置oracle网络监听器,用于接受远程的客户端连接。随后一路next
[oracle@db01 ~]$ netca
如果在设置1521端口的时候,提示该端口被占用,可能设置无效,是否继续时,选择是。
随后一路next,结束。
[15]修正oracle网络监听器的配置文件。
[oracle@db01 ~]$
vi /usr/oracle/app/product/11.2.0/dbhome_1/network/admin/listener.ora
修改HOST的值,红色部分是修改后的样子:

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = dbserver.localdomain)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = /usr/oracle/app


[oracle@db01 ~]$ vi /etc/hosts
在文件尾部添加:
192.168.100.64  dbserver.localdomain


[17]重新启动oracle 网络监听器
[oracle@db01 ~]$ lsnrctl stop
[oracle@db01 ~]$ lsnrctl start

[18]安装数据库
[oracle@db01 ~]$ dbca
随后一路next
在设置全局数据库名和SID(远程客户端连接的必要参数)界面时:
Grobal Database name :hcorcl
SID:hcorcl

[19] 在设置密码界面时,为4个用户选择统一密码管理(例如:orcl):
 

[20] 选择字符编码界面时,选择Use Unicode(AL32UTF8):
(WE8MSWIN1252是西文字符集,如果OS是英文的,oracle默认的就是WE8MSWIN1252,如果出现中文,就会是乱码)
 
随后一路next
[21]设置oracle开机自动启动
[oracle@db01 ~]$ vi /etc/oratab
修改前:
db01:/usr/oracle/app/product/11.2.0/dbhome_1:N
修改后
db01:/usr/oracle/app/product/11.2.0/dbhome_1:Y

[oracle@db01 ~]$ vi ~/.bash_profile
在文件尾部添加:

export ORACLE_SID=hcorcl

注:hcorcl就是在dbca安装时设置的SID



创建开机启动的脚本,要用root用户身份:
[root@db01 ~]# vi /etc/rc.d/init.d/oracle
将下面红色内容添加进去:
#!/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

注:以后在Terminal就可以用oracle start|stop 等命令来开启或关闭oracle的数据库服务。



你可能感兴趣的:(对日)