oracle ip地址改变后 错误 未解决

Oracle 错误
OracleDBConsoleorcl:Oracle数据库控制台服务,orcl是Oracle的实例标识,默认的实例为orcl。在运行Enterprise Manager(企业管理器OEM)的时候,需要启动这个服务。(非必须启动),但是有时候当我们修改了主机名或改变了ip地址后这个服务会启动不了,导致em访问不了。
我们可以考虑删掉原来的配置,自己从新配置。个人解决这个问题是在虚拟机的xp上 。
1. OracleDBConsoleorcl 启动错误
虚拟机ip地址改变后出现错误 启动OracleDBConsoleorcl 失败

 

 

 

1)删除原来配置 emca -repos drop
数据库SID:orcl
监听程序端口号:1521
SYS/SYSTEM口令:password(这个是我自己设置的系统管理员 密码)

 

 

 

 

2)创建新的配置 emca -repos create

 

 

 

 

 

3)重新配置dbcontrol: emca -config dbcontrol db

 

 

 

 

 

 

 

4)以上三步完成之后,输入“set ORACLE_UNQNAME=ORCL”,按回车键,设置环境变量,再次输入“emctl start dbconsole”,按回车键启动服务。将这个网址在浏览器中输入'http://192.168.233.128/em/console/aboutApplication'回车即可正常跳入登录页面使用。如图所示。

set ORACLE_UNQNAME=ORCL(设置环境变量)

emctl start


 

以上不能成功

于是,修改ip

 

 

 

 

 

5)输入网址访问
http://192.168.233.128:1158/em/console/database/instance/repDown?target=orcl&type=oracle_database

 

 

 

 

还是有错误

 

 

 

查看上图位置的信息

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 
 

用sqlplus登陆sys用户的时候,用户名应该输入:sys as sysdba,否则会报错! 
 
在sql deverloper中新建一个sys的连接也是一样的,用户名要写为:sys as sysdba

 

 

 

 

 

 

 

查看当前连接的的会话

 

 

 

一个个杀死当前连接的会话,其中有一个未当前操作的,不能删

 

 

 

解决之前的错误
第 1 行出现错误:
ORA-20001: SYSMAN already exists..
ORA-06512: 在 line 17

解决方法:
Logon SQLPLUS as user SYS or SYSTEM, and drop the sysman account and management objects:

**登录SYS或者SYSTEM** sqlplus sys as sysdba
**登录后输入以下命令**
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;

 

 

重新配置 emca -config dbcontrol db 出现以下错误,决定卸载重装
配置: Error Message: PRKC-1117 : 无法在节点 "WINXP-PRO-VM" 的键 "HKEY_LOCAL_MACHINE" 下删除注册表子键 "SOFTWARE\Oracle\SYSMAN\OracleDBConsoleorcl", [?????????¨???????
]
oracle.ops.mgmt.cluster.ClusterException: PRKC-1117 : 无法在节点 "WINXP-PRO-VM" 的键 "HKEY_LOCAL_MACHINE" 下删除注册表子键 "SOFTWARE\Oracle\SYSMAN\OracleDBConsoleorcl", [?????????¨???????
]
at oracle.ops.mgmt.cluster.ClusterWindows.deleteRegKeyOnNode(ClusterWindows.java:480)
at oracle.sysman.emcp.util.ClusterUtil.deleteRegKeyOnNode(ClusterUtil.java:1097)
at oracle.sysman.emcp.util.PlatformInterface.deleteLocalWindowsService(PlatformInterface.java:780)
at oracle.sysman.emcp.util.PlatformInterface.serviceCommand(PlatformInterface.java:620)
at oracle.sysman.emcp.EMDBPreConfig.performConfiguration(EMDBPreConfig.java:719)
at oracle.sysman.emcp.EMDBPreConfig.invoke(EMDBPreConfig.java:233)
at oracle.sysman.emcp.EMDBPreConfig.invoke(EMDBPreConfig.java:160)
at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:141)
at oracle.sysman.emcp.EMConfigAssistant.invokeEMCA(EMConfigAssistant.java:479)
at oracle.sysman.emcp.EMConfigAssistant.performConfiguration(EMConfigAssistant.java:1123)
at oracle.sysman.emcp.EMConfigAssistant.statusMain(EMConfigAssistant.java:463)
at oracle.sysman.emcp.EMConfigAssistant.main(EMConfigAssistant.java:412)

 

 

 

 

posted on 2020-05-07 10:45  成魔的蜘蛛  阅读(480)  评论(0)    收藏  举报

导航