Linux下Oracle9i安装的特殊事项

1.获得Oracle9i的安装包
ship_9204_linux_disk1.cpio.gz
ship_9204_linux_disk2.cpio.gz
ship_9204_linux_disk3.cpio.gz

2. 解压缩和解包
gunzip <文件名>
cpio -idmv<<文件名>

3. 安装之前
可以参照网上其他文档的说明建立oracle用户和组,安装补丁,设置环境变量,把解压后的三个目录放到
/home/oracle目录中

4.安装出错

4.1 libjava.so错误
[oracle@sd173 DIsk1]$ pwd
/home/oracle/Disk1
[oracle@sd173 Disk1]$ ./runInstaller
[oracle@sd173 Disk1]$ Initializing Java Virtual Machine from /tmp/OraInstall2007-04-16_04-52-44PM/jre/bin/java. Please wait...
Error occurred during initialization of VM
Unable to load native library: /tmp/OraInstall2007-04-16_04-52-44PM/jre/lib/i386/c: symbol __libc_wait, version GLIBC_2.0 not defined in file libc.so.6 with link time reference

4.2 解决错误
使用vi创建libcwait.c文件
#include <errno.h>
#include <sys/syscall.h>
#include <sys/types.h>
#include <sys/wait.h>
pid_t
__libc_wait (int *status)
{
int res;
asm volatile ("pushl %%ebx\n\t"
"movl %2, %%ebx\n\t"
"movl %1, %%eax\n\t"
"int $0x80\n\t"
"popl %%ebx"
: "=a" (res)
: "i" (__NR_wait4), "0" (WAIT_ANY), "c" (status), "d" (0),
"S" (0));
return res;
}
编译它
gcc -shared -o libcwait.so -O -g libcwait.c
设置环境变量
export LD_PRELOAD=/path/to/libcwait.so

4.3 感谢

4.4 DISPLAY错误
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified

Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.

4.5 设置环境变量
[oracle@sd173 Disk1]$ export DISPLAY=192.168.12.173:0.0
运行./runInstaller时还是出现错误
Xlib: connection to "192.168.12.173:0.0" refused by server
Xlib: No protocol specified

Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using '192.168.12.173:0.0' as the value of the DISPLAY variable.

4.6 DISPLAY错误解决办法
使用root用户把当前机器IP加入允许访问列表
[root@sd173 Disk1]# xhost +192.168.12.173
关于这个用法,可参照xhost的帮助
关于xhost的用法示例:
$ xhost -192.168.0.1 #取消192.168.0.1发送X Request到本机
$ xhost + #允许所有主机发送X Request到本机
$ xhost + #再次执行该命令取消允许所有主机的授权

5.设置语言支持.由于ORACLE安装界面中文支持不好,建议运行
export LC_ALL=en_us,否则容易出现乱码.
好了 ,现在运行./runInstaller.安向导往下走就可以了。