• Oracle .com 套件在TurboLinux上的安装
     
  •               于义海   TurboLinux公司
     

    Oracle .com套件”是Oracle公司向中档市场和新创业的Internet公司提供的能在Internet上开发和部署应用程序的强大综合平台,也是一种帮助企业将自己的业务迅速升级到电子商务领域的综合性开发和部署平台。它主要包括以下产品和服务:
     
    lOracle8i标准版
    lOracle JServer
    lOracle Application Server
    lOracle JDeveloper
    lOracle WebDB
    lOracle 银牌技术支持
    由于JServerOracle8i的选件,而JDeveloper目前仅运行于Windows98/NT平台且安装非常容易,所以本文主要介绍Oracle8iOracle Application Server Oracle webDB三个产品在TurboLinux Server 6.0中文版上的安装过程。Oracle的安装配置优化是一项非常复杂细致的工作,这不是本文的重点,本文是想帮助那些初次在Linux平台上安装Oracle产品的用户能够很快顺利地安装成功Oracle产品。另外本文也将描述TurboLinux DataServer With Oracle8i 6.0产品中Oracle8i的安装。

    由于Oracle的安装帮助文档在产品中不是显而易见,所以将它们打包在这里以节省您的时间:

    oracle_help.tar.gz

    oas_help.tar.gz

    webdb_help.tar.gz

    解压缩后请浏览toc.htm文件。
     

    Oracle8i的安装
    Oracle Application Server 4.0的安装
    WebDB2.2的安装
     

    Oracle8i的安装

    u 系统需求

    u TurboLinux DataServer With Oracle8i 6.0产品中Oracle8i的安装

    u 服务器端的安装

    u 客户端的安装

    u 技巧

    u 常见问题

    1.系统需求

      内存 >=128MB 建议256MB以上
      交换区      建议2倍内存以上
      硬盘       建议除操作系统外有2GB的硬盘空间
      JRE          1.1.6v5
    2.TurboLinux DataServer With Oracle8i 6.0产品中Oracle8i的安装 TurboLinux DataServer With Oracle8i 6.0是TurboLinux Server 6.0与Oracle8i for Linux捆绑的结果,其主要特点是Oracle8i的安装非常简单,不需用户做任何工作。另外操作系统也为Oracle8i做了许多优化。如果您购买的是这一款产品,那么Oracle8i的安装将是一件非常轻松的事情。其安装步骤如下:
    1)安装操作系统:TurboLinux Server6.0;
    2)重新引导操作系统,引导成功后系统提示“是否安装Oracle8i?”,如果选择了安装,系统会进一步提示安装服务器还是安装客户端,只能选择其一,缺省是安装服务器;另外安装服务器时还有一个选项“安装缺省数据库”,如果选中,将为用户自动创建缺省数据库。这个提示确认后,系统就会自动将Oracle8i服务器或客户端安装成功。不再需要人工干预。
    3)读者可以注意到,Oracle8i的安装盘上有三个RPM包: Oracle8i-8.1.5.0.2-1.i386.rpm
    Oracle8i-Client-8.1.5.0.2-1.i386.rpm
    Oracle8i-DefaultDB-8.1.5.0.2-1.i386.rpm
    读者也可自己用rpm命令安装或删除相应的软件包。
    使用本款产品时需要注意的有
    1)该产品自动创建组dba,自动创建用户Oracle,并将产品安装在Oracle用户下;
    2)由于该产品使用Oracle的缺省安装路径/u01/app/oracle/product/8.1.5,所以缺省在/分区安装,因此如果安装服务器必须保证/分区在安装完操作系统后剩余空间在1.2GB以上;如果安装客户端必须保证/分区在安装完操作系统后剩余空间在260MB以上;
    3)对于2)提到的问题有一种更好的解决方案:将操作系统外的一个分区或一块硬盘mount/u01。类似的方法可以将缺省数据库放到一个独立的分区或硬盘上;
    4)由于服务器和客户均安装在Oracle用户下,且安装在同一路径下,所以要在同一台机器上同时安装服务器和客户端,需要手工做一些工作;
    5)安装完客户端后,需要根据服务器的设置手工调整tnsnames.ora文件;
    6)创建的缺省数据库的字符集是US7ASCII,如果想创建中文字符集(zhs16cgb231280zhs16gbk)的数据库可以用dbassist工具创建新的数据库;
    7)建议你详细阅读一下后面的内容,肯定会有些帮助。
    3.服务器端的安装 Oracle8i服务器的安装主要有这样几步: l 准备工作
    l 创建组
    l 创建用户
    l 设置环境变量
    l 运行安装程序
    l 安装补丁(Patch)
    l 创建数据库
    l 配置Net8
    l 服务器启动和关闭
    下面逐一论述。
    1)准备工作
      检查内存、硬盘空间;
      检查swap区大小;
      检查是否安装jre1.1.6v5(/usr/local),如未安装请安装并连接到/usr/local/jre
      检查文件创建属性,设为:umask 022
      如果你是从光盘安装,请先mount光盘:mount /dev/cdrom /mnt/cdrom
      如果你的oracle软件包是tar格式,比如:Oracle815_Intel.tar.gz ,请先解到一个临时目录,用命令:
      tar zxvf Oracle815_Intel.tar.gz
      并使该目录为后面创建的oracle用户所拥有;
      如果你是其他版本的Linux,还需检查你的kernel版本、glibc版本以及操作系统的共享内存和信号量的配置,可参考前面提供的oracle产品中的安装指南;

      2)创建组
      oracle产品的使用,可以区分为两种角色:数据库管理员也就是DBA和数据库使用者也就是OPERATOR。因此一般会创建两个组:dbaoper
      用命令:
      groupadd –g 500 dba
      groupadd –g 600 oper

      3)创建用户
      创建oracle用户,将oracle安装在该用户下,并由它来管理oracle数据库。用命令:
      useradd –u 501 –g 500 –d /home/oracle oracle

      注意:Oracle的安装说明建议创建三个用户并使用OFAOFA兼容的目录结构,我们知道对一个工具只有我们会使用它然后再研究如何把它使用的更好才有意义,因此我建议你只建一个用户oracle,并将ORACLE_HOME设为oracle用户的家目录,同时不要设环境变量ORACLE_BASE(不使用OFAOFA兼容的目录结构)。

      4)设置环境变量
      环境变量的设置是oracle安装和使用过程中非常重要的工作,原则上运行oracle的安装程序runInstaller之前设一个环境变量ORACLE_HOME即可,如果创建的数据库使用非缺省字符集(US7ASCII),还需设ORA_NLS33NLS_LANG两个环境变量,其他的环境变量可在安装后设,但我建议一次将这些环境变量写在oracle用户的注册shell(.bashrc.bash_profile)中。需设置的环境变量如下,具体的值要根据你的实际情况有所调整:
      ORACLE_HOME=/home/oracle;export ORACLE_HOME
      ORACLE_SID=ora8i;export ORACLE_SID
      LD_LIBRARY_PATH=$ORACLE_HOME/lib;export LD_LIBRARY_PATH
      PATH=$PATH:$ORACLE_HOME/bin:.
      CLASSPATH=$ORACLE_HOME/jlib:/usr/local/jre/lib/i686/green-threads;export CLASSPATH
      TNS_ADMIN=$ORACLE_HOME/network/admin/tnsnames.ora;export TNS_ADMIN
      以下两个环境变量只有在创建数据库使用非缺省字符集时才需要,而NLS_LANG的设定要根据你使用的具体字符集,这里给出的是使用简体中文字符集zhs16cgb231280的设定方式。
      ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
      NLS_LANG="SIMPLIFIED CHINESE"_CHINA.zhs16cgb231280;export NLS_LANG

      5)运行安装程序
      现在可以运行oracle的安装程序runInstaller,可以采用XFCE窗口环境或Turbolinux WorkstationKDE窗口环境,不能使用GNOME窗口环境。另外如果在中文环境下需要屏蔽掉环境变量LC_ALL:
      unset LC_ALL

      运行
      ./runInstaller
      选择安装服务器产品,根据提示一步步开始安装。其间需要以root用户运行文件/tmp/orainstRoot.sh$ORACLE_HOME/root.sh。这个过程大约需要30分钟。然后安装程序会提示你是否创建数据库,建议你继续创建数据库。但在创建数据库之前,建议你在另一个命令窗口将Oracle8i的补丁安装上。

      6)安装补丁(Patch)
      将补丁文件在oracle用户的某个目录下解开,运行:
      linux_815pathces.sh
      补丁即安装完成。

      7)创建数据库
      数据库的建立可以在安装过程中建立,也可以用工具dbassist建立。创建数据库需要注意的有:
      l 数据库的创建时间根据你机器的性能及选项不同而不同,一般需要2个小时左右;
      l 数据库的创建有典型(typical)和定制(custom)两种方式,如果你要使用中文字符集要选择定制方式安装,并设置中文字符集,典型方式安装使用缺省字符集(US7ASCII)。不管你选用哪种字符集,oracle数据库都可以存储多字节字符记录,比如数据库使用缺省字符集,其表的记录值可以是中文的,但表的字段名、表名、视图名等如果想采用中文却是不可以的,如果想达到这个目的,创建数据库时就要采用中文字符集。
      l 服务器安装及数据库创建的日志存储在$ORACLE_HOME/install目录下,可以用more命令查看,也可以用“tail –f **”命令跟踪。比如正在创建数据库的interMedia部分,可以用命令
      tail –f install/iMediainst.log
      跟踪创建过程中是否有错误出现。
      l 数据库创建完后,请修改其参数文件$ORACLE_HOME/dbs/initsid.ora将行
         #rollback_segments = (r0, r1, r2, r3)
      的注释去掉,以使回滚段在数据库启动时就起作用。
      l 数据库创建完一般会有三个用户:

        system/manager(用户名/口令)
        sys/change_on_install
        scott/tiger(demo用户)
      验证scott用户的存在可以用如下方法:
      oracle用户下运行:
      sqlplus scott/tiger
      SQL> select table_name from tabs;
      TABLE_NAME
      ---------------------
      BONUS                   scott用户的表
      DEPT
      EMP
      SALGRADE
      SQL> desc emp               emp的表结构
      Name                     Null?   Type
      ----------------------- -------- -----------------------------
      EMPNO                   NOT NULL NUMBER(4)
      ENAME                            VARCHAR2(10)
      JOB                              VARCHAR2(9)
      MGR                              NUMBER(4)
      HIREDATE                         DATE
      SAL                              NUMBER(7,2)
      COMM                             NUMBER(7,2)
      DEPTNO                           NUMBER(2)

      l 检查/etc/oratab文件内容,每创建一个数据库这个文件应添一行,该文件供命令dbstartdbshut使用。

      8)配置Net8
      配置Net8,启动监听进程,以使客户端可以访问数据库。这项工作可以使用工具netasstnetec(需要unset LC_ALL)完成。但也可参照下面的文件手工配置文件listener.oratnsnames.ora。注意兰色标记的部分是你需要根据实际情况调整的。

      $ORACLE_HOME/network/admin/listener.ora
      LISTENER =
      (ADDRESS_LIST =
      (ADDRESS= (PROTOCOL= TCP)(Host= 172.16.60.82)(Port= 1521))
      )
      SID_LIST_LISTENER =
      (SID_LIST =

        (SID_DESC =
        (GLOBAL_DBNAME= db8i)
        (ORACLE_HOME= /home/oracle)
        (SID_NAME = ora8i)
        )
        (SID_DESC =
        (SID_NAME = ora8i)
        (ORACLE_HOME = /home/oracle)
        (PROGRAM = extproc)
        )
      )

      STARTUP_WAIT_TIME_LISTENER = 0
      CONNECT_TIMEOUT_LISTENER = 10
      TRACE_LEVEL_LISTENER = OFF

      $ORACLE_HOME/network/admin/tnsnames.ora

      db1 =
      (DESCRIPTION =(ADDRESS =(PROTOCOL= TCP)

          (Host= 172.16.60.82)
          (Port= 1521))


      (CONNECT_DATA =

        (SID = ora8i)
        (GLOBAL_NAME=db8i)
      )
      )

      9)Oracle8i服务器启动和关闭

    oracle用户注册,运行命令dbstart启动oracle8i服务器;再运行命令
         lsnrctl start
    启动监听进程。
    关闭数据库使用命令dbshut
    4.客户端的安装
      客户端的安装过程与安装服务器大体相同,只是不需要创建数据库和安装补丁。安装软件包时选择安装“Oracle Client”;配置Net8只需配置文件tnsnames.ora;另外注意NLS_LANG的设置一定要与服务器数据库的字符集一致。
    5.技巧
    1)数据库创建时的诸多选项比如“interMeida”、“JServer”等也许你根本都用不到,可以不选,我曾经创建过一个所有选项都不选的功能最少的数据库,用时约30分钟;
    2)安装过程产生的日志文件在$ORACLE_HOME/install目录下,你可以用more命令去查看,也可以用“tail -f *log”命令跟踪;
    3)当建多个数据库时可用/etc/oratab文件控制oracle服务器启动时mount某个数据库或某几个数据库;
    4)你也许要多次安装你的数据库,建议你备份设环境变量的shell文件及listener.oratnsnames.ora文件;
    6.常见问题
    1)runInstaller不能启动?
    请检查jre是否安装,是否存在/usr/local/jre
    2)运行runInstaller时不能输入?
    unset LC_ALL,再运行runInstaller
    3)OUI(Oracle Universal Installer)安装网络协议时,列表框中是空的没有可选择的网络协议?
    目前该版本只支持TCP/IP协议,已内置在系统中。
    4)在运行DB Assistant之前显示警告:"JNLS Exception: oracle.ntp.jnls.JNLSException Unable to find anyNational Character Sets. Please check your Oracle installation."
    忽略这个警告。
    5)运行netasstnetec时显示乱码?
    需要unset LC_ALL
    6) 创建数据库时,如果安装到增加PL/SQL支持时,提示dbmssml.sql文件没找到?
    请先安装Oracle8i的补丁,再运行dbassist创建数据库。
    7)数据库不能正常启动?
    请检查环境变量。
    8)客户端与数据库服务器连接失败?
    检查:连接串是否正确?应类似于scott/tiger@db1
    客户端的tnsnames.ora是否正确?
    服务器端的监听进程是否启动? "lsnrctl status"查看,用"lsnrctl start"启动
     
     

                                《返回首页

    Oracle Application Server 4.0的安装

    1.系统需求

    内存              >=256MB
    交换区            >=256MB
    硬盘              400MB
    JDK               1.1.8TurboLinux Server 6.0已安装JDK1.2.2
    Oracle            RDBMS 8.0.6/8.1.5
    HTTP Listeners    Oracle Listener 4.0.8.1.0 (Spyglass 2.14) 40 bit
                      Apache 1.3.6 或以上版本


    2.创建组和用户

    OAS(Oracle Application Server)可以和Oracle8i服务器安装在同一台机器上,但最好安装在不同的机器上。如果安装在同一台机器上,一定要装在不同的用户不同的目录下,比如Oracle8i装在oracle用户/home/oracle目录下,OAS装在oas用户/home/oas目录下。要为OAS创建单独的用户。3.设环境变量 这里要设的环境变量比较多,如下所述,前七个我们在Oracle8i的安装中已见过,其意义是一样的,但值略有不同。 ORACLE_HOME=/home/oas;export ORACLE_HOME
    ORACLE_SID=ora8i;export ORACLE_SID
    LD_LIBRARY_PATH=$ORACLE_HOME/lib: $ORACLE_HOME/orb/4.0/lib:$ORAWEB_HOME/lib;export LD_LIBRARY_PATH
    PATH=$PATH:$ORACLE_HOME/bin: $ORACLE_HOME/orb/4.0/bin: $ORACLE_HOME/orb/4.0/admin/cgi: $ORAWEB_HOME/bin: $ORAWEB_HOME/admin/cgi;export PATH
    CLASSPATH=$ORAWEB_HOME/classes:$ORAWEB_HOME/admin;export CLASSPATH
    TNS_ADMIN=$ORACLE_HOME/network/admin/tnsnames.ora;export TNS_ADMIN
               ORACLE_BASE #建议不使用 ORACLE_TERM =386 #由于安装程序是字符终端模式
    ORAWEB_HOME = $ORACLE_HOME/ows/4.0
    ORAWEB_SITE = website40
    ORB_HOME =$ORACLE_HOME/orb/4.0
    TMPDIR = /var/tmp
    4.运行安装程序 安装程序orainst是一个shell程序,需要做一点修改,将行
    if [ ! -f $JDK_HOME/bin/linux/native_threads/java ]; then
    改为
    if [ ! -f $JDK_HOME/bin/ java ]; then
    运行安装程序orainst,输入JDK目录“/usr/lib/jdk1.2.2”,然后按照提示一步一步去做,尽可能使用缺省设置。注意: 不要选择OFA兼容结构;
    选择完全安装;
    语言可以选择中文,但目前的版本对中文的支持还不是很好;
    安装日志文件是$ORACLE_HOME/orainst/install.log
    安装后形成的环境变量文件是
    $ORACLE_HOME/ows/4.0/install/owsenv_bsh.sh,你可以根据文件的内容进一步调整oas用户的注册shell
    5.OAS运行和关闭
    1)启动Oracle Web Server服务进程
    owsctl start
    2)利用浏览器管理OAS服务。在浏览器中输入:http://OAS所在机器):8888
    显示欢迎界面,进一步选择“OAS Manager”,可以启动或关闭OAS的服务进程:
    oassrv-----Oracle Application Server
    wrksf------Cartridge Server Factory
    otsfacsrv--Transaction Server Factory
    orb---------ORB Servers
    如果正常启动,在“Status”域会有一面绿色的旗帜,但标志为红色的旗帜,倒不一定是有问题,更多的可能是该项服务没有请求,如果有请求它会自动启动。
    3)由于java的运行库比较分布,你也许要向LD_LIBRARY_PATH中加很多路径,才能保证OAS服务进程启动。
     

                                     《返回首页
     


    WebDB2.2的安装

    1.准备工作
      lmount产品CD
      l 需要知道数据库的SYS用户的口令,安装后缺省为“change_on_install”;
      l 数据库服务器必须正在运行;
      l 检查数据库服务器的参数文件initsid.ora,确认参数“MAX_ENABLED_ROLES”的设置大于25,比如
      MAX_ENABLED_ROLES=80
      确认行
      #rollback_segments = (r0, r1, r2, r3)
      的注释去掉;
      lWebDB缺省安装在表空间USERS,必须保证该表空间的剩余大小大于30MB,可以用SQL命令
      SQL>select tablespace_name,sum(bytes) from dba_free_space where tablespace_name='USERS' group by tablespace_name;
      TABLESPACE_NAME SUM(BYTES)
      --------------  ---------------
      USERS            320272384

      查看,用SQL命令
      alter tablespace users add datafile '/home/oracle/dbs/ordata/user02.dbf' size 30M;
      修改。

      2.创建用户
      必须为WebDB创建自己的用户,比如webdb。如果将其和Oracle8iOAS安装在同一台机器上,必须建不同的用户并放在不同的目录下,比如WebDB放在/home/webdb下。

      3.设置环境变量
      ORACLE_HOME=/home/webdb;export ORACLE_HOME
      ORACLE_SID=ora8i;export ORACLE_SID
      ORACLE_TERM=386;export ORACLE_TERM
      PATH=$PATH:$ORACLE_HOME/bin;export PATH
      LD_LIBRARY_PATH=$ORACLE_HOME/lib;export LD_LIBRARY_PATH
      TNS_ADMIN=$ORACLE_HOME/network/admin/tnsnames.ora;export TNS_ADMIN
      ORATAB_FAIL=TRUE;export ORATAB_FAIL

      4.运行安装程序
      运行安装程序
      ./orainst
      该程序以字符模式运行。根据提示一步步执行,当执行到需要输入SYS用户的口令和输入“TNS Names Alias”时,用另一个命令窗口创建文件$ORACLE_HOME/network/admin/tnsnames.ora,并保证利用该文件可以访问数据库,然后再到刚才的窗口中输入刚创建的“TNS Names Alias”。
      安装"WebDB Listener"时,最好将"Listener Port"设为大于1024,比如1800,这样可以省去一些安装工作;安装大约需要40分钟;安装日志文件在目录$ORACLE_HOME/orainst下。

      5.WebDB的使用
      1)启动WebDB Listener
      wdbstart yourserver 1800 start&
      2)在任意机器的浏览器上访问:http://oliver:1800/webdb/webdb.home
      如果安装时你给定的WebDB Schema的名字不是缺省的名字webdb,而是其他的名字比如wdb1,那么访问时用地址:
       http:// yourserver:1800/webdb/wdb1.home
      3)管理WebDB Listener用地址:

    http://yourserver:1800/admin_/gateway.htm
    http://yourserver:1800/admin_/listener.htm
    6.常见问题
    1)orainst启动后界面混乱?
    ORACLE_TERM环境变量设的不正确。
    2)显示错误:不能创建更多的角色?
    initsid.ora中将MAX_ENABLED_ROLES设为大于25,并重新启动oracle服务器。
    3)显示错误:SYS口令不正确或TNS Names Alias错误?
    更可能的是你定义的TNS Name有问题。你此时用sqlplus不能访问数据库。必须保证sqlplus可以访问数据库。
    4)安装很长时间不能完成?
    查看日志文件wdb_install-packages.log若发现有很多错误:
    cannot use system rollback segment for non-system tablespaces USERS”。查看一下initsid.ora,行
    rollback_segments = (r0, r1, r2, r3)
    是否被注释掉。请去掉注释。
    5)你如果重新安装WebDB?
    建议你安装前将以前安装的WebDB SchemaSQL命令全部删掉。
    SQL>drop user webdb cascade;
    SQL>drop user webdb1 cascade;