背景:
新克隆出来一套ebs rac数据库,但是监听端口使用的是1521,考虑到测试环境,不想用这个端口,打算改成1531。
1、修改context file,把对应的端口改掉(两个节点)。
这三个端口都改成1531
2、分别在两个节点运行autocfg
会报错,不过可以忽略,查看db 层tns_admin 下面的tnsnames.ora配置文件都被改成1531,就可以了。
3、重新修改,注册local_listener,重启监听:
db用户停止当前监听:
srvctl stop listener -l listener_dwhdb
db用户修改监听端口:
srvctl modify listener -l LISTENER_DWHDB -p 1531
db用户启动监听:
srvctl setenv listener -l LISTENER_DWHDB -T TNS_ADMIN='/oracle/11g/db/network/admin/DWHDB_dwhdb'
srvctl start listener -l LISTENER_DWHDB
修改初始化参数文件里的local_listener参数:
注册到数据库
节点1:
sqlplus/nolog
conn /as sysdba
alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.31)(PORT=1531))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.33)(PORT=1531))))' scope=both sid='DWHDB1';
alter system register;
节点2:
sqlplus/nolog
conn /as sysdba
alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.32)(PORT=1531))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.34)(PORT=1531))))' scope=both sid='DWHDB2';
alter system register;
修改grid层的scan监听端口:
由于该ebs rac环境,数据库层管理了vip,grid层管理了scan。当我们改完了上面这部分,scan目前还是原来的,我们要手动改成1531:
当前:
修改过程:
先手工停掉当前scan监听:
dwhdb01:grid$ srvctl stop scan_listener
尝试修改:
但是发现用grid用户是无法修改的,所以,得用root用户修改:
# /oracle/grid/bin/srvctl modify scan_listener -p 1531
在数据库里修改参数文件:
sqlplus/nolog
conn /as sysdba
alter system set remote_listener='dwhdb-scan01.zhlic.com.cn:1531' scope=both sid='*';
alter system register;