Oracle-禁止使用者對自己的表執行drop,alter操作
在大型專案的資料管理中,資料庫的安全隱患非常大,既要允許開發人員能夠登陸資料庫,查詢資料,但是又不能對錶進行刪除,修改許可權。針對這種情況有兩種解決方案:
1.在sys使用者建立觸發器,不允許使用者刪除和修改表。
2.建立B使用者,給B使用者對A使用者表的insert,update許可權,不給其他許可權。
這裡先說下1的實現:
[@more@]CREATE OR REPLACE TRIGGER T_TEST
BEFORE DROP OR ALTER ON database
DECLARE
BEGIN
IF ora_dict_obj_owner = 'TEST' AND ora_sysevent = 'DROP' THEN
raise_application_error(-20002,'不允許刪除物件');
ELSIF ora_dict_obj_owner = 'TEST' AND ora_sysevent = 'ALTER' THEN
RAISE_APPLICATION_ERROR(-20001,'不允許修改物件結構');
END IF;
END;
這個是在sys使用者下建立觸發器,如果在使用者下建立database
要換成schema
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25261409/viewspace-1055181/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- alter database offline 與 alter database offline drop效果比對Database
- alter database datafile offline drop 與 alter tablespace drop datafile 區別Database
- alter database drop datafile 與 drop tablespace file 的區別Database
- 禁止使用者的DDL操作
- 關於drop操作對role的影響
- Oracle-繫結執行計劃Oracle
- alter database datafile .... offline drop的問題Database
- alter database datafile 4 offline drop;Database
- mysql表操作(alter)/mysql欄位型別MySql型別
- SQL Server 操作要重建表被禁止SQLServer
- 禁止DDL執行的trigger
- db2 恢復drop後的表的一個操作DB2
- Oracle不正規操作導致drop表空間drop使用者報錯ora38301(記錄,未解決)Oracle
- apache禁止執行php檔案ApachePHP
- mysql加快alter操作MySql
- v$lock之alter table drop column與alter table set unused column區別系列五
- 對線性表的操作
- 怎樣讓sys使用者執行exp操作
- alter database datafile offline drop相關問題Database
- 資料庫審計(create/alter/drop table、user、tablespace)資料庫
- alter system switch logfile的執行時間是多久。
- [重慶思莊每日技術分享]-執行DROP USER ... CASCADE操作刪除很慢
- 停庫前執行alter system checkpoint 很重要!
- 主執行緒中也不絕對安全的 UI 操作執行緒UI
- ABAP中對內表進行clear操作時的注意點
- Alter修改表結構對資料儲存的影響PP
- 使用正則不允許對整表進行操作
- oracle 11g之alter table drop unused columns checkpoint刪除表不可用列系列二Oracle
- alter session enable parallel dml 使DML語句並行執行SessionParallel並行
- 利用觸發器監控對某個表操作的使用者資訊觸發器
- Android 程式執行之後,禁止休眠Android
- alter table table_name move ; 在自身表空間move是如何操作的?
- 對刪除分割槽的分割槽表執行TSPITR
- 對分割槽表的部分分割槽執行TSPITR
- mysql執行truncate drop 時卡死問題解決MySql
- Oracle-監控使用者鎖Oracle
- 執行緒操作執行緒
- 使用RMAN執行維護操作——RMAN使用者手冊