Environment variable ORACLE_SID not defined. Please define it.启动EM报错

本文介绍了如何解决在配置Oracle EM时遇到的环境变量未定义错误,并通过详细步骤完成了EM的配置。同时,文中还分享了解决在EM成功启动后点击菜单功能出现Io异常: Unknown host specified的问题的方法。
启动EM管理器报错:
C:\Users\diy>emctl start dbconsole
Environment variable ORACLE_SID not defined. Please define it.

解决方法:

1.先查询启动的oracle实例

SQL> select instance_name from  V$instance;
INSTANCE_NAME
----------------
diy

2.,把查询到的sid执行下面操作(红色为需要输入的内容)

C:\Users\diy>set oracle_sid=diy
C:\Users\diy>emca -config dbcontrol db -repos recreate

EMCA 开始于 2014-2-12 1:44:45
EM Configuration Assistant 10.2.0.1.0 正式版
版权所有 (c) 2003, 2005, Oracle。保留所有权利。

输入以下信息:
数据库 SID: diy
已为数据库 diy 配置了 Database Control
您已选择配置 Database Control, 以便管理数据库 diy
此操作将移去现有配置和默认设置, 并重新执行配置
是否继续? [yes(Y)/no(N)]: y
监听程序端口号: 1521
SYS 用户的口令:
DBSNMP 用户的口令:
SYSMAN 用户的口令:
通知的电子邮件地址 (可选): 465373530@qq.com
通知的发件 (SMTP) 服务器 (可选):
-----------------------------------------------------------------

已指定以下设置

数据库 ORACLE_HOME ................ F:\oracle\product\10.2.0\db_1

数据库主机名 ................ DIY-PC.zs.gpgc.local
监听程序端口号 ................ 1521
数据库 SID ................ diy
通知的电子邮件地址 ............... 465373530@qq.com
通知的发件 (SMTP) 服务器 ...............

-----------------------------------------------------------------
是否继续? [yes(Y)/no(N)]: y
2014-2-12 1:46:00 oracle.sysman.emcp.EMConfig perform
信息: 正在将此操作记录到 F:\oracle\product\10.2.0\db_1\cfgtoollogs\emca\diy\emca
_2014-02-12_01-44-45-上午.log。
2014-2-12 1:46:10 oracle.sysman.emcp.util.DBControlUtil stopOMS
信息: 正在停止 Database Control (此操作可能需要一段时间)...
2014-2-12 1:46:10 oracle.sysman.emcp.EMReposConfig dropRepository
信息: 正在删除 EM 资料档案库 (此操作可能需要一段时间)...
2014-2-12 1:47:23 oracle.sysman.emcp.EMReposConfig invoke
信息: 已成功删除资料档案库
2014-2-12 1:47:24 oracle.sysman.emcp.EMReposConfig createRepository
信息: 正在创建 EM 资料档案库 (此操作可能需要一段时间)...
2014-2-12 1:49:10 oracle.sysman.emcp.EMReposConfig invoke
信息: 已成功创建资料档案库
2014-2-12 1:49:17 oracle.sysman.emcp.util.DBControlUtil startOMS
信息: 正在启动 Database Control (此操作可能需要一段时间)...
2014-2-12 1:49:57 oracle.sysman.emcp.EMDBPostConfig performConfiguration
信息: 已成功启动 Database Control
2014-2-12 1:49:57 oracle.sysman.emcp.EMDBPostConfig performConfiguration
信息: >>>>>>>>>>> Database Control URL 为 http://DIY-PC.zs.gpgc.local:5500/em <<
<<<<<<<<<
已成功完成 Enterprise Manager 的配置
EMCA 结束于 2014-2-12 1:49:57

启动EM:

C:\Users\diy>emctl start dbconsole
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.
http://DIY-PC.zs.gpgc.local:5500/em/console/aboutApplication
Starting Oracle Enterprise Manager 10g Database Control ...OracleDBConsolediy 服
务正在启动 ...............
OracleDBConsolediy 服务已经启动成功。

成功!

---------------------------------------------------------------------------   题外话  ----------------------------------------------------------------------------

我在执行的过程中还遇到了另一个问题:启动EM成功,可以登录EM,但点击菜单功能的时候弹错:Io异常:Unknownhostspecified

详细解决方法可以查看:http://blog.youkuaiyun.com/diyyong/article/details/19113093

在Windows系统中,当遇到ORACLE_SID环境变量未定义的问题时,可以通过以下方法解决: ### 方法一:手动设置环境变量 可以通过系统属性来手动设置ORACLE_SID环境变量。具体步骤如下: 1. 右键点击“此电脑”,选择“属性”。 2. 在弹出的窗口中,点击“高级系统设置”。 3. 在“系统属性”窗口的“高级”选项卡下,点击“环境变量”。 4. 在“系统变量”区域,点击“新建”。 5. 在“变量名”处输入“ORACLE_SID”,“变量值”处输入正确的ORACLE实例名(注意该值不能随便写,要根据实际数据库配置,如上述引用中虽未直接说明如何确定该值,但需依据正确的数据库连接信息来确定,例如可参考数据库配置文件或咨询数据库管理员)。 6. 依次点击“确定”保存设置。 ### 方法二:使用命令行设置 也可以使用命令行工具(如CMD)来临时或永久设置环境变量。 - **临时设置**:打开命令提示符,输入以下命令: ```batch set ORACLE_SID=your_oracle_sid ``` 其中`your_oracle_sid`是正确的ORACLE实例名。这种设置方式只在当前命令行窗口有效,关闭窗口后设置将失效。 - **永久设置**:在命令提示符中以管理员身份运行以下命令: ```batch setx ORACLE_SID "your_oracle_sid" ``` 同样,`your_oracle_sid`是正确的ORACLE实例名。此设置会在系统中永久保存,新打开的命令行窗口将使用新的环境变量值。 ### 方法三:检查数据库配置 要确保ORACLE_SID的值与数据库的实际配置一致。可以查看数据库的配置文件(如`tnsnames.ora`)来获取正确的实例名。例如,在`tnsnames.ora`文件中找到类似如下的配置: ```plaintext MYDB = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.20.80.199)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = MYDB) ) ) ``` 这里的`SERVICE_NAME`可能就是要设置的ORACLE_SID的值,但具体还需根据实际情况确定。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值