目录搜索
oracle知识ORACLE的数据类型Oracle技术网—DBMS_Job包的用法Oracle技术网—Oracle for NT系统实用工具介绍Oracle技术网—Oracle常见错误代码Oracle技术网—Oracle常用ScriptOracle技术网—Oracle常用数据字典Oracle技术网—ORACLE数据库简介Oracle技术网—Oracle特殊包Oracle技术网—Oracle相关站点Oracle技术网—哪些初始化参数最影响Oracle系统性能PL/SQLDBAOracle7 7.3.2.2Oracle技术网—listener.log的内容增长很快,是否可以删除重建Oracle技术网—ORACLE表空间恢复方案Oracle技术网—Oracle常用系统文件有哪些Oracle技术网—ORACLE回滚段管理(上)Oracle技术网—ORACLE回滚段管理(下)Oracle技术网—Oracle如何决定使用哪个回退段Oracle技术网—Oracle数据库的空间管理技巧Oracle技术网—Oracle数据库碎片整理Oracle技术网—Oracle数据库有哪几种关闭方式Oracle技术网—Oracle数据库有哪几种启动方式Oracle技术网—Oracle预定义角色有哪些Oracle技术网—ROLLBACK不能回滚的命令Oracle技术网—查看哪些session正在使用哪些回滚段Oracle技术网—存储参数(storage子句)含义及设置技巧Oracle技术网—和权限有关的表有哪些Oracle技术网—漫谈数据库的启动和关闭Oracle技术网—哪些初始化参数最影响Oracle系统性能Oracle技术网—如何备份控制文件Oracle技术网—如何查出前台正在发出的sql语句Oracle技术网—如何查看Oracle版本及安装了哪些选项Oracle技术网—如何查看Oracle数据表的建表语句Oracle技术网—如何查看SGA区剩余可用内存Oracle技术网—如何查看各个表空间占用磁盘情况Oracle技术网—如何查看后台进程Oracle技术网—如何查看什么时间有哪些数据库对象结构被修改过Oracle技术网—如何查看数据库的各种数据文件Oracle技术网—如何查看数据库的字符集Oracle技术网—如何查看数据文件是否自动扩展Oracle技术网—如何查看数据文件所在的路径Oracle技术网—如何查看用户表上的约束内容Oracle技术网—如何查看用户表所占空间的大小Oracle技术网—如何查询出primary key和forgen key的关系表Oracle技术网—如何改变当前联机日志文件的大小Oracle技术网—如何利用DBMS_SQL包和游标计算当前用户下所有表的行数Oracle技术网—如何启动ARCHIVELOG模式Oracle技术网—如何取出某一用户的密码,再原封不动的改回去Oracle技术网—如何设置BLOCK_SIZE大于2K,如:4K、16KOracle技术网—如何手工指定使用哪个回退段Oracle技术网—如何修改internal的口令Oracle技术网—如何移动控制文件到新的目录中Oracle技术网—如何移数据库文件Oracle技术网—如何增加表空间的大小Oracle技术网—怎样查看init.ora文件Oracle技术网—怎样查看SGA值Oracle技术网—怎样查看哪些用户拥有SYSDBA、SYSOPER权限?Oracle技术网—怎样快速查出Oracle 数据库中的锁等待Oracle技术网—怎样识别IO竞争和负载平衡Exp vs ImpOracle技术网—EXP、IMP 命令详解Oracle技术网—Exp/Imp大量数据Oracle技术网—Export/Import 使用技巧与常见错误Oracle技术网—Oracle数据库的备份与恢复Oracle技术网—如何把数据exp到Sql loader里Oracle技术网—如何单独备份一个或多个表Oracle技术网—如何单独备份一个或多个用户Oracle技术网—如何导入指定表Oracle技术网—如何建立一个与现存数据库相同,但不包含数据的空库Oracle技术网—如何在oracle7和oracle8之间exp/imp数据Oracle技术网—提高ORACLE数据库系统import性能Oracle技术网—为何我的导出文件只有500KOracle技术网—自动备份Oracle数据库Oracle技术网—作Export或Import时,如何记录LOG信息?SQL技巧Oracle技术网—LONG数据类型使用上的一些说明Oracle技术网—Oracle8 PL/SQL编程风格与系统性能的提高Oracle技术网—Oracle8中用户名、表名、列名、索引名...可以用中文命名吗Oracle技术网—Oracle中如何实现某一字段自动增加1Oracle技术网—SQL(Structured Query Language)语句分哪几类Oracle技术网—SQL*PLUS常用命令列表Oracle技术网—SQL*Plus系统环境变量有哪些?如何修改?Oracle技术网—SQL*Plus中缓冲区命令列表Oracle技术网—SQL*Plus中能运行哪几种命令Oracle技术网—SQLPlus中的复制和粘贴技巧Oracle技术网—查看本用户下的各种对象的SQL脚本Oracle技术网—查找a表中有,而在b表中没有的记录Oracle技术网—利用PL/SQL打印ASCII表Oracle技术网—如何查找、删除表中重复的记录Oracle技术网—如何对CLOB行字段执行全文检索Oracle技术网—如何对CLOB字段进行全文检索?Oracle技术网—如何改变表中列的名字Oracle技术网—如何改变一个字段初始定义的Check范围Oracle技术网—如何给表、列加注释Oracle技术网—如何将 primary key 建在其它的表空间上Oracle技术网—如何删除表中的列Oracle技术网—如何使‘CREATE TABLE AS SELECT’能支持ORDER BY ?Oracle技术网—如何通过 SQL*PLUS 将符号 & 、'号(单引号) 插入Oracle数据库的表中Oracle技术网—如何用SQL生成SQL批处理文件Oracle技术网—如何在PL_SQL中读写文件Oracle技术网—如何自动生成一个含有20000101至20500101共50年日期的表Oracle技术网—如何自动生成一个含有2000年01月至2050年01月共50年月份的表Oracle技术网—删除a表中和b表相同的数据Oracle技术网—在Oracle快速进行数据行存在性检查Oracle技术网—怎样查看表的结构Oracle技术网—怎样改变SQL*Plus启动时默认路径Oracle技术网—怎样计算表中的记录数Oracle技术网—怎样在SQL*Plus中使用 '&' 来实现自定义参数变量?Oracle技术网—怎样在查询记录时给记录加锁Oracle错误Oracle7 7.3.2.2Oracle技术网—Oracle 816中如何启动Enterprise ManagerOracle技术网—Oracle Enterprise Manager(OEM)工具中如何以SYSOPER、SYSDBA方式登录Oracle技术网—ORACLE数据库应用开发常见问题及排除Oracle技术网—监听器错误Oracle技术网—联机热备份失败后,如何打开数据库Oracle技术网—没有备份、只有归档日志,如何恢复数据文件Oracle技术网—某个数据文件损坏,如何打开数据库Oracle技术网—如何使用归档日志进行完全恢复Oracle技术网—如何正确建立TYPE、partition(分区)Oracle技术网—一个控制文件被损坏,如何启动Oracle技术网—在SQL*Plus中insert进的都是中文的,为什么一存入服务器后,再select出的就是???了Oracle技术网—重装Oracle服务器后,以前的数据可以恢复吗Oracle初学者入门Oracle技术网—Oracle 8.1.6 for Win2000 系统文件解释Oracle技术网—Oracle 基本知识Oracle技术网—Oracle8 数据类型Oracle技术网—what is sql?Oracle技术网—安装、配置后,SQL*Plus操作初步Oracle技术网—安装Oracle后,经常使用的修改表空间的SQL代码Oracle安装、删除Oracle技术网—Oradim工具的用法Oracle技术网—WINDOWS NT上,如何删除ORACLE SERVICEOracle技术网—如何连接两台Oracle服务器Oracle技术网—如何在Windows 2000下将Oracle完全卸载Oracle技术网—如何在WINDOWS NT上删除所有的Oracle安装?Oracle技术网—手工安装数据库时需要安装那些系统包Oracle技术网—手工创建数据库的全部脚本及说明Oracle安全性问题Oracle技术网—Linux ORACLE 8.1.5漏洞Oracle技术网—Oracle 8.1.6的oidldapd中的漏洞Oracle技术网—Oracle8的不安全因素及几点说明Oracle技术网—Oracle数据库的安全策略Oracle技术网—Oracle数据库密码文件的使用和维护Oracle技术网—提高Oracle数据库应用系统安全的举例与分析数据库安全性策略Oracle系统设置、优化、连接《Oracle8 优化技术》摘录 (第一章 安装)《Oracle8 优化技术》摘录 (第二章 内存/CPU)《Oracle8 优化技术》摘录 (第三章 输入/输出)Oracle技术网—ASP 中通过OLEDB访问 Oracle 的代码Oracle技术网—Delphi5 企业版使用BDE访问 Oracle方法Oracle技术网—oracle database access objectOracle技术网—Oracle基于Client/Server的性能调整Oracle技术网—PB7 连接 Oracle 的配置方法Oracle技术网—PB内置Oracle数据库接口的使用方法Oracle技术网—PHP+Oracle(OCI) 初步Oracle技术网—PHP4连接Oracle 8i的方法(转译)Oracle技术网—多个数据库时,如何设置默认数据库Oracle技术网—如何备份Oracle设置Oracle技术网—如何让你的SQL运行得更快Oracle技术网—如何修改 SQL*Plus 的启动参数Oracle技术网—如何在Windosws 2000中安装JSP并访问OracleOracle技术网—如何在Windosws 2000中安装perl并访问OracleOracle技术网—如何在Windosws 2000中安装PHP4并访问OracleOracle技术网—如何在Windosws NT中使用批处理命令自动启动或关闭Oracle ServicesOracle技术网—如何在客户端省略输入数据库串,而只输入用户名、密码即可Oracle技术网—使用Database Configuration Assistant安装第二个数据库Oracle技术网—修改Oracle7数据库maxdatafiles参数的方法索引、序列、快照、数据库链路、触发器Oracle技术网—触发器的几种应用Oracle技术网—建立触发器时最容易忽略的两个地方Oracle技术网—快照和触发子结合使用的例子Oracle技术网—能否通过视图更新表中的数据Oracle技术网—如何创建一个简单的JAVA存储过程?Oracle技术网—如何创建隐藏IP地址的最后一项的函数?Oracle技术网—如何加密Oracle中的存储过程Oracle技术网—为什么有时ORACLE数据库不用索引来查找数据Oracle技术网—我的数据库链路为什么不工作Oracle技术网—一个建立快照的简单例子Oracle技术网—怎样创建一个简单的自定义过程并引用Oracle技术网—怎样手工刷新快照oracle与其他数据库的比较MySQL 测试Oracle技术网—Oracle 和 mysql 的一些简单命令对比参照Oracle技术网—Oracle8i和Microsoft SQL Server7.0比较Oracle技术网—比较SQL Server与Oracle、DB2Oracle技术网—各种数据类型的比较Oracle技术网—戏说SQL—几种SQL 服务器的比较关键任务      在Internet上运作公司是一项艰苦的任务其它知识OEM常见问题及其解决办法Oracle 8 资料库函式库Oracle 资料库函式库Oracle技术网—Decode()函数使用技巧(NT+IIS+ASP+ORACLE)Oracle技术网—Dual伪列Oracle技术网—NULL 使用详解Oracle技术网—OLAP及其多维数据分析Oracle技术网—Oracle for NT系统实用工具介绍Oracle技术网—ORACLE 用户的规范化管理Oracle技术网—user、uid伪列Oracle技术网—大型数据库设计原则Oracle技术网—留言簿(带Oracle数据库分页的显示功能)Oracle技术网—漫谈oracle中的空值Oracle技术网—如何正确利用Rownum来限制查询所返回的行数Oracle技术网—什么是ROWID,为什么需要它Oracle技术网—数据库技术考试大纲(中级)Oracle技术网—数据库行业的现状和展望Oracle技术网—在客户端处理Oracle的数据行加锁问题如何对CLOB行字段执行全文检索Developer 2000Oracle技术网—Developer/2000中各键盘触发子所对应的“按键”Oracle技术网—FORM调用REPORT时,如何去掉report serverOracle技术网—FORM中,Exception(例外)都有哪些,如何书写Oracle技术网—FORM中,FORM中,如何引入图像Oracle技术网—FORM中,WINDOW标题的设置Oracle技术网—FORM中,常用快捷键有哪些Oracle技术网—FORM中,触发子exit_form的两种功能是什么Oracle技术网—FORM中,当光标走到块的最后一项时,如何让按“enter回车”键时,光标自动走到下一条记录的第一项?Oracle技术网—FORM中,当用鼠标点击标签画布的某一“标签页”时,如何判断点击的是哪一页Oracle技术网—FORM中,如何屏蔽默认的功能键Oracle技术网—FORM中,如何实现屏幕同步刷新?Oracle技术网—FORM中,如何使用警告Oracle技术网—FORM中,如何通过 ODBC 访问 Acress 数据?Oracle技术网—FORM中Oracle技术网—FORM中,设置应用特性(光标类型)Oracle技术网—FORM中,怎样创建动态下拉列表ListOracle技术网—FORM中如何存取声音Oracle技术网—FORM中如何存取图象?如何把图象从一个表中导到另一个表中?Oracle技术网—MIS中的图像应用技术Oracle技术网—MIS中的图像应用技术Oracle技术网—从FORM中调用REPORT时,如何使打印结果直接输出到打印机上Oracle技术网—如何从FORM中调用REPORT程序Oracle技术网—如何改变FORM(FMX模块)运行时的title?Oracle技术网—如何在FORM运行中,使定制菜单中的“窗口(W)”菜单项不显示Oracle技术网—如何在启动FORM程序时直接登录到Oracle数据库上?Oracle技术网—运行FORM时,如何使按钮变灰(即无效)Oracle技术网—运行FORM时,如何使窗口(runtime窗口、画布窗口)自动变成最大化、最小化?Oracle技术网—在Developer/2000中如何读写文本型操作系统文件Oracle技术网—在Oracle中实现报表的定长输出linux vs UnixHow To Install Oracle 8.0.5 onto RedHat Linux 6HOWTO: OAS for Linux on FreeBSDHOWTO: Oracle for Linux on FreeBSDOracle 7.3.4 Enterprise Edition for SCO UNIX 安装步骤Oracle技术网—Oracle .com 套件在TurboLinux上的安装Oracle技术网—ORACLE 7.3 Enterprise在SCO OPEN SERVER 5.02 及 5.04 的安装过程Oracle技术网—ORACLE 7.3.4.2 for SCO Unix 安装说明Oracle技术网—Oracle 8 for solaris 2.6 安装步骤Oracle技术网—Oracle 8(8.0.5)标准版安装指南Oracle技术网—Oracle 8i(8.1.5)企业版安装指南Oracle技术网—ORACLE FOR SUN SOLARIS 安装手册Oracle技术网—ORACLE FOR SUN SOLARIS 维护手册Oracle技术网—ORACLE V.7.3.4.3 FOR AIX 安装说明Oracle技术网—ORACLE8I FOR SUN SOLARIS2.7 安装说明Oracle技术网—RedHat 6.1 Step-by-step Install notes for Oracle 8iOracle技术网—RedHat Linux 6.0 上 Oracle 8(8.0.5)标准版 安装实例Oracle技术网—RedHat Linux 6.0 上 Oracle 8i R2 (8.1.6) 企业版安装实例Oracle技术网—如何集成Linux/Apache/PHP4/FastCGI/Oracle/MySQL环境Oracle技术网—如何在你的Linux机器上安装运行OracleOracle技术网—为Linux配备Oracle 8Oracle技术网—在RedHat 6.0上安装Oracle 8i(全攻略)
文字

    
在RedHat 6.0上安装Oracle 8i(全攻略)
来源:LinuxByte
晏子 编译

--------------------------------------------------------------------------------

目前,网上已有不少较少Oracle 8i在Linux(RedHat 6.0)上的安装指南,但在实际运用中还是会遇到各种各样的问题,这其中的是,一则指南本身不完全,还有就是Oracle本身也有一定的问题。本文是我找到的最完整的一个安装指南,其他的FAQ很具实用价值,故将此文整理出来供大家参考。

本文只介绍Oracle 8i企业版(815ship.tgz)。

如果你还有问题,请到Oracle 技术网络和deja.com提问或查找答案。


--------------------------------------------------------------------------------

1. 准备安装
1.1 获得Java运行时刻环境(JRE)
1.2 重新配置并编译你的内核
1.3 建立Linux用户组和帐号
1.4 设置环境变量
2. 安装
2.1 运行Oracle通用安装程序
2.2 安装所有Oracle选件
2.3 不要用数据库助手创造数据库
2.4 使用Oracle 8i补丁
3. 创建一个数据库
3.1 运行数据库助手
3.2 使用定制/专用服务器模式
3.3 保存到脚本
3.4 运行脚本
3.5 扩大你的重做日志文件
3.6 修改你的init.ora文件
3.7 不使用数据库助手创造一个数据库
4. 数据库创建的后期过程
4.1 自动启动和关闭数据库
4.2 安装SQL*Plus联机帮助
5. 配置Net8
5.1 Net8助手的限制
5.2 建立一个监听器
5.3 为本地命名方法配置Net8
5.4 配置SQLNET.ORA
5.5 使用本地命名方法测试Net8连接
5.6 为主机命名方法配置Net8
5.7 使用主机命名方法测试Net8连接
5.8 建立Oracle命名服务器
5.9 使用Oracle命名方法测试Net8连接
5.10 为IIOP连接配置监听器
5.11 自动启动和关闭监听器
5.12 自动启动和关闭Oracle命名服务器
6. 常见问题
Oracle 通用安装程序
我不能运行Oracle通用安装程序。我怎么办?
Oracle 通用安装程序提示我为OSDBA和OSOPER指定Linux用户组。你也被这样提出过吗?
数据库助手
有这么办法不使用数据库助手就能创造一个数据库吗?
我得到“can"t find class java/lang/Thread”的一个错误消息
我得到一条警告消息"JNLS Exception:oracle.ntp.jnls.JNLSException Unable to find any National Character Sets. Please check your Oracle installation."。
当保存到脚本时,我得到错误消息"Unable to create database. DBCA-00047: Unable to create destination directories."。
我应该选择“典型”还是“定制”安装?
我在创建数据库时得到一条“ ORA-01012 :Not logged in”。
尽管我使用了专用服务器过程,仍然得到“ ORA-01012 :Not logged in”。
我得到一条“ORA-01034 :ORACLE not available”。
创造一个数据库花了很长的时间。
使用补丁
在使用8.1.5.0.1补丁以后,svrmgrl和sqlplus仍然报告8.1.5.0.0。
在使用8.1.5.0.2补丁以后,当运行svrmgrl时,我得到一条“ORA-12545 Connect failed because target host or object does not exist”。
其他
在我的pmon跟踪文件中有一条:“OER 536879337 in Load Indicator : Error Code = 570716328 !”
在我的警告记录文件和pmon踪迹文件中,我得到很多“Load Indicator not Supported by OS!”。
我得到“ORA-00601 cleanup lock conflict”并且Oracle因中度负载的EJB顾客而死掉。
有人在一个2.3版内核上使用Oracle8i吗?
7. 资源链接
补丁和支持文档的重要链接

1. 准备安装
1.1 获得Java运行时刻环境(JRE)
本文中所指的Java运行时刻环境意味着JRE 1.1.6v5,而不是JDK。从<a href=www.Blackdown.org>Blackdown</a>下载,要得到glibc版本而不是libc版本。在你喜欢的任何目录下安装它,但是确保建立一个名为/usr/local/jre的符号连接到你安装了JRE的目录,并且其安装目录可被以后创建的Linux帐号oracle读取和执行。

如果你使用JDK而不是JRE,通用安装程序将在以后抱怨Oracle不能找到Java类java.lang.Thread。其原因是:

JRE使用rt.jar作为包含Java库的文件,而JDK使用classes.zip。
Oracle通用安装程序是一个Java应用程序,它被编码成使用rt.jar而不是classes.zip作为它的java 的CLASSPATH部分。
因此,你仍然可以通过创建一个名为rt.jar的符号连接连接到classes.zip而继续使用JDK。

如果你有兴趣使用IBM的JDK 1.1.8,要注意IBM的实现仅仅支持原生线程,并且不支持-green标志。Oracle 8i安装脚本使用原生和green线程。

注意:你不需要设定CLASSPATH环境变量。如果你已经安装其他版本的java,在你运行安装程序时,删除CLASSPATH的设置(unset),而在你使用安装程序时,再把它设置回来。这点在使用netasst和dbassist时也是一样。

1.2 重新配置并编译你的内核
很多用户已经报告不为Oracle8i重新配置内核而成功。当心!下列文字摘自Oracle8i Linux文档(原文):

Oracle8i Administrator"s Reference Release 8.1.5 for Intel Linux (A74957-01)
Chapter 1 - Administering Oracle8i
Controlling the System Global Area
Size Limits of the SGA
The maximum size of a single shared memory region is specified by the Linux parameter SHMMAX. For example, if SHMMAX is 512 KB and the SGA is 2048 KB, the SGA requires four segments.

If the size of the SGA exceeds the maximum size of a shared memory segment (SHMMAX), Oracle8i attempts to attach more contiguous segments to fulfill the requested SGA size. SHMSEG is the maximum number of segments that can be attached by a process. To attach the segments at contiguous addresses, SHMMAX must be set to its maximum value on systems where its size is limited.

Note: Intimate Shared Memory (ISM) may cause problems when SHMMAX is smaller than the database SGA size.


1.3 设置Linux用户组和帐号
你需要创建Linux用户组dba和oinstall。

创建Linux帐号oracle有一个问题。Oracle8i Linux文档在oracle账号应该属于哪个Linux用户组上自相矛盾。看一看下面摘自Oracle8i Linux安装指南的文字,它说Linux oracle帐号应该属于oinstall组:

Oracle8i Installation Guide Release 8.1.5 for Intel Linux (A74958-0)
Chaper 2 - Setting the Environment
Setup Task to Perform as the root User
Create a Linux Account to Own Oracle Software
The oracle account is the Linux account that owns the Oracle8i software after installation. You must run the OUI from this account. On Intel-Linux, use the operating system administration utility useradd to create an oracle account with the following properties:

Login Name Any name, but this document refers to it as the oracle account.
Default GID Corresponding to the oinstall group.


而另一方面,Oracle8i Linux管理指南说Linux oracle帐号应该属于dba组:

Oracle8i Administrator"s Reference Release 8.1.5 for Intel Linux (A74957-01)
Chapter 1 - Administering Oracle8i
Managing Special Accounts and Groups (Table 1-8)
The oracle software owner is the only required member of the dba group. You can add the root user, or any other Linux user, to the dba group. Members of this group have access to SQL*Plus specially privileged functions. If your account is not a member of the dba group, you must enter a password in order to connect as INTERNAL or gain access to the other administrative functions of SQL*Plus. The default group ID is dba.

那么Linux oracle到底应该属于哪个Linux用户组?我的建议是dba。甚至对Oracle 8.0.5,oracle帐号已经是dba组的一个成员了。

你将oracle分配到dba还是oinstall组,在安装过程上有差别:

如果oracle是dba的一个成员,通用安装程序将提示你运行脚本 Oracle/tmp/OraInstall/oraInstroot.sh。这个脚本将改变$ORACLE_BASE/oraInventory的组属主为oinstall。
而如果oracle是oinstall的一个成员,通用安装程序将“抱怨”或提示你Oracle帐号OSDBA和OSOPER的Linux组,但是不提醒你要运行上述的脚本。
1.4 设置环境变量
设置所有所需的环境变量,例如在安装指南中指明的ORACLE_BASE、ORACLE_HOME、ORACLE_SID和LD_LIBRARY_PATH。我也将$ORACLE_HOME/bin加到PATH中。

注意:你不需要设定CLASSPATH环境变量。如果你已经安装其他版本的java,在你运行安装程序时,删除CLASSPATH的设置(unset),而在你使用安装程序时,再把它设置回来。这点在使用netasst和dbassist时也是一样。

如果你仅有128MB的物理内存,并且你在网络上有另外一台Linux机器,你可能想要运行Oracle通用安装程序但在另外一台Linux机器上显示,以便你不需要在你安装Oracle8i的机器上运行X。通过设置DISPLAY环境变量到正在运行X的主机名或IP地址(另一台Linux机器)做到,还有X使用的屏幕号。

例如,如果我正在安装Oracle8i的IP地址是 192.168.0.1,并且运行X的另一台Linux机器是192.168.0.2, 从主机192.168.0.1设置DISPLAY环境变量,如下:

export DISPLAY=192.168.0.2:0.0

在192.168.0.1上运行的任何X应用程序将其输出送到192.168.0.2。然而,X服务器必须允许除自己以外的主机的显示请求。在192.168.0.2主机上,做:

xhost +192.168.0.1

如果你设置了NLS_LANG环境变量,保证它被设置为一个合适/正确的值。见尽管我使用了专用服务器过程,仍然得到“ ORA-01012 :Not logged in”。

2. 安装
2.1 运用 Oracle 通用安装程序
如果你只有一台至少196MB的Linux机器,那么你可以安全地在同一台机器上运行X并安装Oracle 8i。如果你仅有128MB,安装可能很慢。

如果你有2台Linux机器,一个为Oracle8i,另一个运行X,从运行X的主机telnet到安装Oracle 8i的主机,并以oracle登录。通过进入CDROM(或下载版本的解压目录)并运行脚本./runInstaller运行Oracle通用安装程序。当应用程序远程运行时,显示应该出现在X上。如果不是,见前一章。

RedHat 6.1的用户有运行安装程序本身的问题,例如:

Error in CreateOUIProcess(): -1 : Bad Address

对此,这里是其他一些人的一些建议:

如果你使用GNOME,获得enlightenment-0.15.5-37.i386.rpm或更高。
使用KDE。
进入install/linux目录,并运行runInst.sh。
在你看到第一个对话后继续下一个对话,你将被提醒运行脚本/tmp/OraInstall/oraInstroot.sh。这个脚本将改变$ORACLE_BASE/oraInventory的组属主为oinstall。如果从来没有这样提醒你,要么是你以前已经安装了Oracle8i(只装附加部件)或oracle帐号不是dba的一个成员,改变oracle的用户组为dba。

如果Oracle通用安装程序突然死了,问题可能是内存太小。尝试做下列操作:

增大你的交换区
当使用install/linux/runInst.sh时,增加由Java使用的堆大小,通过将传递给jre的参数从-mx64mb改为-mx100mb。
2.2 安装所有Oracle选件
你可以选择安装或不安装的Oracle选件是Time Series Option、Visual Retrieval Information Option、Spatial Option、和interMedia Option。其他Oracle 选件例如JServer、Parallel Option、和Partitioning Options被缺省安装。

当你到了选件要安装的对话时,不管你是否想使用Oracle选件,安装Oracle所有选件。Oracle选件将不被使用,直到你决定在一个数据库中使用他们。

安装所有Oracle选件的原因是由于$ORACLE_HOME/bin/relink脚本的一个bug。这个脚本在每次升级后或Oracle8i打补丁后都要运行。然而,似乎脚本假定所有的库文件,包括哪些Oracle自带的选件,都存在。如果它不能找到甚至一个库文件,重新链接就失败。

如果你碰巧使用了原来的8.1.5.0.1补丁并且注意了sqlplus或svrmgrl仍然报告是8.1.5.0.0,这是因为,是由于丢失库文件而导致重新链接失败。在我第一次安装时,我取消了我能取消的所有Oracle选件。在使用补丁以后,错误记录(如果你做了一个)将显示出:

/usr/bin/ld: Cannot open -lordsdo8: No such file or directory

当你不安装Oracle选件而使用8.1.5.0.2补丁,情况是更糟糕。你甚至不能运行svrmgrl:

ORA-12545 Connect failed because target host or object does not exist.

2.3 不要用数据库助手创建数据库
在安装完成后,Oracle数据库助手将运行。注意,即使你在以前的提示你是否要用数据库助手创建一个数据库的一个对话框回答“No”,它仍将运行。

当你运行数据库助手时,你将得到一条错误消息:

JNLS Exception:oracle.ntp.jnls.JNLSException Unable to find anyNational Character Sets.
Please check your Oracle installation.
只要忽略这条消息并且继续。当你被提示创建、修改或删除一个数据库时,就取消,并且完全退出Oracle通用安装程序。我们需要首先使用补丁。

以下是从8i补丁的常见问题有关上面错误消息的文字:


--------------------------------------------------------------------------------

6. Just before the DB Assistant is launched, a dialog is displayed withthe warning:"JNLS Exception:
oracle.ntp.jnls.JNLSException Unable to find any National Character Sets. Please check your Oracle
installation."

This is a known problem (884001). Ignore the warning

--------------------------------------------------------------------------------

2.4 使用 Oracle8i 补丁
从Oracle Technology Network获得最新的补丁。目前,最新的补丁是8.1.5.0.2。8.1.5.0.2 补丁是一个累积的补丁。它包括8.1.5.0.1 补丁。运行补丁并通过检查/tmp/81501.log和/tmp/81502.log查看任何错误。检查是否在这些脚本中有重新连接失败。用grep找词“fail”。如果重新连接失败,有可能是没有安装Oracle所有选件。见“安装所有Oracle选件”。

3. 创建一个数据库
3.1 运行数据库助手
既然你使用了最新的补丁,你现在已经准备好创建你的数据库了。运行dbassist。你将得到这样一条错误消息:

JNLS Exception:oracle.ntp.jnls.JNLSException Unable to find anyNational Character Sets.
Please check your Oracle installation.
只要忽略这条消息并且继续。这是摘自8i补丁的常见问题关于上面错误消息的文字:


--------------------------------------------------------------------------------

6. Just before the DB Assistant is launched, a dialog is displayed withthe
warning:"JNLS Exception: oracle.ntp.jnls.JNLSException Unable to find any National
Character Sets. Please check your Oracle installation." This is a known problem
(884001). Ignore the warning

--------------------------------------------------------------------------------

实际上,你不必使用数据库助手创建一个数据库。你可以得到页脚本来做它。详见item number 9 on the 8i patch FAQ。然而,这个文件假定你使用数据库助手。

3.2 使用定制安装/专用服务器模式
当提示在Typical(典型)与Custom(定制)之间选择时,选择定制,同样,当提示在Dedicated Server Mode(专用服务器模式)和Shared Server Mode(共享服务器模式)之间选择时,选择专用服务器模式。如果你需要一个使用共享服务器模式(MTS)的数据库,你可以一开始创建一个使用专用服务器模式的数据库并在以后改变为共享服务器模式或MTS。如果你坚持创建一个使用共享服务器模式的数据库,一旦被启动,你可能得到这个错误:

ORA-01012: Not logged in

其原因在下面介绍,下文摘自Oracle8i Concept 文档(没包含在Oracle8i EE Linux CD,但是包含在Oracle8i EE NT CD!):

Oracle8i Concepts Release 8.1.5
A67781-01
Chapter 8
Restricted Operations of the Multi-Threaded Server
Certain administrative activities cannot be performed while connected to a dispatcher process, including shutting down or starting an instance and media recovery. An error message is issued if you attempt to perform these activities while connected to a dispatcher process.

These activities are typically performed when connected with administrator privileges. When you want to connect with administrator privileges in a system configured with multi-threaded servers, you must state in your connect string that you want to use a dedicated server process (SRVR=DEDICATED) instead of a dispatcher process.


使用专用服务器的另一个原因,至少目前,是当创建一个实例(instance)时,使用BEQ协议,因为还没有设置任何监听器,至少没在一开始的安装时设置。BEQ协议是唯一一个不要求监听器正在运行的协议,并且只能用在Oracle正在运行的同一台机器上。还有,BEQ协议总是使用一个专用服务器,绝不是一个多线程服务器(MTS)。这是摘自Oracle8i Administration Reference for Linux的文字:

Oracle8i Administrator"s Reference Release 8.1.5 for Intel Linux
A74957-01
Chapter 5
The BEQ Protocol
The BEQ protocol is both a communications mechanism and a process-spawning mechanism. If a service name is not specified, either directly by the user on the command line or the login screen or indirectly through an environment variable such as TWO_TASK, then the BEQ protocol is used. In which case, a dedicated server will always be used, and the multi-threaded server is never used. This dedicated server is started automatically by the BEQ protocol, which waits for the server process to start and attach to an existing SGA. If the startup of the server process is successful, the BEQ protocol then provides inter-process communication through UNIX.

An important feature of the BEQ protocol is that no network listener is required for its operation, since the protocol is linked into the client tools and directly starts its own server process with no outside interaction. However, the BEQ protocol can only be used when the client program and Oracle8i reside on the same machine. The BEQ protocol is always installed and always linked to all client tools and to the Oracle8i Server.


如果上述仍然不能让你工作,它可能是NLS_LANG环境变量设置不当的问题。见尽管我使用了专用服务器过程,仍然得到“ ORA-01012 :Not logged in”。

3.3 保存到脚本
当提示你是否要创建一个数据库,或保存到脚本中并在以后运行脚本时,选择保存到脚本。这将帮助你理解背后发生了什么并帮助你在数据库创建期间诊断任何问题。

3.4 运行脚本
脚本将在$ORACLE_HOME/install中找到。你仅需运行一个脚本,因为它以正确的顺序调用所有其他单独的脚本。我建议你分别运行每个脚本。

当你运行第一个脚本时,名为SIDrun.sh,它将启动实例并创建SYSTEM数据文件和表空间、控制文件和重做(redo)日志文件。运行其他脚本,名为SIDrun1.sh和SIDrun2.sh。

3.5 扩大你的重做日志文件
如果你接受缺省的512K的重做日志文件大小和2个重做日志组,你会注意到在$ORACLE_BASE/admin/SID/bdump警告日志文件中找到这样的消息:

Thread 1 cannot allocate new log, sequence 4
Checkpoint not complete

第一行的最后数字是变化的。这是因为重做日志文件尺寸太小。在这种情况下,再增加2个稍大些的(如4MB)重做日志记载组,删除并重建前2个日志组使得所有的日志文件组有4MB的大小。

如果你对重做日志组没有足够大的尺寸,脚本SIDjava.sh,它在Oracle8i中初始化Java,可能不能完成并且失败。如果你有较小的退回(rollback)片段,会发生同样的事情。

现在运行其他脚本,按照主脚本提供的顺序所指出的那样。当你运行脚本SIDjava.sh时,即如果你选择了JServer选件在数据库中创建,注意它可能花很长时间。罪魁祸首就是SQL语句create或REPLACE JAVA SYSTEM。

3.6 修改你的init.ora文件
由数据库助手生成的init.ora文件没有指明要使用的退回片段。这已经被指出来了,因为实例的初始启动还没有生成退回片段,除了在SYSTEM中的片段。

因此你需要修改你的位于$ORACLE_BASE/admin/pfile中的init.ora文件并且为ROLLBACK_SEGMENTS提供值。

3.7 不用数据库助手创建一个数据库
有一种方法不必使用dbassist创建一个数据库。进入$ORACLE_HOME/rdbms/install/create目录,并阅读读README文件。另一个参考是8i Patch FAQ的第9条。

以下是我使用在$ORACLE_HOME/rdbms/install/create下提供的脚本创建another数据库的步骤。在这种情形下,SID将称作8idb:

为了与以前创建数据库的管理文件的目录一致,我创建了如下目录:
cd $ORACLE_BASE/admin
mkdir 8idb
mkdir 8idb/pfile
mkdir 8idb/bdump
mkdir 8idb/cdump
mkdir 8idb/udump
mkdir 8idb/create
mkdir 8idb/exp
mkdir 8idb/adhoc
mkdir 8idb/arch

当然,你将不需要所有这些目录。你至少需要pfile、bdump、cdump和udump。

拷贝文件$ORACLE_HOME/rdbms/install/create/init.ora到目录$ORACLE_BASE/admin/8idb/pfile,并且我给文件起名为init8idb.ora。你可以保留init.ora名字。
然后建立下列符号连接:
ln -s $ORACLE_BASE/admin/8idb/pfile/init8idb.ora $ORACLE_HOME/dbs/init8idb.ora


连接的名字很重要,因为它应该在以后匹配/etc/oratab中的ORACLE_SID入口。在$ORACLE_HOME/bin中的脚本dbstart和dbshut读入在/etc/oratab中的每个入口,为每个入口获得ORACLE_SID,并寻找$ORACLE_HOME/dbs相应的参数文件, 这里参数文件的名字必须是initSID.ora。

现在修改$ORACLE_BASE/admin/8idb/pfile/init8idb.ora文件。我特别修改了下列入口:
以下,我命名新的数据库为我打算的SID:
db_name = 8idb
instance_name = 8idb
service_names = 8idb.company.com.au

对于控制文件,我指定了控制文件的完整路径和名字。这些文件将在数据库创建期间生成:
control_files = ("/home/oracle/app/oracle/oradata/8idb/control01.ctl",
"/home/oracle/app/oracle/oradata/8idb/control02.ctl")


对于共享池的尺寸,我修改shared_pool_size与其他数据库一样。我能记得dbassist说过类似于“you need at least 50mb for shared_pool_size with the JServer option”的东西。
shared_pool_size = 52428800


既然我们将在以后增加重做日志文件的数量和大小,我决定现在而非以后增加缓冲区。
log_buffer = 327680


退回片段仍然是离线的,因为数据库还没有被创建,所以这些还不存在。因此我给下列入口加上注释:
# rollback_segments =( r01 , r02 , r03 , r04 )


指明你想在哪儿倒出文件。这里我做了下列设置:
background_dump_dest = /home/oracle/app/oracle/admin/8idb/bdump
core_dump_dest = /home/oracle/app/oracle/admin/8idb/cdump
user_dump_dest = /home/oracle/app/oracle/admin/8idb/udump


因为我不使用Advanced Replication Option(高级复制选件),我注释了下列入口:
#job_queue_processes = 0
#job_queue_interval = 60
#distributed_transactions = 10
#open_links = 4

我禁用了到8i数据库的IIOP连接的分派器(dispatcher)以便我们在警告文件和pmon跟踪文件中不会得到“Load Indicator not supported by OS”的消息。也要注意,在我的参数文件中没有任何mts入口。因此,这里被创建的数据库使用专用服务器进程。
#mts_dispatchers = "(PROTOCOL=TCP)(PRE=oracle.aurora.server.SGiopServer)"
#mts_servers = 1

最后,按README文件的说明,我改变compatible入口。然而,注意,dbassist仅允许值8.1.0。也许是dbassist另一个bug?
compatible = "8.1.5"

现在我创建立了目录/挂载点,在那里我想要存储数据文件。当然,遵循OFA,下列仅仅是一个例子。
mkdir $ORACLE_BASE/oradata/8idb


现在我从$ORACLE_HOME/rdbms/install/create拷贝脚本cdrb1.sh, cdrb2.sh,和cdrb3.sh到$ORACLE_HOME/install并分别命名他们为8idbcrdb1.sh, 8idbcrdb2.sh,和8idbcrdb3.sh:
cp -vf $ORACLE_HOME/rdbms/install/create/crdb1.sh $ORACLE_HOME/install/"$ORACLE_SID"crdb1.sh
cp -vf $ORACLE_HOME/rdbms/install/create/crdb2.sh $ORACLE_HOME/install/"$ORACLE_SID"crdb2.sh
cp -vf $ORACLE_HOME/rdbms/install/create/crdb3.sh $ORACLE_HOME/install/"$ORACLE_SID"crdb3.sh


确保你至少对于bash加双引号与$ORACLE_SID。

改变目录到$ORACLE_HOME/install。然后我编辑第一个脚本SIDcrdb1.sh(在这里8idbcrdb1.sh),显示如下:
修改ORACLE_SID匹配我想要的SID:
ORACLE_SID=8idb


修改口令文件的名字指明我想要的SID:
$ORACLE_HOME/bin/orapwd file=$ORACLE_HOME/dbs/orapw8idb password=change_on_install


修改starpup命令指明要使用的参数文件的地点。我们可以指明实际的参数文件而不是到参数文件的一个符号 连接:
startup nomount pfile = $ORACLE_HOME/dbs/init8idb.ora


改变在CREATE DATABASE命令中的数据库名以匹配在参数文件指明示的那个:
CREATE DATABASE "8idb"


再回到CREATE DATABASE命令,改变SYSTEM数据文件的地点和大小位于我们先前创建了的目录下:
DATAFILE "$ORACLE_BASE/oradata/8idb/system01.dbf" SIZE 80M


改变CREATE DATABASE命令中重做日志文件的地点并增加其大小:
logfile "$ORACLE_BASE/oradata/8idb/redo01.log" SIZE 4096K,
"$ORACLE_BASE/oradata/8idb/redo02.log" SIZE 4096K;

现在运行脚本SIDcdrb1.sh。如果你得到消息:
ORA-12162: TNS:service name is incorrectly specified

那么你没有为ORACLE_SID指定有效的值。这发生了保留ORACLE_SID的值$1时,它假定从命令行获得参数,而我没指定一个参数。

如果由于一些原因,数据库的创建失败了,你不光是只是重新运行脚本,是你将还要删除先前被创建了的口令文件。否则,你将得到:

OPW-00005: File with same name exists - please delete or rename

在我的情况中,我不仅删除了先前的口令文件,我也删除了文件$ORACLE_HOME/dbs/lkSID。这个文件似乎在你创建数据库时创建,实际上它只是一个文本文件:"DO NOT DELETE THIS FILE!"

你可能碰到的其他错误如下:

ORA-01501: CREATE DATABASE failed
ORA-00200: controlfile could not be created
ORA-00202: controlfile: "/home/oracle/app/oracle/oradata/8idb/dbs/control02.ctl"
ORA-27040: skgfrcre: create error, unable to create file
Linux Error: 2: No such file or directory

错误是显然的,因为我为第二个控制文件指定了一个不存在的目录。

编辑第二个脚本SIDcrdb2.sh(8idbcrdb2.sh):
修改ORACLE_SID匹配我想要的SID:
ORACLE_SID=8idb


我搜索所有$ORACLE_HOME/dbs的出现并且用$ORACLE_BASE/oradata/8idb替代了它们。因为我在同一个目录下存储他们。另外,遵循你的OFA地点,因此你可以最终为每个数据文件获得不同的挂载点。当然, 绝对确保你指定的路径存在(没有错别字!)或数据文件将不被创建,并且特别地你必须使再次运行脚本的一部分创建数据文件或借助svrmgrl创建他们。
现在运行第二个脚本SIDcrdb2.sh(8idbcrdb2.sh)。只要你正确指定了所有的路径,并且你正确地指定了你的ORACLE_SID,你应该没有任何问题。
现在,你可能想要增加更多的重做日志文件,否则你将在警告日志文件中得到类似于以下的消息:
Thread 1 cannot allocate new log, sequence 79
Checkpoint not complete

为此我运行了svrmgrl,以internal连接了并再创建了2个重做日志组,如下显示:

SQL> alter database
2 add logfile group 3 ("/home/oracle/app/oracle/oradata/8idb/redo03.log") size 4096K
3 /

Statement Processed.

SQL> alter database
2 add logfile group 4 ("/home/oracle/app/oracle/oradata/8idb/redo04.log") size 4096k
3 /

Statement Processed.

你可能想要通过在括号内增加另一个文件名,并且每个重做日志文件的文件名由一个逗号分开,且每个重做日志文件的文件名包围在他们自己的引号内,可让每个日志文件组有超过一个的成员。

编辑第3个脚本SIDcrdb3.sh(8idbcrdb3.sh)。我在这里做的所有改变是值ORACLE_SID。
运行第3个脚本。应该没有问题。
在继续安装Oracle的一些或所有选件前,你可能想要检查系SYSTEM表空间最大范围。通过sqlplus以system/manager登录并且做:
SQL> set linesize 1000
SQL> SELECT tablespace_name "TABLESPACE",
2 initial_extent "INITIAL_EXT",
3 next_extent "NEXT_EXT",
4 min_extents "MIN_EXT",
5 max_extents "MAX_EXT",
6 pct_increase
7 FROM sys.dba_tablespaces
8 /

TABLESPACE INITIAL_EXT NEXT_EXT MIN_EXT MAX_EXT PCT_INCREASE
------------------------------ ----------- ---------- ---------- ---------- ------------
SYSTEM 10240 10240 1 121 50
OEM_REPOSITORY 131072 131072 1 2147483645 0
RBS 131072 131072 2 2147483645 0
TEMP 262144 262144 1 2147483645 0
USERS 51200 51200 1 2147483645 0
INDX 51200 51200 1 2147483645 0

6 rows selected.

SYSTEM表空间的缺省MAXEXTENTS是121,它确实不够,特别是当我们增加Oracle选件时。如果我们不增加它,我们将得到类似于“unable to extend ... in tablespace SYSTEM”的错误消息。因此我做了:

SQL> alter tablespace system
2 default storage
3 (pctincrease 0 maxextents unlimited)
4 /

Tablespace altered.

现在再运行上面的查询。这次,SYSTEM表空间的MAX_EXT应该是一个大数字。

退出sqlplus并且返回到shell。现在选择你的数据库想要哪个Oracle选件。如果Oracle选件要求执行超过一个的脚本,保证你以在$ORACLE_HOME/rdbms/install/create/ README文件中说明的正确的顺序执行这些脚本。
确定改变每个脚本中的ORACLE_SID值。如果你加入InterMedia选件,保证你在drsys.sh脚本中为DRSYS数据文件指定了正确且有效的一条路径。

最后, 编辑你的initSID.ora文件并删除和rollback_segments入口的注释,以便在你关闭并且重启数据库时,将使用创建的退回片段。
记住,我们这里创建的数据库使用8idb作为ORACLE_SID,并且在后文中引用的数据库假定为ORACLE_SIDO为ORCL。

4. 数据库创建的后期过程
4.1自动化数据库启动和关闭
自动化数据库的启动和关闭是简单的。即使你不想要数据库自动地启动,你应该总是自动化数据库的关闭以防止破坏你的数据库。有关的步骤是:

su成为root。
用一行ORACLE_SID:ORACLE_HOME:{Y|N}形式修改/etc/oratab,用来自你的环境变量的值代替ORACLE_SID和 ORACLE_HOME。该行类似这样:
ORCL:/home/oracle/app/oracle/product/8.1.5:Y


在行末尾的Y将表明你是否想要数据库自动地启动和关闭。

在/etc/rc.d/init.d里创建一个脚本,起名为oracle8i,并把下面的代码放进去,它是在"Oracle8i Linux Installation Guide"提供的脚本基础上的一个修改版本。注意在该指南中的脚本由一个bug,阻止它关掉Oracle8i数据库。这在下面解释。
#!/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=/home/oracle/app/oracle/product/8.1.5
ORA_OWNER=oracle

case "$1" in
"start")


# Start the Oracle databases:
# The following command assumes that the oracle login will not prompt the

# user for any values
echo -n "Starting Oracle8i: "
su - $ORA_OWNER -c $ORA_HOME/bin/dbstart
touch /var/lock/subsys/oracle8i
echo
;;

"stop")

# Stop the Oracle databases:
# The following command assumes that the oracle login will not prompt the

# user for any values
echo -n "Shutting down Oracle8i: "
su - $ORA_OWNER -c $ORA_HOME/bin/dbshut
rm -f /var/lock/subsys/oracle8i
echo
;;

"restart")

# Restart the Oracle databases:
echo -n "Retarting Oracle8i: "
$0 stop
$0 start
echo
;;

*)
echo "Usage: oracle8i { start | stop | restart }"
exit 1

esac
exit 0

确保用你的ORACLE_HOME环境变量值代替ORA_HOME的值。关于该修改的脚本有几点要注意的是:

上述修改的脚本在/var/lock/subsys下创建立一个文件以指出系统或进程正在运行,而缺省脚本不做这个。作为一个背景进程,脚本/etc/rc.d/rc,在杀死过程时,将对以一个K开始的运行级别(runlevel)执行所有脚本,并且它也通过检查在/var/lock/subsys下的一个文件(文件名类似)的存在与否来检查子系统是否正在运行。因此,如果你使用缺省脚本,它将不关闭Oracle8i 数据库,因为这个文件在/var/lock/subsys下不存在。对RedHat 6.0是这样。我不能肯定RedHat 6.1或其他Linux分发的/etc/rc.d/rc脚本是否相同。
作为上述的结论,如果你为上面的脚本起名不是oracle8i,修改所有的行:
touch /var/lock/subsys/oracle8i
rm /var/lock/subsys/oracle8i

并且用脚本名代替oracle8i。例如,如果你命名脚本为dbora,你应该有:

touch /var/lock/subsys/dbora
rm /var/lock/subsys/dbora

测试脚本确实在工作。试试:
./oracle8i stop
./oracle8i start
./oracle8i restart
./oracle8i invalid-parameter

创建到你刚刚创建的自动化数据库关闭的脚本的一个连接。Runlevel 0是HALT ,而runlevel 6是REBOOT。 我的情况是:
ln -s /etc/rc.d/init.d/oracle8i /etc/rc.d/rc0.d/K10oracle8i
ln -s /etc/rc.d/init.d/oracle8i /etc/rc.d/rc6.d/K10oracle8i


无论何时系统把它的runlevel改变到0或6,脚本将过获得执行,这就是当你分别发出/sbin/shutdown - h now和/sbin/shutdown - r now时所发生的。

另外,可以创建到你创建的自动化数据库启动脚本的一个连接。我为RedHat 6.0选择的缺省运行级别是runlevel 3。在我的情况中:
ln -s /etc/rc.d/init.d/oracle8i /etc/rc.d/rc3.d/S99oracle8i


4.2 安装 SQL * Plus联机帮助
如果你还没有SQL*Plus的帮助手段,你可以想要安装它。这完全是可选的。通过运行SQL*Plus并且在SQL*Plus提示符下键入HELP来检查你是否有了SQL*Plus的联机帮助。要安装联机帮助:

以oracle登录到shell。
键入export SYSTEM_PASS=system/manager(对Bash)定义环境变量SYSTEM_PASS。
执行脚本$ORACLE_HOME/bin/helpins。
运行SQL*Plus并在SQL*Plus提示符下键入HELP。

5. 配置Net8
在本节中,将解释如何安装并且配置一个Net8监听器和Oracle命名服务者。你不必要求使用Oracle命名服务器。Oracle提供若干方法解析网络服务名字。对于完全的讨论,见从 Oracle技术网络站点的Oracle Net8 管理员指南。

5.1 Net8助手的局限
你可能经历了Net8助手的问题。我所碰到的导致netasst崩溃的情形是在做下列的任何操作:

测试一个网络服务名字。
查找Oracle命名服务器。
创建Oracle命名服务器。
上述的结果是,不能为Oracle命名服务器的敏感操作(例如START、STOP和RELOAD)设置一个Oracle命名服务器加密的口令,因为口令的加密似
上一篇:下一篇: