后期安装
你必须在完成Oracle通用安装程序会话后执行某些后期安装步并配置Oracle8i。这章描述所需的步骤,还有一些可选的。
作为root用户登录并且执行下列任务:
如果必要,用系统管理实用程序例如useradd创建额外的Linux帐号。在系统上的每个DBA用户必须是OSDBA组的一个成员。
用SQL*plus查询数据字典视图列出缺省数据库中的账号。数据库中的帐号基于在安装程序被选择的产品。
SQL> SELECT username FROM dba_users;
你应该删除你不需要的帐号。
如果你以类似于美国NCSC C2或欧洲的ITSEC E3安全评估配置的方式配置Oracle8i,验证数据库文件安全性以保证 Oracle软件安装的完整性。如果安全不是一个问题,这项任务是可选的。
许多文件必须被保护以阻止非法存取安全数据。建议的文件模式和所属权如下:
oracle帐号应该有读、写和执行在Oracle安装中的所有文件和目录的权限。
oinstall组应该有读、写和执行oraInventory目录的权限,但是应该没有其他的写权限。
oracle账号或oinstall组外的用户不应该有在Oracle安装上的任何文件或目录上的写权限。表4-1 “在Oracle目录和文件上的访问权限”,总结了对于目录和文件的不同类型的权限。
你可以配置系统在你的系统启动时自动启动Oracle数据库并在系统关闭时自动关闭Oracle数据库。自动化数据库启动是可选的,但是自动化关闭是推荐的,因为它保护数据库不适当的关闭。
dbshut和dbstart脚本位于$ORACLE_HOME/bin目录并且可以用于自动化数据库启动和关闭。
dbstart和dbshut脚本引用在oratab文件中同样的条目,因此脚本必须适用于同一个数据库集合。例如,你不能让dbstart已自动启动数据库sid1、sid2和sid3,而让dbshut仅关闭数据库sid1和sid2。然而,你可以指定dbshut关闭当前dbstart根本没使用的数据库。要做到这样,在关闭文件中包括dbshut但是在系统启动文件中省略dbstart。
本过程必须对你想要配置成自动化启动和关闭的每个新数据库完成。执行下列任务建立dbstart和dbshut脚本以便他们在系统启动被调用:
/etc/oratab文件。
在oratab文件中的数据库入口以下列格式出现:
ORACLE_SID:ORACLE_HOME:{Y|N}
这里Y或N指定你是否想要dbstart和dbshut脚本启动并关闭数据库。找出你想要启动的所有数据库入口。他们有第一列的sid指出。改变最后一个列为Y。
/etc/rc.d/init.d目录下创建一个名为dbora(如果它还不存在)的文件。
dbora文件末尾创建类似于下面的入口(如果他们还不存在)。确定给出完整的dbstart实用程序的路径。
#!/bin/sh # Set ORA_HOME to be equivalent to the ORACLE_HOME # from which you wish to execute dbstart and # dbshut # set ORA_OWNER to the user id of the owner of the # Oracle database in ORA_HOME ORA_HOME=/u01/app/oracle/product/8.1.6 ORA_OWNER=oracle if [! -f $ORA_HOME/bin/dbstart] then echo "Oracle startup: cannot start" exit fi case "$1" in 'start') # Start the Oracle databases: # The following command assumes that the oracle login will not prompt the # user for any values su - $ORA_OWNER -c $ORA_HOME/bin/dbstart & ;; 'stop') # Stop the Oracle databases: # The following command assumes that the oracle login will not prompt the # user for any values su - $ORA_OWNER -c $ORA_HOME/bin/dbshut & ;; esac
dbora,输入: # ln -s /etc/rc.d/init.d/dbora /etc/rc.d/rc0.d/K10dbora # ln -s /etc/rc.d/init.d/dbora /etc/rc.d/rc2.d/S99dbora
作为oracle用户执行下列任务。
更改oracle帐号和Linux Oracle用户账号的启动文件。
在使用Oracle8i产品前,在oracle账号的.profile或.login文件中设置下列环境变量。
表 4-2 “环境变量设置”列出了推荐的设置。你这里使用的设置应该对应于“设置环境变量”中的你在安装期间使用的设置,设置环境变量的语法如下。
对Bourne或Korn shell:
variable_name=value; exportvariable_name
对C shell:
setenvvariable_namevalue
| 环境变量 | 建议设置 |
|---|---|
| 设置它包括 |
|
|
|
|
|
|
|
| 当你被Oracle通用安装程序提示时,如果你不记得你输入的值,你可以在位于
|
|
| 确保新的 |
|
| CLASSPATH 必须包括下列:
|
|
| 将它设置为Net8配置文件的地点。如果Net8配置文件不位于缺省地点之一,这个变量才需要设置。 |
|
| 设置TWO_TASK为定义在 |
当使用共享库的Oracle产品时需要。设置LD_LIBRARY_PATH包括$ORACLE_HOME/lib。
指定Oracle软件和管理文件结构的顶级目录。OFA建议的值是:
software_mount_point/app/oracle。
例如:
/u01/app/oracle
指定一个包含给定版本的Oracle软件的目录。最佳灵活体系结构建议的值:
$ORACLE_BASE/product/release。
例如:
/u01/app/oracle/product/8.1.6。
指定Oracle系统标识符,或sid,它是Oracle服务器实例的名字。因为sid被结合进许多文件名,Oracle公司推荐把它限制为4个字符以避免在不同的操作系统上的文件名问题。
在Oracle软件安装以后,搜索路径应该包括所有下列路径:
CLASSPATH变量用于Java功能。CLASSPATH对不同的产品是不同的。对于更多的信息参考你的产品文档。除了任何事先存在的设置,CLASSPATH还必须包括下列JRE地点:
$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/product/jlib
变量product指出ORACLE_HOME任何产品目录,例如rdbms或network,在这里找到一个JRE或java功能所需的文件。
要将Net8配置文件放在缺省地点以外的一个地点(/etc或$ORACLE_HOME/network/admin),设置TNS_ADMIN环境变量为Net8
配置文件所在的目录。例如,如果tnsnames.ora在/tns目录下,将TNS_ADMIN设置为/tns。
Oracle产品将以下列次序寻找tnsnames.ora文件:
检查一个tnsnames.ora文件存在于在这些地点之一;否则,你可以是不能通过使用本地命名的Net8与一个数据库连接。
如果你有一个客户机/服务器配置,你可以设置TWO_TASK为客户软件将缺省地连接数据库的网络服务名。当 TWO_TASK被设置时,你不必指定数据库的网络服务名字用Oracle客户软件与它连接。关于网络服务名详见Net8 Adminstator指南和Oracle8i for Linux Intel管理员参考。
你可选择使用oraenv或coraenv脚本为oracle用户设置一个公用环境。对于oraenv脚本配置一个或多个实例,或如果你运行C
shell,用coraenv脚本,安装下面的指令:
在一台单个实例机器上, 在oracle账号的.bashrc、.profile或.login文件中给环境变量ORACLE_SID,按照这些命令在登录时初始化oraenv(coraenv)文件。
对Bourne或Korn shell:
ORAENV_ASK=NO
export ORAENV_ASK
./usr/local/bin/oraenv
对C shell:
set ORAENV_ASK = NO source /usr/local/bin/coraenv unset ORAENV_ASK
在一台多个实例的机器上,在oracle帐号的启动文件末尾包括实例名列表和必要的命令初始化oraenv(coraenv)。
对Bourne 或 Korn shell:
#! /bin/sh
echo“The SIDs on this machine are:”
cat /etc/oratab | awk -F: '{print $1}' | grep -v "#"
ORAENV_ASK="YES"
export ORAENV_ASK
./usr/local/bin/oraenv
对C shell:
#! /bin/csh
echo“The SIDs on this machine are: ”
cat /etc/oratab | awk -F: '{print $1}' | grep -v "#"
set ORAENV_ASK= "YES"
source /usr/local/bin/coraenv
要为所有Oracle账号创建相同的环境,更改每个用户的启动文件,在启动文件的末尾包括下列行:
.profile文件:
. /usr/local/bin/oraenv
对于C shell使用的.login文件:
source /usr/local/bin/coraenv
如果你已经手工创建了一个数据库而不是使用Oracle数据库配置助手,你必须保证系统配置反映在/etc/oratab文件中。
以下列格式为系统上的每个服务器实例增加一个入口:
ORACLE_SID:ORACLE_HOME:{Y|N}
这里Y或N指出你是否想要激活dbstart和dbshut脚本。Oracle数据库配置助手自动地为它创建的每个数据库增加一个入口。
Oracle8i版本包括了必须用于Oracle8i或其他产品的补丁。补丁可在Oracle8i版本2(
8.1.6 )CDROM的cd_rom_mount_point/patch目录下找到。对于安装指令看一下每个补丁包含的README文件。
与发布一起分发的缺省initsid.ora文件位于$ORACLE_BASE/admin/sid/pfile目录。一个init.ora模版文件也在$ORACLE_HOME/dbs中。文件包含为小型、中等和大规模数据库的设置,中等和大规模数据库设置有注释。规模大小的设置是彼此相对的,而不代表数据库实际的大小。
当你使用Oracle数据库配置助手创建一个数据库时,你的initsid.ora参数自动被设置。你可以用一个Linux文本编辑器手工修改在initsid.ora重的初始化参数。通过关闭并重启数据库激活修改的initsid.ora文件。
对在参数文件中的ORACLE_HOME,不要使用符号字符例如问号(?)表示。
要在数据库启动时自动地联机退回(rollback)片断,你必须去掉initsid.ora文件中的back_segments。
例如,将:
#rollback_segments =( r0 , r1 , r2 , r3 )
改为:
rollback_segments =( r0 , r1 , r2 , r3 )
对于你的安装有必要执行产品特定的步骤。不是所有产品都需要后期安装。
你设置你的Oracle产品前,阅读一下联机文档,见“访问安装的文档”。在完成本手册的配置任务前不必阅读产品文档,但是更复杂的调节需要产品文档的信息。
下列产品需要后期安装步骤:
配置一个完整的Oracle网络超出本手册范围,详细内容见Net8管理员指南。
Net8基本配置在安装Net8期间有Oracle通用安装程序调用Net8配置助手进行的。对于Net8配置助手如何配置你的安装的解释,见“理解Net8配置”。对于作为一个独立工具运行的Net8配置助手的信息,建“ Net8配置助手”。
用下列步骤验证并完成你的初始配置:
root登录并且通过在/etc/services文件加入下列入口为Net8监听器预留一个端口:
listener_name 1521/tcp #Net8 listener
$ lsnrctl stauta [listener_name]
如果监听器有不同于缺省名listener的一个名字,需要listener_name。
如果监听器不在运行,用下列命令启动它:
$ lsnrctl start listener_name
$ sqlplususername/password@net_service_name
如果你能成功地用SQL*Plus与服务器连接,你已在TCP/IP上建立了网络连接。对于更高级的网络配置,参考Net8管理员指南。
关于interMedia的文本,在LD_LIBRARY_PATH环境变量中包含$ORACLE_HOME/ctx/lib。
如果你打算在你的起始安装后安装Oracle interMedia文本,保证你为数据字典至少有10MB的磁盘空间。
你的数据库必须包括专用于interMedia文本数据的表空间。验证表空间存在并作为Oracle interMedia文本的缺省和临时表空间。Oracle interMedia文本对它的缺省和临时表空间中使用DRSYS表空间。如果为Oracle interMedia文本的表空间不存在或你不想使用DRSYS表空间,在继续前创建额外的表空间。
如果你在起始安装后安装额外的Oracle选件,使用Oracle数据库配置助手配置为你安装的选件配置你的数据库。
dbassist启动Oracle数据库配置助手,它位于:
$ORACLE_HOME/bin/dbassist
为所有选件和软件包,执行权限将授予PUBLIC。
恢复管理器是一个自动恢复实用程序,作为Oracle8i的一部分安装。它在一个单独Oracle8i数据库的一个恢复目录中存储信息。该第2个Oracle8i数据库应该在一台分开的机器上安装以提供最大的差错保护。
要创建一个恢复目录,执行下列步骤:
如果你不编写一个特定的脚本创造数据库,用Oracle数据库配置助手创建一个典型的、预配置的数据库。缺省数据库对于恢复目录是足够的。
create
catalog。 配置成多线程服务器(MTS)的Oracle服务器对初始化参数SHARED_POOL_SIZE或使用LARGE_POOL_SIZE的定制配置要求较高的设置。如果你用Oracle通用安装程序安装了服务器,SHARED_POOL_SIZE的值自动由Oracle数据库配置助手为你设置。然而,如果你手工创建了一个数据库,你应该在initsid.ora文件中提高SHARED_POOL_SIZE的值。典型地,
你应该为每个预期的并发用户增加1KB。
在$ORACLE_HOME/precomp/admin中的配置文件pcscfg.cfg必须在使用Proc*C/C++前为你的环境定制。这个文件安装室没有内容并且可以根据你特定要求用任何文本编辑器配置。
在安装任何协议以后执行下列步骤:
root用户登录并且在系统开始文件加入类似下列的行:su - oracle -c "lsnrctl start"
在Linux Intel上,启动文件是/etc/rc.d/init.d/dbora。
tnsnames.ora文件中得到)。对于设置环境变量的信息,见“设置环境变量”。$ lsnrctl start
$ lsnrctl stauts
oracle用户,启动SQL*Plus,测试连接:
$ sqlplususername/password@service_name
一旦安全套接字安装,你必须运行Net8配置助手正确为你的系统正确配置它。
本节介绍下列Oracle配置助手:
这些配置助手通常是安装会话期间运行,但是也可以以一个单独模式运行。象Oracle通用安装程序一样,这些助手的每一个也可以使应答文件非交互地运行。
当Net8服务器或Net8客户被安装时,Net8配置助手自动由Oracle通用安装程序运行。见“理解Net8配置”。
如果你用Oracle数据库配置助手在安装期间或安装以后创建一个数据库,它将自动用对新数据库必要的所有配置信息更新Net8配置。Oracle数据库配置助手要么在一个支持目录中注册数据库使得客户可以使用该目录连接数据库,要么它将在本地命名文件(tnsnames.ora)中创建一个入口,它马上能散发到客户机器上以连接数据库。
如果你选择单独进行Oracle8i客户安装,Net8配置助手将自动创建一个信息文件,它与任何你在安装期间的选择一致。安装程序将自动运行Net8配置助手来设置在你的客户安装的$ORACLE_HOME/network/admin目录中找到的本地命名文件中的一个网络服务名。
在安装完成以后,更详细的配置可用下列命令用Net8配置助手完成:
$ netasst
对于Net8的使用和配置的信息,见Net8管理员指南。
如果你安装了Oracle8i以使用先前软件版本的现有数据库,并且你没在安装期间选择升级数据库,在使用Oracle8 i装载数据库之前,省级或迁移数据库。
你可以用下列命令启动Oracle数据迁移助手:
$ odma
迁移一个数据库的过程超过本手册范围。详细指令和信息见Oracle8i迁移。
Oracle数据库配置助手可以创建一个缺省或定制的数据库,或它可以被用来配置一个存在的使用Oracle选件的数据库。助手能创建数据库或输出一系列shell脚本和SQL脚本,你能用来检查、修改和在以后运行。见“表明你的数据库环境”。
你可能用下列命令启动Oracle数据库配置助手:
$ dbassist
为调用Oracle数据库配置助手的帮助,使用dbassist的-help或-h命令行参数。
你可以安装HTML和PDF格式的文档。Linux特定的文档文件从Oracle8i CDROM上安装。一般的文档文件从一般联机文档CDROM上安装。文档文件的地点根据下列规则决定:
$ORACLE_BASE/doc目录。
$ORACLE_HOME/doc目录下。
要访问文档,把你的浏览器指向index.htm或products.htm的任何一个(后者不要求一个支持框架的浏览器)。如果你比较喜欢纸质文档,你可以打印PDF文件。
你也能直接从CDROM访问文档。
Oracle信息导航器是基于Java的搜索和浏览实用程序,与Oracle联机文档一起提供。如果你正在使用一个支持Java的浏览器,当你打开在CDROM顶层index.htm文件时,信息导航器自动运行。信息导航器用于Oracle文档,不管你是从CDROM阅读还是阅读安装的文件。
如果你是从你的系统上完全卸载Oracle软件,那么你必须用Net8配置助手删除Net8配置并且用Oracle数据库助手删除任何安装的数据库。两个助手必须在使用安装程序完全卸载Oracle软件之前运行。Oracle软件的部分卸载不必要求你也运行Oracle数据库配置助手或Net8配置助手。
要用Oracle 数据库配置助手卸载一个Oracle数据库:
$ dbassist
因为你一次只能删除一个数据库,你必须运行Oracle数据库配置助手并且对你想要删除的每个数据库重复这些步骤。
在你运行了Oracle数据库配置助手后,通过在命令行加/deinst参数调用它以卸载模式运行Net8配置助手:
$ netca /deinst
要使用Oracle通用安装程序卸载Oracle软件: