drop再重建表後對應的許可權缺失問題

2021-06-25 17:16:35 字數 623 閱讀 7170

--問題描述:

今天開發發現測試環境一張表的許可權沒有了,而最近沒有過對這張表的許可權更改。

需要找回對應的許可權

--問題分析:

這個問題應該是這張表最近被drop掉了,然後重建導致的。

因為drop表之後,對於這張表的許可權會一併消失,而同義詞不會受到影響

--問題解決:

首先查了一下這個使用者下對另外乙個使用者的表的許可權

select * from dba_tab_privs where grantee='usera' andowner='userb';

發現果然那張表沒有了,對應的發現有tablename=bin$/tihazfikllgrqaaaaaaaq==$0的許可權

可以知道這張表是被刪除了。

根據**站名bin$/tihazfikllgrqaaaaaaaq==$0查詢原表名

select * from dba_recyclebin whereobject_name='bin$/tihazfikllgrqaaaaaaaq==$0'

查到原表名果然是被刪除掉的表

再次給usera賦權

grant select,update,insert,delete on userb.table_name tousera;

Oracle資料表被drop後的恢復

對於被drop 的表和索引,都會存放在 站中 所以對於生產的資料庫必須設定好 站功能 由於本次生成環境在drop 掉已有的表後,又一次建立了很多的表,全部直接還原的話會提示原有物件存在,表名反覆。當中解決方法是 先重新命名已經存在的表名,讓後還原刪除的表,最後進行資料合併 1 重新命名已經存在的表 ...

oracle怎麼恢復drop的表

檢視 站中表 select object name,original name,partition name,type,ts name,createtime,droptime from recyclebin 恢復表sql flashback table test drop to before dro...

大表DROP刪除小技巧

在日常工作中,經常會遇到歷史大表從主庫上遷移到備份機,以便騰出主庫空間,那麼如果你直接drop table 後,可能會引起資料庫抖動,連線數公升高等問題,從而影響業務。那麼用乙個小技巧,即可輕鬆平滑的從主庫上刪除歷史大表。1 建立乙個硬鏈結,在drop table 表時,欺騙 mysql已經刪除完畢...