Redhat下Oracle9i安装全攻略-常见错误
【IT168 专稿】本文是Redhat下Oracle9i 安装全攻略系列的完结篇《常见错误》。其他参见《中文显示》《安装指南》《脚本精选》。
错误说明:列举以下错误的目的,是为了帮助大家少走弯路,碰到问题可以迅速找到答案,资料包括但不仅限于 Redhat AS3 平台。有些是直接引用其他网站内容,感谢内容提供者。另一些是我经过分析研究找出来的答案。
其他说明:文章提及的 pg,pk 等脚本,源码在安装完全攻略的脚本精选里。文章的 X 是指本机登陆 X 视窗,Xman 是指 Xmanager 远程登录。
#---------------------------------
1) 中文环境下,安装时不能修改密码,这导致不断地告警,安装无法进行。中文环境下,oemapp console 在 X 和 Xman 不能输入密码,Vnc 可以。
经分析,是 chinput 引起的问题,在安装或运行Oracle 9i之前把相关进程杀掉即可。很明显,无法输入最大嫌疑就是输入法。运行 pg chinput 就知道了,因为 Redhat 9.0,Redhat AS3 都会自动加载中文输入法。遗憾的是, Google 上没有任何资料提到这一点,导致不少人(包括我)走了弯路。
Vnc 因为某些字体库不支持,所以 chinput 运行又退出了,不信你可以自己在 Vnc 里运行一下。至于 X 和 Xman,因为它们都支持相关的中文字库,所以 chinput 接管了系统输入控制。问题在于Oracle 9i 与中文输入法的兼容性很差,造成“用户/密码”无法输入。
杀掉 chinput 再安装 Oracle 9i,或者装好之后运行 oemapp console 都不会出现无法输入“用户/密码”的情况。解决办法是 pk chinput。如果不杀chinput,又想要中文安装、中文使用的话,只能通过 Vnc 安装和使用。我的做法是把脚本写好并且可执行,然后在 .bashrc 里自动杀 chinput。
请检查 Linux 的防火墙设置,并修改 iptables 配置,开放 1521 和 7778。可以参考这篇文章:Redhat AS3_U6 的 Oracle9i 安装完全攻略--中文显示。
#---------------------------------------
3) 在 Linux 本机或者 WinXp 客户端里,ORACLE_SID 和 ORACLE_NAME 不同导致不能访问,难道两者必须一样?
注意:Oracle 装好之后,要搞清 Oracle 里 SID 和 NAME 的逻辑关系。通常在 Client 端的 Net Config 里,写 ORACLE_NAME 和 IP,不是 ORACLE_SID。在 oemapp console 里,可以用 tnsname 也就是 ORACLE_NAME 来访问,也可以用 IP 加上 ORACLE_SID 来访问,其它写法会报错。例如:
ORACLE_SID=ora9i, ORACLE_NAME=turbo, IP=192.168.100.60。 那么,你在配置 Net Config 时,填写 turbo 和 192.168.100.60,在 oemapp cosole访问时,可以使用本地 tnsname 的 TURBO,或者写主机名(填IP或域名)以及SID,然后网络服务名就会自动变成 ORA9I_192.168.100.60。
#---------------------------------------
4.1) 启动 Apache 时候报错,环境变量 PERL5LIB 问题。
按目前 Google 所找到资料去安装 Oracle 9i,一个必然发生的问题就是会看到 httpd could not be started 错误,把 startJServ.sh 和 apachectl的代码逐行在系统运行(设置变量要加 export 和空格),就会看到里面的某些库找不到,经过研究,通过设置 PERL5LIB 可以解决这个问题。
为了保障系统和脚本的正常运行,在 .bash_profile 和 apachectl 都修改了,大家可以利用 perl -V 这个命令来检查运行环境。同时,考虑到 perl5.005 和 5.80 的兼容性,在 PATH 里把 Oracle 自带的 perl 放前面。
设置好 PERL5LIB 后,系统依然提示错误,查了一下资料,要设置 DISPLAY。
我用dbstart启动时,提示can't find init file...? (点击)
msnch said: ----->
search了一下,说是bug, 按eygle大师的修改已OK
一个关于开机时能同时自动启动三个INSTANCE和监听程序的问题(很急) (点击)
案例学习:Oracle的还原(点击)
重新创建spfile
RedHat AS 4.0最新安装Oracle9204手记(点击)
[保留] RedHat AS 4.0最新安装Oracle9204手记(点击)
7) 说明:下面这个安装指南是我看过各种版本里比较好的,图文并茂,问题处理详细。
在Redhat9上安装Oracle 9.2(点击)
运行了一会以后,出现了"ins_oemagent.mk"的错误提示。
这时我们可以暂时选择"ignore",安装完成以后再来解决这个问题。
接下来又会出现"ins_ctx.mk"的问题。
现在编辑 $ORACLE_HOME/ctx/lib/env_ctx.mk文件,在 "INSO_LINK =" 行(第1365行)加入 "$(LDLIBFLAG)dl"
修改后如下:
最后,还需要根据提示,用root用户执行一次 $ORACLE_HOME/root.sh,Oracle软件就初步安装完了。
安装完成以后的工作。
我们回头来解决上边的那个ins_oemagent.mk问题。以Oracle用户执行:
#-----------------------------------
8) 说明:其实是编译时链接库的问题,可以通过打补丁解决,不过手工修改也可以的。
Oracle9i在Redhat9上安装报错,请帮助!(点击)
iinhf said: ----->
我又重新进行了安装,前面除了文档中的两错外,都没有报错。然后就开始执行如下的命令:
修改系统:
以oracle用户的身份登入,执行以下命令:
Redhat RHEL AS3 下安装 Oracle DB 10g 中文乱码问题(点击)
本文已经原作者wwashington授权IT168服务器频道刊登,感谢wwashington对IT168鼎力支持。
原文链接: http://bbs.boletips.com/blbbs/viewthread.php?tid=178&extra=page=1
错误说明:列举以下错误的目的,是为了帮助大家少走弯路,碰到问题可以迅速找到答案,资料包括但不仅限于 Redhat AS3 平台。有些是直接引用其他网站内容,感谢内容提供者。另一些是我经过分析研究找出来的答案。
其他说明:文章提及的 pg,pk 等脚本,源码在安装完全攻略的脚本精选里。文章的 X 是指本机登陆 X 视窗,Xman 是指 Xmanager 远程登录。
#---------------------------------
1) 中文环境下,安装时不能修改密码,这导致不断地告警,安装无法进行。中文环境下,oemapp console 在 X 和 Xman 不能输入密码,Vnc 可以。
经分析,是 chinput 引起的问题,在安装或运行Oracle 9i之前把相关进程杀掉即可。很明显,无法输入最大嫌疑就是输入法。运行 pg chinput 就知道了,因为 Redhat 9.0,Redhat AS3 都会自动加载中文输入法。遗憾的是, Google 上没有任何资料提到这一点,导致不少人(包括我)走了弯路。
Vnc 因为某些字体库不支持,所以 chinput 运行又退出了,不信你可以自己在 Vnc 里运行一下。至于 X 和 Xman,因为它们都支持相关的中文字库,所以 chinput 接管了系统输入控制。问题在于Oracle 9i 与中文输入法的兼容性很差,造成“用户/密码”无法输入。
杀掉 chinput 再安装 Oracle 9i,或者装好之后运行 oemapp console 都不会出现无法输入“用户/密码”的情况。解决办法是 pk chinput。如果不杀chinput,又想要中文安装、中文使用的话,只能通过 Vnc 安装和使用。我的做法是把脚本写好并且可执行,然后在 .bashrc 里自动杀 chinput。
2) Oracle 装好之后,sqlplus 以及本机 oemapp console 可以访问,但是WinXp 的 Client 和 Web 无法连接。[oracle@rebeca oracle]$ chinput & ...{在 Xmanager 的窗口里运行}
Chinput Version 3.0.2 -- XIM Server
Distributed under the terms of the GNU General Public License (GPL)
Following charsets:
0: -Sony-Fixed-Medium-R-Normal--16-120-100-100-C-80-ISO8859-1
1: -misc-zysong18030-medium-r-normal--0-0-0-0-c-0-gb2312.1980-0
Chinput ................................................[OK]
![]()
[oracle@rebeca oracle]$ pg chinput
UID PID PPID C STIME TTY TIME CMD
oracle 5158 1 0 13:15 pts/1 00:00:00 chinput
[oracle@rebeca oracle]$ pk chinput
# ps -ef | grep chinput | grep -v grep | awk '{ print $2 }' | xargs -i kill -9 ...{}
![]()
[oracle@rebeca oracle]$ chinput & ...{在 VNC Viewer 窗口里运行}
Chinput Version 3.0.2 -- XIM Server
Distributed under the terms of the GNU General Public License (GPL)
Basic: Cannot open font -misc-zysong18030-medium-r-normal--0-0-0-0-c-0-gb2312.1980-0
![]()
#----------------------------------------------
请检查 Linux 的防火墙设置,并修改 iptables 配置,开放 1521 和 7778。可以参考这篇文章:Redhat AS3_U6 的 Oracle9i 安装完全攻略--中文显示。
#---------------------------------------
3) 在 Linux 本机或者 WinXp 客户端里,ORACLE_SID 和 ORACLE_NAME 不同导致不能访问,难道两者必须一样?
注意:Oracle 装好之后,要搞清 Oracle 里 SID 和 NAME 的逻辑关系。通常在 Client 端的 Net Config 里,写 ORACLE_NAME 和 IP,不是 ORACLE_SID。在 oemapp console 里,可以用 tnsname 也就是 ORACLE_NAME 来访问,也可以用 IP 加上 ORACLE_SID 来访问,其它写法会报错。例如:
ORACLE_SID=ora9i, ORACLE_NAME=turbo, IP=192.168.100.60。 那么,你在配置 Net Config 时,填写 turbo 和 192.168.100.60,在 oemapp cosole访问时,可以使用本地 tnsname 的 TURBO,或者写主机名(填IP或域名)以及SID,然后网络服务名就会自动变成 ORA9I_192.168.100.60。
#---------------------------------------
4.1) 启动 Apache 时候报错,环境变量 PERL5LIB 问题。
按目前 Google 所找到资料去安装 Oracle 9i,一个必然发生的问题就是会看到 httpd could not be started 错误,把 startJServ.sh 和 apachectl的代码逐行在系统运行(设置变量要加 export 和空格),就会看到里面的某些库找不到,经过研究,通过设置 PERL5LIB 可以解决这个问题。
为了保障系统和脚本的正常运行,在 .bash_profile 和 apachectl 都修改了,大家可以利用 perl -V 这个命令来检查运行环境。同时,考虑到 perl5.005 和 5.80 的兼容性,在 PATH 里把 Oracle 自带的 perl 放前面。
4.2) 启动 Apache 时候报错,环境变量 DISPLAY 问题。vi ~/.bash_profile
<-----
export PATH=$ORACLE_HOME/jdk/bin:$ORACLE_HOME/Apache/perl/bin:$PATH
export PERL5LIB=$ORACLE_HOME/Apache/perl/lib/5.00503:$ORACLE_HOME/Apache/perl/lib/site_perl/5.005/i686-linux
----->
![]()
vi $ORACLE_HOME/Apache/Apache/bin/apachectl
<-----
PERL5LIB=/uxdb/ora9i/product/9.2/Apache/perl/lib/5.00503:/uxdb/ora9i/product/9.2/Apache/perl/lib/site_perl/5.005/i686-linux; export PERL5LIB
----->
![]()
#----------------------------
设置好 PERL5LIB 后,系统依然提示错误,查了一下资料,要设置 DISPLAY。
5) 使用 dbstart 启动数据库的时候,系统提示 TNS 服务名不正确导致失败。http://www.cublog.cn/u/15347/?u=http://www.cublog.cn/u/15347/showart.php?id=89853
xfly.t的一点个人体会 --> oracle 9.2.0.4安装问答
![]()
Q: http server start failed
oracle# apachectl start
OR
oracle# ./startJServ.sh
oracle apachectl start: httpd could not be started
![]()
A: goto $...{ORACLE_HOME}/Apache/Apache/logs and look at the log files there to see
the exact error message and cause of not starting. If error message is
![]()
[Tue Oct 22 23:09:38 2002] [crit] (2)No such file or directory: Apache JServ enc
ountered a fatal error; check your ApJServLogFile for details if none are presen
t in this file. Exiting.
![]()
then
![]()
1. Set DISPLAY environment variable. e.g. From command line execute command:
$ export DISPLAY=IP address:0.0
2. Start the HTTP Server. e.g. apachectl start.
![]()
#------------------------------------
经检查,是因为我太早去修改 /etc/oratab 了。Oracle结束安装自动写内容进去,导致变成下面这样,dbstart 脚本不能够识别 * 是哪个数据库的 SID。[oracle@rebeca oracle]$ dbstart
![]()
SQL*Plus: Release 9.2.0.4.0 - Production on Sun Apr 2 22:41:05 2006
![]()
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
![]()
SQL> ERROR:
ORA-12162: TNS:service name is incorrectly specified
![]()
SQL> ORA-12162: TNS:service name is incorrectly specified
SQL>
Database "" warm started.
改成正确内容,再用 dbstart 能启动。通常装完Oracle再改就不会配置错了。cat /etc/oratab
<-----
*:/uxdb/ora9i/product/9.2:Y
ora9i:/uxdb/ora9i/product/9.2:N
----->
6.1) dbstart 不能启动,通过修改 dbstart 增加 SPFILE 文件的处理来完成启动。vi /etc/oratab
<-----
# *:/uxdb/ora9i/product/9.2:N
ora9i:/uxdb/ora9i/product/9.2:Y
----->
![]()
#----------------------------
我用dbstart启动时,提示can't find init file...? (点击)
msnch said: ----->
search了一下,说是bug, 按eygle大师的修改已OK
一个关于开机时能同时自动启动三个INSTANCE和监听程序的问题(很急) (点击)
Oracle 9i新特性研究四(延续性初始化参数文件) (点击)eygle said: ----->
![]()
some bugs in dbstart when you using spfile in oracle9i
You can do the following step to solve it:
![]()
- edit the dbstart script
- add the following line:
SPFILE=$...{ORACLE_HOME}/dbs/spfile$...{ORACLE_SID}.ora
after this line:
PFILE=$...{ORACLE_HOME}/dbs/init$...{ORACLE_SID}.ora
![]()
- change:
if [ -f $PFILE ] ; then
to:
if [ -f $PFILE -o -f $SPFILE ] ;
案例学习:Oracle的还原(点击)
重新创建spfile
6.2) dbstart 不能启动,通过拷贝现成的 init$ORACLE_SID.ora 文件来完成启动。SQL>create spfile from pfile = '参数文件的位置';
![]()
#--------------------
RedHat AS 4.0最新安装Oracle9204手记(点击)
[保留] RedHat AS 4.0最新安装Oracle9204手记(点击)
7) 说明:下面这个安装指南是我看过各种版本里比较好的,图文并茂,问题处理详细。
在Redhat9上安装Oracle 9.2(点击)
运行了一会以后,出现了"ins_oemagent.mk"的错误提示。
这时我们可以暂时选择"ignore",安装完成以后再来解决这个问题。
接下来又会出现"ins_ctx.mk"的问题。
现在编辑 $ORACLE_HOME/ctx/lib/env_ctx.mk文件,在 "INSO_LINK =" 行(第1365行)加入 "$(LDLIBFLAG)dl"
修改后如下:
按"retry"键即可继续。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)
最后,还需要根据提示,用root用户执行一次 $ORACLE_HOME/root.sh,Oracle软件就初步安装完了。
安装完成以后的工作。
我们回头来解决上边的那个ins_oemagent.mk问题。以Oracle用户执行:
现在,Oracle 软件已经完全安装成功,你可以用dbca命令来建立数据库,或者执行其他DBA命令。cd $ORACLE_HOME/network/lib
make -f ins_net_client.mk install
编辑$ORACLE_HOME/ctx/lib/ins_ctx.mk文件的第13-14行,由:
ctxhx: $(CTXHXOBJ)
$(LINK) $(CTXHXOBJ) $(INSO_LINK)
改为
ctxhx: $(CTXHXOBJ)
$(LINK) -ldl $(CTXHXOBJ) $(INSO_LINK)
然后执行
make -f $ORACLE_HOME/ctx/lib/ins_ctx.mk install
#-----------------------------------
8) 说明:其实是编译时链接库的问题,可以通过打补丁解决,不过手工修改也可以的。
Oracle9i在Redhat9上安装报错,请帮助!(点击)
iinhf said: ----->
我又重新进行了安装,前面除了文档中的两错外,都没有报错。然后就开始执行如下的命令:
冷风 said: ----->$ /opt/ora9/product/9.2/bin/agentctl start
![]()
DBSNMP for Linux: Version 9.2.0.1.0 - Production on 26-AUG-2003 10:54:13
![]()
Copyright (c) 2002 Oracle Corporation. All rights reserved.
![]()
Starting Oracle Intelligent Agent...
/opt/ora9/product/9.2/bin/dbsnmpwd:
line 153: 11747 Segmentation fault nohup $ORACLE_HOME/bin/dbsnmp $* >>$DBSNMP_WDLOGFILE 2>&1
/opt/ora9/product/9.2/bin/dbsnmpwd:
line 153: 11760 Segmentation fault nohup $ORACLE_HOME/bin/dbsnmp $* >>$DBSNMP_WDLOGFILE 2>&1
修改系统:
以oracle用户的身份登入,执行以下命令:
然后编辑这个文件:[oracle@miniroko oracle]$ cd $ORACLE_HOME/network/lib
[oracle@miniroko lib]$ make -f ins_net_client.mk install
改为:oracle@miniroko lib]$vi $ORACLE_HOME/ctx/lib/ins_ctx.mk找到第13行、第14行由ctxhx: $(CTXHXOBJ)
$(LINK) $(CTXHXOBJ) $(INSO_LINK)
存盘退出,执行以下命令:ctxhx: $(CTXHXOBJ)
$(LINK) -ldl $(CTXHXOBJ) $(INSO_LINK)
现在可以重新启动agents了。[oracle@miniroko lib]$ make -f $ORACLE_HOME/ctx/lib/ins_ctx.mk install
9) Oracle 9206 和 9207 的 installer 是 10g 风格的,乱码的解决方案同下。[oracle@miniroko lib]$ /opt/ora9/product/9.2/bin/agentctl start
![]()
#-----------------------------------
Redhat RHEL AS3 下安装 Oracle DB 10g 中文乱码问题(点击)
2. cd Disk1/stage/Components/oracle.swd.jre/1.4.2.0.0/1/DataFiles/
unzip all_except_bin.jar (这时生成一个 jre 的目录)
cd jre/1.4.2/lib/
mv font.properties font.properties.bak
cp font.properties.zh_CN.Redhat8.0 font.properties
cd ../../../
zip -r all_except_bin.jar.new jre/
mv all_except_bin.jar.new all_except_bin.jar
(其实就是把 font.properties 文件换掉. 这样安装时汉字显示就没有问题了)
本文已经原作者wwashington授权IT168服务器频道刊登,感谢wwashington对IT168鼎力支持。
原文链接: http://bbs.boletips.com/blbbs/viewthread.php?tid=178&extra=page=1
0
相关文章
