在RHEL AS 3 上安装Oracle10g 参考手册
一配置RedHat AS 3
操作系统版本:Red Hat Enterprise Linux AS release 3 (Taroon)
Kernel 2.4.21-4.EL on an i686
按照常规来安装操作系统,记得要安装开发工具(gcc 等必要工具).
1.1 检查必要的硬件信息
表1: 必要的硬件信息检查:
检查内容最小值检查命令参考
物理内存512M # grep MemTotal /proc/meminfo
交换空间1.0 GB 或者2 倍内存大小# grep SwapTotal /proc/meminfo
/tmp 空间400 MB # df -k /tmp
软件所需空间2.5 GB # df -k (空间越大越好,如果是正式系统,应该进行详尽的规划)
数据库文件1.2 GB # df -k (空间越大越好,如果是正式系统,应该进行详尽的规划)
检查完如上各项之后, 应该修改核心参数.执行如下命令:
#vi /etc/sysctl.conf
#注释:#表示使用root 用户操作,$表示使用oracle 用户进行操作.提示符后面的蓝色
部分表示需要输入的命令,以下同。
在该文件末尾加入如下内容:


#-----------Begin from here--------------------------------------
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
#--------------End here--------------------------------------------
编辑完之后,保存,执行
# /sbin/sysctl -p
命令操作来使我们所做的变更生效.
注:上面kernel.shmmax/kernel.sem 等是典型的核心参数配置.您可能需要根据您的
实际环境进行适当的变动.
关于这些核心参数的说明在Oracle的(Oracle9i Installation Guide Release 2 (9.2.0.1.0) for
UNIX Systems)中有很详细的说明.
( http://download-west.oracle.com/doc...6167_01/toc.htm )
然后,应该检查一下上面的操作是否正确:
# /sbin/sysctl -a | grep sem
# /sbin/sysctl -a | grep shm
# /sbin/sysctl -a | grep file-max
# /sbin/sysctl -a | grep ip_local_port_range
1.2 为Oracle 用户设定Shell 的限制
一般来说,出于性能上的考虑,还需要需要进行如下的设定,以便改进Oracle 用户的有
关nofile(可打开的文件描述符的最大数)和nproc(单个用户可用的最大进程数量)
# vi /etc/security/limits.conf
# 添加如下的行
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536
添加如下的行到/etc/pam.d/login 文件:
session required /lib/security/pam_limits.so
编辑/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
之后,执行$ unlimit 验证一下.
1.3 检查并安装相关补丁
在这个版本的RHEL 上安装Oracle,必须要有几个软件包. 确认以下rpm 包都已经安装:
make-3.79
binutils-2.11
openmotif-2.2.2-16
setarch-1.3-1
compat-db-4.0.14.5
compat-gcc-7.3-2.96.122
compat-gcc-c++-7.3-2.96.122
compat-libstdc++-7.3-2.96.122
compat-libstdc++-devel-7.3-2.96.122
# rpm -qa | grep compat
# 在我的机器上输出如下:
compat-gcc-c++-7.3-2.96.122
compat-libstdc++-7.3-2.96.122
compat-libstdc++-devel-7.3-2.96.122
compat-glibc-7.x-2.2.4.32.5
compat-db-4.0.14-5
compat-gcc-7.3-2.96.122
# rpm -qa | grep openmotif
openmotif-devel-2.2.2-16
openmotif-2.2.2-16
# rpm -qa | grep setarch
setarch-1.3-1
上面显示的内容是在笔者已经安装了具体的RPM 包之后的结果.一般情况下,你的系统
上的输出结果和这个不同.如果个别包没有安装,把系统安装光盘mount 上,找到具体的软件
包(大多数在第三张光盘上),然后利用如下的命令来安装相应的包:
# rpm -ivh compat.....rpm

要额外注意的是,这些软件包之间是有依赖性的,先后的顺序要找好.否则会报告不能安装
的错误.
此外,最好验证一下gcc 和glibc 的版本(要求是gcc-3.2.3-2 或者更高)
#gcc -v
#rpm -q glibc
1.4 创建用户和相关的组
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# /usr/sbin/useradd -g oinstall -G dba oracle
如果只是测试目的的话,不创建oinstall 组也没什么. 不过还是规范一点比较好.如果
oracle 用户和dba 组等已经存在,作适当的调整即可.
1.5 检查并调整环境变量
登录为oracle 用户
# su – oracle
$ cd
$ vi .bash_profile
#添加如下内容,你的具体值应该不会和这个完全相同.
export ORACLE_BASE=/u/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1
export ORACLE_SID=TEST
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export LC_CTYPE=en_US.UTF-8
然后执行
$ source .bash_profile
使环境变量生效. /u/app/oracle 等目录应该建立好并做合适的授权.
二开始安装10g
mount 你的安装盘.(我一般都是把文件拷贝到系统中一个具体的位置,比如/u/install ) . 执行
 

$ sh /u/install/runInstaller
如果不能出现安装画面,查看本文后面的FAQ。
非常值得称道的是,10g 的安装相比以前的多了一个Checking operating system
certification 的步骤。特别实用。
安装文件会自动检测所需的条件。如果有不符合的地方,安装程序会报告给你.并会给出
具体原因。大大减少了出错的可能.下面是检查成功输出的内容:
Checking operating system certification
Expected result: One of redhat-2.1,redhat-3,UnitedLinux-1.0
Actual Result: redhat-3
Check complete. The overall result of this check is: Passed
==============================================
Checking kernel parameters
Checking for VERSION=2.4.9.25; found VERSION=2.4.21. Passed
Checking for shmall=2097152; found shmall=2097152. Passed
Checking for shmseg=10; found shmseg=4096. Passed
Checking for semmsl=250; found semmsl=250. Passed
Checking for semmni=128; found semmni=128. Passed
Checking for filemax=65536; found filemax=65536. Passed
Checking for shmmni=4096; found shmmni=4096. Passed
Checking for semmns=32000; found semmns=32000. Passed
Checking for semopm=100; found semopm=100.Passed
Checking for shmmin=1; found shmmin=1. Passed
Checking for shmmax=2147483648; found shmmax=2147483648. Passed
Check complete. The overall result of this check is: Passed
==============================================
Checking recommended operating system packages
Checking for make-3.79; found make-3.79.1-17. Passed
Checking for binutils-2.11.90.0.8-12; found binutils-2.14.90.0.4-26. Passed
Checking for gcc-2.96; found gcc-3.2.3-20. Passed
Checking for openmotif-2.1.30-11; found openmotif-2.2.2-16. Passed
Check complete. The overall result of this check is: Passed
==============================================
Checking recommended glibc version
Expected result: 2.2.4.31.7
Actual Result: 2.3.2.95.3
Check complete. The overall result of this check is: Passed
==============================================
=====================
Validating ORACLE_BASE location (if set)
Check complete. The overall result of this check is: Passed
==============================================
其他的步骤比较清晰,不再赘述.
最后系统会提示你运行root.sh 文件.按照提示做即可.
三FAQ (在Linux 平台安装Oracle 比较常见)

-----------------------以下为安装完成后容易出现的问题以及解决方法----------------

5 测试Oracle是否安装成功
5.1 启动Oracle服务
终端命令:sqlplus “/as sysdba”
SQL>startup
发现在该目录下没有initORCL.ora文件。
复制一个init.ora,命名为initORCL.ora
终端命令:cp init.ora  initORCL.ora

然后在重起oracle,
又出现错误:
ORA-00371: not enough shared pool memory, should be atleast 62198988 bytes
请修改:
vi $ORACLE_HOME/dbs/initORCL.ora将其中的shared_pool_size = 35000000改成62198988

重新启动
#sqlplus “/as sysdba”
SQL>startup
ora-00205:error in identifying conrolfile, check alert log for more info

解决方法:
SQL>show parameter control_files
SQL>CREATE CONTROLFILE
将$ORACLE_BASE/admin/$GID/pfile/init$SID.ora***************拷贝到$ORACLE_HOME/dbs下,命名为

init$SID.ora,即可解决。

关闭后,重新启动
SQL>shutdown
#sqlplus “/as sysdba”
SQL>startup
如上图,oracle启动正常!
5.2 访问数据库的Web界面
用浏览器打开http://mzl.net:1158/em
怎么打开呢,往下看。

终端启动emctl start dbconsole
问题又来了,看来是取西经九九八十一难啊!
查看图中的目录,原来没有OC4J_DBConsole_mzl.net_ORCL文件夹,但是有OC4J_DBConsole_mzl.net_orcl

文件夹,原来差个大小写,把orcl改成ORCL,再重起命令
#emctl start dbconsole
检查上图目录,原来目录下没有mzl.net_ORCL文件夹,但有mzl.net_orcl文件夹,把orcl改成ORCL,并修

改/u01/app/oracle/product/10.2.0/db_1/mzl.net_ORCL/sysman/
config/目录下的omsconfig.properties文件,把oracle.sysman.eml.mntr.emdRepSID
=orcl改成=ORCL.
终端启动:
#emctl start dbconsole
然后运行:
#lsnrctl start
看到上图,可以轻松一下了。

再次打开浏览器:http://mzl.net:1158/em
用sys和system都可以登陆。完毕!!

---------------------------------------------------------END,以上是部分问题解决方法,下面还有------------------------------------
3.1 不能启动安装界面
运行runInstaller 提示信息类似如下:
xlib:connection to "localhost:0.0" refused by server
xlib:client is not authorized to connect to server
Exception in thread "main" java.lang.InternalError:can't connect to x11
window server using "localhost:0.0"
at .......
解决办法:
设定你的DISPLAY 环境参数.
# export DISPLAY= your_IPaddress :0.0
把your_IPaddress 换成你的IP.
或者用root 简单的执行一下
# xhost +
(要注意这样会有安全上的隐患)
3.2 安装界面显示很多"口口"样子的乱码
解决办法:
查看locale 输出
# locale
LANG=en_US.UTF-8
LC_CTYPE=zh_CN.GB18030
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
执行
#export LC_CTYPE=en_US.UTF-8
然后重新调用安装程序.
3.3 用IE 登录Linux 服务器上的em 出现乱码
在Linux(Unix) 环境下成功安装了Oracle 10g,从windows 下用IE 浏览器登录10g 的
em, 按钮是"口口"这样的方框.
解决办法:
参考http://www.dbanotes.nethttp://oracle.chinaitlab.com/Orac....properties.htm
或者是参考这个linuxsir.org/bbs/showthr...&threadid=98591">http://www.linuxsir.org/bbs/showthr...&threadid=98591
后者比较彻底,前者比较"Quick & Dirty ".
3.4 创建数据库的时候出现ORA-03113 的错误
解决办法:
查看核心参数是否调整正确.参考http://www.dbanotes.nethttp://oracle.chinaitlab.com/ORA-03113.htm
3.5 RedHat 9 / FC1 等系统10g 不支持如何安装?
解决办法:
在10g 不支持的Linux 发行版上安装10g 的解决方法


1). 运行runInstaller -ignoreSysPrereqs,这样会跳过检查
2). 摘自www.puschitz.com 修改/etc/redhat-release文件:
#su - root
#cp /etc/redhat-release /etc/redhat-release.backup
#cat > /etc/redhat-release << EOF
Red Hat Enterprise Linux AS release 3 (Taroon)
EOF
安装完毕,执行如下操作:
#su - root
#cp /etc/redhat-release.backup /etc/redhat-release
3). http://www.dbanotes.nethttp://oracle.chinaitlab.com/10G-Beta-Install-Bug.htm
同样的思路,我们可以修改Oracle 的install/oraparam.ini 文件达到目的
3.6 如何关掉那些ocssd.bin 进程?
解决办法:
编辑/etc/inittab 文件(做好备份)
注释掉这一行:
h1:3:respawn:/etc/init.d/init.cssd run >/dev/null 2>&1
四参考信息
Werner Puschitz 的10g 安装指南
http://www.puschitz.com/InstallingOracle10g.shtml
Werner Puschitz 的站点的文章很翔实,如果您遇到了本文没有说清的问题,可以去看看那里.本文借鉴了该
站点不少内容。
ITPUB 论坛10g 版块Kamus 等的大作
http://www.itpub.net/forumdisplay.php?s=&forumid=70
关于核心参数等信息请查找Google
http://www.google.com

Oracle Database Quick Installation Guide 10 g Release 1 (10.1) for Linux x86
http://download-west.oracle.com/doc...0813_01/toc.htm
Oracle Database Installation Guide 10 g Release 1 (10.1) for UNIX Systems
http://download-west.oracle.com/doc...0811_02/toc.htm
DBAnotes.net 我的站点包括不少和Oracle 有关的信息