《在64-bit RHEL5上安装Oracle 11gR2》
文档说明:本文档综合Red Hat Enterprise Linux 5 (RHEL5)操作系统安装及Oracle Database 11g Release 2的安装。文档内容适合在测试服务器上安装Oracle数据库以供实验、测试使用,对于生产数据库,部分参数需要DBA根据生产环境手工调试。若在生产环境安装RHEL操作系统和Oracle数据库,请按照公司规章制度和实际情况或者参考官方文档来规划。
以下为操作系统及数据库安装步骤及说明。
文档目的:有好几个非DBA的同事问我怎么在Linux下安装Oracle 11G很多人觉得简单,可并不是所有人都这么认为。
概述
此文档内容涉及RHEL5操作系统安装及Oracle Database 11gR2的安装。我们将安装64bitRHEL操作系统及Oracle 64-bit数据库。
官方安装文档可供参考:
64-bit(x86_64)Oracle Database安装文档
Oracle Database Installation Guide 11g Release 2 (11.2) for Linux
Oracle Database Quick Installation Guide 11g Release 2 (11.2) for Linux x86_64
Red Hat Enterprise Linux文档
Installing Red Hat Enterprise Linux 5 for all architectures Edition 3.1
Installing Red Hat Enterprise Linux 5 for all architectures Edition 3.1
本文档指定如下参数,实际生产环境需根据需要进行相应配置:
ORACLE_BASE : /u01/app/oracle
ORACLE_HOME : /u01/app/oracle/product/11.2.0/db_1
ORACLE_SID : UPRR
操作系统安装
由于RHEL5图形化安装操作界面非常容易理解,操作系统安装部分介绍将相对简略,只对重点部分进行详述。详细安装过程可参考概述部分中RHEL官方安装文档。
请注意,如果有专门的SA负责系统安装,请提前通知其以下在安装过程中的注意事项,同时要求其安装必要RPM包。
安装过程:
1. 插入安装光盘,系统会进入引导界面,引导安装RHEL操作系统。
2. 从引导界面到语言选择都可根据需要选择。
3. 检测之前安装:这一部分,通常会选择全新安装而非升级。
4. 磁盘分区:这一部分需非常注意,尤其是SWAP分区的大小,可参照以下表格修改。
可用RAM | Swap Space |
1GB-2GB | 1.5*RAM |
2GB-4GB | 1*RAM |
>8GB | 0.75*RAM |
1. 网络配置:如果安装数据库的主机被用作数据库服务器,网络配置阶段请勿使用DHCP,需要分配一个静态IP。选中Enable IPv4 support选项,取消Use dynamic IP configuration (DHCP)选项和Enable IPv6 support选项。
以本机为例:
IPv4 Address: 192.168.0.100
Prefix (Netmask): 255.255.255.0
Hostname: RESOFT
2. Package安装部分,选择Customize now,勾选中以下Package Groups:
Desktop Environments
GNOME Desktop Environment
Applications
Editors
Graphical Internet
Text-based Internet
Development
Development Libraries
Development Tools
Legacy Software Development
Servers
Server Configuration Tools
Base System
Administration Tools
Base
Java
Legacy Software Support
System Tools
X Window System
3. 全部配置好后,安装系统,然后会要求重启机器。
4. 重启完成后,对以下部分进行重点配置:
1. Firewall: Disabled
2. SELinux: Disabled
3. Kdump: Disabled
5. 配置完成。
根据以上几步,我们可以在短时间内完成RHEL5操作系统的安装,快速安装的前提是操作系统管理员及网络管理员对系统的安装进行了详细的规划。这包括分区、IP地址分配(请参照http://www.cnblogs.com/AlbertCQY/archive/2013/04/02/2996651.html)等。可能还有部分package在系统安装过程中并未安装,我们将在安装数据库过程中进行安装。
Oracle数据库安装
操作系统配置
1. 以Root用户身份登录操作系统:
2. 内核检查
[root@RESOFT~]# uname -rm
2.6.18-128.el5 x86_64
3. Swap空间检查:
Swap空间配置应符合下表要求:
可用RAM | Swap Space |
1GB-2GB | 1.5*RAM |
2GB-4GB | 1*RAM |
>8GB | 0.75*RAM |
通过以下命令可查看内存大小
[root@RESOFT~]# cat /proc/meminfo | grep MemTotal
MemTotal: 4049876 kB
通过以下命令可查看Swap空间大小
[root@RESOFT~]# cat /proc/meminfo | grep SwapTotal
SwapTotal: 5116692 kB
1. 检查/tmp目录
/tmp目录的空闲空间应该等于或大于400MB
[root@RESOFT~]# df -h /tmp
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 19G 2.2G 16G 13% /
1. 内核参数
在安装Oracle Database前,需要在/etc/sysctl.conf文件中修改/添加如下内核参数:
kernel.shmmax =2073536512(建议) 默认值为536870912
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304(建议) 官方文档建议最小值:262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
修改完以上配置后,可以通过重启系统的方式使参数生效,也可以执行下面的命令,无需重启机器便可使参数生效:
# /sbin/sysctl -p
1. 对Oracle用户,配置Shell Limites
为了让Oracle数据库在Linux系统上获得更佳的表现,Oracle推荐对Shell Limits进行如下配置:
Shell Limit | Item in limits.conf | Hard Limit |
nofile | 65536 | |
Maximum number of processes available to a single user | nproc | 16384 |
可用过执行以下两段命令,修改配置:
cat >> /etc/security/limits.conf <<EOF
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
EOF
cat >> /etc/pam.d/login <<EOF
# Added for Oracle Shell Limits
session required /lib/security/pam_limits.so
session required pam_limits.so
EOF
修改默认的Shell startup file
可以使用如下命令查看当前shell
Ps
Echo $SHELL
若使用Bourne, Bash或Korn shell,则需要修改/etc/profile,执行以下命令:
cat >> /etc/profile <<EOF
if [ \$USER = "oracle" ]; then
if [ \$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
EOF
若使用的是C shell(csh或tcsh),则需要修改/etc/csh.login文件:
cat >> /etc/csh.login <<EOF
if ( \$USER == “oracle” ) then
limit maxproc 16384
limit descriptors 65536
endif
EOF
1. 检查防火墙是否关闭
如果忘记在安装系统过程中是否disabled firewall,可通过以下命令查看:
# /etc/rc.d/init.d/iptables status
如果防火墙没有关闭,可以通过以下命令关闭:
# /etc/rc.d/init.d/iptables stop
# chkconfig iptables off
1. 网络配置
确保节点名称不出现在loopback address中
127.0.0.1 RESOFT localhost.localdomain localhost
删除红色部分
127.0.0.1 localhost.localdomain localhost
1. 为Oracle创建组及用户:
# groupadd -g 501 oinstall
# groupadd -g 502 dba
# groupadd -g 503 oper
# useradd -m -u 501 -g oinstall -G dba,oper -d /home/oracle -s /bin/bash -c “Oracle Software Owner” oracle
# id oracle
# passwd oracle
1. 验证nobody用户是否存在
# id nobody
uid=99(nobody) gid=99(nobody) groups=99(nobody)
如果不存在,需要使用以下语句添加:
1. 创建Oracle Base目录
这个目录用来存储Oracle Database软件
# mkdir -p /u01/app/oracle
# chown -R oracle:oinstall /u01/app
# chmod -R 775 /u01/app
1. 创建目录存储数据库文件(data file/backup file)
# mkdir -p /u02/oradata
# chown oracle:oinstall /u02/oradata
# chmod 775 /u02/oradata
# mkdir -p /u02/flash_recovery_area
# chown oracle:oinstall /u02/flash_recovery_area
# chmod 775 /u02/flash_recovery_area
1. 配置Oracle用户登录脚本(.bash_profile)
以Oracle用户身份登录:
# su – oracle
修改如下参数:
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
export JAVA_HOME=/usr/local/java
# User specific environment and startup programs
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_PATH=$ORACLE_BASE/dba_scripts/common/sql:.:$ORACLE_HOME/rdbms/admin
export ORACLE_SID=UPRR
export PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH=${PATH}:$ORACLE_BASE/dba_scripts/common/bin
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS10=$ORACLE_HOME/nls/data
export NLS_DATE_FORMAT=”DD-MON-YYYY HH24:MI:SS”
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp
1. 安装相应rpm包
64-bit的RHEL5系统中,需要安装以下包:
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)
libstdc++-4.1.2
libstdc++-4.1.2 (32 bit)
libstdc++-devel 4.1.2
make-3.81
numactl-devel-0.9.8.x86_64
sysstat-7.0.2
检查包是否已经安装:
rpm -q binutils compat-libstdc++ elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make numactl-devel sysstat
可使用以下两种方式安装rpm包:
1. 插入系统安装盘,挂载安装盘:
mkdir -p /media/cdrom
mount -r /dev/cdrom /media/cdrom
cd /media/cdrom/Server
使用如下命令安装未安装的包:
Rpm –Uvh 包名称
下载Oracle Database 11g R2软件
1. 若无Metalink账号,可注册OTN账号,登录Oracle官网下载Oracle 11.2.0.1软件。
Oracle Database 11g Release 2 (11.2.0.1.0) for Linux x86-64
2. 若有Metalink账号,可直接下载Oracle 11.2.0.3软件:
如果你有Metalink账号必是专业人士。
先创目录,以保存压缩包:
# su – oracle
$ mkdir -p ~oracle/orainstall
$ cd ~oracle/orainstall
下载安装软件后,解压缩:
Unzip p10098816_112020_Linux-x86-64_1of7.zip
Unzip p10098816_112020_Linux-x86-64_2of7.zip
安装Oracle数据库软件
在以下的步骤中,我们只安装数据库软件,不创建数据库。
在安装前我们要确认连接的服务器是否是我们要安装数据库的服务器,同时打开X server连接。
以root用户登录
su –
验证服务器:
hostname
允许X server连接:
xhost +
access control disabled, clients can connect from any host
以oracle用户登录
su – oracle
可用过windows下的ipconfig命令或linux下的who命令查看远程用户ip,用以替换<your local workstation>
如果使用远程用户连接,需要设置DISPLAY变量,以允许图形化界面在远程用户主机上显示。
DISPLAY=<your local workstation>:0.0
export DISPLAY
使用以下命令启动runInstaller安装程序:
/home/oracle/orainstall/database/runInstaller -ignoreSysPrereqs -ignoreInternalDriverError
多数情况不用加-ignoreSysPrereqs –ignoreInternalDriverError
之所以加-ignoreInternalDriverError,请参考:
INS-30060: Check for group existence failed.
Cause: Unexpected error occurred while trying to check for group existence.
Action: Refer to the logs or contact Oracle Support Services. Note for advanced users: Launch the installer by passing the following flag ‘-ignoreInternalDriverError’.
或者,不使用X-server工具,直接进入RHEL5图形环境去安装
./runInstaller
1. Configure Security Updates
去除勾选,点击NEXT。
2. Download Software Updates
选择Skip software updates,点击NEXT。
3. Installation Option
选择只安装数据库软件,点击NEXT。
4. Grid Installation Options
选择单实例数据库安装,点击NEXT。
5. 选择产品语言
默认英语,点击NEXT。
6. Database Edition
选择企业版,然后选择相应选件,点击OK,NEXT。
7. Installation Location
软件自动选择ORACLE_BASE与ORACLE_HOME目录,我们之前已经在操作系统配置部分已经配置了oracle用户的/home/oracle/.bash_profile文件,其中指定了ORACLE_BASE与ORACLE_HOME目录。所以在此步中系统会自动选择路径。
8. Create Inventory
9. Operating System Groups
选择操作系统组。
10. Prerequisite Checks和Summary
如果系统配置有问题(系统内核参数设置有误、磁盘空间不足、内存不足、某些包未安装全),会在Prerequisite Checks这一步给出提示。
在Summary中,有对整体安装的配置概要。
11. Install Product
安装产品
12. 执行脚本
以root用户身份登录,执行图示的两个脚本:
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/11.1.0/db_1/root.sh
13. 安装成功
执行完脚本后,点击OK,提示Oracle Database安装成功!
安装数据库补丁集
有metalink 账号的朋友可以下载最新的PSU补丁。如果只是测试直接跳过。
请按照patchs 中的readme 文档来安装psu补丁。
创建数据库实例
以oracle 用户登录,执行DBCA命令
第一次安装之前会提示没有监听程序,那么按照监听创建向导创建监听即可。(默认步骤即可)
[oracle@resoft ~]$ dbca
输入数据库实例名:UPRR
最后点击finish