一、尝试使用em进行管理,所以采用如下过程打开:
C:\Documents and Settings\Administrator>emctl start
Environment variable ORACLE_SID not defined. Please define it.
二、提示ORACLE_SID不存在,所以设置环境变量进行定义。
首先查看SID:连接到数据库后,查看实例名
show parameter inst;
发现数据库sid为qjftest
或者“select intance_name from v$instance;”也可以。
随后设置环境变量:
C:\Documents and Settings\Administrator>set ORACLE_SID=qjftest
三、查看是否设置成功:
C:\Documents and Settings\Administrator>set ORACLE_SID
ORACLE_SID=qjftest
四、成功后重新启动em:
C:\Documents and Settings\Administrator>emctl start
EM Configuration issue. d:\oracle\product\10.2.0\db_1/10.10.10.1_qjftest not fou
nd.
五、仍然提示失败,而且发现IP存在问题,暂时不知道如何解决,似乎是EM配置信息缺失,换一种方式启动:
C:\Documents and Settings\Administrator>emctl start dbconsole
OC4J Configuration issue. d:\oracle\product\10.2.0\db_1/oc4j/j2ee/OC4J_DBConsole
_10.10.10.1_qjftest not found.
六、提示出错后,网上搜索了一番,发现说没有配置em资料库,所以执行如下命令,创建资料库:
C:\Documents and Settings\Administrator>emca -repos recreate
EMCA 开始于 2011-9-22 21:21:23
EM Configuration Assistant 10.2.0.1.0 正式版
版权所有 (c) 2003, 2005, Oracle。保留所有权利。
输入以下信息:
数据库 SID: qjftest
监听程序端口号: 1521
SYS 用户的口令:
SYSMAN 用户的口令:
SYSMAN 用户的口令:
是否继续? [yes(Y)/no(N)]: yes
2011-9-22 21:21:48 oracle.sysman.emcp.EMConfig perform
信息: 正在将此操作记录到 d:\oracle\product\10.2.0\db_1\cfgtoollogs\emca\qjftest\
emca_2011-09-22_09-21-23-下午.log。
2011-9-22 21:21:49 oracle.sysman.emcp.EMReposConfig dropRepository
信息: 正在删除 EM 资料档案库 (此操作可能需要一段时间)...
2011-9-22 21:21:51 oracle.sysman.emcp.EMReposConfig invoke
信息: 已成功删除资料档案库
2011-9-22 21:21:51 oracle.sysman.emcp.EMReposConfig createRepository
信息: 正在创建 EM 资料档案库 (此操作可能需要一段时间)...
2011-9-22 21:23:43 oracle.sysman.emcp.EMReposConfig invoke
信息: 已成功创建资料档案库
已成功完成 Enterprise Manager 的配置
EMCA 结束于 2011-9-22 21:23:44
七、感觉似乎创建有点问题,于是重新创建(后来才知道重新创建并不会自动删除资料库中的已有system信息,所以之前必须要删除资料库中现有的数据!否则会报错)
C:\Documents and Settings\Administrator>emca -repos recreate
EMCA 开始于 2011-9-22 21:26:52
EM Configuration Assistant 10.2.0.1.0 正式版
版权所有 (c) 2003, 2005, Oracle。保留所有权利。
输入以下信息:
数据库 SID: qjftest
监听程序端口号: 1521
SYS 用户的口令:
SYSMAN 用户的口令:
SYSMAN 用户的口令:
是否继续? [yes(Y)/no(N)]: y
2011-9-22 21:31:57 oracle.sysman.emcp.EMConfig perform
信息: 正在将此操作记录到 d:\oracle\product\10.2.0\db_1\cfgtoollogs\emca\qjftest\
emca_2011-09-22_09-26-52-下午.log。
2011-9-22 21:31:57 oracle.sysman.emcp.EMReposConfig dropRepository
信息: 正在删除 EM 资料档案库 (此操作可能需要一段时间)...
2011-9-22 21:31:59 oracle.sysman.emcp.EMReposConfig invoke
信息: 已成功删除资料档案库
2011-9-22 21:32:00 oracle.sysman.emcp.EMReposConfig createRepository
信息: 正在创建 EM 资料档案库 (此操作可能需要一段时间)...
2011-9-22 21:32:00 oracle.sysman.emcp.EMReposConfig invoke
严重: 创建资料档案库时出错
2011-9-22 21:32:00 oracle.sysman.emcp.EMReposConfig invoke
信息: 有关详细资料, 请参阅 d:\oracle\product\10.2.0\db_1\cfgtoollogs\emca\qjftes
t\emca_repos_create_<日期>.log 中的日志文件。
2011-9-22 21:32:00 oracle.sysman.emcp.EMConfig perform
严重: 创建资料档案库时出错
有关详细资料, 请参阅 d:\oracle\product\10.2.0\db_1\cfgtoollogs\emca\qjftest\emca
_2011-09-22_09-26-52-下午.log 中的日志文件。
无法完成配置。 有关详细资料, 请参阅 d:\oracle\product\10.2.0\db_1\cfgtoollogs\em
ca\qjftest\emca_2011-09-22_09-26-52-下午.log 中的日志文件。
八、看到报错,打开d:\oracle\product\10.2.0\db_1\cfgtoollogs\emca\qjftest\emca日志,发现错误:
ORA-20001: SYSMAN already exists..
提示system存在问题,于是:
首先执行emca -repos drop,删除em资料库中的信息
其次,删除System的相关信息:
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;
九、然后重新执行创建资料库:
C:\Documents and Settings\Administrator>emca -repos recreate
执行成功
十、由于在配置em的dbconsole的时候,需要用到dbsnmp账号,在默认情况下,该账户是被锁定的,所以要首先解锁该用户:
select username from dba_users where lock_date is null;
发现dbsnmp账号已经被锁定,解锁
alter user dbsnmp account unlock;
alter user dbsnmp identified by password;
十一、随后配置dbconsole
C:\Documents and Settings\Administrator>emca -config dbcontrol db
EMCA 开始于 2011-9-22 21:57:32
EM Configuration Assistant 10.2.0.1.0 正式版
版权所有 (c) 2003, 2005, Oracle。保留所有权利。
输入以下信息:
数据库 SID: qjftest
监听程序端口号: 1521
SYS 用户的口令:
DBSNMP 用户的口令:
SYSMAN 用户的口令:
SYSMAN 用户的口令: 通知的电子邮件地址 (可选):
通知的发件 (SMTP) 服务器 (可选):
-----------------------------------------------------------------
已指定以下设置
数据库 ORACLE_HOME ................ d:\oracle\product\10.2.0\db_1
数据库主机名 ................ 10.10.10.1
监听程序端口号 ................ 1521
数据库 SID ................ qjftest
通知的电子邮件地址 ...............
通知的发件 (SMTP) 服务器 ...............
-----------------------------------------------------------------
是否继续? [yes(Y)/no(N)]: y
2011-9-22 21:57:55 oracle.sysman.emcp.EMConfig perform
信息: 正在将此操作记录到 d:\oracle\product\10.2.0\db_1\cfgtoollogs\emca\qjftest\
emca_2011-09-22_09-57-32-下午.log。
2011-9-22 21:58:02 oracle.sysman.emcp.util.DBControlUtil startOMS
信息: 正在启动 Database Control (此操作可能需要一段时间)...
2011-9-22 21:58:52 oracle.sysman.emcp.EMDBPostConfig performConfiguration
信息: 已成功启动 Database Control
2011-9-22 21:58:53 oracle.sysman.emcp.EMDBPostConfig performConfiguration
警告: 无法创建 Database Control 快捷方式
2011-9-22 21:58:53 oracle.sysman.emcp.EMDBPostConfig performConfiguration
信息: >>>>>>>>>>> Database Control URL 为http://10.10.10.1:1158/em<<<<<<<<<<<
已成功完成 Enterprise Manager 的配置
EMCA 结束于 2011-9-22 21:58:53
十二、按照该地址进行输入,则发现存在问题,无法找到实例,如下:
“Enterprise Manager 无法连接到数据库实例” 十三、怀疑是地址的问题,因为我并没有这样的地址,所以搜索一番后发现,修改 c:\windows\system32\drivers\etc下面的host文件,可以修改对应的ip地址 即在最后面添加一条当前主机的固定IP+localhost,如“192.168.0.2 localhost” 十四、重新删除em中的数据,再次执行配置,还是出错,10.10.10.1 一直也搞不定,最后执行 ipconfig 查看是哪个ip,发现原来是vmare对应的一个网卡,禁掉,保留使用192.168.0.2 ip的网卡后,重新配置了一遍,没有问题了 ps一: 查看数据库实例的EM端口: 在ORACLE_HOME\install\portlist.ini文件里面。默认的EM端口号是1158,登陆方式:http://IP地址:1158/em确保EM服务是启动的-->emctl start dbconsole 如若多个数据库实例:(以下已linux系统为例,window NT系统一样的路径) [oracle@snail]$ cd $ORACLE_HOME/install [oracle@snail]$ more portlist.ini Enterprise Manager Console HTTP Port (orcl) = 1158 snail01 就是我创建的第二个数据库。EM的登陆端口:5500;http://IP地址:5500/em ps二: 手动删除EM资料库在Oracle的EM配置中,有时候需要删除EM资料库后再重新配置,但是在删除的时候经常会碰到用'emca -repos drop'失败的情况。这时候就需要手动来删除EM资料库。 SQL> conn / 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; 其中的用户、角色、同义词等是之前创建EM的时候自动创建好的,全部删掉后,EM资料库也一起消失。 全部删除后,再用如下语句来重新创建和配置一个EM资料库即可。 $ emca -config dbcontrol -db -repos create; ps3: 简单来说: (1)删除当前的Database Control资料档案库 :emca -repos drop (2)创建新的Database Control 资料库:emca -repos create (3)配置部署Database Control 资料库:emca -config dbcontrol db 只有在此步完成之后,才能在【控制面板】--【管理工具】--【服务】中看到,本例中为:OracleDBConsoleoracle86 (4)查看em 的状态:emctl status dbconsole |