oracle - dbms_transaction.commit_comment 的权限不足
问题描述
由于挂起的分布式事务,试图设置记录锁的场景。
目标:将一些行放入 DBA_2PC_PENDING 用于培训目的并强制提交/回滚/清除条目等。
根据数据库管理员指南 (12c)
https://docs.oracle.com/database/121/ADMIN/ds_txnman.htm#ADMIN12285
在第35.9 节模拟分布式事务失败
下面的代码应该完成我需要的:
DECLARE
l_tran_id VARCHAR2(200);
BEGIN
l_tran_id := dbms_transaction.local_transaction_id(true);
DBMS_OUTPUT.PUT_LINE('l_tran_id: ' ||l_tran_id);
abc.package1.proc1@DB2 ( parm1 => 'XXX' );
COMMIT COMMENT 'ORA-2PC-CRASH-TEST-5';
END;
但是当我运行它时,我得到ORA-01031:权限不足,错误指向持有提交的行。
如果我改为COMMIT COMMENT 'hooray';
我没有收到错误,但我当然没有收到待处理交易的结果。
它抱怨什么特权?
解决方案
推荐阅读
- r - 具有三个逻辑条件 R 的 SUM(已编辑)
- python - 滑动 QStackedWidget 页面
- c - C 结构上的共享内存无法正常工作
- java - 我如何获得任何日期时间字符串的日期格式?
- python - 3D Max 修改器索引混乱
- html - 当我将其位置设置为绝对时,该元素不会出现
- reactive-programming - Reactor 3.x:是否有throttleLatest(合并)的运算符?
- c# - ASP.NET MVC Web 应用程序为 CSS 和 JS 文件返回 404(在调试模式下)
- json - 将 json null 解组为 NullString 的指针
- c++ - 等待 qthread 终止的正确方法是什么?