oracle服务和监听无法启动

由于计算机名称改变或者ip地址改变导致本地数据库无法启动,

问题大概描述如下:

命令行里输入emctl start dbconsole
然后根据它的说明设置oracle_sid

命令行里输入set oracle_sid=orcl    (如果你的sid不是orcl,请自己更换)

再次敲入emctl start dbconsole

显示OC4J Configuration issue. D:\oracle\product\10.2.0\db_1/oc4j/j2ee/OC4J_DBConsole_192.168.1.101_orcl not found.

于是我到了该目录下发现有一个我的"OC4J_DBConsole_"+ 机器名+"_orcl"的目录

网上大家说如果你是修改了机器名的,那么你在这里把你的新机器名替换原来的机器名

变成——>"OC4J_DBConsole_"+ 新机器名+"_orcl"

如果你是像我一样,是因为环境改变而发生这个问题的,我建议你复制一个目录,进行更改。

复制一份"OC4J_DBConsole_"+ 机器名+"_orcl" 重命名为 "OC4J_DBConsole_ 192.168.1.101_orcl

再次敲入emctl start dbconsole

有显示EM Configuration issue. D:\oracle\product\10.2.0\db_1/ 192.168.1.101 _orcl not found

我想聪明的你一定已经知道该怎么做了

如法炮制到相应目录下,复制一份重命名

再次敲入emctl start dbconsole

显示

Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.
http://机器名:1158/em/console/aboutApplication
Starting Oracle Enterprise Manager 10g Database Control ...OracleDBConsoleorcl
服务正在启动 ......................................................
服务终止,无法启动。

 

 

如上,如此操作之后服务仍然无法启动,接下来需要其他操作

查看日志总的内容,大概是

Check if repos user already exists.

原值 6:    WHERE username=UPPER('&EM_REPOS_USER');
新值 6:    WHERE username=UPPER('SYSMAN');
原值 8:   IF ( '&EM_CHECK_TYPE' = 'EXISTS') THEN
新值 8:   IF ( 'NOT_EXISTS' = 'EXISTS') THEN
原值   11:  raise_application_error(-20000, '&EM_REPOS_USER does not exists..');
新值   11:  raise_application_error(-20000, 'SYSMAN does not exists..');
原值   14:   ELSIF ( '&EM_CHECK_TYPE' = 'NOT_EXISTS' ) THEN
新值   14:   ELSIF ( 'NOT_EXISTS' = 'NOT_EXISTS' ) THEN
原值   17:  raise_application_error(-20001, '&EM_REPOS_USER already exists..');
新值   17:  raise_application_error(-20001, 'SYSMAN already exists..');
原值   21:  raise_application_error(-20002, 'Invalid Check type &EM_CHECK_TYPE');
新值   21:  raise_application_error(-20002, 'Invalid Check type NOT_EXISTS');
DECLARE
*
第 1 行出现错误:
ORA-20001: SYSMAN already exists..
ORA-06512: 在 line 17

 

解决方案如下:

 

ORACLE 配置OEM

Oracle 2010-10-19 12:07:30 阅读26 评论0   字号: 订阅

1. 默认OEM 连接:https://主机名:1158/em

2. 如果连接失败需要做以下配置:

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


如果过程中报错:ORA-20001: SYSMAN already exists..

需先执行:
SQL> drop user sysman cascade;
SQL> drop role MGMT_USER;
SQL> drop user MGMT_VIEW cascade;
SQL> drop public synonym MGMT_TARGET_BLACKOUTS;
SQL> drop public synonym SETEMVIEWUSERCONTEXT;
再执行:重新配置dbconsole的步骤
如果连接进入OEM界面后,显示无法连接数据库实例。

需要修改hosts文件。

设置要查询的实例:set oracle_sid=demo
启动:      emctl start dbconsole
停止:      emctl stop dbconsole
查看状态:    emctl status dbconsole

 

 

至此问题解决。

你可能感兴趣的:(oracle,sql)