Oracle Certified Master For Java EE 5/6 Comes

今天刚发现原来Java EE 也有Oracle Certified Master(OCM)认证了:

 

  • Oracle Certified Master, Java EE 5 Enterprise Architect (includes Sun Certified Enterprise Architect (SCEA)
  • Oracle Certified Master, Java SE 6 Developer (includes Sun Certified Programmer (SCJP)

 

OTN的Ocm Profile 页面:

 

 

不过目前就这2个认证的花名册显示似乎还没有获得者在OTN上注册过:

 

 

 

 

 

Ocm就仅仅是一项认证, 它不能说明持有者的技术水平有多高(虽然我也是), 有些人对认证嗤之以鼻,并且举出这些认证持有者的种种糗事来支持证书无用的观点。

这无可厚非,但是有这么一项认证, 总要比空口无凭的说”我们公司的某某某技术十分好,哪里的谁谁谁水平很高”  来得有力得多。 何况在我眼中,”技术很好” 现在已经完全是一句空话了, 常被用在乙方向甲方介绍外包人才时使用。

这是我对认证的一点不成熟的看法。

 

使用CLI解析Java命令行参数

最近准备用Java写一个数据抽取的小玩样,不过距离我上一次用Java写程序已经过去了N(N>4)年了;没有读过<Java编程思想>,深深地觉得现在写出来的代码很不Java风格…..

因为需要在命令行中用到比较复杂的参数(argument),所以想到利用CLI库来解决这一块。

CLI库的Jar文件可以从Apache Commons下载到,目前比较成熟的是CLI 1.2版本。

要使用CLI,我们需要创建一个Options Class的实例对象:

Options Maclean=new Options();

通过该Options对象我们可以定义命令行程序可接受的参数(argument)。加入参数的一种方式是使用addOptions()方法:

JDUL.addOption("END" ,true,  "select the Big or Little Endian");

为命令行程序定义可接受参数后,还需要命令行解析器CommandLineParser进一步解析输入的参数:

BasicParser parser = new BasicParser();
CommandLine cl = parser.parse(JDUL, args);

下面是一段完整的命令行参数解析示例代码:

package par;

import org.apache.commons.cli.BasicParser;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.ParseException;

public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
      try {
            Options JDUL = new Options();

            JDUL.addOption("h"   ,false, "Print help for JDUL");
            JDUL.addOption("END" ,true,  "select the Big or Little Endian");
            JDUL.addOption("SSM" ,true,  "select MSSM or ASSM");

            BasicParser parser = new BasicParser();
            CommandLine cl = parser.parse(JDUL, args);

            if( cl.hasOption('h') ) {
                HelpFormatter f = new HelpFormatter();
               f.printHelp("OptionsTip", JDUL);
            }
            else{
                System.out.println(cl.getOptionValue("END"));
                System.out.println(cl.getOptionValue("SSM"));
            }
        }
        catch(ParseException e) {
            e.printStackTrace();
        }

    }
}

具体使用该命令行解析程序:

C:\Users\maclean>java -jar "C:\Users\maclean\Documents\NetBeansProjects\par\dist\par.jar" -h
usage: OptionsTip
 -END <arg>   select the Big or Little Endian
 -h           Print help for JDUL
 -SSM <arg>   select MSSM or ASSM

C:\Users\maclean>java -jar "C:\Users\maclean\Documents\NetBeansProjects\par\dist\par.jar" -END BIG -SSM AUTO
BIG
AUTO

Unix平台上OUI启动常见问题

Oracle Universal Installer是一种基于Java的图形界面应用程序,OUI为Oracle软件的安装、管理提供了统一的接口。在Unix平台上安装Oracle database software时,因为实际操作系统的差异,往往会出现OUI无法正常启动的问题,在这里我列出几种常见的启动问题和解决方案。

1.Itanium Montecito processors引起的JRE问题:在安腾平台上执行runInstaller启动OUI时会出现Java HotSpot错误如下:
An unexpected error has been detected by HotSpot Virtual Machine:
SIGILL (0x4) at pc=0x2000000000039a4070 pid=11459 tid=2305843009213968960

原因是9iR2,10gR1/R2自带的JRE在Montecito处理器相关的操作系统如Windows/Linux Itanium上存在Bug,该Bug在SUN JDK版本1.4.2_11(b02)中得到修复;如果遇到以上问题,那么可以follow 以下Metalink文档:
How To Install Oracle RDBMS Software On Itanium Servers With Montecito Processors [ID 400227.1]
How To Identify A Server Which Has Itanium2 (Montecito, Montvale, Tukwila….) Processors Installed [ID 401332.1]

2.DISPLAY显示环境变量设置不当导致图形界面无法显示,可以通过安装例如Xmanager的软件解决;也可以follow以下Metalink文档:
FAQ: X Server Testing and Troubleshooting [ID 153960.1]

3.临时目录/tmp空间应至少有400MB空间,且Oracle software安装用户对该目录有读写权限;在无奈之下可以通过修改用户的临时目录环境必变量$TMP来workaround:
Unable To Start OUI: not enough room in /tmp [ID 339657.1]
How To Set Temporary Space Directory [ID 177902.1]

4.必要时以”-debug”调试选项来调用OUI,通过阅读详细的OUI bootstrap引导流程日志以确认和保证以下2点:

  1. 在JRE解压阶段没有出现错误
  2. 在调用java命令启动OUI java图形界面阶段没有出现错误

如以下DEBUG示例:

[maclean@rh8 database]$ cd database
[maclean@rh8 database]$ ./runInstaller -debug > debug.log
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2011-03-17_03-12-17PM. Please wait ...Archive:  ../stage/Components/oracle.jdk/1.5.0.1.1/1/DataFiles/lib.jar
inflating: /tmp/OraInstall2011-03-17_03-12-17PM/jdk/lib/dt.jar
inflating: /tmp/OraInstall2011-03-17_03-12-17PM/jdk/lib/htmlconverter.jar
inflating: /tmp/OraInstall2011-03-17_03-12-17PM/jdk/lib/ir.idl
inflating: /tmp/OraInstall2011-03-17_03-12-17PM/jdk/lib/jconsole.jar
inflating: /tmp/OraInstall2011-03-17_03-12-17PM/jdk/lib/orb.idl
inflating: /tmp/OraInstall2011-03-17_03-12-17PM/jdk/lib/sa-jdi.jar
inflating: /tmp/OraInstall2011-03-17_03-12-17PM/jdk/lib/tools.jar
Archive:  ../stage/Components/oracle.jdk/1.5.0.1.1/1/DataFiles/jre.jar
EMPTY_DIR
inflating: /tmp/OraInstall2011-03-17_03-12-17PM/jdk/jre/CHANGES
inflating: /tmp/OraInstall2011-03-17_03-12-17PM/jdk/jre/COPYRIGHT
inflating: /tmp/OraInstall2011-03-17_03-12-17PM/jdk/jre/LICENSE
..................
LD_LIBRARY_PATH environment variable :
-------------------------------------------------------
Total args: 22
Command line argument array elements ...
Arg:0:/tmp/OraInstall2011-03-17_03-12-17PM/jdk/jre/bin/java:
Arg:1:-Doracle.installer.library_loc=/tmp/OraInstall2011-03-17_03-12-17PM/oui/lib/linux:
Arg:2:-Doracle.installer.oui_loc=/tmp/OraInstall2011-03-17_03-12-17PM/oui:
Arg:3:-Doracle.installer.bootstrap=TRUE:
Arg:4:-Doracle.installer.startup_location=/home/maclean/Downloads/database/install:
Arg:5:-Doracle.installer.jre_loc=/tmp/OraInstall2011-03-17_03-12-17PM/jdk/jre:
Arg:6:-Doracle.installer.nlsEnabled="TRUE":
Arg:7:-Doracle.installer.prereqConfigLoc= :
Arg:8:-Doracle.installer.unixVersion=2.6.35.11-83.fc14.i686:
Arg:9:-mx150m:
Arg:10:-cp:
Arg:11:/tmp/OraInstall2011-03-17_03-12-17PM::/tmp/OraInstall2011-03-17_03-12-17PM/ext/jlib/orai18n-mapping.jar:/tmp/OraInstall2011-03-17_03-12-17PM/ext/jlib/orai18n-utility.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/OraInstaller.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/oneclick.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/xmlparserv2.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/share.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/OraInstallerNet.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/emCfg.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/OraPrereq.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/jsch.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/ssh.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/remoteinterfaces.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/http_client.jar:../stage/Components/oracle.swd.opatch/11.1.0.6.0/1/DataFiles/jlib/opatch.jar:../stage/Components/oracle.swd.opatch/11.1.0.6.0/1/DataFiles/jlib/opatchactions.jar:../stage/Components/oracle.swd.opatch/11.1.0.6.0/1/DataFiles/jlib/opatchprereq.jar:../stage/Components/oracle.swd.opatch/11.1.0.6.0/1/DataFiles/jlib/opatchutil.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/InstImages.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/InstHelp.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/InstHelp_de.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/InstHelp_es.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/InstHelp_fr.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/InstHelp_it.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/InstHelp_ja.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/InstHelp_ko.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/InstHelp_pt_BR.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/InstHelp_zh_CN.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/InstHelp_zh_TW.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/oracle_ice.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/help4.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/help4-nls.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/ewt3.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/ewt3-swingaccess.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/ewt3-nls.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/swingaccess.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/classes12.jar::/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/jewt4.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/jewt4-nls.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/orai18n-collation.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/orai18n-mapping.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/ojmisc.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/xml.jar:/tmp/OraInstall2011-03-17_03-12-17PM/oui/jlib/srvm.jar:
Arg:12:oracle.sysman.oii.oiic.OiicInstaller:
Arg:13:-scratchPath:
Arg:14:/tmp/OraInstall2011-03-17_03-12-17PM:
Arg:15:-sourceLoc:
Arg:16:/home/maclean/Downloads/database/install/../stage/products.xml:
Arg:17:-sourceType:
Arg:18:network:
Arg:19:-timestamp:
Arg:20:2011-03-17_03-12-07PM:
Arg:21:-debug:
-------------------------------------------------------
Initializing Java Virtual Machine from /tmp/OraInstall2011-03-17_03-12-07PM/jdk/jre/bin/java. Please wait...
[maclean@rh8 database]$ Oracle Universal Installer, Version 11.1.0.6.0 Production
Copyright (C) 1999, 2007, Oracle. All rights reserved.

若以上JRE解压顺利完成但OUI仍无法启动图形欢迎界面(一般来说由java命令失败引起),那么很有可能是安装工具自带的JRE在目标系统上无法正常工作。建议客户自行安装目标系统上最新可用的JDK软件,并使用runInstaller的”-jreloc”选项以workaround。

5.为了进一步确认JRE的问题,我们可能需要将安装介质中自带的JRE手动解压出来并测试其java命令的可用性;可以通过如下流程测试:

/* 首先通过oraparam.ini配置文件了解介质自带JRE jar包所在路径 */
[maclean@rh8 tmp]$ cat database/install/oraparam.ini |grep JRE_LOCATION
JRE_LOCATION=../stage/Components/oracle.swd.jre/1.4.2.8.0/1/DataFiles
[maclean@rh8 tmp]$ ls  database/stage/Components/oracle.swd.jre/1.4.2.8.0/1/DataFiles/
filegroup1.jar  filegroup2.jar  filegroup3.jar  filegroup4.jar  filegroup5.jar
[maclean@rh8 tmp]$ mkdir /tmp/jre_test
[maclean@rh8 tmp]$ cp database/stage/Components/oracle.swd.jre/1.4.2.8.0/1/DataFiles/*.jar /tmp/jre_test
[maclean@rh8 tmp]$ cd /tmp/jre_test
[maclean@rh8 jre_test]$ unzip filegroup1.jar 
Archive:  filegroup1.jar
inflating: jre/1.4.2/bin/ControlPanel  
inflating: jre/1.4.2/bin/java      
inflating: jre/1.4.2/bin/java_vm   
inflating: jre/1.4.2/bin/keytool   
inflating: jre/1.4.2/bin/kinit     
inflating: jre/1.4.2/bin/klist     
inflating: jre/1.4.2/bin/ktab      
inflating: jre/1.4.2/bin/orbd      
inflating: jre/1.4.2/bin/policytool  
inflating: jre/1.4.2/bin/rmid      
inflating: jre/1.4.2/bin/rmiregistry  
inflating: jre/1.4.2/bin/servertool  
inflating: jre/1.4.2/bin/tnameserv  
/* 使用unzip命令依次解压copy过来的jar文件,会出现jre目录 */
[maclean@rh8 jre_test]$ ls
filegroup1.jar  filegroup2.jar  filegroup3.jar  filegroup4.jar  filegroup5.jar  jre
[maclean@rh8 jre_test]$ cd jre/1.4.2/bin
[maclean@rh8 bin]$ chmod u+x java
[maclean@rh8 bin]$ ./java -version
java version "1.4.2_08"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_08-b03)
Java HotSpot(TM) Client VM (build 1.4.2_08-b03, mixed mode)
/* 可以看到在我们的场景中java命令运行正常 */

若以上测试的最后结果中java命令出错则说明Oracle安装介质自带的JRE存在问题,这可能是个例,在安装介质传输过程中出现网络错误所导致的文件损坏可能引起以上问题;可以通过checksum等方式验证安装介质包/ISO文件无误。若经过验证发现安装介质没有损坏,那么很有可能是自带JRE在目标操作系统上无法正常运行,用户可以到java.sun.com网站去下载指定平台最新可用的JDK软件,在成功安装后JDK后再次尝试以”-jreloc”选项启动runInstaller程序,命令示例如下:

./runInstaller -debug -jreLoc <JRE Install Home>

opatch java.lang.OutOfMemoryError:Java heap space错误一例

一套11.1.0.6的RAC系统在在使用opatch工具时出现了OutOfMemoryError: Java heap space错误,其错误日志如下:

opatch lsinventory
Invoking OPatch 11.1.0.6.2
Oracle Interim Patch Installer version 11.1.0.6.2
Copyright (c) 2007, Oracle Corporation.  All rights reserved.
Oracle Home       : /u01/oracle/db/11.1.0
Central Inventory : /u01/oraInventory
from           : /etc/oraInst.loc
OPatch version    : 11.1.0.6.2
OUI version       : 11.1.0.7.0
OUI location      : /u01/oracle/db/11.1.0/oui
Log file location : /u01/oracle/db/11.1.0/cfgtoollogs/opatch/opatch2011-03-11_03-05-22AM.log
Lsinventory Output file location : /u01/oracle/db/11.1.0/cfgtoollogs/opatch/lsinv/lsinventory2011-03-11_03-05-22AM.txt
--------------------------------------------------------------------------------
Installed Top-level Products (2):
Oracle Database 11g                                                  11.1.0.6.0
Oracle Database 11g Patch Set 1                                      11.1.0.7.0
Interim patches (3) :
Patch  8496830      : applied on Wed Mar 30 07:11:26 CDT 2011
Created on 27 Aug 2009, 01:59:52 hrs PST8PDT
Bugs fixed:
8496830
Patch  7327166      : applied on Wed Oct 20 11:25:00 CDT 2010
Created on 31 Dec 2008, 10:49:56 hrs PST8PDT
Bugs fixed:
7327166
Patch  7253531      : applied on Wed Jul 28 14:45:44 CDT 2010
Created on 24 Nov 2008, 03:52:49 hrs PST8PDT
Bugs fixed:
7253531
Exception in thread "Thread-7" Exception in thread "Thread-3" java.lang.OutOfMemoryError: Java heap space
java.lang.OutOfMemoryError: Java heap space

事后发现是由于opatch期间1号节点无法使用ssh服务登陆到其他节点上引起的,修复该故障后问题消失了。

另外提一句我们建议使用最新版本的opatch工具来管理数据库补丁,最新版本的opatch工具可以从<OPatch – Where Can I Find the Latest Version of OPatch?>下载到!

10.2.0.1 db console启动失败问题一例

帮网友诊断10.2.0.1数据库安装后配置EM的问题一例,主要是在EM启动过程中遇到了错误,日志如下:

2009-7-7 20:11:39 oracle.sysman.emcp.EMConfig perform
严重: 启动 Database Control 时出错
有关详细资料, 请参阅 oracle\product\10.2.0\db_1\cfgtoollogs\dbca\orcl\emConfig.log 中的日志文件。
2009-7-7 20:11:39 oracle.sysman.emcp.EMConfig perform
配置: Stack Trace:
oracle.sysman.emcp.exception.EMConfigException: 启动 Database Control 时出错
at oracle.sysman.emcp.EMDBPostConfig.performConfiguration(EMDBPostConfig.java:569)
at oracle.sysman.emcp.EMDBPostConfig.invoke(EMDBPostConfig.java:181)
at oracle.sysman.emcp.EMDBPostConfig.invoke(EMDBPostConfig.java:150)
at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:155)
at oracle.sysman.assistants.util.em.EMConfiguration.run(EMConfiguration.java:430)
at java.lang.Thread.run(Thread.java:534)

出现错误的java stack call是EMDBPostConfig说明em db repository 已经完成配置在尝试启动EM,但此时出现了问题。

实际造成该问题的有多种可能性,这里列举最常见的几种:

1. 杀毒软件或者防火墙造成的,这里建议在安装windows期间彻底关闭杀毒类软件和Windows自带的防火墙
2. EM使用的端口已经被其他软件所占用,建议使用netstat命令诊断,或另择网络端口
3. Windows主机名以”U”字母开头

针对第三种可能性,可以在MOS上找到Note <Problem: Startup: Db Control 10.2.0.1 Fails To Start when the hostname begins with the letter “u”>:

Problem: Startup: Db Control 10.2.0.1 Fails To Start when the hostname begins with the letter "u" 
Applies to:
Enterprise Manager for RDBMS - Version: 10.2.0.1 and later   [Release: 10.2 and later ]
Symptoms
The dbconsole 10.2.0.1 is created with emca.The repository creation completes successfully and the
dbconsole is created and configured without any error.
The last phase of emca is to start the dbconsole.
The standalone agent is started successfully but the dbconsole fails to start.
The file $ORACLE_HOME/cfgtoollogs/emca/sid/emca*.log shows:
===================================================
05/11/2005 23:07:49 oracle.sysman.emcp.util.PlatformInterface serviceCommand
CONFIG: Waiting for service 'OracleDBConsoleAMITAL' to fully start
05/11/2005 23:07:59 oracle.sysman.emcp.EMConfig perform
SEVERE: Error starting Database Control
Refer to the log file at
d:\oracle\product\10.2.0\db_1\cfgtoollogs\emca\amital\emca_2005-11-05_10-55-42-PM.log for more
details.
05/11/2005 23:07:59 oracle.sysman.emcp.EMConfig perform
CONFIG: Stack Trace:
oracle.sysman.emcp.exception.EMConfigException: Error starting Database Control
at oracle.sysman.emcp.EMDBPostConfig.performConfiguration(EMDBPostConfig.java:569)
at oracle.sysman.emcp.EMDBPostConfig.invoke(EMDBPostConfig.java:181)
Cause
This issue can be reproduced on all windows platforms which name begins with the letter u.
This issue has been logged in the following bug:
Bug:4714774 DBCONSOLE DOES NOT WORK HAVING A HOSTNAME STARTING WITH "U"
This bug will be fixed in the patchset 10.2.0.2
Solution
Download and apply the RDBMS patchset 10.2.0.2 once/if available or
To enable the dbconsole to start successfully, follow the steps listed below:
1. Save the file $ORACLE_HOME\host_SID\sysman\config\emd.properties to emd.properties.orig
2. Update the file $ORACLE_HOME\host_SID\sysman\config\emd.properties, replacing \ with / in the
following line:
For example change:
omsRecvDir=d:\oracle\product\10.2.0\db_1\ukp001_db0\sysman\recv
to
omsRecvDir=d:/oracle/product/10.2.0/db_1/ukp001_db0l/sysman/recv
3. Stop and restart the DB Control 
Hdr: 4714774 10.2.0.1 EMCP 10.2.0.1 PRODID-1370 PORTID-912
Abstract: DBCONSOLE DOES NOT WORK HAVING A HOSTNAME STARTING WITH "U"
Problem Description
-------------------
this seems to be releated to bug 3610052.
Having a hostname like u1234, install rdbms10.2.
start dbconsole will take 4-5 min. Even if the service is shown as started,
dbconsole java processes stops and restarts.
Environment Information
-----------------------
Test Case Step-by-Step Instructions
-----------------------------------
1. rename the hostanme to uXYZ....
2. install 10.2 rdbms into its own oraclehome
3. strt listener, create a database using dbca.
4. access the dbconsole page shows: "page cannot be displayed"
Check the dbconsole java process in taksmanager , you will easily see, that
it is coninously restarting. dbconsole service is shown as "started".
Test Case Location
------------------
not needed easy to reproduce
Diagnostic Analysis
-------------------
run the java command from file emd.nohup file, this will show something like:
java...Exception...
Malformed \uxxxx encoding.
and a java stack trace.
I assume that this problem will always happen, having a "\u" in the path for
the dbconsole
Performance
-----------
NLS Information
---------------
Patches
-------
Log Files Location
------------------
Reproducibility
---------------
everytime, only on windows platforms:
w2k w2003, windowsXP
URL
---
not needed
Did you test with the latest version?
-------------------------------------
yes
Available Workarounds
---------------------
Change the hostname from uXYZ to UXYZ,
do
set ORACLE_SID=
emca -config dbcontrol db -reposrecreate 
Related Bugs
------------
3610052
Hdr: 6313490 10.2.0.1.0 CONSOLE 10.2.0.1.0 PRODID-1370 PORTID-215 4714774
Abstract: 10.2.0.1DBCONSOLE IN A DB CREATED FROM IAS INSTALL FAILS TO START
Problem Description
-------------------
The dbconsole 10.2.0.1.0 creating is failing while starting the dbconsole
dbconsole in a db created from iAS install.
as per the logs:-
SEVERE: Error starting Database Control
Refer to the log file at
D:\oracle\product\10.2.0\db_1\cfgtoollogs\emca\mmds\emca_2007-06-19_09-47-70-A
M.log for more details.
Jun 19, 2007 9:58:17 AM oracle.sysman.emcp.EMConfig perform
CONFIG: Stack Trace:
oracle.sysman.emcp.exception.EMConfigException: Error starting Database
Control at
oracle.sysman.emcp.EMDBPostConfig.performConfiguration(EMDBPostConfig.java:569
) at oracle.sysman.emcp.EMDBPostConfig.invoke
Environment Information
-----------------------
dbconsole in a db created from iAS install.
db console 10.2.0.1.0 on Microsoft Windows Server 2003
The 10g application server version  is 10.1.2.0.2. to include January 2007
database and application server CPUs.
Applied the  database CPU patch and after that reconfigured the Dbconsole .
Now it doesn't get configured .Db console generating core dump
Test Case Step-by-Step Instructions
-----------------------------------
Test Case Location
------------------
Diagnostic Analysis
-------------------
Stopped the application server service and then started the dbcosnole .But
still getting the error
D:\oracle\product\10.2.0\db_1\BIN>emctl status dbconsole
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Oracle Enterprise Manager 10g is not running.
------------------------------------------------------------------
Logs are generated in directory 
Asked him to move the file from Oracle_Home>/_/emctl.pid file
to another location . Now the dbconsole is started:-
>emctl start dbconsole
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Starting Oracle Enterprise Manager 10g Database Control ...The
OracleDBConsoleMM
DS service is starting...................The OracleDBConsoleMMDS service was
started successfully.
D:\oracle\product\10.2.0\db_1\BIN>emctl upload
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
EMD upload error: uploadXMLFiles skipped :: OMS version not checked yet..
Asked him to Edit the file
ORACLE_HOME>\oc4j\j2ee\home\applications\dms\WEB-INF\web.xml
Still the dbconsole is not getting started .

可能是因为Windows上主机名以”U”字母开头后导致相关路径发生了转义。

可以通过在cmd中输入hostname来确认Windows上的主机名。

给出了2种解决方案:

1.升级到10.2.0.2以上版本,目前推荐的是10.2.0.5 Patch set; 版本10.2.0.1到10.2.0.3上的bug太多了..

2.修改$ORACLE_HOME\host_SID\sysman\config\emd.properties中的内容,将omsRecvDir变更改成使用斜杠而非反斜杠的路径形式,并重启EM.

沪ICP备14014813号

沪公网安备 31010802001379号