oracle - 使用 Oracle 撤销事务
问题描述
我正在尝试使用此脚本撤销与 Oracle 12c 的事务:
DECLARE
v_xid SYS.xid_array;
BEGIN
v_xid := sys.xid_array ('0700200003030000');
DBMS_FLASHBACK.transaction_backout (numtxns => 1, xids => v_xid, options =>
DBMS_FLASHBACK.cascade);
END;
/
我收到此错误:
ORA-06550: Ligne 2, colonne 9 :
PLS-00201: l'identificateur 'SYS.XID_ARRAY' doit être déclaré
我怎样才能解决这个问题?
解决方案
您是否与DBA
特权相关联?如果没有,您确定您拥有与SYS
对象交互的必要权限吗?SYS
作为普通用户,除非明确授予您访问权限,否则您将无法与某些对象进行交互。PUBLIC
如果您在组织的数据库中工作,则尤其如此,因为从角色中撤消所有授权是很常见的。
如果这是权限问题,那么您无法自行修复它。如果您有访问权限,您可以尝试连接该SYSDBA
角色。如果您没有该访问权限,则需要向DBA
管理数据库的人员请求。
如果这是您用于测试/学习的数据库并且您不确定,我建议您通过以下链接查看 Oracle 的角色文档:https ://docs.oracle.com/database/121/DBSEG/授权.htm#DBSEG004
这里还有一篇很棒的 ask tom 文章,其中谈到了SYS
架构和SYSDBA
角色。 https://asktom.oracle.com/pls/asktom/f?p=100:11:0%3A%3A%3A%3AP11_QUESTION_ID:2659418700346202574
推荐阅读
- javascript - 我无法访问函数外部的局部变量
- javascript - setInterval 超时后调用父函数
- reactjs - TypeError: todos.map 不是函数
- google-cloud-platform - Instance Group 签署了多个后端服务
- visual-studio - “缺少一些必需的Android组件。双击此处并按照提示安装它们。”,但是当我单击它时没有任何反应
- svg - Apache Batik 中 PNG 渲染期间的文本扭曲
- c# - Xamarin Forms FindByName 始终返回 null
- matlab - 当我输入双引号时,它们是红色的
- sql - 如何在postgresql中将不同表中的不同列相乘
- javascript - 为什么我的主导航栏被渲染了两次?