toad在RAC环境下无法调试oracle存储过程的解决办法
来源:互联网 发布:微信商城淘宝客 编辑:程序博客网 时间:2024/05/20 04:28
操作环境:
server : oracle 10g RAC
client : toad for oracle 8.6
问题现象描述:
将存储过程load in editor,设置断点,运行后依次发生下列错误提示:
ORA-12560: TNS:protocol adapter error
Cannot connect debug session. In order to debug when connected to a RAC instance you must have entries for the individual RAC instances in your tnsnames.ora file or connect directly to an individual RAC instance.
google后得知:
源文档 <http://asktoad.com/DWiki/doku.php/faq/answers/procedure_editor?DokuWiki=e217ad0ed5bdf990bcc4b95bb9be96b9>
When using the PL/SQL Debugger with a RAC database, you must either have an additional entry in your TNSNames.ora file for the connected instance, or you must connect directly to an instance of the cluster without letting the server assign an instance.
During debugging, Toad creates two background sessions for handling debugger calls, called the Target and Debug sessions. These two sessions must be created on the same instance as the main Toad session, because Oracle does not support Debugging across RAC instances.
To accomplish this, Toad queries the data dictionary to find the current instance name, then searches the TNSNames.ora file, starting at the beginning, for the first entry which has either the SERVICE_NAME or INSTANCE_NAME equal to the name found in the data dictionary. Toad will then use this secondary TNSNames entry when creating the background debugger sessions.
For example, in a two node RAC environment, a user would have their main RAC entry looking something like this:
RAC =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.0.0.1)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.0.0.2)(PORT = 1521)) )
(LOAD_BALANCE = ON)
(CONNECT_DATA =
(SERVICE_NAME = RAC)
(FAILOVER_MODE = (TYPE = SELECT)
(METHOD = BASIC)
(RETRIES = 180)
(DELAY = 5)
)
)
)
In this two node environment, the user would then need to have two additional TNSNames entries, one each for the individual instances in the RAC. In these entries, the can either use the syntax:
RAC1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = RAC) # notice the difference
(INSTANCE_NAME = RAC1) # betwen this
)
)
或者
RAC2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.0.0.2)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = RAC) # and this [红色部分原为“RAC2”,但依据上下文,改为“RAC”便于理解和操作]
)
)
经测试以上两种方案均可行,个人理解就是在客户端通过修改tnsnames.ora文件,将服务器端双机环境转换成单机环境,请注意此操作并不对oracle服务器端环境作任何改变。
参考:<http://asktoad.com/DWiki/doku.php/faq/answers/procedure_editor?DokuWiki=e217ad0ed5bdf990bcc4b95bb9be96b9>
- toad在RAC环境下无法调试oracle存储过程的解决办法
- TOAD 调试存储过程
- TOAD 调试存储过程的方法
- 不错的Oracle存储过程开发软件Toad
- oracle存储过程无法调试
- RAC环境下 oracle em无法启动的问题
- Oracle RAC:生产环境下的搭建过程
- 关于在查询分析器下调试存储过程提示Sqlle.dll错误的一种解决办法
- Oracle在RAC环境下远程客户端连接的问题
- 在RAC环境下修改Oracle字符集
- oracle 存储过程无法单步调试
- rac环境下使用plsql调试过程卡死
- oracle存储过程的调试
- oracle存储过程的调试
- Oracle RAC 环境下的连接管理
- Oracle RAC 环境下的连接管理
- Oracle RAC 环境下的连接管理
- Oracle RAC 环境下的连接管理
- 解决问题(一)——Exception
- 嫦娥一号实时模拟
- VS2005 常用小技巧之一
- SWT 多线程
- ADSL宽带日常故障及解决方法
- toad在RAC环境下无法调试oracle存储过程的解决办法
- Windows Communication Foundation (WCF)和Windows CardSpace
- 五本最有内容的电子杂志
- [视频]学打羽毛球21-25
- SWT 全接触
- SoftKey.Solutions.SENTINEL.Emulator.2007.FIXED-EDGE
- 在Blog上添加一个聊天器
- Hive7-基于AJAX的虚拟社区[超强]
- 不要靠技术生存一辈子[转]