解决oracle客户端可以连接11g rac vip,但是不能连接scan ip问题

本文描述了如何解决Oracle RAC集群中客户端仅能连接VIP IP而无法通过SCAN IP连接的问题。通过修改数据库参数local_listener以包含SCAN IP,确保客户端能够正确连接到数据库。同时,提供了解决方案的步骤和相关配置信息,帮助用户解决类似问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >




local不用动,remote_listern按我说的设置一下,应该就可以了!

# Public Network - (eth0)
10.4.56.39    syquadb1
10.4.56.40    syquadb2

# Public Virtual IP (VIP) addresses - (eth1)
10.4.56.41    syquadb1-vip
10.4.56.42    syquadb2-vip

# Private Interconnect - (bond0:eth2 eth3)
192.168.1.39    syquadb1-priv
192.168.1.40    syquadb2-priv

# Single Client Access Name (SCAN)
10.4.56.43    syquadb-cluster-scan

SQL> show parameter remote_listener

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
remote_listener                      string      syquadb-cluster-scan:1521

SQL> show parameter local_listener

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
local_listener                       string      (DESCRIPTION=(ADDRESS_LIST=(AD
                                                 DRESS=(PROTOCOL=TCP)(HOST=10.4
                                                 .56.42)(PORT=1521))))
另一台差不多,只有local不同,remote相同!
 



1#
  发表于 2012-7-5 10:53:34  | 查看: 1389 | 回复: 1
前段时间配置了一套hpux11.31 oracle11g r2 rac,配置完成后,本机的客户端可以连接vip和scan ip连接数据库,远程客户端只能连接vip访问数据库,通过SCAN IP访问数据库时就无法连接,但是可以ping通scan ip,telnet scan ip 1521也是没问题

服务器端网络配置信息如下:


01        [root@rac1 ~]# cat /etc/hosts
02        # Do not remove the following line, or various programs
03        # that require network functionality will fail.
04        #127.0.0.1              localhost.localdomain localhost
05        127.0.0.1               localhost
06        ::1             localhost6.localdomain6 localhost6
07          
08        172.16.0.191            rac1.localdomain        rac1
09        172.16.0.193            rac1-vip.localdomain    rac1-vip
10        192.168.93.1            rac1-priv.localdomain   rac1-priv
11          
12        172.16.0.192            rac2.localdomain        rac2
13        172.16.0.194            rac2-vip.localdomain    rac2-vip
14        192.168.93.2            rac2-priv.localdomain   rac2-priv
15          
16        172.16.0.203            rac-scan.localdomain    rac-scan
17        [root@rac1 ~]#
服务器端SCAN IP信息如下:


01        [root@rac1 ~]# /u01/app/11.2.0/grid/bin/srvctl config scan
02        SCAN name: 172.16.0.203, Network: 1/172.16.0.0/255.255.240.0/eth0
03        SCAN VIP name: scan1, IP: /rac-scan.localdomain/172.16.0.203
04        [root@rac1 ~]# /u01/app/11.2.0/grid/bin/srvctl status scan
05        SCAN VIP scan1 is enabled
06        SCAN VIP scan1 is running on node rac2
07        [root@rac1 ~]# /u01/app/11.2.0/grid/bin/srvctl status scan_listener
08        SCAN Listener LISTENER_SCAN1 is enabled
09        SCAN listener LISTENER_SCAN1 is running on node rac2
10        [root@rac1 ~]#
服务器端集群信息如下:


01        [root@rac1 ~]# /u01/app/11.2.0/grid/bin/crs_stat -t
02        Name           Type           Target    State     Host        
03        ------------------------------------------------------------
04        ora.DATADG.dg  ora....up.type ONLINE    ONLINE    rac1        
05        ora.GRIDDG.dg  ora....up.type ONLINE    ONLINE    rac1        
06        ora....ER.lsnr ora....er.type ONLINE    ONLINE    rac1        
07        ora....N1.lsnr ora....er.type ONLINE    ONLINE    rac2        
08        ora.asm        ora.asm.type   ONLINE    ONLINE    rac1        
09        ora.devdb.db   ora....se.type ONLINE    ONLINE    rac1        
10        ora.eons       ora.eons.type  ONLINE    ONLINE    rac1        
11        ora.gsd        ora.gsd.type   OFFLINE   OFFLINE               
12        ora....network ora....rk.type ONLINE    ONLINE    rac1        
13        ora.oc4j       ora.oc4j.type  OFFLINE   OFFLINE               
14        ora.ons        ora.ons.type   ONLINE    ONLINE    rac1        
15        ora....SM1.asm application    ONLINE    ONLINE    rac1        
16        ora....C1.lsnr application    ONLINE    ONLINE    rac1        
17        ora.rac1.gsd   application    OFFLINE   OFFLINE               
18        ora.rac1.ons   application    ONLINE    ONLINE    rac1        
19        ora.rac1.vip   ora....t1.type ONLINE    ONLINE    rac1        
20        ora....SM2.asm application    ONLINE    ONLINE    rac2        
21        ora....C2.lsnr application    ONLINE    ONLINE    rac2        
22        ora.rac2.gsd   application    OFFLINE   OFFLINE               
23        ora.rac2.ons   application    ONLINE    ONLINE    rac2        
24        ora.rac2.vip   ora....t1.type ONLINE    ONLINE    rac2        
25        ora....ry.acfs ora....fs.type ONLINE    ONLINE    rac1        
26        ora.scan1.vip  ora....ip.type ONLINE    ONLINE    rac2        
27        [root@rac1 ~]#
通过查找MetaLink:ORA-12545 or ORA-12537 While Connecting to RAC through SCAN name [ID 970619.1]得到解决方法,修改数据库的local_listener参数:

修改之前:


01        [root@rac1 ~]# su - oracle
02        rac1-> sqlplus
03          
04        SQL*Plus: Release 11.2.0.1.0 Production on Tue Mar 13 10:42:58 2012
05          
06        Copyright (c) 1982, 2009, Oracle.  All rights reserved.
07          
08          
09        Connected to:
10        Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
11        With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
12        Data Mining and Real Application Testing options
13          
14        SQL> set line 160
15        SQL> show parameter spfile;
16          
17        NAME                                 TYPE        VALUE
18        ------------------------------------ ----------- ------------------------------
19        spfile                               string      +DATADG/devdb/spfiledevdb.ora
20        SQL> show parameter instance_name;
21          
22        NAME                                 TYPE        VALUE
23        ------------------------------------ ----------- ------------------------------
24        instance_name                        string      devdb1
25        SQL> show parameter listener
26          
27        NAME                                 TYPE        VALUE
28        ------------------------------------ ----------- ------------------------------
29        listener_networks                    string
30        local_listener                       string      (DESCRIPTION=(ADDRESS_LIST=(AD
31                                                         DRESS=(PROTOCOL=TCP)(HOST=rac1
32                                                         -vip)(PORT=1521))))
33        remote_listener                      string      rac-scan:1521
34        SQL>
修改local_listener参数:


01        SQL> alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.0.193)(PORT=1521))))' sid='devdb1';
02          
03        System altered.
04        SQL> alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.0.194)(PORT=1521))))' sid='devdb2';
05          
06        System altered.
07          
08        SQL> show parameter listener
09          
10        NAME                                 TYPE        VALUE
11        ------------------------------------ ----------- ------------------------------
12        listener_networks                    string
13        local_listener                       string      (DESCRIPTION=(ADDRESS_LIST=(AD
14                                                         DRESS=(PROTOCOL=TCP)(HOST=172.
15                                                         16.0.193)(PORT=1521))))
16        remote_listener                      string      rac-scan:1521
17        SQL>
修改之后,客户端连接正常:


01        C:\Users\huangw.GILLION>sqlplus hr/hr@11grac
02          
03        SQL*Plus: Release 11.2.0.2.0 Production on Tue Mar 13 11:04:00 2012
04          
05        Copyright (c) 1982, 2010, Oracle.  All rights reserved.
06          
07          
08        Connected to:
09        Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
10        With the Partitioning, Real Application Clusters, Automatic Storage Management,
11        Data Mining and Real Application Testing options
12          
13        SQL> show user;
14        USER is "HR"
15        SQL> select * from tab;
16          
17        TNAME                          TABTYPE  CLUSTERID
18        ------------------------------ ------- ----------
19        COUNTRIES                      TABLE
20        DEPARTMENTS                    TABLE
21        EMPLOYEES                      TABLE
22        EMP_DETAILS_VIEW               VIEW
23        JOBS                           TABLE
24        JOB_HISTORY                    TABLE
25        LOCATIONS                      TABLE
26        REGIONS                        TABLE
27          
28        8 rows selected.
29          
30        SQL>
至此,问题解决。

产生问题原因:

Client is able to resolve all Fully Qualified Domain Name (FQDN) SCAN and VIP name but not short ones(without domain name) as its in different domain; even though FQDN names were specified during Grid Infrastructure setup, due to bug 9150053 by default DBCA set database parameter local_listener to short node VIP name while database is created.

解决方法除了上述之外,我们也可以按照下面的方法解决,其实,都是换汤不换药,个人倾向于直接在监听里配置IP地址:


01        SQL> alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=rac1-vip.localdomain)(PORT=1521))))' sid='devdb1';
02          
03        System altered.
04          
05        SQL> alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=rac2-vip.localdomain)(PORT=1521))))' sid='devdb2';
06          
07        System altered.
08          
09        SQL> alter system register;
10          
11        System altered.
12          
13        SQL>

  


2#
  发表于 2013-5-23 11:32:03
顶,我RAC+dg切换后,连接不上SCAN-IP,照你这样,解决了。谢谢!




补充:
grid 用户上 oracle用户上
  1. [grid@11rac1 ~]$ sqlplus / as sysdba 
  2.  
  3. SQL*Plus: Release 11.2.0.2.0 Production on Thu Nov 8 12:07:09 2012 
  4.  
  5. Copyright (c) 1982, 2010, Oracle.  All rights reserved. 
  6.  
  7.  
  8. Connected to
  9. Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production 
  10. With the Real Application Clusters and Automatic Storage Management options 
  11.  
  12. SQL> show parameter remote 
  13.  
  14. NAME                                 TYPE        VALUE 
  15. ------------------------------------ ----------- ------------------------------ 
  16. remote_listener                      string 
  17. remote_login_passwordfile            string      EXCLUSIVE 
  18. remote_os_authent                    boolean     FALSE 
  19. remote_os_roles                      boolean     FALSE 
  20. SQL> alter system set remote_listener='scan:1521' scope=both sid='*'
  21.  
  22. System altered. 
  23.  
  24. SQL> alter system register; 
  25.  
  26. System altered. 


参考:

我贴我的,你参考下!local不用动,remote_listern按我说的设置一下,应该就可以了!

# Public Network - (eth0)
10.4.56.39    syquadb1
10.4.56.40    syquadb2

# Public Virtual IP (VIP) addresses - (eth1)
10.4.56.41    syquadb1-vip
10.4.56.42    syquadb2-vip

# Private Interconnect - (bond0:eth2 eth3)
192.168.1.39    syquadb1-priv
192.168.1.40    syquadb2-priv

# Single Client Access Name (SCAN)
10.4.56.43    syquadb-cluster-scan

SQL> show parameter remote_listener

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
remote_listener                      string      syquadb-cluster-scan:1521

SQL> show parameter local_listener

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
local_listener                       string      (DESCRIPTION=(ADDRESS_LIST=(AD
                                                 DRESS=(PROTOCOL=TCP)(HOST=10.4
                                                 .56.42)(PORT=1521))))
另一台差不多,只有local不同,remote相同!
 
 




1#
  发表于 2012-7-5 10:53:34  | 查看: 1389 | 回复: 1
前段时间配置了一套hpux11.31 oracle11g r2 rac,配置完成后,本机的客户端可以连接vip和scan ip连接数据库,远程客户端只能连接vip访问数据库,通过SCAN IP访问数据库时就无法连接,但是可以ping通scan ip,telnet scan ip 1521也是没问题

服务器端网络配置信息如下:


01        [root@rac1 ~]# cat /etc/hosts
02        # Do not remove the following line, or various programs
03        # that require network functionality will fail.
04        #127.0.0.1              localhost.localdomain localhost
05        127.0.0.1               localhost
06        ::1             localhost6.localdomain6 localhost6
07          
08        172.16.0.191            rac1.localdomain        rac1
09        172.16.0.193            rac1-vip.localdomain    rac1-vip
10        192.168.93.1            rac1-priv.localdomain   rac1-priv
11          
12        172.16.0.192            rac2.localdomain        rac2
13        172.16.0.194            rac2-vip.localdomain    rac2-vip
14        192.168.93.2            rac2-priv.localdomain   rac2-priv
15          
16        172.16.0.203            rac-scan.localdomain    rac-scan
17        [root@rac1 ~]#
服务器端SCAN IP信息如下:


01        [root@rac1 ~]# /u01/app/11.2.0/grid/bin/srvctl config scan
02        SCAN name: 172.16.0.203, Network: 1/172.16.0.0/255.255.240.0/eth0
03        SCAN VIP name: scan1, IP: /rac-scan.localdomain/172.16.0.203
04        [root@rac1 ~]# /u01/app/11.2.0/grid/bin/srvctl status scan
05        SCAN VIP scan1 is enabled
06        SCAN VIP scan1 is running on node rac2
07        [root@rac1 ~]# /u01/app/11.2.0/grid/bin/srvctl status scan_listener
08        SCAN Listener LISTENER_SCAN1 is enabled
09        SCAN listener LISTENER_SCAN1 is running on node rac2
10        [root@rac1 ~]#
服务器端集群信息如下:


01        [root@rac1 ~]# /u01/app/11.2.0/grid/bin/crs_stat -t
02        Name           Type           Target    State     Host        
03        ------------------------------------------------------------
04        ora.DATADG.dg  ora....up.type ONLINE    ONLINE    rac1        
05        ora.GRIDDG.dg  ora....up.type ONLINE    ONLINE    rac1        
06        ora....ER.lsnr ora....er.type ONLINE    ONLINE    rac1        
07        ora....N1.lsnr ora....er.type ONLINE    ONLINE    rac2        
08        ora.asm        ora.asm.type   ONLINE    ONLINE    rac1        
09        ora.devdb.db   ora....se.type ONLINE    ONLINE    rac1        
10        ora.eons       ora.eons.type  ONLINE    ONLINE    rac1        
11        ora.gsd        ora.gsd.type   OFFLINE   OFFLINE               
12        ora....network ora....rk.type ONLINE    ONLINE    rac1        
13        ora.oc4j       ora.oc4j.type  OFFLINE   OFFLINE               
14        ora.ons        ora.ons.type   ONLINE    ONLINE    rac1        
15        ora....SM1.asm application    ONLINE    ONLINE    rac1        
16        ora....C1.lsnr application    ONLINE    ONLINE    rac1        
17        ora.rac1.gsd   application    OFFLINE   OFFLINE               
18        ora.rac1.ons   application    ONLINE    ONLINE    rac1        
19        ora.rac1.vip   ora....t1.type ONLINE    ONLINE    rac1        
20        ora....SM2.asm application    ONLINE    ONLINE    rac2        
21        ora....C2.lsnr application    ONLINE    ONLINE    rac2        
22        ora.rac2.gsd   application    OFFLINE   OFFLINE               
23        ora.rac2.ons   application    ONLINE    ONLINE    rac2        
24        ora.rac2.vip   ora....t1.type ONLINE    ONLINE    rac2        
25        ora....ry.acfs ora....fs.type ONLINE    ONLINE    rac1        
26        ora.scan1.vip  ora....ip.type ONLINE    ONLINE    rac2        
27        [root@rac1 ~]#
通过查找MetaLink:ORA-12545 or ORA-12537 While Connecting to RAC through SCAN name [ID 970619.1]得到解决方法,修改数据库的local_listener参数:

修改之前:


01        [root@rac1 ~]# su - oracle
02        rac1-> sqlplus
03          
04        SQL*Plus: Release 11.2.0.1.0 Production on Tue Mar 13 10:42:58 2012
05          
06        Copyright (c) 1982, 2009, Oracle.  All rights reserved.
07          
08          
09        Connected to:
10        Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
11        With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
12        Data Mining and Real Application Testing options
13          
14        SQL> set line 160
15        SQL> show parameter spfile;
16          
17        NAME                                 TYPE        VALUE
18        ------------------------------------ ----------- ------------------------------
19        spfile                               string      +DATADG/devdb/spfiledevdb.ora
20        SQL> show parameter instance_name;
21          
22        NAME                                 TYPE        VALUE
23        ------------------------------------ ----------- ------------------------------
24        instance_name                        string      devdb1
25        SQL> show parameter listener
26          
27        NAME                                 TYPE        VALUE
28        ------------------------------------ ----------- ------------------------------
29        listener_networks                    string
30        local_listener                       string      (DESCRIPTION=(ADDRESS_LIST=(AD
31                                                         DRESS=(PROTOCOL=TCP)(HOST=rac1
32                                                         -vip)(PORT=1521))))
33        remote_listener                      string      rac-scan:1521
34        SQL>
修改local_listener参数:


01        SQL> alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.0.193)(PORT=1521))))' sid='devdb1';
02          
03        System altered.
04        SQL> alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.0.194)(PORT=1521))))' sid='devdb2';
05          
06        System altered.
07          
08        SQL> show parameter listener
09          
10        NAME                                 TYPE        VALUE
11        ------------------------------------ ----------- ------------------------------
12        listener_networks                    string
13        local_listener                       string      (DESCRIPTION=(ADDRESS_LIST=(AD
14                                                         DRESS=(PROTOCOL=TCP)(HOST=172.
15                                                         16.0.193)(PORT=1521))))
16        remote_listener                      string      rac-scan:1521
17        SQL>
修改之后,客户端连接正常:


01        C:\Users\huangw.GILLION>sqlplus hr/hr@11grac
02          
03        SQL*Plus: Release 11.2.0.2.0 Production on Tue Mar 13 11:04:00 2012
04          
05        Copyright (c) 1982, 2010, Oracle.  All rights reserved.
06          
07          
08        Connected to:
09        Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
10        With the Partitioning, Real Application Clusters, Automatic Storage Management,
11        Data Mining and Real Application Testing options
12          
13        SQL> show user;
14        USER is "HR"
15        SQL> select * from tab;
16          
17        TNAME                          TABTYPE  CLUSTERID
18        ------------------------------ ------- ----------
19        COUNTRIES                      TABLE
20        DEPARTMENTS                    TABLE
21        EMPLOYEES                      TABLE
22        EMP_DETAILS_VIEW               VIEW
23        JOBS                           TABLE
24        JOB_HISTORY                    TABLE
25        LOCATIONS                      TABLE
26        REGIONS                        TABLE
27          
28        8 rows selected.
29          
30        SQL>
至此,问题解决。

产生问题原因:

Client is able to resolve all Fully Qualified Domain Name (FQDN) SCAN and VIP name but not short ones(without domain name) as its in different domain; even though FQDN names were specified during Grid Infrastructure setup, due to bug 9150053 by default DBCA set database parameter local_listener to short node VIP name while database is created.

解决方法除了上述之外,我们也可以按照下面的方法解决,其实,都是换汤不换药,个人倾向于直接在监听里配置IP地址:


01        SQL> alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=rac1-vip.localdomain)(PORT=1521))))' sid='devdb1';
02          
03        System altered.
04          
05        SQL> alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=rac2-vip.localdomain)(PORT=1521))))' sid='devdb2';
06          
07        System altered.
08          
09        SQL> alter system register;
10          
11        System altered.
12          
13        SQL>

  
2#
  发表于 2013-5-23 11:32:03
顶,我RAC+dg切换后,连接不上SCAN-IP,照你这样,解决了。谢谢!




补充:
grid 用户上 oracle用户上
  1. [grid@11rac1 ~]$ sqlplus / as sysdba 
  2.  
  3. SQL*Plus: Release 11.2.0.2.0 Production on Thu Nov 8 12:07:09 2012 
  4.  
  5. Copyright (c) 1982, 2010, Oracle.  All rights reserved. 
  6.  
  7.  
  8. Connected to
  9. Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production 
  10. With the Real Application Clusters and Automatic Storage Management options 
  11.  
  12. SQL> show parameter remote 
  13.  
  14. NAME                                 TYPE        VALUE 
  15. ------------------------------------ ----------- ------------------------------ 
  16. remote_listener                      string 
  17. remote_login_passwordfile            string      EXCLUSIVE 
  18. remote_os_authent                    boolean     FALSE 
  19. remote_os_roles                      boolean     FALSE 
  20. SQL> alter system set remote_listener='scan:1521' scope=both sid='*'
  21.  
  22. System altered. 
  23.  
  24. SQL> alter system register; 
  25.  
  26. System altered. 

http://www.itpub.net/thread-1423941-1-1.html

我贴我的,你参考下!local不用动,remote_listern按我说的设置一下,应该就可以了!

# Public Network - (eth0)
10.4.56.39    syquadb1
10.4.56.40    syquadb2

# Public Virtual IP (VIP) addresses - (eth1)
10.4.56.41    syquadb1-vip
10.4.56.42    syquadb2-vip

# Private Interconnect - (bond0:eth2 eth3)
192.168.1.39    syquadb1-priv
192.168.1.40    syquadb2-priv

# Single Client Access Name (SCAN)
10.4.56.43    syquadb-cluster-scan

SQL> show parameter remote_listener

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
remote_listener                      string      syquadb-cluster-scan:1521

SQL> show parameter local_listener

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
local_listener                       string      (DESCRIPTION=(ADDRESS_LIST=(AD
                                                 DRESS=(PROTOCOL=TCP)(HOST=10.4
                                                 .56.42)(PORT=1521))))
另一台差不多,只有local不同,remote相同!
 
 




1#
  发表于 2012-7-5 10:53:34  | 查看: 1389 | 回复: 1
前段时间配置了一套hpux11.31 oracle11g r2 rac,配置完成后,本机的客户端可以连接vip和scan ip连接数据库,远程客户端只能连接vip访问数据库,通过SCAN IP访问数据库时就无法连接,但是可以ping通scan ip,telnet scan ip 1521也是没问题

服务器端网络配置信息如下:


01        [root@rac1 ~]# cat /etc/hosts
02        # Do not remove the following line, or various programs
03        # that require network functionality will fail.
04        #127.0.0.1              localhost.localdomain localhost
05        127.0.0.1               localhost
06        ::1             localhost6.localdomain6 localhost6
07          
08        172.16.0.191            rac1.localdomain        rac1
09        172.16.0.193            rac1-vip.localdomain    rac1-vip
10        192.168.93.1            rac1-priv.localdomain   rac1-priv
11          
12        172.16.0.192            rac2.localdomain        rac2
13        172.16.0.194            rac2-vip.localdomain    rac2-vip
14        192.168.93.2            rac2-priv.localdomain   rac2-priv
15          
16        172.16.0.203            rac-scan.localdomain    rac-scan
17        [root@rac1 ~]#
服务器端SCAN IP信息如下:


01        [root@rac1 ~]# /u01/app/11.2.0/grid/bin/srvctl config scan
02        SCAN name: 172.16.0.203, Network: 1/172.16.0.0/255.255.240.0/eth0
03        SCAN VIP name: scan1, IP: /rac-scan.localdomain/172.16.0.203
04        [root@rac1 ~]# /u01/app/11.2.0/grid/bin/srvctl status scan
05        SCAN VIP scan1 is enabled
06        SCAN VIP scan1 is running on node rac2
07        [root@rac1 ~]# /u01/app/11.2.0/grid/bin/srvctl status scan_listener
08        SCAN Listener LISTENER_SCAN1 is enabled
09        SCAN listener LISTENER_SCAN1 is running on node rac2
10        [root@rac1 ~]#
服务器端集群信息如下:


01        [root@rac1 ~]# /u01/app/11.2.0/grid/bin/crs_stat -t
02        Name           Type           Target    State     Host        
03        ------------------------------------------------------------
04        ora.DATADG.dg  ora....up.type ONLINE    ONLINE    rac1        
05        ora.GRIDDG.dg  ora....up.type ONLINE    ONLINE    rac1        
06        ora....ER.lsnr ora....er.type ONLINE    ONLINE    rac1        
07        ora....N1.lsnr ora....er.type ONLINE    ONLINE    rac2        
08        ora.asm        ora.asm.type   ONLINE    ONLINE    rac1        
09        ora.devdb.db   ora....se.type ONLINE    ONLINE    rac1        
10        ora.eons       ora.eons.type  ONLINE    ONLINE    rac1        
11        ora.gsd        ora.gsd.type   OFFLINE   OFFLINE               
12        ora....network ora....rk.type ONLINE    ONLINE    rac1        
13        ora.oc4j       ora.oc4j.type  OFFLINE   OFFLINE               
14        ora.ons        ora.ons.type   ONLINE    ONLINE    rac1        
15        ora....SM1.asm application    ONLINE    ONLINE    rac1        
16        ora....C1.lsnr application    ONLINE    ONLINE    rac1        
17        ora.rac1.gsd   application    OFFLINE   OFFLINE               
18        ora.rac1.ons   application    ONLINE    ONLINE    rac1        
19        ora.rac1.vip   ora....t1.type ONLINE    ONLINE    rac1        
20        ora....SM2.asm application    ONLINE    ONLINE    rac2        
21        ora....C2.lsnr application    ONLINE    ONLINE    rac2        
22        ora.rac2.gsd   application    OFFLINE   OFFLINE               
23        ora.rac2.ons   application    ONLINE    ONLINE    rac2        
24        ora.rac2.vip   ora....t1.type ONLINE    ONLINE    rac2        
25        ora....ry.acfs ora....fs.type ONLINE    ONLINE    rac1        
26        ora.scan1.vip  ora....ip.type ONLINE    ONLINE    rac2        
27        [root@rac1 ~]#
通过查找MetaLink:ORA-12545 or ORA-12537 While Connecting to RAC through SCAN name [ID 970619.1]得到解决方法,修改数据库的local_listener参数:

修改之前:


01        [root@rac1 ~]# su - oracle
02        rac1-> sqlplus
03          
04        SQL*Plus: Release 11.2.0.1.0 Production on Tue Mar 13 10:42:58 2012
05          
06        Copyright (c) 1982, 2009, Oracle.  All rights reserved.
07          
08          
09        Connected to:
10        Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
11        With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
12        Data Mining and Real Application Testing options
13          
14        SQL> set line 160
15        SQL> show parameter spfile;
16          
17        NAME                                 TYPE        VALUE
18        ------------------------------------ ----------- ------------------------------
19        spfile                               string      +DATADG/devdb/spfiledevdb.ora
20        SQL> show parameter instance_name;
21          
22        NAME                                 TYPE        VALUE
23        ------------------------------------ ----------- ------------------------------
24        instance_name                        string      devdb1
25        SQL> show parameter listener
26          
27        NAME                                 TYPE        VALUE
28        ------------------------------------ ----------- ------------------------------
29        listener_networks                    string
30        local_listener                       string      (DESCRIPTION=(ADDRESS_LIST=(AD
31                                                         DRESS=(PROTOCOL=TCP)(HOST=rac1
32                                                         -vip)(PORT=1521))))
33        remote_listener                      string      rac-scan:1521
34        SQL>
修改local_listener参数:


01        SQL> alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.0.193)(PORT=1521))))' sid='devdb1';
02          
03        System altered.
04        SQL> alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.0.194)(PORT=1521))))' sid='devdb2';
05          
06        System altered.
07          
08        SQL> show parameter listener
09          
10        NAME                                 TYPE        VALUE
11        ------------------------------------ ----------- ------------------------------
12        listener_networks                    string
13        local_listener                       string      (DESCRIPTION=(ADDRESS_LIST=(AD
14                                                         DRESS=(PROTOCOL=TCP)(HOST=172.
15                                                         16.0.193)(PORT=1521))))
16        remote_listener                      string      rac-scan:1521
17        SQL>
修改之后,客户端连接正常:


01        C:\Users\huangw.GILLION>sqlplus hr/hr@11grac
02          
03        SQL*Plus: Release 11.2.0.2.0 Production on Tue Mar 13 11:04:00 2012
04          
05        Copyright (c) 1982, 2010, Oracle.  All rights reserved.
06          
07          
08        Connected to:
09        Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
10        With the Partitioning, Real Application Clusters, Automatic Storage Management,
11        Data Mining and Real Application Testing options
12          
13        SQL> show user;
14        USER is "HR"
15        SQL> select * from tab;
16          
17        TNAME                          TABTYPE  CLUSTERID
18        ------------------------------ ------- ----------
19        COUNTRIES                      TABLE
20        DEPARTMENTS                    TABLE
21        EMPLOYEES                      TABLE
22        EMP_DETAILS_VIEW               VIEW
23        JOBS                           TABLE
24        JOB_HISTORY                    TABLE
25        LOCATIONS                      TABLE
26        REGIONS                        TABLE
27          
28        8 rows selected.
29          
30        SQL>
至此,问题解决。

产生问题原因:

Client is able to resolve all Fully Qualified Domain Name (FQDN) SCAN and VIP name but not short ones(without domain name) as its in different domain; even though FQDN names were specified during Grid Infrastructure setup, due to bug 9150053 by default DBCA set database parameter local_listener to short node VIP name while database is created.

解决方法除了上述之外,我们也可以按照下面的方法解决,其实,都是换汤不换药,个人倾向于直接在监听里配置IP地址:


01        SQL> alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=rac1-vip.localdomain)(PORT=1521))))' sid='devdb1';
02          
03        System altered.
04          
05        SQL> alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=rac2-vip.localdomain)(PORT=1521))))' sid='devdb2';
06          
07        System altered.
08          
09        SQL> alter system register;
10          
11        System altered.
12          
13        SQL>

  
2#
  发表于 2013-5-23 11:32:03
顶,我RAC+dg切换后,连接不上SCAN-IP,照你这样,解决了。谢谢!




补充:
grid 用户上 oracle用户上
  1. [grid@11rac1 ~]$ sqlplus / as sysdba 
  2.  
  3. SQL*Plus: Release 11.2.0.2.0 Production on Thu Nov 8 12:07:09 2012 
  4.  
  5. Copyright (c) 1982, 2010, Oracle.  All rights reserved. 
  6.  
  7.  
  8. Connected to
  9. Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production 
  10. With the Real Application Clusters and Automatic Storage Management options 
  11.  
  12. SQL> show parameter remote 
  13.  
  14. NAME                                 TYPE        VALUE 
  15. ------------------------------------ ----------- ------------------------------ 
  16. remote_listener                      string 
  17. remote_login_passwordfile            string      EXCLUSIVE 
  18. remote_os_authent                    boolean     FALSE 
  19. remote_os_roles                      boolean     FALSE 
  20. SQL> alter system set remote_listener='scan:1521' scope=both sid='*'
  21.  
  22. System altered. 
  23.  
  24. SQL> alter system register; 
  25.  
  26. System altered. 
<think>首先,用户的问题是:“我想在Oracle 11g RAC环境中手动停止SCAN IP的虚拟网卡以释放IP地址。请问Oracle 11g RAC manual stop scan ip virtual network interface release ip”。这是一个关于Oracle 11g RAC环境中管理SCAN IP的命令问题。 从系统级指令中,我需要: - 所有行内数学表达式使用$...$格式。 - 独立公式使用$$...$$格式。 - LaTeX语法正确。 - 使用中文回答。 - 生成相关问题。 - 在回答中引用的段落末尾自然地添加引用标识,如[^1]。 用户可见层指令: - 回答结构清晰,帮助用户逐步解决问题。 - 保证回答真实可靠。 参考站内引用: - 引用[1]:关于OracleShellInstall脚本和环境变量设置。 - 引用[2]:关于ORA-27550错误和srvctl命令。 - 引用[3]:关于srvctl命令的详细用法。 用户的问题是关于停止SCAN IP虚拟网卡以释放IP地址。在Oracle RAC中,SCAN IP是通过SCAN VIP(Virtual IP)管理的。SCAN VIP是节点应用程序的一部分,通常使用srvctl命令来管理。 关键点: - SCAN IP是用于客户端连接RAC集群的单一名称。 - 在Oracle 11g R2中,SCAN VIP由srvctl命令控制。 - 要停止SCAN VIP,需要使用srvctl命令来停止SCAN监听器或SCAN VIP资源。 步骤: 1. 确认SCAN VIP的状态。 2. 使用srvctl命令停止SCAN VIP。 3. 释放IP地址可能需要额外的系统级操作,但通常停止VIP会释放IP。 命令参考: - 查看SCAN状态:`srvctl status scan` - 停止SCAN监听器:`srvctl stop scan_listener` - 停止SCAN VIP:可能需要停止整个SCAN资源,但通常SCAN VIP是自动管理的。 从引用[3]中,srvctl命令可以操作scan_listener对象: - `srvctl stop scan_listener` 停止SCAN监听器。 - SCAN VIP可能与SCAN监听器关联。停止监听器可能会释放IP,但IP地址的释放取决于操作系统配置。 在Oracle RAC中,VIP(包括SCAN VIP)是使用srvctl管理的节点应用程序。停止VIP会释放IP地址。 具体命令: - 停止SCAN VIP:`srvctl stop scan` - 但根据Oracle文档,srvctl命令用于scan对象是`scan`或`scan_listener`。 回顾引用[3]: - objects include: scan, scan_listener - commands: stop, start, etc. 所以,停止SCAN VIP: - `srvctl stop scan` 或 `srvctl stop scan_listener`?需要澄清。 在Oracle 11g R2中: - SCAN VIPSCAN资源的一部分。停止SCAN资源会停止SCAN VIPSCAN监听器。 - 命令:`srvctl stop scan` 停止整个SCAN资源。 但用户可能只想停止SCAN VIP,而不是整个SCANSCAN VIP是虚拟IP,由集群管理。 标准做法: - 使用 `srvctl stop vip -n <node>` 来停止特定节点的VIP,但SCAN VIP是集群范围的。 - SCAN VIP通常由三个IP地址组成(在标准配置中),但管理时使用srvctl。 最佳方式: - 停止SCAN监听器:`srvctl stop scan_listener` - 这会停止监听器,但VIP可能仍绑定。需要停止SCAN资源。 参考Oracle文档: - 在Oracle 11g R2中,停止SCAN VIP:`srvctl stop scan -i <scan_number>` 但通常使用 `srvctl stop scan` 停止所有SCAN资源。 为了释放IP地址,停止SCAN资源应该释放绑定的IP。 步骤总结: 1. 作为grid用户登录(因为srvctl需要grid用户权限)。 2. 检查当前SCAN状态:`srvctl status scan` 3. 停止SCAN资源:`srvctl stop scan` 4. 确认IP地址释放:使用操作系统命令如 `ifconfig` 或 `ip addr` 检查。 在停止后,IP地址应该被释放,除非有其他配置。 现在,构建回答: - 结构清晰:分步骤解释。 - 使用中文。 - 在结尾添加引用标识,基于提供的引用。 引用相关部分: - 引用[3]提到srvctl命令用于scan对象,所以可以引用它。 - 引用[2]提到srvctl命令的用法。 生成相关问题: - 在回答后,添加§§相关问题§§部分。 回答大纲: 1. 介绍:解释SCAN IPRAC中的作用。 2. 步骤:详细命令步骤。 3. 注意事项:如权限、环境变量。 4. 引用:自然地添加引用。 5. 相关问题:生成2-3个相关问题。 最终回答: - 使用中文。 - 确保命令正确。</think>### 在Oracle 11g RAC环境中手动停止SCAN IP虚拟网卡以释放IP地址 在Oracle 11g RAC环境中,SCAN IP(Single Client Access Name IP)是一个虚拟IP地址,用于客户端统一访问RAC集群。手动停止SCAN IP虚拟网卡可以释放IP地址,通常通过`srvctl`命令管理SCAN资源来实现。以下是详细步骤(以grid用户权限操作),确保操作前备份集群配置,并避免在生产环境高峰时段执行。 #### 步骤说明 1. **登录环境并设置权限** 以`grid`用户登录到RAC集群的任意节点(例如`rac01`)。确保环境变量已正确配置(参考`.bash_profile`或`.11g`文件[^1])。 ```bash su - grid ``` 验证环境变量: ```bash echo $ORACLE_HOME # 应输出Grid Infrastructure路径 ``` 2. **检查当前SCAN资源状态** 使用`srvctl status scan`命令查看SCAN IP及其监听器的状态。这有助于确认资源是否活跃。 ```bash srvctl status scan ``` 输出示例: ``` SCAN VIP scan1 is enabled SCAN VIP scan1 is running on node rac01 ``` 如果状态显示为"running",表示SCAN IP已绑定。 3. **停止SCAN资源以释放IP地址** 使用`srvctl stop scan`命令停止整个SCAN资源(包括SCAN VIPSCAN监听器)。停止后,虚拟网卡会释放IP地址。 ```bash srvctl stop scan ``` - **说明**:此命令会立即停止SCAN服务,客户端连接将中断。IP地址释放由集群自动处理,无需额外操作系统命令。 - **验证IP释放**:在操作系统层面检查IP是否解除绑定(例如使用`ifconfig`或`ip addr`): ```bash ip addr show | grep <SCAN_IP> # 替换<SCAN_IP>为实际地址,如192.168.6.155 ``` 如果输出为空,表示IP已释放。 4. **可选:停止特定SCAN组件(如需部分操作)** 如果只需停止SCAN监听器(但通常SCAN VIP会连带释放),使用: ```bash srvctl stop scan_listener ``` 重新启动SCAN资源时,使用`srvctl start scan`恢复服务。 #### 注意事项 - **权限要求**:必须使用`grid`用户执行`srvctl`命令,否则会报权限错误。 - **错误处理**:如果遇到`ORA-27550`(集群无法确定私有网络),检查`cluster_interconnects`参数设置[^2]。 - **影响**:停止SCAN IP会中断客户端连接,确保应用已切换或维护窗口开启。 - **备份**:操作前备份集群配置:`crsctl export cluster -output cluster_backup.xml`。 - **自动化脚本**:对于重复任务,可封装为Shell脚本,但手动操作更安全。 此方法基于Oracle官方推荐实践,通过`srvctl`管理节点应用程序(如SCAN VIP),确保资源释放可靠[^3]。如果问题持续,检查网络配置或集群日志(`$GRID_HOME/log/<node>/alert<node>.log`)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值