不久前,Oracle(甲骨文)公司在美国加州的总部公布, Oracle 10g 数据库 与 Oracle RAC 在 TPC-H 基准测试中创造了新的世界纪录.这是个令人震动的消息.因为这个测试是在 Linux ( Red Hat Enterprise Linux Advanced Server 3) 的平台上进行的.这充分显示了 Oracle 在低成本 Linux 集群服务器上高效治理大规模数据仓库的能力, 也表明 Linux 在性能价格比上的优势,标志着Linux在大规模企业应用上已经成熟. 相信很多朋友已经对10g跃跃欲试了,现在从这里让我们开始10g之旅. 本文描述了在Red Hat Enterprise Linux Advanced Server 3 (RHEL 3)上安装Oracle 10g 必要的步骤和相关知识. 本文假定你的Linux 操作系统已经安装完毕,并且您应该具有一定的 Unix 操作系统背景知识. 配置RedHat AS 3 操作系统版本:Red Hat Enterprise Linux AS release 3 (Taroon) Kernel 2.4.21-4.EL on an i686 按照常规来安装操作系统,记得要安装开发工具(gcc等必要工具). 必要的硬件信息检查: --------------------------------------------------------------------------------- 检查内容---- 最小值--------------------检查命令参考 -------------------------------------------------------------------------------- 物理内存---- 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/docs/Html/A96167_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 为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 验证一下.检查并安装相关补丁在这个版本的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 创建用户和相关的组 # /usr/sbin/groupadd oinstall # /usr/sbin/groupadd dba # /usr/sbin/useradd -g oinstall -G dba oracle 假如只是测试目的的话,不创建oinstall组也没什么. 不过还是规范一点比较好.假如oracle 用户和dba组等已经存在,作适当的调整即可. 检查并调整环境变量 登录为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 comple
|