Environment variable ORACLE_UNQNAME not defined. Please set ORACLE_UNQNAME to database unique name.

本文介绍了解决Oracle EM控制台无法访问的问题方法。主要包括设置ORACLE_UNQNAME环境变量、使用recreate命令重建EM控制台及清理残留配置信息等步骤。
在访问,https https://localhost:1158/em  无法访问时,检查服务是否启动。
$emctl status dbconsole
$emctl start dbconsole
报错信息:

Environment variable ORACLE_UNQNAME not defined. Please set ORACLE_UNQNAME to database unique name. 

解决办法:

1:set ORACLE_UNQNAME=$ORACLE_SID

这个参数是ORACLE11gR2新出的。所以在安装前必须先设置好此变量。否则在安装后面阶段配置EM时会报错。
设置方法: set ORACLE_UNQNAME=$ORACLE_SID(如:orcl)
之后启动EM: emctl start dbconsole 成功,若不成功,接着以下操作。


2:使用emca  recreate 命令重建;

A、检查 主机名称( HOSTNAME ) 是否配置正确,

vi  /etc/sysconfig/network


B、recreate

$emca -config dbcontrol db -repos recreate;
注意:(重新创建DBCONSOLE:(如果是在windows下,要先到注册表删除DBCONSOLE(HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/OracleDBconsole)的服务,重启电脑))

根据提示,
先输入SID,
输入监听程序端口端口1521,
输入SYS密码,
输入DBSNMP密码,
输入SYSMAN 密码,
输入Y继续

完成。

3:创建oem,但还是有许多信息无法删除干净,所以建议还是使用第一个方法 ,recreate
A、删除原的用户配置信息等

drop role MGMT_USER;
drop user MGMT_VIEW cascade; 
drop user sysman cascade;  

drop PUBLIC SYNONYM MGMT_TARGET_BLACKOUTS; 
drop public synonym SETEMVIEWUSERCONTEXT; 
drop public synonym MGMT_AVAILABILITY;
drop public synonym MGMT_CURRENT_AVAILABILITY; 
drop public synonym MGMT_SEVERITY_OBJ;  
drop public synonym MGMT_SEVERITY_ARRAY;
drop public synonym MGMT_GUID_OBJ;
drop public synonym MGMT_GUID_ARRAY;

B、emca -config dbcontrol db -repos create

在执行时有可能还要报以下错误,说明还没有清除干净,所以比较麻烦,还是采用 recreate吧。

CREATE PUBLIC SYNONYM MGMT_GUID_ARRAY FOR MGMT_GUID_ARRAY   *
ERROR at line 1:ORA-00955: name is already used by an existing object

附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服务的状态
 
 
配置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
在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的值,但具体还需根据实际情况确定。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值