1. 修改 listener.ora 和tnsnames.ora 这两个文件:ADDRESS = (PROTOCOL = TCP)
(HOST = xxxx)(PORT = 新的端口))
3、 修改 $ORACLE_HOME/hostname_sid/sysman/config下的emoms.properties文
件:oracle.sysman.eml.mntr.emdRepPort=新的端口
oracle.sysman.eml.mntr.emdRepConnectDescriptor=(DESCRIPTION/=
(ADDRESS_LIST/=(ADDRESS/=(PROTOCOL/=TCP)(HOST/=xxx)(PORT/=新的端口)))
(CONNECT_DATA/=(SERVICE_NAME/=xxx)))
4. 最后,还要修改 $ORACLE_HOME/hostname_sid/sysman/emd下的
targets.xml:<Property NAME="Port" VALUE="新的端口"/>
sysman不是oracle用户,因此不能用alter user 子句修改密码。
修改方法是以oem所属用户登陆,然后运行该用户下的存储过程:
smp_maintenance.RESET_SYSMAN 该过程将sysman的密码重置为oem_temp.
例如,如果存放oem的用户是oem,密码也是oem
在sqlplus 中执行:
SQL> conn oem/oem;
SQL>exec smp_maintenance.RESET_SYSMAN;
原因是这样的: EM 有自己的配置文件emoms.properties,
你打开后就会发现这些:
oracle.sysman.eml.mntr.emdRepPwdEncrypted=TRUE
oracle.sysman.eml.mntr.emdRepPwd=xxxx,xxxx,xxxx,xxxx
这说明OMS启动的时候已经对SYSMAN用户的密码进行了
加密处理,你只在SQLPLUS中修改,EM是无法知道的,
因为它不去读数据字典,而是读自己的配置文件
另外,在$ORACLE_HOME/<hostname_sid>/sysman/emd 目录
下还有一个文件targets.xml,这个文件也要修改。
具体的修改方式可以参考我的blog.
http://blog.itpub.net/493 (好久没更新了,呵呵)
或者参考EM的官方文档“ Advance Configuration "
文档编号是B12013-01.
具体章节是: 第六章第四节
"Changing the SYSMAN Password"