撤銷PUBLIC某些權限後expdp導出報錯“UDE-00018: 數據泵客戶機與數據庫版本不兼容”的解決方法

oracle數據庫被掃描出以下漏洞

UTL_TCP 被授權給 PUBLIC

UTL_HTTP被授權給PUBLIC

UTL_SMTP被授予給PUBLIC

CTX_DOC.MARKUP執行權限被授予public

DBMS_EXPORT_EXTENSION.GETDOMAIN_INDEX_METADATA 執行權限授予public

DBMS_METADATA.GET_DDL 執行權限授予public

DRILOAD.VALIDATE_STMT 執行權限授予public

運維的同事使用以下命令撤銷了PUBLIC 的某些權限

revoke execute on UTL_HTTP from PUBLIC;
revoke execute on UTL_TCP from PUBLIC;
revoke execute on UTL_SMTP from PUBLIC;
revoke execute on CTX_DOC from PUBLIC;
revoke execute on DBMS_METADATA from PUBLIC;
revoke execute on CTXSYS.DRILOAD from PUBLIC;

一週後才發現自動備份失效了,手動執行expdp提示 UDE-00018: 數據泵客戶機與數據庫版本不兼容

原因:PUBLIC是所有角色的集合,撤銷PUBLIC的權限時,業務用戶和備份用戶的權限也被撤銷了。而影響導出的權限是DBMS_METADATA

解決方法:給業務和備份用的數據庫賬號添加被撤銷的權限

grant execute on DBMS_METADATA to XXXXXX;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章