文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Oracle 11gr2如何修改RAC集群的scan ip并处理ORA-12514问题

2024-04-02 19:55

关注

小编给大家分享一下Oracle 11gr2如何修改RAC集群的scan ip并处理ORA-12514问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

1.查看scan ip的状态信息

grid@cwgsdb1:~$ srvctl config scan
SCAN name: rac-scanip, Network: 1/100.100.100.0/255.255.255.0/ipmp0
SCAN VIP name: scan1, IP: /rac-scanip/100.100.100.219

2.停止scan_listener ,scan 

grid@cwgsdb1:~$ srvctl stop scan_listener
grid@cwgsdb1:~$ srvctl stop scan

3.确认 scan_listener,scan 的状态

grid@cwgsdb1:~$ srvctl status scan_listener
SCAN Listener LISTENER_SCAN1 is enabled
SCAN listener LISTENER_SCAN1 is not running
grid@cwgsdb1:~$ srvctl status scan
SCAN VIP scan1 is enabled
SCAN VIP scan1 is not running
grid@cwgsdb1:~$ crs_stat -t | grep scan
ora.scan1.vip  ora....ip.type OFFLINE   OFFLINE               
grid@cwgsdb1:~$ crs_stat -t | grep lsnr
ora....ER.lsnr ora....er.type ONLINE    ONLINE    cwgsdb1     
ora....N1.lsnr ora....er.type OFFLINE   OFFLINE               
ora....B1.lsnr application    ONLINE    ONLINE    cwgsdb1     
ora....B2.lsnr application    ONLINE    ONLINE    cwgsdb2

4.在所有节点中 /etc/hosts 文件中修改 scan 对应的ip

root@cwgsdb1:~$ cat /etc/hosts
#
# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
# Internet host table
#
::1 cwgsdb1 localhost 
100.100.100.215 cwgsdb1 localhost loghost 
100.100.100.216 cwgsdb2
100.100.100.217 cwgsdb1-vip
100.100.100.218 cwgsdb2-vip
1.1.1.1 cwgsdb1-priv
1.1.1.2 cwgsdb2-priv
 
100.100.100.219 rac-scanip
root@cwgsdb1:~$ vi /etc/hosts
root@cwgsdb1:~$ cat /etc/hosts
#
# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
# Internet host table
#
::1 cwgsdb1 localhost 
100.100.100.215 cwgsdb1 localhost loghost 
100.100.100.216 cwgsdb2
100.100.100.217 cwgsdb1-vip
100.100.100.218 cwgsdb2-vip
1.1.1.1 cwgsdb1-priv
1.1.1.2 cwgsdb2-priv
 
100.100.100.103 rac-scanip

5.查看srvctl命令所在文件夹

grid@cwgsdb1:~$ cd $ORACLE_HOME
grid@cwgsdb1:/u01/app/11.2.0/grid$ cd bin/
grid@cwgsdb1:/u01/app/11.2.0/grid/bin$ pwd
/u01/app/11.2.0/grid/bin

6.使用root命令修改scan-ip,即修改为/etc/hosts里面scan-ip对应的ip

root@cwgsdb1:/u01/app/oracle/product/11.2.0/dbhome_1/bin# cd /u01/app/11.2.0/grid/bin
root@cwgsdb1:/u01/app/11.2.0/grid/bin# ./srvctl modify scan -n rac-scanip
root@cwgsdb1:/u01/app/11.2.0/grid/bin# ./srvctl config scan
SCAN name: rac-scanip, Network: 1/100.100.100.0/255.255.255.0/ipmp0
SCAN VIP name: scan1, IP: /rac-scanip/100.100.100.103

注:-n后面跟的是/etc/hosts下scan的名称

7.启动scan_listener,scan并查看状态

root@cwgsdb1:/u01/app/11.2.0/grid/bin# su - grid
Oracle Corporation      SunOS 5.11      11.3    September 2015
grid@cwgsdb1:~$ srvctl status scan
SCAN VIP scan1 is enabled
SCAN VIP scan1 is not running
grid@cwgsdb1:~$ srvctl start scan_listener
grid@cwgsdb1:~$ srvctl start scan
PRCC-1014 : scan1 was already running
PRCR-1004 : Resource ora.scan1.vip is already running
PRCR-1079 : Failed to start resource ora.scan1.vip
CRS-5702: Resource 'ora.scan1.vip' is already running on 'cwgsdb2'
 
grid@cwgsdb1:~$ srvctl status scan
SCAN VIP scan1 is enabled
SCAN VIP scan1 is running on node cwgsdb2
grid@cwgsdb1:~$ srvctl status scan_listener
SCAN Listener LISTENER_SCAN1 is enabled
SCAN listener LISTENER_SCAN1 is running on node cwgsdb2
grid@cwgsdb1:~$ srvctl config scan
SCAN name: rac-scanip, Network: 1/100.100.100.0/255.255.255.0/ipmp0
SCAN VIP name: scan1, IP: /rac-scanip/100.100.100.103

8.使用新的scan ip测试连接

提示ORA-12514 TNS:listener does not currently know of service requested in connect descriptor

使用关键字“scan ip   ORA-12514”在MOS上查找解决方案

Top Issues That Cause Troubles with SCAN VIP and Listeners (文档 ID 1373350.1)

Issue #5: Service not getting registered with SCAN listener after failover of the SCAN listener

After SCAN VIP and SCAN listener failover, instance does not register with the SCAN listener. It might happen for only 1 of the scan listener. Client connection gets intermittent ORA-12514 TNS:listener does not currently know of service requested in connect descriptor.

Causes:

1. Unpublished Bug 12659561  after scan listener failover, database instance might not register to the scan listener (refer Note 12659561.8), fixed in 11.2.0.3.2, merge patch 13354057 for 11.2.0.2 available for certain platform.
2. Unpublished Bug 13066936  Instance does not register services when scan fails over (refer Note 13066936.8)
Solutions: 

1) For both above bugs, the workaround is to unregister and register remote listener on the database instance which does not register to a SCAN listener with following steps.
show parameter remote_listener
alter system set remote_listener='';
alter system register;
alter system set remote_listener='<scan>:<port>';
alter system register;

2) Other points to check if service is not registered with SCAN listener:
a. remote_listener and local_listener is defined correctly
b. EZCONNECT is defined in sqlnet.ora, eg: NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
c. SCAN name with 3 IPs should NOT be defined in /etc/hosts, it should be defined in DNS
d. running nslookup <scan> multiple times should display SCAN VIP in round-robin fashion
e. do not set SECURE_REGISTER_<listener> in listener.ora if the class of secure transports (COST) is not configured.

9.尝试重启各节点监听,但问题依然存在

oracle@cwgsdb2:~$ srvctl stop listener -n cwgsdb2
oracle@cwgsdb2:~$ srvctl stop listener -n cwgsdb1
oracle@cwgsdb2:~$ srvctl start listener -n cwgsdb1
oracle@cwgsdb2:~$ srvctl start listener -n cwgsdb2

10.通过修改remote_listener参数并注册数据库解决该问题

SQL> show parameter remote;
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
remote_dependencies_mode             string      TIMESTAMP
remote_listener                      string      rac-scanip:1521
remote_login_passwordfile            string      EXCLUSIVE
remote_os_authent                    boolean     FALSE
remote_os_roles                      boolean     FALSE
result_cache_remote_expiration       integer     0
SQL> alter system set remote_listener='';
 
System altered.
 
SQL> alter system register;
 
System altered.
 
SQL> alter system set remote_listener='rac-scanip:1521';
 
System altered.

经过验证,使用新的scan ip可以成功连接数据库。至此,scan ip修改完成。

看完了这篇文章,相信你对“Oracle 11gr2如何修改RAC集群的scan ip并处理ORA-12514问题”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯