灌溉梦想,记录脚步
« »
2010 年 12 月 21 日技术合集

在RedHat系统以及衍生系统生安装Oracle 10g

版本:v1.0
创建时间:2010-12-21
修改时间:2010-12-22
文档描述:
在RedHat EL 3,4,5或者CentOS 3,4,5或者Oracle Enterprise Linux 4,5上安装Oracle 10g Release 2

这篇文章描述Oracle 10g R2在红帽企业版 3,4,5和Oracle企业版 4,5系统上的安装步骤,由于centos和redhat的关系,这篇文章同样适用于centos 3,4,5版本。
文中并不涉及数据库建立具体过程以及ASM存储的设置步骤。

安装过程分下面几个步骤:
一、安装环境的准备
二、下载软件并安装
三、安装后的配置
四、常见安装错误

一、安装环境的准备
1,创建oracle用户
以root用户登录系统创建oracle用户以及其所属的dba组

1
2
3
su -
# groupadd dba
# useradd -g dba oracle

2,系统参数设置

编辑/etc/sysctl.conf并添加下面内容

1
2
3
4
5
6
7
8
9
10
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144

注意:编辑完成后你需要重启系统,或者执行 ”sysctl -p“ 命令使配置生效。

对于RedHat (OEL,Centos,WBL)3 ,4版本,需要编辑 /etc/pam.d/login 并添加下行设置

1
session required /lib/security/pam_limits.so

对于RedHat(OEL,Centos)5版本,需要编辑文件 /etc/pam.d/login 并添加下行配置

1
session required pam_limits.so

编辑文件/etc/security/limits.conf 并添加下行配置

1
2
3
4
oracle    soft  nproc  2047
oracle    hard  nproc  16384
oracle    soft  nofile  1024
oracle    hard  nofile  65536

3,创建oracle安装目录

1
2
3
# mkdir /opt/oracle
# mkdir /opt/oracle/102
# chown -R oracle:dba /opt/oracle

4,设置oracle环境变量
编辑/home/oracle/.bash_profile 文件并添加下列配置

对于32位系统.

1
2
3
4
5
6
7
ORACLE_BASE=/opt/oracle
ORACLE_HOME=$ORACLE_BASE/102
ORACLE_SID=ORCL
LD_LIBRARY_PATH=$ORACLE_HOME/lib
PATH=$PATH:$ORACLE_HOME/bin
 
export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH

对于64位系统:

1
2
3
4
5
6
7
ORACLE_BASE=/opt/oracle
ORACLE_HOME=$ORACLE_BASE/102
ORACLE_SID=ORCL
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32
PATH=$PATH:$ORACLE_HOME/bin
 
export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH

保存文件并使环境变量生效

1
2
cd /home/oracle
. .bash_profile

二、下载软件和并安装
1,下载和安装必要的rpm包
检查系统必要的软件包安装情况,注意:在REHL 5(OEL 5,Centos 5)中pdksh文件包名称已经更改为ksh。

对于32位系统:

1
rpm -q binutils gcc glibc glibc-headers glibc-kernheaders glibc-devel compat-libstdc++ cpp compat-gcc make compat-db compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel setarch sysstat pdksh libaio libaio-devel --qf '%{name}.%{arch}\n'|sort

对于64位系统

1
rpm -q binutils compat-db compat-libstdc++-33 glibc glibc-devel glibc-headers gcc gcc-c++ libstdc++ cpp make libaio ksh elfutils-libelf sysstat libaio libaio-devel setarch --qf '%{name}.%{arch}\n'|sort

32位系统对于的软件包全称

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
binutils.i386
compat-gcc-7.3-2.96.128.i386
compat-gcc-c++-7.3-2.96.128.i386
compat-libstdc++-7.3-2.96.128.i386
compat-libstdc++-devel-7.3-2.96.128.i386
cpp.i386
gcc.i386
gcc-c++.i386
glibc.i386
glibc-common.i386
glibc-devel.i386
glibc-headers.i386
glibc-kernheaders.i386
libstdc++.i386
libstdc++-devel.i386
libaio
libai-devel.i386
pdksh.i386
setarch.i386
sysstat.i386

64位系统对应的软件包全称

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
binutils.x86_64
compat-db.x86_64
compat-libstdc++-33.i386
compat-libstdc++-33.x86_64
cpp.x86_64
elfutils-libelf.i386
elfutils-libelf.x86_64
gcc-c++.x86_64
gcc.x86_64
glibc-devel.i386
glibc-devel.x86_64
glibc-headers.x86_64
glibc.i686
glibc.x86_64
ksh.x86_64
libaio-devel.i386
libaio-devel.x86_64
libaio.i386
libaio.i386
libaio.x86_64
libaio.x86_64
libstdc++.i386
libstdc++.x86_64
make.x86_64
setarch.x86_64
sysstat.x86_64

如果对于软件包并没有安装,可以通过下面地址寻找需要的软件包,这里特别提供一个较快的地址:http://mirrors.163.com

1
2
3
4
5
6
7
RedHat Enterprise Linux 3:ftp://ftp.redhat.com/pub/redhat/linux/enterprise/3/en/os/i386/SRPMS/
RedHat Enterprise Linux 4:ftp://ftp.redhat.com/pub/redhat/linux/enterprise/4/en/os/i386/SRPMS/
White Box Linux 3:ftp://ftp.esat.net/mirrors/whiteboxlinux.org/3.0/en/os/i386/RedHat/RPMS/
White Box Linux 4:ftp://ftp.esat.net/mirrors/whiteboxlinux.org/4/en/os/i386/WhiteBox/RPMS/
Centos Linux 3:http://centos.arcticnetwork.ca/3/os/
Centos Linux 4:http://centos.arcticnetwork.ca/4/os/
Centos Linux 5:http://centos.arcticnetwork.ca/5/os/

这个这个实例描述怎么创建个rpm包通过源码包,前提是gcc,make,rpm-build软件包已经安装

1
2
3
4
# rpm -ivh libaio-0.3.96-3.src.rpm
# cd /usr/src/redhat/SPECS/
# rpmbuild -bb --target i386 libaio.spec
# cd ../RPMS/i386/

安装rpm包命令

1
# rpm -ivh <package_name>.rpm

2。在oracle 官网上下载oracle 10g R 2

对于32位软件包的解压方式:

1
unzip 10201_database_linux32.zip

对于适用于64位系统软件包的解压方式

1
2
gunzip 10201_database_linux_x86_64.cpio.gz
cpio -idmv <10201_database_linux_x86_64.cpio

对于 RHEL 5,Centos 5版本系统,要更改 database/inistall/oraparam.ini文件添加 ”redhat-5“ 为 ”Certified Versions“ 内容
示例:

1
2
[Certified Versions]
Linux=redhat-3,SuSE-9,redhat-4,UnitedLinux-1.0,asianux-1,asianux-2,redhat-5

3,进行安装过程
现在系统已经做好了安装oracle的准备,通过下面命令开启安装过程。

1
2
cd db/Disk1/
./runInstaller

注意:你可能收到”Warning“状态提示在安装检查中,这个会发生在没有升级到版本3或4的RHEL 3系统中,你可以在选择“User verified”后继续安装

三、安装之后的配置
1,设置自动启动和管理数据实例和监听

以root用户登录,并修改/etc/oratab配置并更改最后字符为Y。
ORCL:/opt/oracle/102:Y

以root用户在/etc/init.d/目录中创建文件”oracle“,并添加下列配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/bash
#
# oracle Init file for starting and stopping
# Oracle Database. Script is valid for 10g and 11g versions.
#
# chkconfig: 35 80 30
# description: Oracle Database startup script
 
# Source function library.
 
. /etc/rc.d/init.d/functions
 
ORACLE_OWNER="oracle"
ORACLE_HOME="/opt/oracle/102"
 
case "$1" in
start)
echo -n $"Starting Oracle DB:"
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
echo "OK"
;;
stop)
echo -n $"Stopping Oracle DB:"
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"
echo "OK"
;;
*)
echo $"Usage: $0 {start|stop}"
esac

以root用户执行下面命令设置权限和添加自动启动:

1
2
chmod 750 /etc/init.d/oracle
chkconfig --add oracle --level 0356

2,设置Oracle EM的自动启动和关闭

以root用户登录,并在/etc/init.d/目录中创建文件”oraemctl“,并添加下列配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/bash
#
# oraemctl Starting and stopping Oracle Enterprise Manager Database Control.
# Script is valid for 10g and 11g versions.
#
# chkconfig: 35 80 30
# description: Enterprise Manager DB Control startup script
 
# Source function library.
 
. /etc/rc.d/init.d/functions
 
ORACLE_OWNER="oracle"
ORACLE_HOME="/opt/oracle/102"
 
case "$1" in
start)
echo -n $"Starting Oracle EM DB Console:"
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl start dbconsole"
echo "OK"
;;
stop)
echo -n $"Stopping Oracle EM DB Console:"
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
echo "OK"
;;
*)
echo $"Usage: $0 {start|stop}"
esac

以root用户执行下列命令设置权限并添加自动启动:

1
2
chmod 750 /etc/init.d/oraemctl
chkconfig --add oraemctl --level 0356

3,你可能需要使用rlwrap(oracle命令行增强)工具托管sqlplus和rman;

适用于32位软件包的下载地址:http://ivan.kartik.sk/oracle/download_from.php?site_id=5
适用于64为软件包的下载地址:http://ivan.kartik.sk/oracle/download_from.php?site_id=9

1
2
3
4
5
6
su -
# rpm -ivh rlwrap*.rpm
# exit
echo "alias sqlplus='rlwrap sqlplus'" >> /home/oracle/.bash_profile
echo "alias adrci='rlwrap rman'" >> /home/oracle/.bash_profile
. /home/oracle/.bash_profile

四、常见安装错误

1,图形安装界面命令回车后,若提示DISPLAY not set。
完整错误提示为:(DISPLAY not set. Please set the DISPLAY and try again. )
可以通过下面方法解决:
方法一:以root用户登录,输入”export DISPLAY=:0.0″
方法二:以root用户登录,输入”xhost +“

2,图形安装界面命令回车后,若提示libXP.so.6没有找到,
完整错误提示为:(Exception java.lang.UnsatisfiedLinkError: /tmp/OraInstall2005-07-07_09-40-45AM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory occurred.. java.lang.UnsatisfiedLinkError: /tmp/OraInstall2005-07-07_09-40-45AM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory )
通过下面方法解决:
若是RH 3,WB 3,Centos 3则需要安装 XFree86-libs-4.3.0-81.EL.i386.rpm软件包和依赖软件包
若是RH 4,WB 4,Centos 4则需要安装 xorg-x11-deprecated-libs-6.8.2-1.EL.13.6.i386.rpm软件包
若是RH 5,OEL 5,Centos 5 则需要安装 libXp-1.0.0-8.1.el5.i386.rpm软件包

3,图形安装界面命令回车后,若提示libios.so.1没有找到,
完整错误为:(error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory )
可通过安装libaio和libaio-devel软件包解决,如果错误依然存在,则需要以root用户运行”ldconfig“命令

4,若在安装检查过程中提示某些结果结果检查失败,可以看到相应提示,
例如:(Check complete. The overall result of this check is: Failed <<<< Solution: Install missing package or set check system parameters (See reason of failure). ) 原因可能是某些参数值设置错误,也可能是缺少相应软件,根据情况解决后重新检查即可。

日志信息 »

该日志于2010-12-21 18:19由 kevin 发表在技术合集分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下引用到你的网站或博客,还可以通过RSS 2.0订阅这个日志的所有评论。

没有评论

发表评论 »