Oracle 8i for unixware 7很难安装。下面是我经过N次失败后得到的安装方法。
不一定是最优的方法,但肯定是可用的方法。
软件及版本
===========
unixware 7.1.1
oracle 8i for Intel unix
unixware 7的安装注重事项
========================
1、选标准的安全级别。
2、/dev/swap和/tmp要足够大。用默认值无法正常安装oracle
/dev/swap = /tmp + /var/tmp
3、不能安装NIS,可按F8跳过。
4、必须安装开发工具。
安装方法:
将第4张盘mount到/mnt,执行
pkgadd -d /mnt udk
将第2张盘mount到/mnt,执行
pkgadd -d /mnt update711
reboot
oracle 8i安装步骤
=================
1、以root用户登陆
2、mount CDROM
# mount -F cdfs -oro /dev/cdrom/cdrom1 /cdrom
3、用scoadmin建立dba group和oracle用户, 将oracle加入dba组
4、建立oracle目录 /oracle
# mkdir /oracle
# chown oracle:dba /oracle
5、修改文件/etc/default/login, 设umask=022
6、执行# chmod 777 /dev/async
修改文件/etc/conf/node.d/async, 将600改为777
7、修改内核参数
修改文件/etc/conf/mtune.d/ipc, 找到包含"SEMOPM"的行, 有3个数值, 分别
对应default, min, max, 将max值改为100;
修改文件/etc/conf/cf.d/mtune,将SEMOPM的max值改为100。
进入目录/etc/conf/cf.d, 通过运行下列命令修改文件stune中的相应参数:
../bin/idtune SHMMAX 536870912
../bin/idtune SHMMIN 1
../bin/idtune SHMMNI 200
../bin/idtune SHMSEG 10
../bin/idtune SEMMNI 100
y
../bin/idtune SEMMSL 30
../bin/idtune SEMMNS 700
../bin/idtune SEMOPM 100
../bin/idtune SCORLIM 0x7FFFFFFF
../bin/idtune HCORLIM 0x7FFFFFFF
../bin/idtune SDATLIM 0x7FFFFFFF
../bin/idtune HDATLIM 0x7FFFFFFF
../bin/idtune SVMMLIM 0x7FFFFFFF
../bin/idtune HVMMLIM 0x7FFFFFFF
../bin/idtune SFSZLIM 0x7FFFFFFF
../bin/idtune HFSZLIM 0x7FFFFFFF
../bin/idtune HFNOLIM 2048
../bin/idtune SFNOLIM 128
../bin/idtune NPROC 300
y
../bin/idtune ARG_MAX 1048576
../bin/idtune NPBUF 100
../bin/idtune MAXUP 1000
y
../bin/idtune STRTHRESH 0x500000
../bin/idtune RECVRETRIES 4
注重:假如是第一次修改内核参数,直接将上述命令copy & paste到#提示符下即可。其中的“y”是执行命令时系统需要确认而加上的。假如不是第一次修改内核参数,为了安全起见,最好一个个命令执行。
7、rebuild kernel
# /etc/conf/bin/idbuild
# /usr/UCb/reboot
8、以上为root用户要做的事情。下面以oracle用户在控制台登陆。
9、修改文件.dtprofile, 让.profile生效
把最后一行
DTSOURCEPROFILE=true
前面的#号去掉
10、在.profile中加入
umask 022
DISPLAY=workstation_name:0.0
ORACLE_BASE=/oracle
ORACLE_HOME=/oracle
ORACLE_SID=ORCL
ORACLE_OWNER=oracle
eXPort DISPLAY ORACLE_BASE ORACLE_HOME ORACLE_SID ORACLE_OWNER
PATH=$PATH:$ORACLE_HOME/bin:/usr/local/bin
TMPDIR=/tmp
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/Java/lib:/usr/ccs/lib:/usr/lib:$LD_LIBRARY_PATH
JAVA_HOME=/usr/java
CLASSPATH=$ORACLE_HOME/oraInventory/Compoments/oracle/swd/jre/1.1.7:$ORACLE_HOME/jlib
export PATH TMPDIR LD_LIBRARY_PATH JAVA_HOME CLASSPATH
NLS_LANG=AMERICAN_AMERICA.ZHS16CGB231280
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export NLS_LANG ORA_NLS33
保存文件后, 重新用oracle登陆控制台。
11、cd cdrom_mount_point_Directory
执行./runInstaller开始安装。要选custom模式,不能选默认安装。
安装过程与在其他unix里安装oracle 8i类似。
12、运行/tmp/OraInstall/orainstRoot.sh前, 必须保证root登陆的umask为022
13、警告:选择是否建库时,一定要选No。否则前功兼后功尽弃!!!
14、安装完成后,配置Net8。假如在启动listener时,太长时间没反应,则按Stop,再next,退出安装过程。在命令行下用lsnrctl status查看,此时listener应该已经启动。假如没启动,则用lsnrctl start启动之。
15、随CD附送的安装文档中说oratab文件在/var/opt/oracle/oratab,实际上要copy到/etc/oratab才能使用。
以root用户执行
# cp /var/opt/oracle/oratab /etc
16、以oracle用户运行dbassist。不要自动建库,要退出用sql建库。至此,oracle安装完毕。
17、因为文件$ORACLE_HOME/rdbms/demo/oratypes.h有错,假如要用OCI或PRO*C写程序,需要修改该文件,将第445行
typedef int boolean;
注释掉。
自动开关oracle
==============
1、修改文件/etc/oratab,将相应的SID设为Y
2、在/etc/init.d目录下建立一个dbora文件,并设为可执行。文件内容如下:
#!/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=/oracle
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 &
su - $ORA_OWNER -c $ORA_HOME/bin/lsnrstart &
;;
'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/lsnrshut &
su - $ORA_OWNER -c $ORA_HOME/bin/dbshut &
;;
esac
3、建立连接
在/oracle/bin目录建立两个文件lsnrstart和lsnrshut,内容为:
lsnrctl start 和 lsnrctl stop,并设为可执行。
以root执行
# ln -s /etc/init.d/dbora /etc/rc0.d/K90dbora
# ln -s /etc/init.d/dbora /etc/rc2.d/S99dbora
注:oracle文档上为/etc/rc0.d/K10dbora,但因K10在K69inet前面,会令inet无法启动。
oracle文档上[和!之间没有空格,照抄会出错。