ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle10g dbconsole 重建步骤

oracle10g dbconsole 重建步骤

原创 Linux操作系统 作者:chinaguy 时间:2009-03-21 15:19:52 0 删除 编辑
 当安装oracle的机器变了机器名,或者变了ip地址。那么原来的dbconsole就起不来了。当在dos下运行:emctl start dbconsole 的时候报错。
解决办法(搜索自http://bbs.chinaunix.net/):
 
同样适用于windows,unix,linux其他原因导致DBCONSOLE无法正常启动。

1,修改DBSNMP密码:
重新配置DBCONSOLE,需要输入DBSNMP密码,但任何密码都会显示错误,需要预先修改。
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命令提示符下输入:
c:\>emca
MCA 开始于 Mon Jan 14 10:30:44 CST 2008
输入以下有关要配置的数据库的信息
监听程序端口号: 1521
数据库 SID: 根据实际 
服务名: 根据实际
通知的电子邮件地址: 可不填
通知的电子邮件网关:可不填
dbsnmp 口令:刚才改的xxx(sql>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.propertiesemoms.properties.old
b. 修改emoms.properties
oracle.sysman.eml.mntr.emdRepPwd=等于加密字串替换更改密码oracle123;
oracle.sysman.eml.mntr.emdRepPwdEncrypted=TRUE TRUEFALSE
4dbconsole访问EM恢复正常
[oracle@abcca2210028 ~]$ emctl start dbconsole
----------------------
按如上所说操作完毕之后,dbconsole可以登录,但是无法做维护。报io的一个异常:
解决:$ emctl stop dbconsole
      $emca -r
    修复完毕,dbconsole 可以正常使用了。
不过,你说生产主机,谁一天没事干了才改ip和主机名呢?一次就够了! 
 

1,修改DBSNMP密码:
重新配置DBCONSOLE,需要输入DBSNMP密码,但任何密码都会显示错误,需要预先修改。
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下,要先到注册表删除DBCONSOLE的服务,重启电脑)

$emca -config dbcontrol db -repos create

根据提示,先输入SID,再输入Y继续;
输入端口1521,输入SYS密码,输入DBSNMP密码,输入SYSMAN 密码,输入Y继续
完成。

5,检查状态 emctl status 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

先设置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

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/787018/viewspace-573297/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-03-21

  • 博文量
    30
  • 访问量
    137277