isqlplus启动问题集

 
isqlplusctl启动发现的oracle所属文件的权限问题
网上http://ningoo.itpub.net/post/2149/200372关于isqlplus的配置已经有很多成功案例了。
这次出现的问题主要是由于安装时的文件权限设置有问题,至于为什么会这样,怎么会有些文件的属性会自动转化成root.root而不是oracle.oinstall呢?
[症状]
[oracle@zhang db_1] isqlplusctl start
Starting iSQL*Plus ...
iSQL*Plus started.
[oracle@zhang db_1] isqlplusctl start
Starting iSQL*Plus ...
iSQL*Plus started.
多次启动,都不会报错--iSQL*Plus instance on port 5560 is already running ...
[oracle@zhang db_1] isqlplusctl stop
iSQL*Plus instance on port 5560 is not running ...
 
此时我怀疑isqlplusctl命令有问题,既然没有启动成功,还瞎报iSQL*Plus started.
[oracle@zhang db_1] cd bin
[oracle@zhang bin] view isqlplusctl
# Execute the isqlplusctl.pl
$PERL_BIN/perl $ORACLE_HOME/bin/isqlplusctl.pl $*
-----前面的一些参数的设置一般不会出错,先假设如此,如果有问题再返回查。显然这里调用了isqlplusctl.pl
[oracle@zhang bin] view isqlplusctl.pl
#perl即使不会,也不会影响读改这些脚本,跟shell差不多
sub startiplus()
{
    my $httpPortNo = gethttpport();
    print " httpPortNO=$httpPortNo/n";
    my $port_status = checkPortInUse($httpPortNo);
    print " port_status=$port_status/n";
    if ($port_status eq "false")
{
   print “iplus_Hostname =$iplus_Hostname/n”;
       if ($iplus_Hostname)
       {
          print "Starting iSQL*Plus on node isqlplus$iplus_Hostname .../n";
       }
       else
       {
          print "Starting iSQL*Plus .../n";
       }
      chdir("$IPLUS_OC4J_HOME/j2ee/home");
       system("$JAVA_HOME/bin/java " .
              "-Djava.awt.headless=true " .
              "-Doracle.oc4j.localhome=$FORMFACTOR_BASE " .
              "-Djava.security.properties=$ORACLE_HOME/oc4j/j2ee/home/config/jazn.security.props -
jar $IPLUS_OC4J_HOME/j2ee/home/oc4j.jar -config
$IPLUS_OC4J_HOME/j2ee/isqlplus".$iplus_Hostname."/config/server.xml > /dev/null 2> /dev/null &");
       sleep(20);
       print "iSQL*Plus started./n";
       exit 0;
    }
    else
    {
       print "iSQL*Plus instance on port $httpPortNo is already running .../n";
    }
}
分析system就可以清楚知道,后台运行,且不在终端输出任何信息,还有出错信息。可能设计者认为这一般是不可能出问题,可一旦出问题呢?
system("$JAVA_HOME/bin/java " .
              "-Djava.awt.headless=true " .
              "-Doracle.oc4j.localhome=$FORMFACTOR_BASE " .
              "-Djava.security.properties=$ORACLE_HOME/oc4j/j2ee/home/config/jazn.security.props -
jar $IPLUS_OC4J_HOME/j2ee/home/oc4j.jar -config
$IPLUS_OC4J_HOME/j2ee/isqlplus".$iplus_Hostname."/config/server.xml > /dev/null 2> /dev/null &");
将> /dev/null 2> /dev/null &去掉,并添加相应的辅助信息[关键信息应该能尽可能提示]
iSQL*Plus 10.2.0.1.0
Copyright (c) 2003, 2005, Oracle. All rights reserved.
 is_rac = false
 httpPortNO=5560
 port_status=false
Starting iSQL*Plus ...
07/07/12 14:11:21 Error instantiating application at file:/u01/app/oracle/product/10.2.0/db_1/oc4j/j2ee/oc4j_applications/applications/isqlplus.ear: Error initializing logger for application.log: /u01/app/oracle/product/10.2.0/db_1/oc4j/j2ee/isqlplus/application-deployments/isqlplus/application.log ( Permission denied)
07/07/12 14:11:21 Error instantiating application at file:/u01/app/oracle/product/10.2.0/db_1/oc4j/j2ee/oc4j_applications/applications/isqlplushelp.ear: Error initializing logger for application.log: /u01/app/oracle/product/10.2.0/db_1/oc4j/j2ee/isqlplus/application-deployments/isqlplushelp/application.log ( Permission denied)
07/07/12 14:11:23 Error initializing site OC4J Java HTTP Web Site: No application named 'isqlplus' found in the server
07/07/12 14:11:23 Error initializing site OC4J Java HTTP Web Site: No application named 'isqlplushelp' found in the server
07/07/12 14:11:23 Oracle Application Server Containers for J2EE 10g (9.0.4.1.0) initialized
 
分析可知,是文件权限问题
/u01/app/oracle/product/10.2.0/db_1/oc4j/j2ee/isqlplus/application-deployments/isqlplus/application.log
/u01/app/oracle/product/10.2.0/db_1/oc4j/j2ee/isqlplus/application-deployments/isqlplushelp/application.log
为防止其他类似问题将$ORACLE_HOME下的所有文件属性都刷新为oracle.oinstall
[ root@zhang db_1] chown –R oracle.oinstall *
[root@zhang db_1]# ./root.sh
----恢复root.sh中的相关设置,如果没有把握,还是发现问题时再对相应文件修改权限,这种方法太冒险
[oracle@zhang db_1] isqlplusctl stop && isqlplusctl start
iSQL*Plus 10.2.0.1.0
Copyright (c) 2003, 2005, Oracle. All rights reserved.
 is_rac = false
Stopping iSQL*Plus ...
iSQL*Plus stopped.
iSQL*Plus 10.2.0.1.0
Copyright (c) 2003, 2005, Oracle. All rights reserved.
 is_rac = false
 httpPortNO=5560
 port_status=false
Starting iSQL*Plus ...
iSQL*Plus started.
为了能在管理界面通过Related Links进入isqlplus需做如下修改
[oracle@zhang u01]$ cd $ORACLE_HOME
./inventory/Components21/oracle.sysman.console.db/10.2.0.1.0/context.xml
./inventory/Components21/oracle.sqlplus.isqlplus/10.2.0.1.0/installIP2Log.xml
./inventory/Components21/oracle.sqlplus.isqlplus/10.2.0.1.0/context.xml
./inventory/ContentsXML/ConfigXML/oracle.sqlplus.isqlplus.10_2_0_1_0.CFM.2.inst.xml
./zhang.sirius.com_MyData/sysman/config/emoms.properties
./oc4j/j2ee/deploy_db.ini
./sqlplus/bin/isqlplus.ini
./sysman/config/emoms.properties.emca
以上将
http://0:0:0:0:0:0:0:1:5561/isqlplus/dynamic
改成 http://zhang.sirius.com:5560/isqlplus
http://0:0:0:0:0:0:0:1:5561/isqlplus/dba/dynamic
改成 http://zhang.sirius.com:5560/isqlplusdba
另外注意所有5561端口改成5560端口
然后重启服务。
 
 
添加iSQL*Plus DBA用户登录
[oracle@zhang bin]$ cd $ORACLE_HOME/oc4j/j2ee/isqlplus/application-deployments/isqlplus/
[oracle@zhang isqlplus]$ $ORACLE_HOME/jdk/bin/java -Djava.security.properties=$ORACLE_HOME/sqlplus/admin/iplus/provider -jar $ORACLE_HOME/oc4j/j2ee/home/jazn.jar -user "iSQL*Plus DBA/admin" -password welcome   -shell
JAZN:> adduser "iSQL*Plus DBA" sys oracle1731
JAZN:> listusers
iSQL*Plus DBA/admin
iSQL*Plus DBA/sys
 
JAZN:> grantrole webDba "iSQL*Plus DBA" sys
JAZN:> listusers sys
The specified realm does not exist in the system.
 
JAZN:> listusers "iSQL*Plus DBA"
admin
sys
 
JAZN:> exit
 
[oracle@zhang isqlplus]$ isqlplusctl stop && isqlplusctl start
iSQL*Plus 10.2.0.1.0
Copyright (c) 2003, 2005, Oracle. All rights reserved.
 is_rac = false
Stopping iSQL*Plus ...
iSQL*Plus stopped.
iSQL*Plus 10.2.0.1.0
Copyright (c) 2003, 2005, Oracle. All rights reserved.
 is_rac = false
 httpPortNO=5560
 port_status=false
Starting iSQL*Plus ...
iSQL*Plus started.
 
然后在浏览器中
[症状2]
[oracle@zhang isqlplus]$java -Djava.security.properties=$ORACLE_HOME/sqlplus/admin/iplus/provider -jar $ORACLE_HOME/oc4j/j2ee/home/jazn.jar -user "iSQL*Plus DBA/admin" -password welcome   -shell
 
Exception in thread "main" java.lang.NoClassDefFoundError: sun.misc.BASE64Decoder
等等。
最初以为是版本问题
[oracle@zhang db_1]$ java -version
java version "1.4.2"
gij (GNU libgcj) version 4.1.1 20061011 (Red Hat 4.1.1-30)
 
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[oracle@zhang db_1]$ $ORACLE_HOME/jdk/bin/java -Djava.security.properties=$ORACLE_HOME/sqlplus/admin/iplus/provider -jar $ORACLE_HOME/oc4j/j2ee/home/jazn.jar -user "iSQL*Plus DBA/admin" -password welcome   -shell
则没问题了。
如果软件自带则一定要用自带的组件,这样可以减少出错的机会。
 
Ps: 环境搭建除了多想,还要多尝试。问题总会解决的。
 
常用配置
1查看默认端口
[oracle@zhang db_1]$ view $ORACLE_HOME/install/portlist.ini
iSQL*Plus HTTP port number =5560
Enterprise Manager Console HTTP Port (MyData) = 1158
Enterprise Manager Agent Port (MyData) = 3938
 
2 配置访问,isqlplus端口
[oracle@zhang config]$ view $ORACLE_HOME/sysman/config/emoms.properties.emca
#oracle.sysman.db.isqlplusUrl=http://0:0:0:0:0:0:0:1:5561/isqlplus/dynamic
#oracle.sysman.db.isqlplusWebDBAUrl=http://0:0:0:0:0:0:0:1:5561/isqlplus/dba/dynamic
oracle.sysman.db.isqlplusUrl=http://zhang.sirius.com:5560/isqlplus/dynamic
oracle.sysman.db.isqlplusWebDBAUrl=http://zhang.sirius.com:5560/isqlplus/dba/dynamic
[oracle@zhang config]$ cd $ORACLE_HOME/oc4j/j2ee/isqlplus/config
[oracle@zhang config]$ view http-web-site.xml
<web-site port="5560" display-name="OC4J Java HTTP Web Site">
注意跟$ORACLE_HOME/sysman/config/emoms.properties.emca保持一致
3查看isqlplus服务是否在
ps -eaf|grep Djava
 
参考网址
 
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值