这篇文章在Fedora 1安装完成后写的。
我安装了n次成功,一直有一个问题不能得到解决。那就是oracle agent在安装完成配置过程中出错,OUI提示的详细出错信息如下:
Paramater "orahome" = /opt/ora9/product/9.2"
Paramater "nodeinfo" = NO_VALUE
Agent Service Failed
造成的结果是在启动oracle agent时没有任何输出信息,也不能启,因此虽然启动了oms但是却不能通过oms对数据库进行管理,只能使用oem独立登入进行管理,还请各位指点。
我参照了我原来发的两篇文章,在这里申明:这些经验是很多位高人的经验我自己只是照着别人的做,然后有了些小发现,因此我们应该要感谢原作者和那些大大们。
这两篇文章在这里:
http://www.linuxsir.org/bbs/showthr...;threadid=74071
http://www.linuxsir.com/bbs/showthr...;threadid=46439
这次安装有以下三个发现:
第一:安装时不需要将gcc, g++降级,直接就可以安装。
第二:为了在oracle中使用中文超级简单:只需要将oracle用户的export LANG=zh_CN,就有中文出现了。这是我在查看oracle的安装目录里的jdk目录时发现它的jre/lib/fonts里有一个 font.proper**.zh类似的文件,猜想使用中文应该没有问题。
第三:系统本身不需要安装jdk, 这是我老早就在猜想的,但是一直不原意花时间去试,装oracle真是一件很痛苦的事。因为以前都有要用到java,现在没有其他人,我又不用java,就试了一把。成功了。
安装过程中要注意的事:
第一:在安装前需要打一个补丁,不然无法进行安装。这个补丁叫:
p3006854_9204_LINUX.zip
所有的补丁说明如下:
p3095277_9204_LINUX.zip 9.2.0.4.0的升级补丁包.
p3006854_9204_LINUX.zip 在运行 runInstaller 之前打.
p3119415_9204_LINUX.zip 在升级到9.2.0.4.0之后打.
p2617419_210_GENERIC.zip 打3119415补丁所需要的补丁.
你可以从这两个地方找到他们。我已经传到我的小站上了:
第二:在安装的过程中我们使用两个用户同时进行,其中一个是root用户,另外一个是你新建立的oracle用户。
第三:所以的补丁必须以root身份打。
下面我们开始安装:
1、打开一个终端,以root用户登录或者是:su -
2、还是创建必要的用户和组,这在unix/linux的管理中是一个好习惯:
[root@ghw] su -
[root@ghw]# groupadd oinstall
[root@ghw]# groupadd dba
[root@ghw]# useradd -g oinstall -G dba oracle
[root@ghw]# passwd oracle
3、准备文件目录:
[root@ghw]# mkdir -p /opt/ora9/product/9.2
[root@ghw]# mkdir /var/opt/oracle
[root@ghw]# chown oracle.dba /var/opt/oracle
[root@ghw]# chown -R oracle.dba /opt/ora9
4、调节系统内核参数及安装支持软件包:
4.1、首先用命令rpm -qa|grep compat 查看系统中是否安有以下几个软件包:
compat-gcc-7.3-2.96.118.i386.rpm
compat-libgcj-7.3-2.96.118.i386.rpm
compat-libgcj-devel-7.3-2.96.118.i386.rpm
nss_db-compat-2.2-20.i386.rpm
如果没有,请拿出你的安装盘,安装以上的包。不要用原文给的那个APT的东东,不熟的人遇上没有解决的依赖性问题的话,就特别讨厌。
4.2、设置内核参数,调节信号灯及共享内存:
[root@ghw]# echo 250 32000 100 128 > /proc/sys/kernel/sem
[root@ghw]# echo 536870912 > /proc/sys/kernel/shmmax
[root@ghw]# echo 4096 > /proc/sys/kernel/shmmni
[root@ghw]# echo 2097152 > /proc/sys/kernel/shmall
[root@ghw]# echo 65536 > /proc/sys/fs/file-max
[root@ghw]# echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range
当然为了一开机系统就能自动帮你设好这些参数,也可改动 /etc/sysctl.conf 这个文件,加入以下的语句:
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
4.3、设置oracle对文件的要求:
编辑文件:/etc/security/limits.conf 加入以下语句:
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
5、设置系统环境:
首先设置root用户这个终端的。
export ORACLE_BASE=/opt/ora9
export ORACLE_HOME=/opt/ora9/product/9.2
这个是方便打补丁,并且,这个终端要保持不要关掉它。
设置oracle用户的环境, 新开一个终端,su - oracle
注意一定要新开一个。这样比较方便。
打开.bashrc文件,将如下内容加入:
#oracle 9i
export ORACLE_BASE=/opt/ora9
export ORACLE_HOME=/opt/ora9/product/9.2
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
export ORACLE_OWNER=oracle
export ORACLE_SID=ora9i
export ORACLE_TERM=vt100
export LD_ASSUME_KERNEL=2.4.1
export THREADS_FLAG=native
export LD_LIBRARY_PATH=/opt/ora9/product/9.2/lib:$LD_LIBRARY_PATH
export PATH=/opt/ora9/product/9.2/bin:$PATH
#
# change this NLS settings to suit your country:
# example:
# german_germany.we8iso8859p15, american_america.we8iso8859p2 etc.
#
export LANG=zh_CN
保存后退出。然后。退出登录,再次进入,这时候oracle的环境就已经生效了。
6、解压文件,安装前打补丁,切换到root用户的控制台:
6.1、cd /home
mkdir ora9i
cd ora9i
这些目录你自己定义。
然后将三个iso文件拷到这里:
unzip gunzip lnx_920_disk1.cpio.gz
gunzip lnx_920_disk2.cpio.gz
gunzip lnx_920_disk3.cpio.gz
cpio -idmv < lnx_920_disk1.cpio
cpio -idmv < lnx_920_disk2.cpio
cpio -idmv < lnx_920_disk3.cpio
这个将生成三个文件夹:DISK1, DISK2, DISK3
6.2、打安装前的补丁:
以root身份运行.
这也是在/home/ora9i/里进行的。
# unzip p3006854_9204_LINUX.zip
Archive: p3006854_9204_LINUX.zip
creating: 3006854/
inflating: 3006854/rhel3_pre_install.sh
inflating: 3006854/README.txt
# cd 3006854
# sh rhel3_pre_install.sh
7、完成安装:
切换到oracle用户的登录终端中:
在oracle主目录里运行:/home/ora9i/Disk/runInstaller
就可以了。注意的是:export LD_ASSUME_KERNEL=2.4.19(bash用户), 这个环境变量必须要在.bashrc文件里说明,要不然。不能运行jvm
Relink阶段,会出两个错误:ins_oemagent.mk 和 ins_ctx.mk. 点 Ignore 忽略.注意在安装过程中不要创建数据库,如果创建了也没有关系在升级之前将它给删除掉,至于为什么不删除有什么影响,我也没有试过。如果有哪位兄弟知道,请跟贴。
8、升级到9.2.0.4.0
安装结束后,HTTPD会自动运行.在升级之前,需要将它停下来.
$ cd $ORACLE_HOME/Apache/Apache/bin
$ ./apachectl stop
./apachectl stop: httpd stopped
LISTENER也需要停下来.
$ lsnrctl stop
LSNRCTL for Linux: Version 9.2.0.1.0 - Production on 07-NOV-2003 16:25:41
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(PORT=1521))
The command completed successfully
注意:
如果不停的话,oracle会抱怨不能覆盖文件.这个时候再去将服务停下来也可以,点Retry就可以了.
然后就可以开始打补丁升级了.
注意打补丁还是使用root用户:
切换到root用户控制台:
解包:
$ unzip p3095277_9204_LINUX.zip
Archive: p3095277_9204_LINUX.zip
inflating: 9204_lnx32_release.cpio
inflating: README.html
inflating: patchnote.css
$ cat 9204_lnx32_release.cpio | cpio -i --make-directories
做完这个后,再切换到oracle用户控制台, 再次运行/home/ora9i/Disk1/runInstaller升级,注意必须先安装最下面的OUI,要不然没有办法打那个最上面的升级补丁。
升级完OUI后,要退出,再次运行/home/ora9i/Disk1/runInstaller升级到9.2.0.4。
这时候还是会有一个错误出现。再次选择忽略它。
我们在下一步再打补丁。
9、打其他的补丁:
切换到root的终端。注意这个最好是原来那个保持了ORACLE_HOME, ORACLE_BASE的环境变量那个终端:
修复ins_oemagent.mk错误.
首先安装 opatch.
$ unzip p2617419_210_GENERIC.zip
Archive: p2617419_210_GENERIC.zip
creating: OPatch/
creating: OPatch/docs/
inflating: Opatch/docs/FAQ
......
inflating: README.txt
$ ls
$ pwd
/home/or9i
$ export PATH=$PATH:/home/or9i/OPatch:/sbin
注意:
修改PATH时,除了要包括解压出来的OPatch目录外,还要包括/sbin目录.这一点,metalink上没有说.
$ unzip p3119415_9204_LINUX.zip
Archive: p3119415_9204_LINUX.zip
creating: 3119415/
......
inflating: 3119415/README.txt
$ cd 3119415
$ opatch apply
就算安装成功了.
10.运行dbca的问题.
在运行dbca, netca等图形工具之前,需要设置LD_ASSUME_KERNEL=2.4.19,否则不能启动JAVA
至此就大功告成了,中文显示也好。除了开始的那个错误之外,一切都正常。