前期安装

---(编译/晏子)

在你验证了你的系统满足在1、“系统要求”中的要求后,使用本章帮助你为安装Oracle8i准备好你的系统。

Linux 系统配置

表 2-1总结了为在你的Linux系统上安装Oracle8i的要求。如果你的系统不能满足任何列出的要求,要必要执行列出的任务配置你的系统满足这些要求。

2-1  Linux系统配置总结
系统因素  Oracle8i 的要求 

Linux内核参数:

共享内存 

SHMMAX 0.5*(机器上现有物理内存)。对额外的限制检查你的系统。

这个设置不影响Oracle8i或操作系统需要或使用多少共享内存。它仅仅用来指出最大允许的大小。这个设置也不影响操作系统内核资源。

SHMMIN 1

SHMMNI 100

SHMSEG 10 

信号灯 

SEMMNI 100

SEMMSL 设置为10+系统任何Oracle数据库的最大PROCESSES(进程)参数。

PROCESSED参数可在各个initsid.ora文件中找到,位于$ORACLE_HOME/dbs目录下。对于由Oracle数据库配置助手创建的预配置数据库的进程缺省值是50。

SEMMNS 设置为每个Oracle数据库PROCESSES参数之和,加上最大的一个的两倍,然后为每个数据库加上一个额外的10。见“为Oracle8i配置Linux内核”的该公式的一个例子。

SEMOPM 100

SEMVMX 32767 

注意:如果上述任何一个内核参数小于你的当前值,继续使用当前值。这些只是为了Oracle8i的需求。如果你有其他程序使用共享内存和信号灯,你将需要因此调整值。当计划当前和以后数据库需求时,考虑对内核修改起作用,一次系统重启是必要的。

安装点(存储设备)

 

Oracle通用安装程序仅需要2个安装点:一个为软件,一个为数据库。遵从最佳灵活体系结构(OFA)的数据库要求至少4个安装点,都在目录结构的同一层次上。一个为软件,3个为数据库文件。在Linux上实现OFA的信息,见Oracle8i管理员参考。 

为Oracle用户的Linux组

对于OSDBA角色需要一个Linux组。本书假设这个组被命名为dba。OSOPER角色可以属于OSDBA同一组或一个不同的组。 

拥有Oracle通用安装程序 oraInventory 的特殊 Linux组

在任何ORACLE_HOME中安装Oracle产品的用户必须有oinstall作为他们的主Linux组。安装程序的库由在一个系统上的所有ORACLE_HOME分享并且是组可写的。用oinstall安装Oracle产品作为当前的组设定。 

Linux账号

 

仅仅专用于安装和升级Oracle产品的一个Linux帐号。帐号必须以oinstall作为它的主要组且OSDBA组作为一个辅助组。本书假设帐号叫做oracle

文件创建许可 

oracle帐号,设置umask022。 

ORACLE_BASE 

建议作为遵从OFA安装的部分。更详细的信息见“ORACLE_BASE”

作为根用户执行的安装任务

作为root用户登录并且执行下列任务设置你安装Oracle8i的环境:

为Oracle8i配置Linux内核
创建安装点
为数据库管理员创建Linux组
为Oracle通用安装程序库创建一个Linux组
创建一个拥有Oracle软件的Linux 帐号

注意:

除了这些安装任务外,如果文件/etc/oraInst.loc不存在,你在安装一开始将需要root权限。。你也将需要root权限在安装结束运行root.sh脚本。 


Oracle8i   配置Linux内核

配置Linux内核进程间通讯(IPC)参数以容纳Oracle8i的共享全局区(SGA)结构。如果系统没有足够的共享内存容纳 SGA,你将不能启动数据库。

  1. 使用ipcs命令获得系统当前共享内存、信号灯段和他们标识号和拥有者的一张表。
  2. 设置在/usr/src/linux/include/asm/shmparam.h里面的分享内存和并且在/usr/src/linux/include/linux/sem.h里面的信号灯的内核参数。

    全部允许的共享存储器由下列公式确定:

    SHMMAX * SHMSEG
    
    

    表 2-1列出所需的设置,它应该为大多数安装接受。

    设置为每个Oracle数据库的PROCESSES参数的和,加上最大值的两倍,然后为每个数据库增加一个额外的 10。例如,考虑一个由三个Oracle实例的系统,在他们的initsid.ora文件中的PROCESSES参数设置为下列值:

    ORACLE_SID=A , PROCESSES=100
    ORACLE_SID=B , PROCESSES=100
    ORACLE_SID=C , PROCESSES=200
    
    

    SEMMNS的值如下打算:

    SEMMNS =[( A=100 )+( B=100 )]+[( C=200 )* 2 ]+[(# of instances=3) * 10] = 630

    对于操作系统设置参数太高可以避免机器启动。对参数的限制,参考你的操作系统文档。

  3. 如果你修改了内核、共享存储器、或信号灯参数,重建内核,并且重新启动系统。

创建安装点

Oracle8i至少需要2个安装点:一个为软件,至少一个为数据库文件。当创见一个遵从OFA的安装时,它至少需要4 个安装点:一个为软件并且至少3个为数据库文件。

所有Oracle8i使用的软件和数据库安装点的名字应该匹配模式/pm,这里p是一个字符串常数并且m是区分安装点的定长键码。表 2-2、“安装名命名方法的样本”显示了一个命名方法的样本。

2-2 安装点命名方法的样本
软件安装点  数据库安装点 

/u01 

/u02 

 

/u03 

 

/u04 

也可见:

Oracle8i for Linux Intel管理员参考的附录A- “最佳灵活体系结构”关于最佳灵活体系结构的详细描述。

为数据库管理员创建Linux

在安装期间,创建2个Oracle用户:SYSDBA和SYSOPER。数据库管理员授予这些用户以其在相应的Linux组的成员的权限。Oracle8i文档将这些Linux组称为OSDBA和OSOPER组。在你作为oracle用户登录和启动Oracle通用安装程序以前,为这些用户创建组。你可以把用户分派到2个分开的Linux组中或到一个组中。

使用groupadd实用程序创建一个组,起名为dba或你选择的其他名字。如果你计划把SYSOPER用户分派到一个分开的组,也创建该组。

缺省地,Oracle通用安装程序授予Oracle的SYSDBA和SYSOPER权限给Linux组dba的成员。如果你实施Oracle8i的定制安装,或如果oracle用户不是称为dba的组的一个成员,Oracle 通用安装程序将提示你输入你为这些用户创建的组。

Oracle通用的安装程序库创建一个Linux

使用groupadd实用程序创建一个名为oinstall的一个组。oinstall组将拥有Oracle通用安装程序的oraInventory目录。运行安装oracle用户帐号必须将oinstall组作为它的主要组。

创造一个拥有Oracle软件的Linux帐号

oracle帐号是Linux用户帐号,它在安装以后拥有Oracle8i的软件。用该用户帐号运行Oracle通用安装程序。

使用useradd实用程序创建一个oracle账号,有下列特性:

2-3 oracle账号的特性

登录名字 

任何名字,但是本文档称为oracle帐号。 

主要GID 

oinstall组。 

辅助GID 

dba组。 

主目录 

选取一个与其他用户主目录一致的一个主目录。oracle帐号的主目录不必与ORACLE_HOME目录相同。 

登录外壳 

缺省外壳可以是/bin/sh, /bin/csh, /bin/ksh, 或/bin/bash,但是本文的例子假定Bourne shell(/bin/sh)。 


注意:

仅对安装和维护Oracle软件使用oracle。不要为与Oracle8i服务器无关目的使用它。不使用root作为oracle帐号。 


在一个系统上有多个ORACLE_HOME地点可以用同一个oracle账号或单独的账号安装Oracle软件。每个oracle帐号必须以oinstall作为它的主要组。

作为Oracle用户执行的安装任务

oracle账号登录并且执行下列必需的任务:

设置文件创建权限
设置环境变量
对当前会话更新环境

设置文件创建许可

oracle账号设置umask022以保证groupother有对安装的文件的读和执行许可,但无写权限。

  1. 输入umask命令检查当前的设置。
  2. 如果umask命令不返回022,在oracle账号的.profile.login文件中设置它并且执行下列命令:
    $ umask  022
    

设置环境变量

在启动Oracle通用安装程序前,正确设置DISPLAY和PATH环境变量和其他任何变量。表 2-4 “环境变量总结”中提供在本节列出的变量的一个简明摘要。参照本节中每个变量的正确设置指令。


注意:

如果你的系统上已经存在一个Oracle服务器,其设置可能与你为新环境选择的设置有关系。


2-4 环境变量总结
变量  描述和设置例子 需要? 

DISPLAY 

Oracle通用安装程序将显示的名字、服务器号和系统的屏幕号。 

Yes 

PATH 

可执行文件的shell搜索路径。 

Yes

ORACLE_BASE 

Oracle软件和管理文件结构的顶级目录。 

no 

ORACLE_HOME 

包含一个给定版本的Oracle软件目录。 

no 

NLS_LANG 

安装时使用的字符集。 

no 

ORA_NLS33 

国家语言支持字符集数据的地点。 

no 

ORACLE_SID 

在安装期间使用的Oracle服务器实例标识符。 

no 

ORACLE_DOC 

文档安装的目录。 

no 

DISPLAY

在你将运行Oracle通用安装程序的系统上,设置DISPLAY为系统名或IP地址、X 服务器和你的工作站使用的屏幕。不要使用正在安装软件的系统主机名或IP地址,除非你从该系统的X-Windows控制台实施安装。如果你从一个远端系统安装,使用你自己工作站的机器名或IP。如果你不肯定X服务器和屏幕应该设置成什么,两者均使用0(零)。

如果在启动安装程序时,你得到类似“Failed to connect to server”或“Connection refused by server”或“Can't open display”的一个Xlib错误,在你的X工作站上运行下列Bourne/Korn shell或C shell命令:


BourneKorn shell

在安装Oracle数据库的服务器上,键入下列:

$ DISPLAY=workstation_name:0.0
$ export DISPLAY

在你的工作站上的会话中:

$ xhost +server_name


C shell:

在安装Oracle数据库的服务器上,键入下列:

% setenv DISPLAY workstation_name:0.0

在你工作站上的会话中:

% xhost +server_name
PATH

设置shell的搜索路径包括下列:

 

ORACLE_BASE

ORACLE_BASE指定Oracle软件和管理文件结构的顶级目录。OFA建议的值是software_mount_point/app/oracle。例如:/u01/app/oracle。如果你不使用一个遵从OFA的系统,你不必设置ORACLE_BASE,但是强烈建议你要设置它。

ORACLE_HOME

ORACLE_HOME 指定包含一个给定版本的Oracle软件的目录。最佳灵活体系结构建议的值: $ORACLE_BASE/product/release。例如:/u01/app/oracle/product/8.1.6。

保证ORACLE_HOME的值指向确实不包含有Oracle8i 版本1 ( 8.1.5 )以前的任何Oracle软件的一个目录。

NLS_LANG

如果你想用除US7ASCII以外的一个字符集创建一个数据库,设置NLS_LANG(缺省)。如果你想安装Oracle Internet Directory,将NLS_LANG设置为AMERICAN_AMERICA.UTF8。有效字符集的一张完整列表在Oracle8i 国家语言支持指南中得到。

ORA_NLS33

如果你想以除US7ASCII以外的一个存储字符集创建一个数据库,设置ORA_NLS33。在启动安装程序或创建数据库前,将ORA_NLS33设置为$ORACLE_HOME/ocommon/nls/admin/data。对于更多的信息,见Oracle8i国家语言支持指南

ORACLE_SID

如果你计划在安装期间创建一个数据库,你可选择将ORACLE_SID设置为Oracle服务器实例标识符(在本安装指南中指的是sid)。如果你选择在安装期间创建一个数据库,安装程序将提示你确认该值。更多的信息见“ ORACLE_SID”

 
ORACLE_DOC

ORACLE_DOC 指定安装联机文档安装的目录。如果你不设置ORACLE_DOC,见“访问安装的文档”以决定文档在哪儿安装。

对当前会话更新环境

用一个文本编辑器,将列在“设置环境变量” 中的环境变量设置加入oracle帐号的.bashrc, .profile,或.login文件中。一旦你完成编辑这些初始化文件,你可以在使用适当shell命令开始安装之前快速更新当前shell会话中的环境。

Oracle 产品的安装任务

在开始你的安装之前,对你将安装的产品完成下列任务:

工具和预编译器

在安装他们前完成下列工具和预编译器的任务。

Pro*C/C++ Precompiler的前期安装

检查C编译器的可执行文件包含在PATH设置中。

网络和系统管理产品

设置 LDAP 服务

轻型目录存取协议(LDAP)版本3是因特网目录存取协议的开放标准。Oracle8i 版本2 (8.1.6)包括了一些产品能被配置成使用Oracle因特网目录(OiD)提供的LDAP V3 目录服务。这种目录服务包含在通过Oracle8i数据库集中数据库用户、Net8网络连接和数据库监听器参数存储的使用中。

当前OiD服务器在Linux上还没有。然而,Oracle8i版本2 (8.1.6) for  Linux能配置成使用安装在其他平台的 OiD的LDAP目录服务。为了最佳的目录性能,Oracle公司推荐在一个与Oracle软件分开的系统上安装Oracle 因特网目录,见3、“安装”。对于LDAP和Oracle因特网目录的信息,参考Oracle因特网目录管理员指南

Net8 前期安装步骤

如果Net8服务器已经在你的系统上安装,在安装Net8前,关掉所有监听器。要确定是否有任何监听器正在运行,输入:

$ lsnrctl status [listener_name]

如果监听器由一个不同于缺省listener的名字,需要listener_name域。

用下列命令关掉一个运行的监听器:

$ lsnrctl stop listener_name

“理解Net8配置”以决定如何在你的系统上安装和配置Net8。

Oracle支持协议的前期安装步骤

在安装任何协议前,检查基本网络正在工作并且正确配置了。

TCP/IP

TCP/IP 协议自动与所有的Oracle8i服务器安装被安装。

通过使用ftp实用程序传输一个测试文件来证实网络正确工作。

$ ftp remote_server_name
ftp>put test_filename
ftp>get test_filename

理解Net8配置

Net8配置助手是一个图形用户接口( GUI )工具,让你能够配置你的Oracle客户机/服务器的网络环境。Net8 配置助手自动从所有安装类型的Oracle通用安装程序中启动,或手工地作为一个独立的工具启动。


注意:

本章描述从Oracle通用安装程序内运行Net8配置助手。对于以独立模式运行Net8配置助手的信息,见Net8管理员指南“Net8配置助手”。 


取决选择的安装类型,Net8配置助手以2种方式之一配置你的网络:

配置包括创建并修改位于$ORACLE_HOME/network/admin目录下的网络文件。

服务器网络配置

以下描述用服务器安装类型创建的网络配置类型和所需的用户输入。考察下面的选择并且表明最好匹配你的要求和网络配置专家意见的网络配置。

如果你选择这些安装类型……  然后…… 

Oracle8i企业版或 Oracle8i

  • 典型
  • 最小

 

Net8配置助手创建一个网络服务名用于与一个数据库连接。

然后Net8配置助手通过配置下列文件自动生成你的Net8服务器环境:

  • listener.ora

    配置并启动名为listener的监听器,用对使用你的操作系统最合适的协议(典型地在端口1521上的TCP/IP)Oracle8i数据库和使用IPC协议的外部过程的协议地址。

    为外部过程配置服务信息。

  • sqlnet.ora

    配置服务器域作为缺省域(你的计算机所在的域)。该域自动被添加到任何不合格的名字上。

    配置服务器用来将一个名字解析到一个连接描述符的命名方法。

  • tnsnames.ora

    tnsnames.ora文件里面创建一个网络服务名(EXTPROC_CONNECTION_DATA)用户外部过程。

Oracle 数据库配置助手在成功创建Oracle8i数据库后配置下列文件的额外的Net8 服务器信息。

  • listener.ora

    为Oracle8i数据库配置静态服务信息。

注意:你不能通过典型最小安装类型配置对一种LDAP目录服务的访问。LDAP目录配置可通过定制安装类型获得。 

Oracle8i企业版或 Oracle8i

  • 定制(且然后选择Net8服务器和Net8客户)

 

Net8配置助手首先提示你:

  • 完整的目录服务访问配置,包括进入一种目录服务器的类型和地点并且验证服务器能找到的管理上下文,创造并修改网络服务名。如果你从来没有为目录服务访问设置ORACLE_HOME,将提示你这个信息。
  • 创建一个监听器并且选择网络协议用于数据库连接。
  • 选择命名方法用于数据库连接(例如,选择本地命名方法启用tnsnames.ora文件)。取决于你的选择,将会有其他信息提示(对选择本地命名方法,你被提示输入一个网络服务名,数据库SID,和使用的网络协议)。

然后Net8配置助手自动地通过设置下列文件创建你的Net8服务器环境:

  • listener.ora

    用你选择的一个名字和协议地址配置一个监听器,并且也为外部过程配置静态服务信息。

  • sqlnet.ora

    配置服务器域作为缺省域(你的计算机所在的域)。该域自动被添加到任何不合格的名字上。

    配置服务器用来将一个名字解析到一个连接描述符的命名方法。

  • tnsnames.ora

    创建一个网络服务名条目用于外部过程连接。

  • ldap.ora

    通过表明目录服务器类型配置目录服务访问。它也可以表明地点和管理上下文。

Oracle 数据库配置助手在成功创建Oracle8i数据库后配置下列文件的额外的Net8 服务器信息:

  • listener.ora

    配置静态服务信息。

 

客户网络配置

下面描述用客户安装类型创建的网络配置类型和所需的用户输入。考察下面的选择并且表明最好匹配你的网络要求和配置专家意见的网络配置:

如果你选择这些安装类型……  那么…… 

Oracle8i客户

  • 管理员
  • 程序员
  • 应用程序用户

 

Net8配置助手首先提示你选择下列配置访问你的Oracle8i数据库方法之一:

  • 目录命名

    使你能够连到目录服务,使用数据库创建时注册的目录服务进行客户到Oracle8i数据库的连接。

  • 本地命名

    指定一个网络服务名使客户使用在本地系统上的Net8配置文件信息能连接到 Oracle8i数据库。

取决于你的选择,你将被提示提供其他信息。

然后Net8配置助手自动通过配置下列文件创建你的Net8客户环境:

  • ldap.ora

    通过表明目录服务器类型(如果选择了目录命名)配置目录服务访问。它也可以表明地点和管理上下文。

  • tnsnames.ora

    指定一个网络服务名 (如果选择了本地命名)。

  • sqlnet.ora

    配置客户域作为缺省域(你的计算机所在的域)。这个域自动地添加到连接字符串中任何不合格网络服务名。一个合格网络服务名字不包含网络域。

    配置客户用来将一个名字解析到一个连接描述符的命名方法。

 

Oracle8i客户

  • 定制(并然后选择Net8客户)

 

帮助的 Net8 配置首先推动你到:

  • 完整的目录服务访问配置,包括进入一种目录服务器的类型和地点并且验证服务器能找到的管理上下文,创造并修改网络服务名。如果你从来没有为目录服务访问设置ORACLE_HOME,将提示你这个信息。  
  • 选择命名方法用于数据库连接(例如,选择本地命名方法启用tnsnames.ora文件)。取决于你的选择,将会有其他信息提示(对选择本地命名方法,你被提示输入一个网络服务名,数据库SID,和使用的网络协议)。  

Net8配置助手通过配置下列文件自动生成你的Net8服务器环境:

  • sqlnet.ora

    配置客户以请求操作系统证实的连接(OPS$)。

    配置客户域作为缺省域(你的计算机所在的域)。这个域自动地添加到连接字符串中任何不合格网络服务名。

    配置客户用来将一个名字解析到一个连接描述符的命名方法。

  • tnsnames.ora

    如果上面选择了本地命名,指定一个网络服务名。

  • ldap.ora

    如果上面选择了目录命名,通过表明目录服务器类型配置目录服务访问。它也可以表明地点和管理上下文。

 

表明你的数据库环境

Oracle通用安装程序使你能够创建一个在下列环境之一操作的Oracle8i数据库。要表明你的Oracle8i数据库适当的环境,参见表 2-5 “Oracle8i数据库环境描述”

2-5 Oracle8i数据库环境描述
环境  说明 

联机事务处理(OLTP) 

很多并发用户执行事务要求快速存取数据。可用度、速度、并发行和恢复性是关键问题。

事务由读取(SELECT语句)、写入(INSERT和UPDATE语句)和删除(DELETE语句)数据库表中的数据组成。 

数据仓库

 

用户实施处理大量数据的大量、复杂查询。应答时间、精确性和可用度是关键问题。

这些查询(典型的只读)从一个简单的获取一些记录到从许多不同的表中排序几千条记录的复杂查询。数据仓库环境也作为决策支持系统(DSS)环境。 

多种用途 

两种类型的应用程序均能访问这个数据库。 

你的数据库环境选择影响到下列数据库设置值:

选择一个数据库创建方法

Oracle数据库配置助手是一个图形化用户接口(GUI)工具让你能够为OLTP、数据仓库和多用途环境创建一个 Oracle8i数据库。当你在安装期间选择创建一个Oracle8i数据库时,Oracle数据库配置助手将自动地从Oracle通用安装程序内启动。也能作为一个独立的工具手工运行。


注意:

本章描述从Oracle通用安装程序内运行Oracle数据库配置助手。对于以独立模式运行Oracle数据库配置助手的信息,见“Oracle数据库配置助手”。 


下面描述每种Oracle8i企业版安装类型都能让你创建一个Oracle8i数据库。数据库类型(OLTP、数据仓库和多用途)用典型、最小和和定制安装创建,以及所需的用户输入。

如果你执行这些步骤……  那么…… 
  1. 选择典型安装类型。

 

Oracle数据库配置助手自动在安装结束前启动并且创建一个预配置、马上可用的多用途的启动数据库:

  • 缺省初始化参数。
  • 自动安装和配置Oracle选件和interMedia1
  • 高级复制能力。
  • 专用服务器模式的数据库配置2
  • NOARCHIVELOG归档日志模式。
  • 无需用户输入,除了提示你输入全球数据库名和SID。

 

1 Oracle数据库配置助手配置通过Oracle通用安装程序安装的选件。
2 对于专用服务器模式和多线程服务器模式的描述 (也称为共享服务器模式),见Oracle8i管理员指南
如果你执行这些步骤……  那么…… 
  1. 选择最小安装类型。
  2. 当提示创建一个启动数据库时,选择“Yes”。

    注意:如果你选择“No”,除了一个数据库外的所有服务器产品被安装。你可以在以后手工运行Oracle数据库助手或用一个SQL脚本创建你的数据库。见Oracle8i系统管理员指南

    注意:一个数据库也通过Oracle8i管理基础结构的Oracle因特网目录安装类型来安装。这个数据库仅用于存储Oracle因特网目录信息。

 

Oracle数据库配置助手自动地在安装结束前启动并创建你接受典型相同的Oracle8i数据库,除了:

  • 没有Oracle选件和interMedia产品的安装和配置。
  • 专用服务器模式的数据库配置。

 

如果你执行这些步骤……  那么…… 
  1. 选择定制安装类型。
  2. Available Products窗口中选择Oracle服务器和附加产品。
  3. 当提示床架一个启动数据库时,选择“Yes”。
  4. Oracle数据库配置助手提示你选择典型或定制数据库创建方法。

 

如果你选择定制数据库创建方法……

Oracle数据库配置助手引导你创建一个充分定制的数据库以匹配环境(OLTP、数据仓库、或多用途)和你选择的数据库配置模式(专用服务器或多线程服务器)。也自动配置选件和interMedia组件(如果安装)和高级复制(如果选择)。只有你有高级数据库创建过程的经验才选择该选项,诸如定制:

  • 数据、控制和重做日志文件设置。
  • 表空间和范围大小。
  • 数据库存储器参数。
  • 归档模式、格式和目的地。
  • 跟踪文件目的地。
  • 字符集值。

如果你选择典型数据库创建方法……

你有两种选择。Oracle数据库配置助手的在数据库创建中的作用取决于你的选择:

  • 从CD拷贝已有文件

    Oracle数据库配置助手与前一页典型下描述的那样创建Oracle8i数据库。也自动配置选件和interMedia组件(如果安装)。无需用户输入,除了提示你输入全球数据库名和SID。1

  • 创建新的数据库文件

    Oracle数据库配置助手提示你回答若干问题,包括选择数据库环境(OLTP、数据仓库或多用途)并指定并发连接的数量。然后Oracle数据库配置助手动态创建一个数据库。也自动配置选件和interMedia组件(如果安装)和高级复制(如果选择)。2

 

1 如果你为安装选择了Oracle JServer,为IIOP客户以多线程服务器模式创造数据库。
2 如果你选择OLTP作为你的数据库环境并且输入20或更多并发数据库连接数量,以多线程服务器模式创造数据库。否则,服务器模式是专用的。