非常坎坷的一次oracle安装
=============================
版本
ORACLE 10.2.0.4
ORACLE 9.2.0.8
操作系统
ORACLE ENTERPRISED LINUX
=============================
因为是要9、10两套环境共存
为了图省事,根据经验,直接使用oracle提供的enterprise linux
这个版本对ORACLE 10g的兼容是没的说的
先安装的oracle 10.2.0.1,再升级到10.2.0.4
采用的是文件系统,所以不到半小时就把所有的工作都搞定了
接下来就要安装使用裸设备的oracle9.2.0.8
噩梦开始了
-----------------------------
首先是检查系统缺包
在文档上找到需要rpm包列表如下:
compat-db-4.1.25-9
compat-gcc-32-3.2.3-47.3
compat-gcc-32-c++-3.2.3-47.3
compat-oracle-rhel4-1.0-3
compat-libcwait-2.0-1
compat-libgcc-296-2.96-132.7.2
compat-libstdc++-296-2.96-132.7.2
compat-libstdc++-33-3.2.3-47.3
gcc-3.4.3-9.EL4
gcc-c++-3.4.3-9.EL4
gnome-libs-1.4.1.2.90-44
gnome-libs-devel-1.4.1.2.90-44
libaio-devel-0.3.102-1
libaio-0.3.102-1
make-3.80-5
openmotif21-2.1.30-11
xorg-x11-deprecated-libs-devel-6.8.1-23.EL
xorg-x11-deprecated-libs-6.8.1-23.EL
在linux安装盘以及oracle提供的rpm下载点都找到了以上相关的rpm包
但存在个问题,目前使用的包版本要比文档上需要的包的版本高
决定先不理这个,直接安装9204
于是上传介质
解包
启动图形
设置环境变量
接触用户限制等等操作后
终于开始使用oui进行oracle安装
link到63%的时候报错:
Exception String: Error in invoking target install of makefile /orasys/oracle/product/9.2.0/plsql/lib/ins_plsql.mk
这种错以前见多了,基本上都是因为包不全才会出现的
没办法,退出后删除新安装产生的所有文件后
找到刘明兄弟的安装文档
rpm包列表如下:
alsa-lib-devel-1.0.6-5.RHEL4.i386.rpm
audiofile-devel-0.2.6-1.el4.1.i386.rpm
compat-gcc-32-3.2.3-47.3.i386.rpm
compat-gcc-32-c++-3.2.3-47.3.i386.rpm
compat-libcwait-2.1-1.i386.rpm
compat-oracle-rhel4-1.0-5.i386.rpm
esound-devel-0.2.35-2.i386.rpm
fontconfig-devel-2.2.3-7.i386.rpm
freetype-devel-2.1.9-5.el4.i386.rpm
gcc-3.4.6-8.i386.rpm
gcc-c++-3.4.6-8.i386.rpm
glib2-devel-2.4.7-1.i386.rpm
glibc-devel-2.3.4-2.36.i386.rpm
glibc-headers-2.3.4-2.36.i386.rpm
glibc-kernheaders-2.4-9.1.100.EL.i386.rpm
glib-devel-1.2.10-15.i386.rpm
gnome-libs-1.4.1.2.90-44.1.i386.rpm
gnome-libs-devel-1.4.1.2.90-44.1.i386.rpm
gtk+-devel-1.2.10-36.i386.rpm
imlib-devel-1.9.13-23.i386.rpm
indent-2.2.9-6.i386.rpm
libaio-0.3.105-2.i386.rpm
libaio-devel-0.3.105-2.i386.rpm
libIDL-devel-0.8.4-1.i386.rpm
libjpeg-devel-6b-33.i386.rpm
libstdc++-devel-3.4.6-8.i386.rpm
libtiff-devel-3.6.1-12.i386.rpm
libungif-devel-4.1.3-1.el4.2.i386.rpm
make-3.80-6.EL4.i386.rpm
ORBit2-devel-2.12.0-3.i386.rpm
ORBit-devel-0.5.17-14.i386.rpm
pkgconfig-0.15.0-3.i386.rpm
xorg-x11-deprecated-libs-devel-6.8.2-1.EL.18.i386.rpm
xorg-x11-devel-6.8.2-1.EL.18.i386.rpm
zlib-devel-1.2.1.2-1.2.i386.rpm
又都弄上去了
接下来继续安装,到63%又报错
Exception String: Error in invoking target install of makefile /orasys/oracle/product/9.2.0/plsql/lib/ins_plsql.mk
仔细查看安装日志,是在make file的时候出错
查找网上相关资料后,有说是版本bug的有说是rpm包版本问题的
因为知道自己的环境,所以更倾向于rpm包版本问题
执行:
mv /usr/bin/gcc /usr/bin/gccold
mv /usr/bin/gcc32 /usr/bin/gcc
降低gcc版本
然后retry
居然过去了
最后安装也没有报错
运行完root.sh后,执行
mv /usr/bin/gcc /usr/bin/gcc32
mv /usr/bin/gccold /usr/bin/gcc
将gcc改回来
==========================================
之后由9204升级到9208,没有出现什么难缠的问题
==========================================
升级完成后执行dbca,建库
报错:
Initializing Java Virtual Machine from /tmp/OraInstall2005-01-18_06-01-55PM/jre/bin/java. Please wait...
Error occurred during initialization of VM
Unable to load native library: /tmp/OraInstall2005-01-18_06-01-55PM/jre/lib/i386/libjava.so: symbol __libc_wait, version GLIBC_2.0 not defined in file libc.so.6 with link time reference
bug,需要装个补丁
3006854
于是下补丁
解包
用root执行
rhe13_pre_install.sh
发现文件居然没有执行权限
于是chmod 777 rhe13_pre_install.sh
执行
$ chmod +x rhe13_pre_install.sh
# sh rhe13_pre_install.sh
Applying patch...
Patch successfully applied
===========================================
终于可以建库
这时候心里已经没有底了。。。。。。。。
果然又报错
汗啊。。。。。。。
opt/oracle/jre/1.1.8/bin/../lib/i686/green_threads/libzip.so: symbol errno, version GLIBC_2.0 not defined in file libc.so.6 with link time reference (libzip.so)
Unable to initialize threads: cannot find class java/lang/Thread
Could not create Java VM
无语,继续找原因
结果是因为环境变量中
export LD_ASSUME_KERNEL=2.6.1
写了真是的内核版本
这个参数不能超过2.4.1
不然会报错
修改环境变量
重新建库,这个错误过了
===========================================
继续建库
过了刚才的报错的地方,心想还不错
又报错
/ora9i//product/9.2.0/bin/dbca: line 124: 30948 Segmentation fault
$JRE_DIR/bin/jre -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath
$CLASSPATH oracle.sysman.assistants.dbca.Dbca
$ARGUMENTS
我狂汗啊。。。。
执行
touch /etc/rac_on
然后继续
===========================================
之后到了选数据库文件的位置了
再次确认后发现居然没建system需要的裸设备
没办法,自己弄个吧
暴汗。。。。。。。
#lvcreate -l 50 -n lvol_system /dev/vg00
#vi /etc/sysconfig/rawdevices
添加
/dev/raw/raw15 /dev/vg00/lvol_system
#service rawdevices restart
#chown oracle:dba /dev/raw/*
============================================
继续建库,没报错,以为终于完事了
建完后连到数据库里
sqlplus "/ as sysdba"
Connected to an idle instance.
库是没有启动的
SQL> shutdown abort
SQL> startup
ORACLE instance started.Total System Global Area 276824064 bytes
Fixed Size 778736 bytes
Variable Size 137371152 bytes
Database Buffers 138412032 bytes
Redo Buffers 262144 bytes
ORA-01102: cannot mount database in EXCLUSIVE modeSQL> shutdown immediate
ORA-01507: database not mounted
成吉思汗。。。。。。。。。。。。。。
继续找原因
网上说是因为锁文件了
安装人家说的看看吧
#cd $ORALCE_HOME/dbs
#fuser -u lkHNGD
lkHNGD:6666(oracle) 6668(oracle) 6670(oracle) 6672(oracle) 6674(oracle) 6676(oracle) 6678(oracle) 6680(oracle) 6690(oracle) 6692(oracle) 6694(oracle) 6696(oracle) 6737(oracle) 6830(oracle)
果然该文件没释放,用fuser命令kill掉
#fuser -k lkHNGD
#fuser -u lkHNGD
再启动库
SQL> startup
ORACLE instance started.Total System Global Area 276824064 bytes
Fixed Size 778736 bytes
Variable Size 137371152 bytes
Database Buffers 138412032 bytes
Redo Buffers 262144 bytes
Database mounted.
Database opened.
SQL> 数据库成功OPEN.
=====================================
终于还是把错的弄好了
从早上10点到晚上10点半,终于弄好的