发表于: 2004.09.21 18:16
分类: LINUX
出处: http://grassbell.itpub.net/post/26/2300
---------------------------------------------------------------
1.挂接vmware 所在的windowxp上的oracle安装程序。
winxp上首先共享oracle安装程序。
su
mkdir /software
smbmount //172.16.4.36/Oracle92 /software
2.增大shmmax,避免ora-27123:unable to attach to shared memory
$ su - root
# cat /proc/sys/kernel/shmmax
33554432
# echo `expr 1024 * 1024 * 1024` > /proc/sys/kernel/shmmax
# cat /proc/sys/kernel/shmmax
1073741824
若是想永久的修改这个参数,修改/etc/sysctl.conf file,增加:
kernel.shmmax=1073741824
3.检查开发包(RPMs)是否已经安装:
rpm -q gcc cpp compat-libstdc++ glibc-devel glibc-kernheaders binutils
4.建立用户和组:
su - root
groupadd dba # group of users to be granted with SYSDBA system privilege
groupadd oinstall # group owner of Oracle files
useradd -c "Oracle software owner" -g oinstall -G dba oracle
passwd oracle
5.建目录:
su - root
mkdir /opt/oracle
mkdir /opt/oracle/product
mkdir /opt/oracle/product/9.2.0
chown -R oracle.oinstall /opt/oracle
mkdir /var/opt/oracle
chown oracle.dba /var/opt/oracle
chmod 755 /var/opt/oracle
6.设定环境变量:
# Use the "Linuxthreads with floating stacks" implementation instead of NPTL:
# 避免安装jdk时悬挂在copy readme不动
export LD_ASSUME_KERNEL=2.4.1
# Oracle Environment
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/9.2.0
export ORACLE_SID=test
export ORACLE_TERM=xterm
# export TNS_ADMIN= Set if sqlnet.ora, tnsnames.ora, etc. are not in $ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN;
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
# Set shell search paths
export PATH=$PATH:$ORACLE_HOME/bin
# CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
# CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
# export CLASSPATH
7.开始安装
因为我直接在xwindowx下安装的,可是老报错说
Xlib:connection to ":0.0" is refused by server
印象在实际环境中不需要设置xserver的,但是好像vmware需要设置,不确定
su -root
xhost +
su - oracle
(export DISPLAY=:0.0)
xterm #测试一下
/software/Disk1/.runInstaller
8.Error in invoking target install of makefile /opt/oracle/product/9.2.0/network/lib/ins_oemagent.mk.
点ignore,通过安装patch 3119415解决,或者安装9.2.0.4的patch
9."Error in invoking target install of makefile /opt/oracle/product/9.2.0/ctx/lib/ins_ctx.mk"
错误日志出现在$ORACLE_HOME/install/make.log:
/lib/libdl.so.2: undefined reference to `_dl_addr@GLIBC_PRIVATE'
/lib/libdl.so.2: undefined reference to `_dl_open@GLIBC_PRIVATE'
/lib/libdl.so.2: undefined reference to `_dl_close@GLIBC_PRIVATE'
/lib/libdl.so.2: undefined reference to `_dl_sym@GLIBC_PRIVATE'
/lib/libdl.so.2: undefined reference to `_dl_vsym@GLIBC_PRIVATE'
是在执行以下命令时出错:
/usr/bin/make -f ins_ctx.mk install ORACLE_HOME=/opt/oracle/product/9.2.0
编辑 $ORACLE_HOME/ctx/lib/env_ctx.mk, 在 "INSO_LINK =", 增加 "$(LDLIBFLAG)dl"
修改完后是:
INSO_LINK = -L$(CTXLIB) $(LDLIBFLAG)m $(LDLIBFLAG)dl $(LDLIBFLAG)sc_ca $(LDLIBFLAG)sc_fa $(LDLIBFLAG)sc_ex $(LDLIBFLAG)sc_da
$(LDLIBFLAG)sc_ut $(LDLIBFLAG)sc_ch $(LDLIBFLAG)sc_fi $(LLIBCTXHX) $(LDLIBFLAG)c -Wl,-rpath,$(CTXHOME)lib $(CORELIBS) $(
COMPEOBJS)
然后retry。
~~~
如果不管用,再试试:
再编辑 $ORACLE_HOME/ctx/lib/env_ctx.mk ,在 "INSO_LINK =",去掉刚才加的,然后加入 "`cat $(LIBHOME)/sysliblist`"
修改完后是:
INSO_LINK = -L$(CTXLIB) $(LDLIBFLAG)m `cat $(LIBHOME)/sysliblist` $(LDLIBFLAG)sc_ca $(LDLIBFLAG)sc_fa $(LDLIBFLAG)sc_ex $(
LDLIBFLAG)sc_da $(LDLIBFLAG)sc_ut $(LDLIBFLAG)sc_ch $(LDLIBFLAG)sc_fi $(LLIBCTXHX) $(LDLIBFLAG)c -Wl,-rpath,$(CTXHOME)lib $(
CORELIBS) $(COMPEOBJS)
然后retry
10.$dbca
/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
oracle$ export LD_ASSUME_KERNEL=2.4.1
Now try to restart dbca.
这个问题出现多次,虽然我已经在/home/oracle/.bash_profile 中定义了这个变量,但是最好重起一下使其生效。
11.$ dbca
SIGSEGV 11* segmentation violation
stackbase=0x453da000, stackpointer=0x453d9d5c
Full thread dump:
"AWT-EventQueue-0" (TID:0x411d1e20, sys_thread_t:0x453d9e0c,
state:R) prio=5 *current thread*
java.lang.Object.wait(Object.java)
java.awt.EventQueue.getNextEvent(EventQueue.java:126)
...
I got reports about dbca crashing on Red Hat 8.0 and on Red Hat 9. If this happens, try the following suggestion:
$ su - root
touch /etc/rac_on
Now try to restart dbca.
Another option is to edit $ORACLE_HOME/bin/dbca and to put the following lines under comment except the line marked in blue:
# if [ -f /etc/rac_on ]; then
# Run DBCA
$JRE_DIR/bin/jre -native -DORACLE_HOME=$OH ...
# else
# Run DBCA
# $JRE_DIR/bin/jre -DORACLE_HOME=$OH ...
# fi
Now try to restart dbca.
12.配置系统启动关闭时自动启动关闭数据库
编辑/etc/oratab
修改为:
donnydb4:/opt/oracle/product/9.2.0:Y











