oracle 10g 远程连接asm

前端之家收集整理的这篇文章主要介绍了oracle 10g 远程连接asm前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

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

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

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

节点1:

  1. [oracle@prodb1 admin]$ cat listener.ora
  2. SID_LIST_LISTENER_prodb1 =
  3. (SID_LIST =
  4. (SID_DESC =
  5. (SID_NAME = PLSExtProc)
  6. (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
  7. (PROGRAM = extproc)
  8. (SID_DESC =
  9. (SID_NAME = +ASM1)
  10. (GLOBAL_DBNAME = +ASM)
  11. (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
  12. )
  13. )
  14.  
  15. LISTENER_prodb1 =
  16. (DESCRIPTION_LIST =
  17. (DESCRIPTION =
  18. (ADDRESS = (PROTOCOL = TCP)(HOST = prodb1-vip)(PORT = 1521)(IP = FIRST))
  19. (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.10.101)(PORT = 1521)(IP = FIRST))
  20. )
  21. )

节点2:

  1. [oracle@prodb2 admin]$ cat listener.ora
  2.  
  3. SID_LIST_LISTENER_prodb2 =
  4. (SID_LIST =
  5. (SID_DESC =
  6. (SID_NAME = PLSExtProc)
  7. (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
  8. (PROGRAM = extproc)
  9. (SID_DESC =
  10. (SID_NAME = +ASM2)
  11. (GLOBAL_DBNAME = +ASM)
  12. (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
  13. )
  14. )
  15.  
  16. LISTENER_prodb2 =
  17. (DESCRIPTION_LIST =
  18. (DESCRIPTION =
  19. (ADDRESS = (PROTOCOL = TCP)(HOST = prodb2-vip)(PORT = 1521)(IP = FIRST))
  20. (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.10.102)(PORT = 1521)(IP = FIRST))
  21. )
  22. )

客户端tnsname.ora:

  1. ASM1 =
  2. (DESCRIPTION =
  3. (ADDRESS_LIST =
  4. (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.10.101)(PORT = 1521))
  5. )
  6. (CONNECT_DATA =
  7. (SERVICE_NAME = +ASM)
  8. (UR=A)
  9. )
  10. )
  11.  
  12. ASM2 =
  13. (DESCRIPTION =
  14. (ADDRESS_LIST =
  15. (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.10.102)(PORT = 1521))
  16. )
  17. (CONNECT_DATA =
  18. (SERVICE_NAME = +ASM)
  19. (UR=A)
  20. )
  21. )
  22.  
  23. ASM =
  24. (DESCRIPTION =
  25. (ADDRESS_LIST =
  26. (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.10.102)(PORT = 1521))
  27. (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.10.101)(PORT = 1521))
  28. )
  29. (CONNECT_DATA =
  30. (SERVICE_NAME = +ASM)
  31. (UR=A)
  32. )
  33. )

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

  1. $ sqlplus sys/admin@asm1 as sysdba
  2.  
  3. sql*Plus: Release 10.2.0.5.0 - Production on чǚ̄ 7Ղ 5 21:44:30 2018
  4.  
  5. Copyright (c) 1982,2010,Oracle. All Rights Reserved.
  6.  
  7. ERROR:
  8. 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)

猜你在找的Oracle相关文章