一.前言
经过两天的努力和忐忑不安的等待后,终于把Oracle 9i成功地装在了Solaris 9下。
总结起来,其实操作非常简单,只要准备充分,将关键几个参数设对了,就可以轻松搞定。从
Oracle提供的安装手册看,在所有的Unix操作系统中(包括AIX,HP,Linux,Solaris和Tru64
)安装Oracle 9i都是一样的道理,只是命令有所变化。下面是俺在Solaris 9下安装Oracle
9.2的经验总结,这个方法同样适用于Solaris 8和Oracle 9.0。希望能给大家提供帮助。
二.参考资料
有很多人不知道如何安装、管理和调整Oracle,其实在
http://doc.oracle.com 下
有大量PDF文件讲解Oracle的基本操作。当然,Oracle 9.2在Unix操作系统(包括AIX,HP,
Linux,Solaris和Tru64)的安装手册也包括在里面,文件名是a96167.pdf。(当然是
English,幸好俺们村开过扫盲班,俺们都认得。俺认为Oracle有雇佣童工的嫌疑,不然单词
量怎么只相当于俺们的高中英文)。Oracle真够大公无私的吧!俺就喜欢这样的公司!
但是,Oracle提供的操作手册实在是太详细了,详细得把俺们农民搞糊涂了:有太多
Requirements,Patches,Packages,Recommend之类的(俺好歹也进城了,翠花说俺就是因为
实在,不懂时不时需要从牙缝里挤出几个单词,才没被Oracle看上。俺得改改这个毛病)。其
实,人家Solaris也是大公司,早就装好这些东东了。所以,听俺的,俺都已经替你检查过了
,步骤都精减过了,不必翻那本200多页的手册了。俺的一些经验,它还没讲呢!什么?俺们
好了,开始!
三.X-Windows的使用
根据有些参考书的指示,可以在服务器本机上安装Oracle,但俺在Linux和Solaris上
的经验告诉俺:有些人是蒙事的,俺从来没试成过!所以,别浪费时间了,直接通过远程终端
装Oracle吧。在远程终端安装Oracle需要使用虚拟X-Windows方式……什么?你不会用虚拟
X-Windows?俺刚开始也不会用,考虑到俺当时的难处,俺就再附送一份教材吧!
虚拟X-Windows在MS Windows下有许多程序,比较出名的是Hummingbird Exceed和
X-Win32,Exceed太大了,而且很难找到。推荐使用X-Win32。俺下载X-Win32后,按照网上提
供的注册码输入,无效!(城里人怎么都这样?)好在X-Win32的试用版每次运行都可以使用2
小时,俺手快,70分钟可以全部装完Oracle,所以……
下载X-Win32 5.1,在工作站的MS Windows 操作系统中装好后,运行X-Config,进
行基本的配置,如图1和图2。其中服务器的IP地址是10.11.31.4,工作站的IP地址是
10.11.31.70。
图1 配置X-Win32的会话
图2 容许服务器在远程终端中显示
设置完成后,测试X-Win32是否能运行:在MS DOS窗口中,键入:telnet
10.11.31.4,输入用户和帐号,接着键入图1 中的Command命令:/usr/openwin/bin/xterm ?
ls ?display 工作站的IP地址:0,OK!看到图3的结果了吧!不同的服务器端的操作系统,
启动X-Windows的命令会有所不同,请注意!
图3 使用X-Win32
四.配置各种参数
从俺的几次安装经验来看,最重要的就是要正确配置参数。回想几次不成功的安装,
以下的操作除了特别声明外,都是以root身份进行的。
1.硬件配置要求
安装Oracle 9i要求的最低硬件配置如下:
Memory:512MB
Swap space:1G
Disk space: Database software:3.5G;seed database:1G
Temporary disk space:400MB in /tmp
2.设置Swap space
设置Swap space的基本命令是 swap,-a是增加,-l是列表,-s是显示状态,-d是删
为达到1G的Swap space要求,创建临时交换空间,命令如下: mkfile 1000m //tmpswap
swap ?a //tmpswap
swap -l
注意:重新启动后,临时交换空间不会自动加载,需要再次执行swap ?a命令。
安装完毕后,可以用swap ?d //tmpswap; rm //tmpswap命令删除交换空间和临时文件。
3.设置临时目录
如果 /tmp 目录下没有400MB的容量,可以设置临时目录: mkdir //tmp
chmod 1777 //tmp
set TEMP=//tmp; export TEMP
set TMPDIR=//tmp; export TMPDIR
安装完毕后,键入命令:unset TEMP; unset TMPDIR 即可取消临时目录。
4.检查包文件和补丁程序
在a96167.pdf文件中,有需要安装的包文件和补丁程序的详细清单,此处不再列出。
比较重要的有:JRE 1.1.8_15,JDK1.3.1_02等,不过这些文件和程序在安装Solaris 9 时已
经安装,或者在安装Oracle 9时会安装。所以不用管它,除非你有特殊要求。你不信俺,也可
pkginfo -i package_name
或 showrev -p
5.设置用户和组
Oracle在安装和使用中需要用特定用户,不能用 root用户来安装和运行Oracle 9i。
推荐使用oracle 帐号。另外,安装Oracle HTTP Server时,需要一个apache的管理员,推荐
groupadd dba
groupadd oinstall
useradd -d /export/home/oracle -g oinstall -G dba ?m oracle
passwd oracle
groupadd apchadm
useradd -d /export/home/apache -g oinstall -G apchadm ?m apache
passwd apache
6.设置内核参数(Kernel Parameter)
Oracle 9i使用Solaris的共享内存、交换区等资源进行工作,因而内核参数的是
Oracle 9i能否正常安装和运行的关键,我的两次失误都是出现在此。Solaris的内核参数保
存在 /etc/system 文件内。用vi之类的文件编辑器打开 /etc/system 。按照Oracle 9i的要
set semsys:seminfo_semmni=100
set semsys:seminfo_semmns=1024
set semsys:seminfo_semmsl=256
set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=100
set shmsys:shminfo_shmseg=10
设置完毕后,保存,重新启动后设置生效。
7.设置安装目录
oracle9i的典型安装需要至少两个安装点:一个安装基本的运行程序;一个为存放
数据库,为简便,我将它们放在了同一个目录下,分别是/u01/oracle和/u01/
mkdir /u01/oracle
mkdir /u01/oracle/product
mkdir /u01/oracle/product/9.2.0
chown -R oracle
install /u01/oracle
8.设置oracle用户的环境变量
oracle用户的环境变量文件是 $HOME/.profile,用vi之类的文件编辑工具打开。我
DISPLAY=10.11.31.70:0.0; export DISPLAY
ORACLE_BASE=/u01/oracle; export ORACLE_BASE
ORACLE_HOME=/u01/oracle/product/9.2.0; export ORACLE_HOME
ORACLE_SID=orclsol; export ORACLE_SID
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data; export ORA_NLS33
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:usr/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
NLS_LANG=american_america.ZHS16GBK; export NLS_LANG
PATH=$ORACLE_HOME/bin:/usr/bin:/usr/ucb:/etc:/usr/
其中,DISPLAY是远程终端的IP地址,按照某些参考资料的说明,可以在服务器本机
上安装Oracle 9i。但我试了几次都没成功,所以推荐在远程终端安装的方式。
9.下载安装文件
可以从
http://otn.oracle.com/ 网站下载Oracle 9i for Solaris的文件,不过你
可要遵守它的License,以免产生版权问题。俺可不主张使用盗版!
下载的3个文件如下:solaris64_9.2.0.1.0.disk1.cpio,solaris6
4_9.2.0.1.0.disk3.cpio,solaris64_9.2.0.1.0.disk2.cpio。将其放到临时目录,例如
chown oracle
install solaris64_9.2.0.1.0.disk1.cpio.gz
chown oracle
install solaris64_9.2.0.1.0.disk2.cpio.gz
chown oracle
install solaris64_9.2.0.1.0.disk3.cpio.gz
将上述3个文件解压,命令如下:
zcat solaris64_9.2.0.1.0.disk1.cpio.gz | cpio -idmv
zcat solaris64_9.2.0.1.0.disk2.cpio.gz | cpio -idmv
zcat solaris64_9.2.0.1.0.disk3.cpio.gz | cpio -idmv
解压后,在临时目录下形成 disk1,disk2,disk3等3个目录。可以用这些目录安装
Oracle 9i。也可以将这3个目录刻到光盘上,用光盘安装。
五.安装Oracle
在远程终端启动X-Win32,不必让它登录到主机,处于等待状态就可以了。
在服务器端,转换到oracle身份:
su ? oracle
如果用硬盘中的安装文件,运行安装命令:
cd /files (存放Oracle 9i安装文件的临时目录)
disk1/runInstaller
如果是用光盘安装,运行安装命令:
/cdrom/cdrom/ runInstaller
在远程终端可以见到Oracle 欢迎logo,学名是OUI安装程序,如图4:
图4 Oracle 安装欢迎界面
选择“Next”,在“Name:”填个名字,“Path:”处填ORACLE_HOME的路径。在安
装过程中,系统会提示你以root的身份在另一个窗口执行一些命令,照做就行了。
图5 存放文件的位置
图6 选择数据库服务器的版本
图7 选择数据库服务器的类型
图8 选择数据库服务器的字符集
进入字符集的选项,不用默认的,而选ZHS16GBK。在图6时曾出现过“Product
Language”的选项,那是安装界面的语言选项,与数据库的语言选项无关,可以不理睬。
然后,进入正式的安装过程,如图9所示,到后半段,就是开始连接数据库时,运行
得非常慢,经常几分钟都没有动静。耐心等待就行了。
图9 安装过程
安装完毕后,进入图10所示的安装配置工具的界面。俺认为,数据库实际上是在“
Oracle Database Configuration Assistant”阶段创建的,参见图11的过程描述。所以此过
程并不是提示所说的是可选的工具。俺有一次就是在这个阶段因为内存不足而停止了。结果根
本无法创建数据库!
图10 安装配置工具
图11 安装“Oracle Database Configuration Assistant”
度过了这个阶段,就可以看到光明了!如图12。
图12 安装完毕
六.测试
安装完毕后,可以进行测试了:
以oracle用户登录,键入命令:
sqlplus /nolog SQL>connect / as sysdba
SQL>startup
数据库启动的结果应当如下:
ORACLE instance started.
Total System Global Area 320308312 bytes
Fixed Size 730200 bytes
Variable Size 285212672 bytes
Database Buffers 33554432 bytes
Redo Buffers 811008 bytes
Database mounted.
Database opened.
键入命令,启动监听程序:
lsnrctl
结果应当如下:
LSNRCTL for Solaris: Version 9.2.0.1.0 - Production on 04-SEP-2002
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
Welcome to LSNRCTL, type "help" for information.
输入start,启动:
LSNRCTL> start
Starting /u01/oracle/product/9.2.0/bin/tnslsnr: please wait...
TNSLSNR for Solaris: Version 9.2.0.1.0 - Production
System parameter file is /u01/oracle/product/9.2.0
Log messages written to /u01/oracle/product/9.2.0/
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=mi
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Solaris: Version 9.2.0.1.0 -
Start Date 04-SEP-2002 21:50:48
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security OFF
SNMP OFF
Listener Parameter File /u01/oracle/product/9.2.
Listener Log File /u01/oracle/product/9.2.
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=mint-practice)(PORT=1521)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this
Service "orclsol" has 1 instance(s).
Instance "orclsol", status UNKNOWN, has 1 handler(s) for this
The command completed successfully
启动Oracle Web Server
cd $ORACLE_HOME/Apache/Apache/bin
./startJServ.sh
/u01/oracle/product/9.2.0/Apache/Apache/bin/apachectl start: httpd
启动Oracle Web Server后默认的端口号是7777
在客户端浏览器地址栏输入
http://xxx.xx.xxx.xxx:7777/ 如果浏览器出现图13的界面,则表示Oracle Web Server运行正常。
图13 Oracle Web Server
OK!万事大吉了!
如果安装不成功,想重新安装一遍的话,除了运行安装程序 runInstaller,进入OUI
界面,删除安装的程序外,还应当删除 /u01/oracle/product下的文件,重新创建 9.2.0的目
如果俺的指南有效,就别谢我了,要谢就谢那些热心的网友吧,俺就是在看了很多网
友的经验介绍才处理掉一些问题的。再有,可别发妹儿给俺,俺没空回!其实是翠花的防火墙
再附送一句俺进城后的经验总结:高手之所以能解决问题,不在于他比别人能记更多
的东西,而在于知道更多的变通方法和从哪里能找到所需要的知识。