1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > Oracle无法登陆EM问题解决方案

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

时间:2020-06-16 01:20:30

相关推荐

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

说起oracle,每个oracleDBA都是很头疼的,为什么?oracle软件本身就是很大的,动不动就是这里出问题,要么就是那里出问题了,总之,就是各种问题。小弟我在oracle这个领域还是新手了,没有任何经验,在自己的本子上玩玩oracle了。花了重金买了本《OracleDBA宝典》这本书,从头开始学习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。本人亲自万为你解决问题。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。