Oracle:ORA-XXXXX代码的符号名称和逻辑分组?

时间:2009-06-08 02:07:28

标签: oracle error-handling

所以我进入并将TAF(集群故障转移)处理添加到某些数据库代码中,并且我正在清理类似的代码块,如下所示:

        try:
            ... some database code...
        except cx_Oracle.DatabaseError,e:
            # ORA-25401: can not continue fetches
            # ORA-25402: transaction must roll back
            # ORA-25408: can not safely replay call
            if e.message.code in (25401,25402,25408):
                print 'node going down, restarting transaction...'
                conn.rollback()
                continue
            else:
                raise(e)
  1. 是否有任何地方可以为这些代码获取一些符号名称?
  2. 是否有任何逻辑返回码分组来源?即这些是与节点发生故障导致的事务失败有关的问题,如果重试将被重定向到另一个节点并成功执行。
  3. 更新:结果是答案为否和否。

3 个答案:

答案 0 :(得分:1)

你检查http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28370/errors.htm了吗?您可以使用预定义的异常列表。接下来,您可以定义将逻辑名称与错误代码相关联的用户异常。

错误分组是不可能的AFAIK。

我希望这有帮助, Ronald

答案 1 :(得分:0)

答案 2 :(得分:0)

当然,您可以在Oracle linux / unix安装上使用oerr实用程序。在Windows上有一些替代方案(12) - 不确定它们是否相同 - 。

参考文献: