网上已经有一个FC4下的oracle9i安装了,不过我在FC5下安装9i,他死活装不上,按网上的说法设置底版本2。4。1内核,结果连所有的shell和binary都不能用了,郁闷到了极点,结果最开始放弃FC5,换9i最成功的RH9,不过用FC5已经2个多月了,再回去用RH9,实在是受不了那个IO性能,然后换换版本前的FC2,我晕,我的曾经挚爱尽然现在看起来这么丑陋,丑陋的openoffice,丑陋的mount,还有那我曾经没注意到的雀斑---IO,我快崩溃了~~
神阿,救救我吧~
我格,我重新root kernel,安装FC4,这回没问题了,内核设置了,在oracle用户下也没FC5的异常,也没说不能用,安装了,也能用,不过那个死雀斑,竟然在FC4还没被解决,天阿~~,感觉下边操作Eclipse,边通过mplayer听MP3的时候时常的卡机现象,感觉下一旦拷贝文件,间或的音乐,我快疯了,我对自己说,算了,认命吧,你吖就是个PostgreSQL的FANS,不要瞎花心了,我心不甘阿,我要装好,我要试,我要从各方面说服那群"败家子"不要烂花钱,让他们感觉下PostgreSQL的优越性,让他们知道在大型项目中,PostgreSQL能做得更好。而且能省下这笔DB的钱,说不定我也能多点M啊。
一个不巧,我看到了介绍oracle10g虽然有版本限制,不过可以通过修改部分设置来实现在其他平台下安装,而且这个本来就是oracle的新一代网格计算的拳头产品,嘿嘿,就拿你开刀,谁叫你丫的9哥不顺从俺们的......
有了想法就要去实施,不要等,我一番download
从www.oracle.com上下了10.2.0,由于以前就备份了他那个glibc的patch的shell,所以没下
内容如下:
#!/bin/bash
USER=`whoami`
if [ $USER != root ]; then
echo "Must be root to run this script, please login as root and re-try"
exit
fi
# see if libcwait.so is already being loaded
if [ -f "/etc/ld.so.preload" ] && [ -n "`grep libcwait /etc/ld.so.preload`" ]; then
echo "Patch has already been applied"
exit
else
echo "Applying patch..."
fi
cat << EOF |
#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;
}
EOF
gcc -O2 -shared -fpic -xc - -o /etc/libcwait.so
echo "/etc/libcwait.so" >>/etc/ld.so.preload
echo "Patch successfully applied"
大家可以把上面的内容拷到你的sh里,然后执行下就可以了
或者直接到metalink下载也可以的。补丁号是3006854
在FC5下的GCC是4.1的,网上都说了,安装oracle10g最好是用gcc3.2,所以俺专门还多D了一个gcc-3.4.3(3.2的第一个网址没成功,所以直接下了3.4.3,结果也可以用)
好,俺们开始,10g有点和以前不同的,他只有一张盘,解压后是database的目录,不过其他都还是一样的,还是用./runInstaller安装
具体设置我就不说了,DOC目录下的文档已经很详细了,我只介绍下容易出问题的几个地方。
问题一:不用设置LD_ASSUME_KERNEL=2.4.1,切记,FC5下设了就挂了,shell就不能用了,安装10G不用设置内核,缺省就可以了
问题二:Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using '127.0.0.1:0.0' as the value of the DISPLAYvariable
解决:切换到root,运行:xhost + 你的IP(不写IP就是授权any host)
问题三:安装界面显示很难看,字体看不清楚,有的地方还没提示
解决:export LC_ALL=en_us
问题四:安装到62%的时候开始linking,结果link了一天还是linking,结果在日志里看到是gennttab文件里出问题了,查官方文档,说要改个地方
解决:
打开oracle安装目录下的bin目录,打开gennttab(估计到25%左右才有,91是16%就有了),原文为:
LIB=`$ECHO ${TtoLIB} | $SED 's/ ///
/g' | $GREP "^${T}:" | $AWK -F: '{print $2}'`
INI=`$ECHO ${TtoINI} | $SED 's/ ///
/g' | $GREP "^${T}:" | $AWK -F: '{print $2}'`
BAS=`$ECHO ${TtoBAS} | $SED 's/ ///
/g' | $GREP "^${T}:" | $AWK -F: '{print $2}'`
改为:
LIB=`$ECHO ${TtoLIB} | $SED 's/ //n/g' | $GREP "^${T}:" | $AWK -F: '{print $2}'`
INI=`$ECHO ${TtoINI} | $SED 's/ //n/g' | $GREP "^${T}:" | $AWK -F: '{print $2}'`
BAS=`$ECHO ${TtoBAS} | $SED 's/ //n/g' | $GREP "^${T}:" | $AWK -F: '{print $2}'`
记着,一定要在总进度在62%前做完,不然,嘿嘿,shift+del,Do Again,
等上面几个问题搞定了,基本就完了,su - oracle
lsnrctl
start
status
看看你的实例启动没
然后出来sqlplus /nolog
connect scott/tiger as sysdba
发现个问题没,很怪异的问题,scott用户竟然不起效了,难不成人家人走珠黄,决定完全在oracle的历史里抹去scott?
哈哈,当然不是,只是在oracle10g里默认锁定scott用户,我们可以通过以下语句解锁;
connect sys/oracle as sysdba
alter user scott account unlock
然后再试试用scott连接
connect scott/tiger as sysdba
呀货,竟然提示我密码过期了?(难不成scott现在换宠物了?或tiger隔屁了?)
输入新密码,再次输入新密码,OK
select * from scott.emp;
这数据他就就呼啦呼啦的出来了,好了,以上就是我在FC5下的oracle10g安装过程,大家结合doc一起看吧,文档里对那个文件要改,那个文件加设呢么都很详细,我这里只是补充点上面没有的。写的时候眼睛有点睁不开,写错了,大家多批评 。
神阿,救救我吧~
我格,我重新root kernel,安装FC4,这回没问题了,内核设置了,在oracle用户下也没FC5的异常,也没说不能用,安装了,也能用,不过那个死雀斑,竟然在FC4还没被解决,天阿~~,感觉下边操作Eclipse,边通过mplayer听MP3的时候时常的卡机现象,感觉下一旦拷贝文件,间或的音乐,我快疯了,我对自己说,算了,认命吧,你吖就是个PostgreSQL的FANS,不要瞎花心了,我心不甘阿,我要装好,我要试,我要从各方面说服那群"败家子"不要烂花钱,让他们感觉下PostgreSQL的优越性,让他们知道在大型项目中,PostgreSQL能做得更好。而且能省下这笔DB的钱,说不定我也能多点M啊。
一个不巧,我看到了介绍oracle10g虽然有版本限制,不过可以通过修改部分设置来实现在其他平台下安装,而且这个本来就是oracle的新一代网格计算的拳头产品,嘿嘿,就拿你开刀,谁叫你丫的9哥不顺从俺们的......
有了想法就要去实施,不要等,我一番download
从www.oracle.com上下了10.2.0,由于以前就备份了他那个glibc的patch的shell,所以没下
内容如下:
#!/bin/bash
USER=`whoami`
if [ $USER != root ]; then
echo "Must be root to run this script, please login as root and re-try"
exit
fi
# see if libcwait.so is already being loaded
if [ -f "/etc/ld.so.preload" ] && [ -n "`grep libcwait /etc/ld.so.preload`" ]; then
echo "Patch has already been applied"
exit
else
echo "Applying patch..."
fi
cat << EOF |
#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;
}
EOF
gcc -O2 -shared -fpic -xc - -o /etc/libcwait.so
echo "/etc/libcwait.so" >>/etc/ld.so.preload
echo "Patch successfully applied"
大家可以把上面的内容拷到你的sh里,然后执行下就可以了
或者直接到metalink下载也可以的。补丁号是3006854
在FC5下的GCC是4.1的,网上都说了,安装oracle10g最好是用gcc3.2,所以俺专门还多D了一个gcc-3.4.3(3.2的第一个网址没成功,所以直接下了3.4.3,结果也可以用)
好,俺们开始,10g有点和以前不同的,他只有一张盘,解压后是database的目录,不过其他都还是一样的,还是用./runInstaller安装
具体设置我就不说了,DOC目录下的文档已经很详细了,我只介绍下容易出问题的几个地方。
问题一:不用设置LD_ASSUME_KERNEL=2.4.1,切记,FC5下设了就挂了,shell就不能用了,安装10G不用设置内核,缺省就可以了
问题二:Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using '127.0.0.1:0.0' as the value of the DISPLAYvariable
解决:切换到root,运行:xhost + 你的IP(不写IP就是授权any host)
问题三:安装界面显示很难看,字体看不清楚,有的地方还没提示
解决:export LC_ALL=en_us
问题四:安装到62%的时候开始linking,结果link了一天还是linking,结果在日志里看到是gennttab文件里出问题了,查官方文档,说要改个地方
解决:
打开oracle安装目录下的bin目录,打开gennttab(估计到25%左右才有,91是16%就有了),原文为:
LIB=`$ECHO ${TtoLIB} | $SED 's/ ///
/g' | $GREP "^${T}:" | $AWK -F: '{print $2}'`
INI=`$ECHO ${TtoINI} | $SED 's/ ///
/g' | $GREP "^${T}:" | $AWK -F: '{print $2}'`
BAS=`$ECHO ${TtoBAS} | $SED 's/ ///
/g' | $GREP "^${T}:" | $AWK -F: '{print $2}'`
改为:
LIB=`$ECHO ${TtoLIB} | $SED 's/ //n/g' | $GREP "^${T}:" | $AWK -F: '{print $2}'`
INI=`$ECHO ${TtoINI} | $SED 's/ //n/g' | $GREP "^${T}:" | $AWK -F: '{print $2}'`
BAS=`$ECHO ${TtoBAS} | $SED 's/ //n/g' | $GREP "^${T}:" | $AWK -F: '{print $2}'`
记着,一定要在总进度在62%前做完,不然,嘿嘿,shift+del,Do Again,
等上面几个问题搞定了,基本就完了,su - oracle
lsnrctl
start
status
看看你的实例启动没
然后出来sqlplus /nolog
connect scott/tiger as sysdba
发现个问题没,很怪异的问题,scott用户竟然不起效了,难不成人家人走珠黄,决定完全在oracle的历史里抹去scott?
哈哈,当然不是,只是在oracle10g里默认锁定scott用户,我们可以通过以下语句解锁;
connect sys/oracle as sysdba
alter user scott account unlock
然后再试试用scott连接
connect scott/tiger as sysdba
呀货,竟然提示我密码过期了?(难不成scott现在换宠物了?或tiger隔屁了?)
输入新密码,再次输入新密码,OK
select * from scott.emp;
这数据他就就呼啦呼啦的出来了,好了,以上就是我在FC5下的oracle10g安装过程,大家结合doc一起看吧,文档里对那个文件要改,那个文件加设呢么都很详细,我这里只是补充点上面没有的。写的时候眼睛有点睁不开,写错了,大家多批评 。