摘要:在RedHat6.0上安装Oracle8i(全攻略)
--------------------------------------------------------------------------------
目前,网上已有不少较少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。从Blackdown下载,要得到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),