Oracle10g DBConsole 重建

Oracle10g 以后的版本提供了web UI的 EM管理平台,省去了很多Oralce命令。但是这个EM平台很脆弱,当安装oracle的机器变了机器名,或者变了ip地址,那么原来的 DBConsole service 就起不来了。

 

当然最好的办法是使用原来的IP地址。如果不能改变IP地址参考以下步骤。

 

本方法同样适用于windows,unix,linux其他原因导致DBCONSOLE无法正常启动。

 

1,修改DBSNMP密码:
重新配置DBCONSOLE,需要输入DBSNMP密码,先检查 DBSNMP,SYS 的密码,如果密码显示错误,需要预先修改。
sql>alter user dbsnmp identified by xxx;

2,删除早期DBCONSOLE创建的用户:

sql>drop role MGMT_USER;
sql>drop user MGMT_VIEW cascade;
sql>drop user sysman cascade;

3,删除早期DBCONSOLE创建的对象:
sql>drop PUBLIC SYNONYM MGMT_TARGET_BLACKOUTS;
sql>drop public synonym SETEMVIEWUSERCONTEXT;

4,重新创建DBCONSOLE:
如果是windows 用户,还需要删除注册表Oracle选项下的 ../SYSMAN/OracleDBConsole<SID>条目。

 

c:\>emca 或者 emca -repos create
MCA 开始于 Mon Jan 14 10:30:44 CST 2008
输入以下有关要配置的数据库的信息
监听程序端口号: 1521
数据库 SID: 根据实际 
服务名: 根据实际
通知的电子邮件地址: 可不填
通知的电子邮件网关:可不填
dbsnmp
口令:刚才改的xxxsql>alter user dbsnmp identified by xxx;
sysman
口令:自己输一个
sys
口令:据实

然后输入“是”系统开始自动创建。

5,创建成功后,检查状态 emctl status dbconsole。

6,服务已经启动了。如果想手动重起:

emctl stop dbconsole

emctl start dbconsole

 

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

实际上,在修改过sysman口令之后,系统就会自动将sysman锁定。每次都需要手工解锁,非常麻烦:具体问题如下:

英文版本报"The database status is currently unavailable. It is possible that the database is in mount or nomount state. Click 'Startup' to obtain the current status and open the database. If the database cannot be opened, click 'Perform Recovery' to perform an appropriate recovery operation.",中文版报“数据库状态当前不可用。可能是因为数据库的状态为装载或不装载。单击 '启动' 可以获得当前状态并打开数据库。如果无法打开数据库, 单击 '执行恢复' 可执行相应的恢复操作。”,确认Listener与服务都是正常的,数据库的状态也是启动的,无论是重新启动dbconsole还是重新配置都不起作用。
解决方法如下:
1、停止dbconsole
[oracle@abcca2210028 ~]$ emctl stop dbconsole
查看状态,确认dbconsole已经停止
[oracle@abcca2210028 ~]$ emctl status dbconsole

2、修改sysman用户的密码,我把密码改成oracle123
[oracle@abcca2210028 ~]$ sqlplus / as sysdba
SQL> alter user sysman identified by oracle123
  2  /
解锁用户
SQL> alter user sysman account unlock
  2  /
确认密码已修改
SQL> conn sysman/oracle123@csc
Connected.
3、转到$ORACLE_HOME/host_sid/sysman/config目录下
a. 把emoms.properties另存为emoms.properties.old
b. 修改emoms.properties文件
找到oracle.sysman.eml.mntr.emdRepPwd=把等于后的加密字串替换成刚才更改的密码oracle123;
找到oracle.sysman.eml.mntr.emdRepPwdEncrypted=TRUE 把TRUE换成FALSE。
4、重启dbconsole,访问EM恢复正常
[oracle@abcca2210028 ~]$ emctl start dbconsole

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

按如上所说操作完毕之后,dbconsole可以登录,但是无法做维护。报io的一个异常:

解决:$ emctl stop dbconsole
      $emca -r

    修复完毕,dbconsole 可以正常使用了

 

emca常用命令:

创建一个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

emctl stop dbconsole

emctl status dbconsole

重新配置dbconsole的步骤

emca -repos drop 删除DBConsole

emca -repos create 重建

emca -config dbcontrol db 配置

emctl start dbconsole 启动

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值