温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

oracle 10g 远程连接asm

发布时间:2020-06-26 19:37:49 来源:网络 阅读:722 作者:jsj_007 栏目:关系型数据库

asm远程连接可能会遇到以下报错:

ORA-12505 TNS:listener could not resolve SID given in connect descriptor
ORA-12541: TNS:no listener
ORA-15000: command disallowed by current instance type
ORA-12528: TNS:listener: all appropriate instances are blocking new connections
ORA-1031:   insufficient privileges

asm远程连接配置如下:
参数配置:

remote_login_passwordfile = exclusive ... for stand alone ASM setups
remote_login_passwordfile = shared ... for ASM setups that also use Real Application Cluster (RAC)

节点1:

[oracle@prodb1 admin]$ cat listener.ora 
SID_LIST_LISTENER_prodb1 =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
      (PROGRAM = extproc)
     (SID_DESC =
       (SID_NAME = +ASM1)  
       (GLOBAL_DBNAME  = +ASM)  
       (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
    )
  )

LISTENER_prodb1 =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = prodb1-vip)(PORT = 1521)(IP = FIRST))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.10.101)(PORT = 1521)(IP = FIRST))
    )
  )

节点2:

[oracle@prodb2 admin]$ cat listener.ora 

SID_LIST_LISTENER_prodb2 =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
      (PROGRAM = extproc)
     (SID_DESC =
       (SID_NAME = +ASM2)  
       (GLOBAL_DBNAME  = +ASM)  
       (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
    )
  )

LISTENER_prodb2 =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = prodb2-vip)(PORT = 1521)(IP = FIRST))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.10.102)(PORT = 1521)(IP = FIRST))
    )
  )

客户端tnsname.ora:

ASM1 =  
   (DESCRIPTION =  
     (ADDRESS_LIST =  
       (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.10.101)(PORT = 1521))  
     )  
     (CONNECT_DATA =  
       (SERVICE_NAME = +ASM)  
    (UR=A)
     )  
   )  

ASM2 =  
   (DESCRIPTION =  
     (ADDRESS_LIST =  
       (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.10.102)(PORT = 1521))  
     )  
     (CONNECT_DATA =  
       (SERVICE_NAME = +ASM)  
    (UR=A)
     )  
   )

ASM =  
   (DESCRIPTION =  
     (ADDRESS_LIST =  
       (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.10.102)(PORT = 1521))  
       (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.10.101)(PORT = 1521))
     )  
     (CONNECT_DATA =  
       (SERVICE_NAME = +ASM)  
    (UR=A)
     )  
   )

关键部分为 (UR=A),如果不配置该选项,则连接的时候报:

$ sqlplus sys/admin@asm1 as sysdba

SQL*Plus: Release 10.2.0.5.0 - Production on чǚ̄ 7Ղ 5 21:44:30 2018

Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.

ERROR:
ORA-12528: TNS:listener: all appropriate instances are blocking new connections

UR=A选项通常用来连接使用nomount,mount或restricted模式启动数据库。

数据库启动到nomount,监听状态为BLOCKED;
数据库启动到mount,监听状态为READY;
数据库启动到restrict,监听状态为RESTRICT;
静态注册的asm为BLOCKED

参考自:How to connect to ASM instance from a remote client (Oracle Net) (文档 ID 340277.1)

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI