oracle无法登陆em,Oracle无法登陆EM问题解决方案

说起oracle,每个oracle DBA都是很头疼的,为什么?oracle软件本身就是很大的,动不动就是这里出问题,要么就是那里出问题了,总之,就是各种问题。小弟我在oracle这个领域还是新手了,没有任何经验,在自己的本子上玩玩oracle了。花了重金买了本《Oracle DBA宝典》这本书,从头开始学习oracle。呵呵,我是下了决心的。

问题是说来就来,今天准备打开Em,管理一下数据库。无法进入,反正就是无法进入。错误提示如下:

手工启动:emctl start dbconsole

Environment variable ORACLE_SID not defined. Please define it.

当执行set OARCLE_SID=orcl,继续报错

Unable to determine local host from URL REPOSITORY_URL=http://localhost:%EM_UPLOAD_PORT%/em/upload/

于是乎,我有着一股劲,一定要把这个整明白了。如果,你也有这个问题,看我的这篇博文,那就找对人了。

在你创建数据库的时候,如果出错了,到最后弹出一个对话框,那你就要按照对话框的内容运行一个bat文件,那个文件的路径它指定了。因为我现在懂了,这个问题,我才写的这篇博文。呵呵。

找到listener.ora打开。

# listener.ora Network Configuration File: D:/oracle/product/10.2.0/db_1/NETWORK/ADMIN/listener.ora

# Generated by Oracle configuration tools.

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = D:/oracle/product/10.2.0/db_1)

(PROGRAM = extproc)

)

(SID_DESC =

(GLOBAL_DBNAME = vipygd)

(ORACLE_HOME = d:/oracle/product/10.2.0/db_1)

(SID_NAME = vipygd)

)

)

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))

)

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = WWW-0328DD44B9B)(PORT = 1521))

)

)

该成这样子的,为什么?你会发现,我把host字段的改了,以前是localhost而我现在改成了我的主机名,同时,你也可以改成你的主机名,为什么这么改。如果你的Ip是改变的,那么你的em就可能登陆不上去。其中的缘由就更多了,那是我不懂的。你会想,localhost不是固定的127.0.0.1吗,我也是这么想的,它应该是不会变的,我也想是这样的。但是,oracle就是这么抽风,你改成你的主机名,就万无一失了。同时也要把tnsnames.ora中的host字段也改成一样的。刚刚说了,如果你在创建数据库的最后弹出了一个对话框的话,你会发现在你的这个文件夹下是少文件的D:/oracle/product/10.2.0/db_1/oc4j/j2ee。当然了,我是安装在D盘的。少什么文件呢?安装正确的话是有7个文件的,如果你安装错误的话最多有6个文件,此时,你就需要运行我说的那个错误提示下的文件了。

OC4J_DBConsole_10.32.60.41_vipygd

OC4J_DBConsole_WWW-0328DD44B9B_vipygd

这是两个重要的文件夹的名字,当然了,我的sid是vipygd了。你会发现,有一个是包含IP地址的,有一个是包含主机名的。这就对了,当你登录不上em的时候。

即使你set oracle_sid=XXX的时候,再emctl start dbconsole的时候,还是错的,根据错误提示,你会发现,它会指定这个文件下没有上面两个文件其中的一个,就是说缺少一个文件了。如果你运行了错误提示的文件,那么这两个文件就不会缺了。

当然了,你也可以删除一个EM配置,然后重新配置一个,但是如果就是你配置了,它还是可能会抽风的出错的,注意,我这里说的是可能,说明它也可能不会了,但是这种方法不是万全之策,你想,如果哪天你的IP又变了,那是多么该死的一件事情了,难道每次你都要重新配置吗?貌似很麻烦的。好了,你就只用改变listener.ora文件就ok了。

为了大家方便,鄙人再把em的命令组贴出了,以便大家参考:

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

好了,现在貌似是说清楚了,如果,还是不行,加我QQ:535064959。本人亲自万为你解决问题。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值