RedHat5上Oracle 10g生产环境的搭建
kingSmart studio 梧桐
摘要:本文论述了在RedHat5环境下oracle10g的安装。同时对常见的一些问题给出了解决方案。
前言:
Oracle10g推出市场已经有很多年的历史了。历经了多年的市场检验,得到了众多用户的认可。作为市场上的高端数据库产品,oracle数据库通常是运行在Unix/Linux平台上。因此掌握在linux上oracle的管理是每个oracle DBA必备的技能。本文是oracle的安装和创建部分。
读者对象:oracle 开发人员、DBA
本文主要有Linux(RedHat5)环境的搭建、oracle软件的安装和数据库的创建三部分组成。
一、RedHat5环境的搭建
- 关于RedHat5操作系统的安装部分,本文略。
- 网络的配置
1)在使用客户端比如SecureCRT连接Linux主机时,主机IP地址和客户端IP地址必须在同一个网段。
以Root用户登录RedHat,打开/etc/rc.local文件,添加字段ifconfig eth0:1 192.168.1.11.
2)当机器启动时,在可以查询DNS以前,机器需要查询一些主机名到IP地址的匹配。这些匹配信息存放在/etc/hosts文件中。在没有域名服务器情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的IP地址。打开/etc/hosts文件,把主机地址改为IP地址。如下例

如果不修改/etc/hosts文件,在安装oracle软件验证环境时会提示网络没有验证。
修改/etc/hosts这一步不是必须的,但建议做。
- 修改RedHat 版本号
由于在Oracle10g推出时redhat5尚未面市,因此oracle10g并不支持在redhat5 上安装。这里需要修改一个文件,把redhat5降级为redhat4,以此来骗过oracle10g对操作系统版本的检查。
打开文件/etc/redhat-release,把版本号由5改为4.如不修改,则会在安装oracle软件时报如下错误

- 安装各种包。
由于采用的是RedHat5系统,因此这里参考的安装手册是oracle 11g 文档E10857-06
使用RPM命令检查包
[root@OracleServer ~]# rpm -qa | grep ****(包名)
安装包
[root@OracleServer ~]# rpm -ivh *******
注意,这里还需要补充安装一个包libXp-1.0.0-8.1.el5.i386.rpm。这个包在文档中没有列出,但却在使用DBCA创建数据时必须的。该包是打印的图形化动态链接库,是启动JVM图形界面必需的。如果没有这个包,在使用DBCA创建数据时会出现如下的异常:
/tmp/OraInstall2010-08-07_09-16-11AM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory occurred..
- 配置内核参数
包安装完后,开始配置内核参数
注意这里要查看10g联机文档B15660-02 第41-44页
在/etc/sysctl.conf 中添加如下内容
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 = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
在/etc/security/limits.conf添加如下内容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
在/etc/pam.d/login添加如下内容
session required /lib/security/pam_limits.so
session required 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
以上配置完成后,使用/sbin/sysctl –p使更改生效。也可以使用reboot生效,但要注意Unix/Linux不能随意重启,不推荐这么做。
[root@OracleServer etc]# /sbin/sysctl –p
二、数据库软件安装。
在安装数据库软件之前,我们还需要做建立oracle用户,DBA和oinstall用户组,建立目录并分配权限等工作
- 下面创建用户、目录并赋予权限
创建用户组oinstall、dba、oper(可选)
[root@ OracleServer ~]# groupadd oinstall
[root@ OracleServer ~]# groupadd dba
[root@ OracleServer ~]# groupadd oper
创建目录/u01/oracle
[root@ OracleServer ~]# cd /
[root@ OracleServer /]# mkdir -p /u01
创建用户oracle并赋权限
[root@ OracleServer /]# useradd -d /u01/oracle -g oinstall -G dba,oper oracle
修改oracle用户密码: passwd oracle
[root@ OracleServer /]# passwd oracle
可以是: oracle/oracle
把/u01及其子目录的权限都赋予oracle用户:chown -R oracle:oinstall /u01
-R 表示递归
[root@ OracleServer /]# chown -R oracle:oinstall /u01
检查nobody用户是否存在,应该要存在的
[root@ OracleServer /]# id nobody
- 上传oracle10g软件
这里我们使用开源软件fileZilla,把软件上传至/root目录
解压软件
[root@OracleServer ~]# cd /u01
[root@OracleServer u01]# unzip /root/10201_database_linux32.zip
至此,安装oracle软件的准备工作全部完成。下面正式开始安装
- 安装oracle 软件
安装oracle 软件必须登录到图形界面。
以oracle用户登录RedHat5 操作系统,切换至/u01/database目录
可以看到一个可执行文件runInstaller。输入./ runInstaller即开始启动JVM安装oracle软件
开始界面,选则安装模式

选择安装版本

验证安装环境

配置选项。这里建议只安装软件。对于数据库可以以后通过DBCA或手工创建。

开始安装

以root用户登录字符界面,执行下面的两个脚本

最后点击OK。
至此,Oracle10g 软件正式安装完成。
三、使用DBCA创建数据库
DBCA存放在$ORACLE_HOME/oracle/bin/dbca下,需要在图形界面下运行。
以oracle用户登录RedHat5 系统,在字符界面下输入dbca
选择通用目的创建数据库

输入数据库名和SID。注意这里的SID要和之前在.bash_profile配置的环境变量$ORACLE_SID一致。

是否归档。生产环境一定要选归档模式。enable archiving 打勾

选择字符集。推荐使用unicode

开始创建数据库

创建完成后,点击exit退出。
创建监听器listener
在字符界面输入netca

网络协议,通常为TCP/IP

一路往下,创建完成。
登录SQL*Plus,执行创建表命令。正常查询。说明数据库可以正常工作。

至此,一个建立在RedHat5操作系统上的可用于生产的Oralce环境正式搭建完毕。
参考文献:
《oracle 10g online book》 Oracle® Database Installation Guide 10g Release 2 (10.2) for Linux x86 B15660-02
《oracle 11g online book》 Oracle® Database Installation Guide 10g Release 2 (10.2) for Linux x86 E10857-06
浙公网安备 33010602011771号