问题描述
我在DBA_TAB_PRIVS中发现了在DBA_OBJECTS中没有相应记录的记录。
返回对表定义的权限。
不返回任何记录。
此数据库中有一个进程正在尝试为dba_tab_prips中找到的PRIs来处理REVEY语句,但是语句会爆炸,因为对象似乎不存在(在DBA_OBJECTS中)。如果这些语句没有出现在DBA_TAB_PRIVS中,我如何处理它们(以将它们从DBA_TAB_PRIVS中取出)目标?
谢谢
select * from dba_tab_privs where owner='ODSMGR' and table_name like 'BIN$%';复制
返回对表定义的权限。
select * from dba_objects where owner='ODSMGR' and object_name like 'BIN$%';复制
不返回任何记录。
此数据库中有一个进程正在尝试为dba_tab_prips中找到的PRIs来处理REVEY语句,但是语句会爆炸,因为对象似乎不存在(在DBA_OBJECTS中)。如果这些语句没有出现在DBA_TAB_PRIVS中,我如何处理它们(以将它们从DBA_TAB_PRIVS中取出)目标?
谢谢
专家解答
BIN$前缀用于回收站中的表。
在删除表之后,缺省情况下,数据库将其放在回收站*中。这使您能够快速恢复它(使用闪回表...如果你犯了一个错误!
数据库保留所有权限、索引等。与表关联,以使此恢复尽可能平稳。
您可以查询回收站以检查其中有哪些对象:
How can I process these REVOKE statements (to get them out of DBA_TAB_PRIVS) when they don't show up in DBA_OBJECTS?
您不应该这样做,因为如果您想取消删除该表,您几乎肯定也要恢复特权。
如果您绝对必须这样做,则可以通过引用对象名称来执行此操作:
或者-如果你确定don't要恢复这些表-您可以清空回收站:
如果需要,您可以清除特定的表、表空间和索引,而不是清除全部。
*如果禁用了回收站,或者在删除表时添加了清除子句,则将永久删除
在删除表之后,缺省情况下,数据库将其放在回收站*中。这使您能够快速恢复它(使用闪回表...如果你犯了一个错误!
数据库保留所有权限、索引等。与表关联,以使此恢复尽可能平稳。
您可以查询回收站以检查其中有哪些对象:
create table t ( c1 int ); insert into t values ( 1 ); commit; grant select on t to u; drop table t; select table_name from dba_tab_privs where table_name like 'BIN$%'; TABLE_NAME BIN$y3nmmCjgXJXgUwsAAAqPuw==$0 select * from dba_objects where object_name like 'BIN$%'; no rows selected select object_name from recyclebin where original_name = 'T'; OBJECT_NAME BIN$y3nmmCjgXJXgUwsAAAqPuw==$0复制
How can I process these REVOKE statements (to get them out of DBA_TAB_PRIVS) when they don't show up in DBA_OBJECTS?
您不应该这样做,因为如果您想取消删除该表,您几乎肯定也要恢复特权。
如果您绝对必须这样做,则可以通过引用对象名称来执行此操作:
revoke select on "BIN$y3nmmCjgXJXgUwsAAAqPuw==$0" from u; select table_name from dba_tab_privs where table_name like 'BIN$%'; no rows selected复制
或者-如果你确定don't要恢复这些表-您可以清空回收站:
select object_name from recyclebin where original_name = 'T'; OBJECT_NAME BIN$y3nmmCjgXJXgUwsAAAqPuw==$0 purge recyclebin; select object_name from recyclebin where original_name = 'T'; no rows selected复制
如果需要,您可以清除特定的表、表空间和索引,而不是清除全部。
*如果禁用了回收站,或者在删除表时添加了清除子句,则将永久删除
文章转载自askTom,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
603次阅读
2025-04-15 17:24:06
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
591次阅读
2025-04-18 14:18:38
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
497次阅读
2025-04-08 09:12:48
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
479次阅读
2025-04-20 10:07:02
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
464次阅读
2025-04-22 00:20:37
Oracle 19c RAC更换IP实战,运维必看!
szrsu
440次阅读
2025-04-08 23:57:08
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
438次阅读
2025-04-22 00:13:51
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
429次阅读
2025-04-17 17:02:24
火焰图--分析复杂SQL执行计划的利器
听见风的声音
371次阅读
2025-04-17 09:30:30
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
361次阅读
2025-04-15 14:48:05