解决dbconsole不能启动一例

| No Comments

今天一台AIX 64上的10.2.0.4dbconsole启动不了了。

对于这种dbconsole不能启动的问题,549079.1中有很详细的描述。

 

如下是我今天解决上述问题的全过程:

 

我首先执行了emctl start dbconsole,屏幕中报错:

ps: 0509-048 Flag -o was used with invalid list.
ps: Not a recognized flag: -
Usage: ps [-ANPaedfklmMZ] [-n namelist] [-F Format] [-o specifier[=header],...]
[-p proclist][-G|-g grouplist] [-t termlist] [-U|-u userlist] [-c classlist] [ -T
pid] [ -L pidlist]
Usage: ps [aceglnsuvwxU] [t tty] [processnumber]

 

这个在758568.1有相应的解决方法:

$ORACLE_HOME/bin/emctl.pl中的第1314行和第1605行的

my $ps=`ps -p $PID -o cmd --cols 1000 |grep DEMDROOT`;

修改为

my $ps=`ps -p $PID -o args | grep DEMDROOT`;

 

修改完后保存并重启dbconsole,但这时候dbconsole依然起不来,同时emdb.nohup中记录的错误信息为:

09/07/20 11:30:06 Error starting ORMI-Server.  Unable to bind socket: The socket name is already in use.

 

这个时候尝试停止dbconsole,会报如下错误:

$ emctl stop dbconsole

Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0 

Copyright (c) 1996, 2007 Oracle Corporation.  All rights reserved.

https://p690ca:1158/em/console/aboutApplication

Stopping Oracle Enterprise Manager 10g Database Control ...

--- Failed to shutdown DBConsole Gracefully ---

 failed.

这种错误很容易解决,在OS上把带关键字"oc4j"和"dbconsole"的进程都杀掉,然后重新依次执行emctl stop agentemctl stop dbconsole就可以了。

 

按上述做法做完后dbconsole还是起不来,同时emagent.trc中记录的错误信息为:

2009-07-20 13:28:27 Thread-1839 ERROR ssl: nzos_Handshake failed, ret=29024

2009-07-20 13:28:27 Thread-1839 ERROR http: 9: Unable to initialize ssl connection with server, aborting connection attempt

2009-07-20 13:28:27 Thread-1839 ERROR pingManager: nmepm_pingReposURL: Cannot connect to https://p690ca:1158/em/upload/: retStatus=-1

 

这个在749243.1中有相应的解决方法:

首先执行下述命令:

$ emctl unsecure dbconsole

Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0 

Copyright (c) 1996, 2007 Oracle Corporation.  All rights reserved.

http://p690ca:1158/em/console/aboutApplication

Configuring DBConsole for HTTP...   Done.

DBConsole is already unsecured.

 

然后执行:

$ emctl secure dbconsole

Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0 

Copyright (c) 1996, 2007 Oracle Corporation.  All rights reserved.

http://p690ca:1158/em/console/aboutApplication

Enter Enterprise Manager Root password :

Enter a Hostname for this OMS : p690ca

 

DBCONSOLE already stopped...   Done.

Agent successfully stopped...   Done.

Securing dbconsole...   Started.

Checking Repository...   Invalid Password.

这里oracle提示让我输入Enterprise Manager Root用户的密码,其实就是让我输入sysman的密码,我记得这个库的sysman的密码就是oracle,但当我输入oracle后这里提示我密码不对。

 

这种问题的解决方法很简单,只需要去改如下两个地方就可以了:

1、以sys用户登陆后把sysman用户的密码改为oracle

2、执行emctl setpasswd dbconsolesysman用户的密码oracle登记到emoms.properties中去,如下所示:

$ emctl setpasswd dbconsole

Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0 

Copyright (c) 1996, 2007 Oracle Corporation.  All rights reserved.

http://p690ca:1158/em/console/aboutApplication

Please enter new repository password:

Repository password successfully updated.

 

执行完上述两步后,现在可以执行emctl secure dbconsole了:

$ emctl secure dbconsole

Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0 

Copyright (c) 1996, 2007 Oracle Corporation.  All rights reserved.

http://p690ca:1158/em/console/aboutApplication

Enter Enterprise Manager Root password :

Enter a Hostname for this OMS : p690ca

 

DBCONSOLE already stopped...   Done.

Agent is already stopped...   Done.

Securing dbconsole...   Started.

Checking Repository...   Done.

Checking Em Key...   Done.

Checking Repository for an existing Enterprise Manager Root Key...   Done.

Fetching Root Certificate from the Repository...   Done.

Updating HTTPS port in emoms.properties file...   Done.

Generating Java Keystore...   Done.

Securing OMS ...   Done.

Generating Oracle Wallet Password for Agent....   Done.

Generating wallet for Agent ...    Done.

Copying the wallet for agent use...    Done.

Storing agent key in repository...   Done.

Storing agent key for agent ...   Done.

Configuring Agent...

Configuring Agent for HTTPS in DBCONSOLE mode...   Done.

EMD_URL set in /u01/app/oracle/product/10.2.0/p690ca_ipratest/sysman/config/emd.properties

   Done.

Configuring Key store..   Done.

Securing dbconsole...   Sucessful.

 

执行完上述步骤后,dbconsole现在终于可以起来了:

$ emctl start dbconsole

Oracle Enterprise Manager 10g Database Control Release 10.2.0.4.0 

Copyright (c) 1996, 2007 Oracle Corporation.  All rights reserved.

https://p690ca:1158/em/console/aboutApplication

Starting Oracle Enterprise Manager 10g Database Control .............. started.

------------------------------------------------------------------

Logs are generated in directory /u01/app/oracle/product/10.2.0/p690ca_ipratest/sysman/log

 

感觉dbconsole的相关问题弄起来还是挺麻烦,有兴趣的朋友可以仔细去看一下549079.1

Leave a comment