RHEL5 上 安装Oracle 10.2.0.1

本文提供在Red Hat Enterprise Linux 5 (RHEL5) 上安装Oracle 10g (10.2.0.1) 的详细步骤,包括系统内核参数调整、所需软件包安装、用户及权限设置等关键环节,并列举了解决安装过程中可能出现的典型问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RHEL5 上 安装 Oracle 10.2.0.1

OS:redhat server5

DB:oracle10.2.0.1


这两天在Red Hat Enterprise Linux 5 (RHEL5)上安装了Oracle 10g(10.2.0.1)

1、下载ORACLE安装文件:

可以从Oracle的主页上下载:
Oracle Database 10g Release 2 (10.2.0.1) Software
解压文件

解压下载好的文件:

unzip 10201_database_linux32.zip

你可以把他解压到一个目录中,例如 "db/Disk1" 或者 "database".
2、RHEL5 操作系统内核参数调整:

以root的身份完成下面的工作:

修改内核参数

增加下面的内容到文件 /etc/sysctl.conf 中:

kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
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


运行下面的命令使得内核参数生效:

/sbin/sysctl -p

增加下面的内容到文件 /etc/security/limits.conf 文件中:
# 20091010 add content for oracle install
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536

增加下面的内容到文件 /etc/pam.d/login 中:
# 20091010 add content for oracle install
session required /lib/security/pam_limits.so

因为SELINUX对oracle有影响,所以把secure linux设成无效,编辑文件 /etc/selinux/config :
修改/etc/selinux/config文件来关闭linux防火墙,确保SELINUX设置如下:
SELINUX=disabled
当然你也可以用图形界面下的工具 (系统 > 管理 > 安全级别和防火墙). 选择SELinux页面并且设为无效.


安装下面的包:

# 从RedHat AS5 光盘1
cd /media/cdrom/Server
rpm -Uvh setarch-2*
rpm -Uvh make-3*
rpm -Uvh glibc-2*
rpm -Uvh libaio-0*
cd /
eject

# 从RedHat AS5 光盘2
cd /media/cdrom/Server
rpm -Uvh compat-libstdc++-33-3*
rpm -Uvh compat-gcc-34-3*
rpm -Uvh compat-gcc-34-c++-3*
rpm -Uvh gcc-4*
rpm -Uvh libXp-1*
cd /
eject

# 从RedHat AS5 光盘3
cd /media/cdrom/Server
rpm -Uvh openmotif-2*
rpm -Uvh compat-db-4*
cd /
eject


创建 Oracle 组和用户帐户

接下来,创建用于安装和维护 Oracle 10g的 Linux 组和用户帐户。用户帐户将称为 oracle,而组将称为 oinstall 和 dba。执行以下命令:

# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# /usr/sbin/useradd -m -g oinstall -G dba oracle
# passwd oracle
# id oracle
uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba)

设置 oracle 帐户的口令:输密码的时候都是没有回显的,输完就回车就好。
# passwd oracle
Changing password for user oracle.
New password:
Retype new password:
passwd:all authentication tokens updated successfully.

(3)创建oracle的安装目录并改好权限
#mkdir -p /opt/oracle/product/10.2.0/db_1
#chown -R oracle.oinstall /opt/oracle
#chmod -R 755 /opt/oracle/product/10.2.0/db_1


[root@ywdb /]# mkdir -p /opt/oracle/oradata
[root@ywdb /]# chown -R oracle.oinstall /opt/oracle/oradata
[root@ywdb /]# chmod -R 755 /opt/oracle/oradata/


为oracle 的官方只支持到RHEL4为止,所以要修改版本说明,编辑文件 /etc/redhat-release 把Red Hat Enterprise Linux Server release 5 (Tikanga) 改成版本
Red Hat Enterprise Linux Server release 4 (Tikanga),当然oracle安装完成后,要修改回来5。

 


然后用oracle用户登陆做之后的操作。
安装登录到oracle 用户并且配置环境变量(增加下面的内容到文件 .bash_profile

# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR

ORACLE_BASE=/opt/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME
ORACLE_SID=ywtest2db; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=$PATH:$ORACLE_HOME/bin; export PATH
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JREORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi

在oracle用户下,执行source .bash_profile文件,立即生效。

修改/etc/hosts
把127.0.0.1改为具体的ip地址,如(192.168.5.253),注意最好去掉那些无用的,格式就是

ip地址   主机名   localhost

特殊处理,如果没有下面这些步骤,oracle在安装时,可能出现问题
#vi /etc/inittab
把 id:5:initdefault: 修改为 id:3:initdefault 等oracle安装完成后,可以修改回来
#reboot(重启)

 

环境变量,设成英文或中文

export LC_ALL=en_US或export LC_ALL=zh_CN


中文乱码问题解决:
另外编辑/etc/sysconfig/i18n成下面这个样子:
LANG="zh_CN.GB18030"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:zh_TW.Big5:zh_TW:zh:en_US.iso885915:en_US:en"
SYSFONT="lat0-sun16"
SYSFONTACM="iso15"


----------------------------------------------
在文本模式下 用root登录
# startx
# xhost +
# su - oracle
$ export DISPLAY="192.168.1.253:0.0"
$ export LANG=en_US
$ ./runInstaller
/opt/oracle/oralnventory

可以使用VNC客户端安装oracle
1、在服务器端启动vncserver启动
2、编辑 vi  .vnc/xstartup
3、加入 startkde & 一行
4、在服务器端杀死进程 vncserver -kill :1
5、重启vncserver
-----------------------------------------------


安装时要注意:在安装到最后处理sqlplus时,系统会要求切换用户root上,执行两相script.

备注:


1。为了让其他计算机能够访问,必须把下面端口打开,端口1521(用于连接数据库),端口1158(如果要用浏览器访问enterprise managment),端口5560(如果要用浏览器访问isqlplus)。你可以用图形界面下的工具 (系统 > 管理 > 安全级别和防火墙). 选择防火墙页面,并且增加上面的端口。
2。如果想开机时自动启动oracle的话,还需另外配置自动启动的脚本。

密码:system88

1)、利用rc.local。直接把dbstart加到rc.local中,实现开机自动启动。这里需要注意是必须以oracle启动该脚本。
用root编辑/etc/rc.local,添加下面一行:
su - oracle -c "/opt/oracle/product/10.2.0/db_1/bin/dbstart"
su - oracle -c "/opt/oracle/product/10.2.0/db_1/bin/emctl start dbconsole"
这里/opt/oracle/product/10.2.0/db_1需要替换成实际的ORACLE_HOME
保存并退出后,reboot服务器测试一下,可以看到,当系统启动以后oracle监听、实例和em都已经起来了

 

三、常见问题(FAQ)
错误1
在./runInstaller运行时出现,
错误描述:Exception in thread "main" java.lang.UnsatisfiedLinkError: /tmp/OraInstall2007-09-25_10-54-49PM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at sun.security.action.LoadLibraryAction.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.awt.NativeLibLoader.loadLibraries(Unknown Source)
at sun.awt.DebugHelper.<clinit>(Unknown Source)
at java.awt.Component.<clinit>(Unknown Source)
这个错误的出现原因是因为RatHat Enterprise Linux 5标准安装时,缺少libXp-1.0.0-8.i386.rpm包的缘故,我安装时尽管选的是全安装,还是出现这个问题。在光盘的Server文件下找到libXp-1.0.0-8.i386.rpm,在该目录下使用命令:
错误2
在oracle Universal Installer:Install过程中出现,
错误描述:
Exception String: Error in invoking target 'all_no_orcl ihsodbc' of makefile '/oracle/oracle/product/10.2.0/rdbms/lib/ins_rdbms.mk'. See '/oracle/oraInventory/logs/installActions2007-09-25_03-42-11AM.log' for details.
Exception Severity: 1
这个原因也是由于缺少相应的包compat-libstdc++-33-3.2.3-61.i386.rpm,手动安装吧。进到光盘的Sever目录下,运行下面命令:

错误3:启动监听报错
-bash-3.2$ lsnrctl start
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 12-OCT-2009 18:13:24
Copyright (c) 1991, 2005, Oracle.  All rights reserved.
Starting /opt/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 10.2.0.1.0 - Production
System parameter file is /opt/oracle/product/10.2.0/db_1/network/admin/listener.ora
Log messages written to /opt/oracle/product/10.2.0/db_1/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.100.62)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))
 
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.100.62)(PORT=1521)))
TNS-12547: TNS:lost contact
 TNS-12560: TNS:protocol adapter error
  TNS-00517: Lost contact
   Linux Error: 104: Connection reset by peer
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0)))
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   Linux Error: 111: Connection refused
-bash-3.2$
原因是/etc/hosts文件里的 127.0.0.1  注释掉了。       

在网上搜索一下,另一种TNS-12547: TNS:lost contact的情况,具体错误如下:
TNS-12547: TNS:lost contact
TNS-12560: TNS:protocol adapter error
TNS-00517: Lost contact
Linux Error: 32: Broken pipe
原因:listener.log文件超过2G
解决方法:清空日志文件
[oracle@chicago ~]$ cd $ORACLE_HOME/network/log
[oracle@chicago log]$ cat /dev/null > listener.log

[root@localhost  Server ]#rmp -ivh compat-libstdc++-33-3.2.3-61.i386.rpm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值