em配置命令 

 创建一个EM资料库
 emca -repos create
 重建一个EM资料库
 emca -repos recreate
 删除一个EM资料库
 emca -repos drop
 配置数据库的 Database Control
 emca -config dbcontrol db
 删除数据库的 Database Control配置
 emca -deconfig dbcontrol db
 重新配置db control的端口,默认端口在1158
 emca -reconfig ports
 emca -reconfig ports -dbcontrol_http_port 1160
 emca -reconfig ports -agent_port 3940
 先设置ORACLE_SID环境变量后,启动EM console服务
 emctl start dbconsole
 先设置ORACLE_SID环境变量后,停止EM console服务
 emctl stop dbconsole
 先设置ORACLE_SID环境变量后,查看EM console服务的状态
 emctl status dbconsole

 配置dbconsole的步骤
 emca -repos create
 emca -config dbcontrol db
 emctl start dbconsole
 重新配置dbconsole的步骤
 emca -repos drop
 emca -repos create
 emca -config dbcontrol db
 emctl start dbconsole

断网后无法登陆oracle em=============================== 
 
 网络断掉,不能启动DBConsole服务的解决这个问题有不少刚刚接触的Oracle 10g的XDJM都遇到过,我在笔记本上也遇到过,本来DBConsole是可以用的,但是一旦笔记本是使用无线网卡连网的,所以有时候出去的时候没有接上wifi的话,也会出现同样的状况。

 错误状况:
 Window平台
 以前的DBConsole是可以启动的,但是拔掉网络启动OracleDBConsoleXXX服务,服务启动不了。

 错误排查:
 先设置window环境变量 ORACLE_SID=数据库SID
 打开cmd
 输入 emctl start dbconsole
 将会有错误信息提示,如果没有设置ORACLE_SID 则提示
 Environment variable ORACLE_SID not defined. Please define it.

 如果已经设置了ORACLE_SID 则错误提示为
 oc4j configration issue.D:\oracle\product\10.1.0\db_1\oc4j\j2ee\OC4J_DBConsole_localhost_java not found.
 其中D:\oracle\product\10.1.0\db_1为你自己机器中ORacle10g的home目录

 这个信息非常的重要,也是服务起不来的根本原因
 DBConsole是一个java的web application,在建立dbconsole的时候,我们会根据机器以及Oracle的信息创建repos,这个repos就是存放 DBConsole的配置信息的仓库,由于机器断网,会把机器的名字映射为localhost,而建库的时候是默认用的是机器名,所以这时候两个目录不匹配了,DBConsole找不到配置仓库的目录也就出错了。

 解决方案,
 解决方案有两种,一种是比较正式的
 通过emca重新建立repos
 命令如下
 emca -config dbcontrol db -repos recreate

 方法二是自己实验出来的,并不是一个正式的方法,但是比上一种方法简单,易于操作。
 信息提示里找不到一个目录D:\oracle\product\10.1.0\db_1\oc4j\j2ee \OC4J_DBConsole_localhost_java, 到这个信息提示的上一层目录里一看,可以看到有个类似的目录,形如OC4J_DBConsole_janes_java,这里janes是我的机器名,把这个目录copy到当前目录下,改成信息提示里没有找到的目录名,比如我这里就改成D:\oracle\product\10.1.0\db_1\oc4j\j2ee \OC4J_DBConsole_localhost_java

 同时来到D:\oracle\product\10.1.0\db_1目录下,可以找到一个名字形如janes_ORCL的目录,
 注意janes_ORCL 这里的janes是我的机器名,ORCL是我这里ORacle的SID,你可以根据你的具体情况,来找到类似的目录, 同样在当前copy到当前目录,并改名为localhost_ORCL.

 还有第三方法,不过没有试过
 有出现这样问题的帮着试试 set ORACLE_HOSTNAME=localhost

 然后通过emctl start dbconsole或者服务里的ORacleDBConsoleXXXX的服务就可以启动了。 
Oracle 10g 的EM不能启动的 
若干问题~~~=========================== 
 起因是这样的:

 在家里的机器,是用路由器上网的,所以设成了DHCP。当初装oracle的时候有警告,没理~ 然后,一切悲剧由此开始。。。

 昨晚,那路由器抽筋了~ 于是我的IP被重新分配了~ 平常oracle的服务都是被我关掉滴,然后今天我突然想学学oracle,于是就手动启动服务了……

 结果,"OracleDBConsoleorcl"和"OracleOraDb10g_home1TNSListener"服务死活启动不起来。。。

 然后EM是肯定不能用了,然后我被折腾死了……

 好吧,解决办法:

 (一)更改主机名或IP导致DBCONTROL不能启动

 解决办法:Oracle 10G重建EM DB Control.

 1、drop configuration files and repository run :

 C:\Documents and Settings\Administrator>emca -deconfig dbcontrol db -repos drop

 STARTED EMCA at Jul 28, 2009 9:21:30 AM
 EM Configuration Assistant, Version 10.2.0.1.0 Production
 Copyright (c) 2003, 2005, Oracle. All rights reserved.

 Enter the following information:
 Database SID: mest
 Listener port number: 1521
 Password for SYS user:
 Password for SYSMAN user:
 Password for SYSMAN user:
 Do you wish to continue? [yes(Y)/no(N)]: y
 Jul 28, 2009 9:21:49 AM oracle.sysman.emcp.EMConfig perform
 INFO: This operation is being logged at c:\oracle\product\10.2.0\db_1\cfgtoollog
 s\emca\mest\emca_2009-07-28_09-21-30-AM.log.
 Jul 28, 2009 9:21:53 AM oracle.sysman.emcp.util.DBControlUtil stopOMS
 INFO: Stopping Database Control (this may take a while) ...
 Jul 28, 2009 9:22:39 AM oracle.sysman.emcp.EMReposConfig dropRepository
 INFO: Dropping the EM repository (this may take a while) ...
 Jul 28, 2009 9:26:05 AM oracle.sysman.emcp.EMReposConfig invoke
 INFO: Repository successfully dropped
 Enterprise Manager configuration completed successfully
 FINISHED EMCA at Jul 28, 2009 9:26:06 AM

 2、 Logon SQLPLUS as user SYS or SYSTEM, and drop the sysman account and mangement objects:

 (1)drop user sysman cascade;

 (2)drop role MGMT_USER;

 (3) drop user MGMT_VIEW cascade;

 (4)drop public synonym MGMT_TARGET_BLACKOUTS;

 (5)drop public synonym SETEMVIEWUSERCONTEXT;

 3、Create configuration files and repository run :

 C:\Documents and Settings\Administrator>emca -config dbcontrol db -repos create

 但是,重建DBCONTROL的配置文件时出现如下的错误-->

 ……………………

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

 是否继续? [yes(Y)/no(N)]: Y

 2007-9-16 12:18:28 oracle.sysman.emcp.EMConfig perform

 信息: 正在将此操作记录到 e:oracleproduct10.2.0db_1cfgtoollogsemcatest01emca_2007-09-16_12-17-05-下午.log。

 2007-9-16 12:18:30 oracle.sysman.emcp.DatabaseChecks performReposChecks

 警告: 'shared_pool_size' 必须大于等于 80 MB。

 2007-9-16 12:18:38 oracle.sysman.emcp.ParamsManager getLocalListener

 警告: 检索 test 的监听程序时出错

 2007-9-16 12:18:40 oracle.sysman.emcp.util.PlatformInterface executeCommand

 警告: 执行 CMD /C e:oracleproduct10.2.0db_1binemctl.bat deploy dbconsole e:oracleproduct10.2.0db_1test_test01 test:3938 test test01 时出错

 2007-9-16 12:18:40 oracle.sysman.emcp.EMConfig perform

 严重: 实例化 EM 配置文件时出错

 有关详细资料, 请参阅 e:oracleproduct10.2.0db_1cfgtoollogsemcatest01emca_2007-09-16_12-17-05-下午.log 中的日志文件。

 无法完成配置。 有关详细资料, 请参阅 e:oracleproduct10.2.0db_1cfgtoollogsemcatest01emca_2007-09-16_12-17-05-下午.log 中的日志文件。

 ————————————————————————————

 ·表明LISTENER没有启动。

 ·启动LISTENER服务时,出错不能启动:

 ·将 listener.ora文件中的hostname改成新的主机名。启动LISTENER正常。

 ·重新执行:

 C:\Documents and Settings\Administrator>emca -config dbcontrol db -repos create

 STARTED EMCA at Jul 28, 2009 9:29:30 AM
 EM Configuration Assistant, Version 10.2.0.1.0 Production
 Copyright (c) 2003, 2005, Oracle. All rights reserved.

 Enter the following information:
 Database SID: mest
 Listener port number: 1521
 Password for SYS user:
 Password for DBSNMP user:
 Password for SYSMAN user:
 Email address for notifications (optional):
 Outgoing Mail (SMTP) server for notifications (optional):
 -----------------------------------------------------------------

 You have specified the following settings

 Database ORACLE_HOME ................ c:\oracle\product\10.2.0\db_1

 Database hostname ................ mes-db2
 Listener port number ................ 1521
 Database SID ................ mest
 Email address for notifications ...............
 Outgoing Mail (SMTP) server for notifications ...............

 -----------------------------------------------------------------
 Do you wish to continue? [yes(Y)/no(N)]: y
 Jul 28, 2009 9:29:56 AM oracle.sysman.emcp.EMConfig perform
 INFO: This operation is being logged at c:\oracle\product\10.2.0\db_1\cfgtoollog
 s\emca\mest\emca_2009-07-28_09-29-30-AM.log.
 Jul 28, 2009 9:30:05 AM oracle.sysman.emcp.EMReposConfig createRepository
 INFO: Creating the EM repository (this may take a while) ...
 Jul 28, 2009 9:37:48 AM oracle.sysman.emcp.EMReposConfig invoke
 INFO: Repository successfully created
 Jul 28, 2009 9:37:58 AM oracle.sysman.emcp.util.DBControlUtil startOMS
 INFO: Starting Database Control (this may take a while) ...
 Jul 28, 2009 9:38:38 AM oracle.sysman.emcp.EMDBPostConfig performConfiguration
 INFO: Database Control started successfully
 Jul 28, 2009 9:38:38 AM oracle.sysman.emcp.EMDBPostConfig performConfiguration
 INFO: >>>>>>>>>>> The Database Control URL is http://mes-db2:1158/em <<<<<<<<<<<

 Enterprise Manager configuration completed successfully
 FINISHED EMCA at Jul 28, 2009 9:38:38 AM

 4、另外注意:

 创建EM时,提示的端口号,应为实例的断口号,比如1521,不是EM的端口号(比如1158)。
 而EM的端口号在这个文件中可以查到10.2.0\db_1\sysman\config\emca.properties

 ——————————————————————————————————————————

 经过以上步骤,服务终于可以完全启动了~~~

 但接下来的问题是,sys、system、sysman等账号,在SQL*Plus中均可连接,但在EM中死活就是不行。。。

 我都快哭了。。。。

 又折腾了几个小时……

 最终,解决办法如下:

 (二)关于sys、system、sysman等在EM中登录的问题

 1、sysman要先在SQL*Plus上解锁:

 (1)以"sysdba"的身份登录

 conn system/密码 as sysdba;

 (2)解锁

 alter user sysman account unlock;

 (3)提交修改

 commit;

 经过以上,sysman就可以在EM上以"NORMAL"身份登录了。

 2、system必须以"NORMAL"身份才能在EM上登录。

 3、sys要先通过SQL*Plus修改安装时的密码:

 (1)以"sysdba"身份登录

 conn system/密码 as sysdba;

 (2)修改密码

 alter user sys identified by 新密码;

 (3)提交修改

 commit;

 这样,sys就可以在EM上以"SYSOPER"或"SYSDBA"身份登录了。

 4、另外注意:

 (1)sys不能以"NORMAL"登录;

 (2)sysman和system默认没有"sysdba"权限,但可用grant为其授权。