在Redhat Enterprise Linux 5.3下安装Oracle10g Release2

来源:互联网 发布:网络主播幕后团队 编辑:程序博客网 时间:2024/05/21 21:03

使用Oracle开发系统已经好几年了,但还没有亲手在Linux或Unix平台上安装过,因为有专门的DBA来管理.虽然Oracle在

Windows平台上也可以使用,但毕竟不能发挥最大性能,在企业一般也是在Linux/Unix平台上运行,所以有必要学习一下

Linux/Unix平台下的Oracle dba管理,这首先就需要熟悉安装.
    在Liunx上安装Oracle是一件痛苦的事.因需要修改一些参数,在网上找一些资料参考,但大都是一知半解,不明白其中含

义。有些方法可以安装好,但系统不能运行。经过认真学习,不懈努力,终于安装好了。在这里将安装过程写成文字,以备日

后参考.
    在Linux下安装Oracle有以下步骤:
    1>.安装Linux.
    2>.针对Oracle配置Linux系统.

    3>.安装Oracle.
    4>.测试运行安装的Oracle系统.

    一.安装Linux.
    1.系统环境需求
    安装Redhat Linux的过程比较简单,我选用的Linux版本是Redhat Enterprise Linux 5.3,因需装Oracle10g,系统环境需求

如下:
    RAM:1GB(最低需求512MB)
    SWAP:2GB
    必须安装以下系统组件:GNOME桌面环境、编辑器、开发工具、开发库等.

    2.内核版本要求
    要在Linux上安装Oracle,所需内核版本:2.4.9-e.25(或更高版本)
    通过运行以下命令检查内核版本: 
    # uname -r
    2.6.18-128.e15

    3.程序包安装和更新
    在安装好Linux后,需验证安装是否具备Oracle 10g所需要的所有程序包和更新,按以下步骤验证安装.
    所需程序包的版本(或更高版本): 
    gcc-3.2.3-2 
    make-3.79 
    binutils-2.11 
    openmotif-2.2.2-16 
    setarch-1.3-1 
    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 
    compat-db-4.0.14.5

    要查看系统上安装了这些程序包的哪些版本,以 root 用户身份运行以下命令:
    # rpm -q gcc make binutils openmotif setarch compat-db compat-gcc 
             openmotif compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel
    gcc-3.2.3-20
    make-3.79.1-17
    binutils-2.14.90.0.4-26
    openmotif-2.2.2-16
    setarch-1.3-1
    package compat-db is not installed
    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

    如果系统上缺少任何程序包,或版本比以上指定的版本旧(compat-db 除外),则需要安装这些包,这些包在RHEL的DVD安

装盘上的server目录下都有.
    # cd "/media/RHEL_5.3 i386 DVD/Server"
    # rpm -Uvh setarch-2*
    # rpm -Uvh make-3*
    # rpm -Uvh glibc-2*
    # rpm -Uvh libaio-0*
    # 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*
    # rpm -Uvh openmotif-2*
    # rpm -Uvh compat-db-4*

    二.针对Oracle配置Linux系统.
    Linux 软件现已安装完毕,需要针对 Oracle 对其进行配置。

    1.验证系统要求
    要验证系统是否满足 Oracle 10g 数据库的最低要求,以 root 用户身份登录并运行以下命令。

    要查看可用 RAM 和交换空间大小,运行以下命令:
    # grep MemTotal /proc/meminfo
    MemTotal:512236 kB
    # grep SwapTotal /proc/meminfo
    SwapTotal:1574360 kB

    所需最小 RAM 为 512MB,而所需最小交换空间为 1GB。对于 RAM 小于或等于 2GB 的系统,交换空间应为 RAM 数量的两

倍;对于 RAM 大于 2GB 的系统,交换空间应为 RAM 数量的一到两倍。

    Oracle 10g 软件还需要 2.5GB 的可用磁盘空间,而数据库则另需 1.2GB 的可用磁盘空间。/tmp 目录至少需要 400MB 的

可用空间。要检查系统上的可用磁盘空间,运行以下命令:
    # df -h
    Filesystem        Size  Used Avail Use% Mounted on

/dev/sda3         6.8G  1.3G  5.2G  20% /
    /dev/sda1         99M   17M   77M  18% /boot

    2.创建 Oracle 组和用户帐户
    Oracle数据库必须在Oracle用户下才能安装,所以需要建立相应的用户群组、用户,以及设置相应的目录属主、目录权限
    # groupadd oinstall
    # groupadd dba
    # groupadd oper
    # useradd -g oinstall -G dba oracle
    # mkdir -p /oracle/product/10.2.0/db_1
    # chown -R oracle.oinstall /oracle
    # chmod -R 775 /oracle
    # passwd oracle

    3.修改/etc/redhat-release文件
    获得Oracle10g认证的Redhat Linux最高版本为redhat-4, 所以需要修改redhat-release文件.
    # vi /etc/redhat-release
    # Red Hat Enterprise Linux Server release 5.3 (Tikanga)
    redhat-4

    4.配置Linux内核参数
    Linux 内核非常出色。与大多数其他 *NIX 系统不同,Linux 允许在系统启动和运行时修改大多数内核参数。完成内核参

数更改后不必重新启动系统。Oracle 数据库 10g 需要以下所示的内核参数设置。其中给出的是最小值,因此如果您的系统使

用的值较大,则不要更改它。
    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

    以 root 用户身份登录后执行下命令
    # vi /etc/sysctl.conf
    # For Oracle 
    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
    保存文件后执行以下命令激活更改.
    # /sbin/sysctl -p

    5.为oracle用户设置Shell限制
    Oracle 建议对每个 Linux 帐户可以使用的进程数和打开的文件数设置限制。要进行这些更改,以 root 用户的身份执行

下列命令:
    # vi /etc/security/limits.conf
    # For Oracle 
    oracle soft nproc   2047
    oracle hard nproc  16384
    oracle soft nofile  1024
    oracle hard nofile 65536

    # vi /etc/pam.d/login
    Session required /lib/security/pam_limits.so

    以oracle用户身份运行以下命令:
    # vi .bash_profile
    if [ $USER = "oracle" ]; then
       if [ $SHELL = "/bin/ksh" ]; then
          ulimit -p 16384
          ulimit -n 65536
       else
          ulimit -u 16384 -n 65536
       fi
       umask 022
    fi

    以root用户身份运行以下命令:
    # vi /etc/csh.login 
    if ( /$USER == "oracle" ) then
       limit maxproc 16384
       limit descriptors 65536
       umask 022
    endif

    6.修改Oracle用户语言环境:
    以oracle用户身份运行以下命令:
    $ touch .i18n
    $ vi .i18n
    LC_CTYPE="en"

    7.配置Oracle用户环境变量
    要使用 Oracle 产品,应该或必须设置几个环境变量。对于数据库服务器,建议设置以下环境变量: 
    ORACLE_BASE
    ORACLE_HOME
    ORACLE_SID
    PATH 
    如果您在同一服务器上安装了多个 Oracle 产品或数据库,则 ORACLE_HOME、ORACLE_SID 和 PATH 变量可能会更改。

ORACLE_BASE 变量不应更改,并可以在需要时在您的登录配置文件中设置它。Oracle 提供了一个称作 oraenv 的实用程序来设

置其他变量。 
    以 oracle 身份登录,并通过在 .bash_profile 或 .profile(bash 或 ksh)中添加以下行,将 ORACLE_BASE 添加到登

录配置文件:
    $ vi .bash_profile
    # For Oracle 
    TMP=/tmp; export TMP
    TMPDIR=$TMP; export TMPDIR
    ORACLE_BASE=/oracle; export ORACLE_BASE
    ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME
    ORACLE_SID=ERP; export ORACLE_SID
    ORACLE_TERM=xterm; export ORACLE_TERM
    PATH=/usr/sbin:$PATH; export PATH
    PATH=$ORACLE_HOME/bin:$PATH; export PATH
    LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
    CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

    三.安装Oracle
    首先运行xhost hostname命令启动X-Windows安装界面
    $ xhost mail.weiguo.com
    $ unzip 10201_database_linux32.zip
    $ cd database
    $ ./runInstaller
    进入图形安装界面,根据提示安装即可,与在Windows下安装一致.
    在安装的最后弹出一个“Setup Privileges”窗口,提示需要以 root 用户身份运行配置脚本。以 root 用户身份登录,

切换到该窗口中指示的目录,然后执行 root.sh 脚本。该脚本提示输入本地 bin 目录的位置。按 Enter 键接受默认值。当脚

本完成时,返回到 Setup Privileges 窗口并单击 OK
    $ su root
    # /home/oracle/oralnventory/orainstRoot.sh
    # /oracle/product/10.2.0/db_1/root.sh

    安装完成后,恢复Oracle用户语言环境以及/etc/redhat-release文件。
    $ rm –f .i18n
    # vi /etc/redhat-release
    Red Hat Enterprise Linux Server release 5.3 (Tikanga)

    四.测试运行安装的Oracle系统

    1.启动监听器:
    $ lsnrctl start

    2.启动及关闭数据库.
    $ sqlplus /nolog
    SQL> connect / as sysdba
    Connected to an idle instance.
    SQL> startup
    SQL> shutdown

    3.设置自启动:
    # vi /etc/oratab
    TSH1:/oracle/product/10.2.0/db_1:Y


遇见两个问题,及解决方法

linux解决xhost: unable to open display "" 
实用技巧:在Linux下设置xhost方法步骤
第一步:用root登陆linux,启动vnc服务;
第二步:根据vnc起来的端口,设置export DISPLAY=localhost:1(1表示vnc在第一个tty上启动的),vnc的启动信息见附件1;
第三步:执行xhost +,并且提示“access control disabled, clients can connect from any host”才正确。
linux下的操作日志如下:
[root@localhost ~]# vncserver
[root@localhost ~]# export DISPLAY=localhost:1
[root@localhost ~]# xhost +


Xlib: connection to ":0.0" refused by server解决方法
在linux系统中用Oracle帐号执行DBCA或其他JAVA图形界面程序时,报错:
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified

解决办法:用root登陆,在#提示符后输入:
xhost local:oracle non-network local connections being added to access control list



运行ORACLE部分

由于Oracle自身比较复杂,在Linux环境下安装要涉及很多方面的因素。本文分两个方面介绍在Linux RedHat 6.0环境下Oracle 8.0.5的安装。 

一、调整Linux核心与环境 

在安装Oracle之前,应该先对RedHat 6.0的Linux内核与环境进行调整,要做以下工作: 

1、在完成RedHat 6.0 Linux的缺省安装后,需要安装以下软件包。 

kernel -source -2.2.5 -15.1386.rpm 
Linux 2.2.5内核源码,主要用于修改核心参数后重生成内核。 
tcl -8.0.4 -29.1386.rpm 

该软件包是安装Oracle Intelligent Agent包所必需的。 
Compat -binutils -5.2-2.9.0.23.1.1386.rpm 
Compat -glibc -5.2-2.0.7.2.1386.rpm 
Compat -egcs -5.2 -1.0.3a.1.1381.rpm 
Compat -egcs -C++ -5.2 -1/0/3a.1.1386.rpm 
Compat -libs -5.2 -1.1386.rpm 

2、调整Linux核心参数 

根据Oracle 8.0.5对Linux核心内存参数的要求,可对Linux核心参数进行调整。编辑修改/usr/src/linux/include/asm/shmparam.h文件,修改SHMMAX选项。Oracle推荐使用4294967295,这意味着系统的共享内存达到4G,这是不合适的。一般,SHMMAX的设置可略大于本机内存配置。 
事实上,缺省安装的RedHat 6.0核心运行Oracle 8.0.5是没有问题的,一般情况下可不对这些参数作出调整。 
如确需调整,在完成修改后,要按文档要求重生成核心,并用lilo命令指定用新的核心进行引导。 

3、增加用户,创建安装目录 

Oracle安装与运行需要创建一个属于dba组的Oracle用户,同时要创建一个属主为Oracle用户的安装点目录,例如/u0/oracle,并指定该目录为Oracle用户的缺省主目录。 
为了设置Oracle用户的运行环境,在Oracle用户的主目录下要建立一个脚本文件,用于在以Oracle用户登录进自动设置环境变量。该脚本文件的命名与用户所使用的shell有关(在etc/passwd文件中定义)。如采用bash,则脚本文件是.bash_profile;如采用sh,则脚本文件名为.profile。以bash为例,在脚本文件.bash_profile中输入以下内容: 

#ORACLE_HOME指定Oracle的安装目录 
ORACLE_HOME=/u0/oracle; export ORACLE_HOME 
#LD_LIBRARY_PATH指定Oracle的共享库目录 
LD_LIBRARY_PATH=$ORACLE_HOME /lib;export LD_LIBRARY_PATH 
ORACLE_BASE=$ORACLE_HOME; export ORACLE_BASE 
#ORACLE_SID指定Oracle数据库实例名,Oracle建议小于或等于4个字符 
ORACLE_SID=BROS;export ORACLE_SID 
#ORACLE_TERM Oracle用户的终端类型 
ORACLE_TERM=ansi; export ORACLE_TERM 
PATH=$PATH: $ORACLE_HOME /bin; export PATH 
#TMPDIR指定临时目录,Oracle要求至少20M的空间 
TMPDIR=/var/tmp;export TMPDIR 
umask 022 
退出登录后,再以Oracle用户登录,测试环境变量是否符合要求。 

二、安装Oracle 

Oracle的安装可采用光盘或指定安装路径的方式。 
对用Oracle for linux光盘来安装的,应执行以下命令: 

mount -t iso9660 /dev/cdrom /home/Oracle 

安装光盘介质。正常情况下,CDROM应安装在/mnt/cdrom目录下。 
对指定原始安装路径安装的,应事先将压缩档案文件805ship.tgz解压缩到一个临时目录,如/home/Oracle,使用命令: 

gunzip - c 805ship.tgz| tar xvf - 

假设使用指定原始安装路径/home/Oracle,在该目录下执行: 

cd orainst 
sh oratab.sh 

oratab.sh命令的主要目的是创建/etc/oratab。 

由于RedHat 6.0使用的是glibc 2.0,因此在RedHat 6.0环境下安装Oracle 8.0.5需打补丁。方法是:卸载位于ftp.Oracle.com站点的/pub/www/otn/linux/glibcpatch.tgz文件,在完成Oracle基本系统安装后,对$ORACLE_HOME/bin目录下的执行程序进行修正。 

做完上述工作后,即可以开始Oracle基本系统的安装。 

1、进入/home/Oracle目录; 

2、执行./orainst /c; 

3、选择Custom安装。 

根据提示进行以下选择: 
Install,Upgrade or De -instal software 
Install new product -DO NOTCREAT DB Objects。这一步非常重要,由于安装包中的执行程序与blibc2.0不兼容,因此,在打补丁前,无法启动Oracle引擎来创建数据库对象。 
按照上述步骤招待完退出后,系统应提示: 
Result:Success 

4、对Oracle执行程序进行glibc修正。步骤如下: 

* 建立$ORACLE_HOME/orapatch目录; 
* 将glibcpatch.tgz拷贝至主目录; 
* 执行tar -xvzf glibcpatch.tgz; 
* 执行sh glibcpatch.sh。 
完成 补丁程序安装后,要重新运行Oracle的安装程序,步骤如下: 
* cd orainst; 
* 执行orainst /c; 
* 进行custom安装。 
根据提示进行以下选择: 
Create/upgrade Database objects 
Create Database objicts 
Oracle 8 Standard RDBMS 8.0.5.0.0 
Create product DB Objicts 
Filisystem -bases Database 


原创粉丝点击