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文档上[和!之间没有空格,照抄会出错。