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 table drop unused columns checkpoint
- Oracle-繫結執行計劃Oracle
- mysql表操作(alter)/mysql欄位型別MySql型別
- mysql加快alter操作MySql
- SQL Server 操作要重建表被禁止SQLServer
- [重慶思莊每日技術分享]-執行DROP USER ... CASCADE操作刪除很慢
- create table,show tables,describe table,DROP TABLE,ALTER TABLE ,怎麼使用?
- Alter修改表結構對資料儲存的影響PP
- [20191104]禁止job以及SCHEDULER執行.txt
- mysql執行truncate drop 時卡死問題解決MySql
- undrop-for-innodb恢復drop的表
- 為什麼使用者執行緒必須對映到核心執行緒?執行緒
- MySQL alter table時執行innobackupex全備再看Seconds_Behind_MasterMySqlAST
- 執行緒的基本操作:新建和終止執行緒執行緒
- 多執行緒操作執行緒
- MySQL 給使用者新增 ALTER VIEW 的許可權MySqlView
- win10 禁止任務自動執行方法 win10自動執行程式怎麼禁止Win10行程
- Android JNI 中的執行緒操作Android執行緒
- 155 執行緒的相關操作執行緒
- appium 怎麼禁止跳出 app 的操作APP
- MySQL alter 新增列對dml影響MySql
- 多執行緒的執行緒狀態及相關操作執行緒
- 自己寫的殺mysql執行緒的指令碼MySql執行緒指令碼
- Oracle-欄位的新增Oracle
- win10如何禁止靜默執行_win10禁止靜默安裝方法Win10
- 執行alter database open resetlogs提示ORA-00392和ORA-00312錯誤Database
- Java 執行緒常用操作Java執行緒
- Win10使用Powershell提示禁止執行指令碼怎麼辦 Win10使用Powershell提示禁止執行指令碼如何解決Win10指令碼
- 自己動手寫SQL執行引擎SQL
- SQL—對資料表內容的基本操作SQL
- [重慶思莊每日技術分享]-在為表新增了列後執行ALTER TABLE SHRINK SPACE 提示ORA-8102
- JavaScript嚴格模式(三)- 物件的禁止操作JavaScript模式物件
- Junit5系列-Junit5中@Disabled禁止執行
- MySQL 執行原理【表】MySql
- java執行緒之守護執行緒和使用者執行緒Java執行緒
- 禁止oracle表的觸發器triggerOracle觸發器
- SpringBoot 對多執行緒的支援Spring Boot執行緒
- 6.3建立自己執行的二進位制檔案
- npm 執行時報錯“因為在此係統上禁止執行指令碼”解決辦法NPM指令碼