記錄一個防止DDL的指令碼
create or replace trigger ddl_deny
before create or alter or drop or truncate on database
declare
l_errmsg varchar2(100):= 'You are not allowed to take this operation';
begin
if ora_sysevent = 'CREATE' then
raise_application_error(-20001, ora_dict_obj_owner || '.' || ora_dict_obj_name || ' ' || l_errmsg);
elsif ora_sysevent = 'ALTER' then
raise_application_error(-20001, ora_dict_obj_owner || '.' || ora_dict_obj_name || ' ' || l_errmsg);
elsif ora_sysevent = 'DROP' then
raise_application_error(-20001, ora_dict_obj_owner || '.' || ora_dict_obj_name || ' ' || l_errmsg);
elsif ora_sysevent = 'TRUNCATE' then
raise_application_error(-20001, ora_dict_obj_owner || '.' || ora_dict_obj_name || ' ' || l_errmsg);
end if;
exception
when no_data_found then
null;
end;
/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12361284/viewspace-1629/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 一鍵部署lamp指令碼記錄LAMP指令碼
- 獲取單個檢視DDL指令碼指令碼
- 批量生成DDL指令碼指令碼
- 前端js指令碼與防止js指令碼前端JS指令碼
- oracle獲取ddl指令碼Oracle指令碼
- 記錄一次 Online DDL 操作
- 使用DBMS_METADATA.GET_DDL獲取物件的DDL指令碼物件指令碼
- DBMS_METADATE.GET_DDL獲取物件DDL指令碼物件指令碼
- 開始你的第一個JMeter指令碼:利用Jmeter錄製指令碼的2種方法彙總JMeter指令碼
- 關聯物件(防止自己忘記記錄)物件
- 記錄資料庫所有ddl操作資料庫
- 防止指令碼重複執行方法指令碼
- DBMS_METADATA.GET_DDL獲取使用者ddl指令碼指令碼
- 記錄 react的常用指令React
- 簡單的反向生產DDL語句的指令碼指令碼
- 記錄一個sqlSQL
- 記錄一個簡陋的根據statspack查詢哪段時間事務量最大的指令碼指令碼
- 通過shell指令碼防止埠掃描指令碼
- 一個awk if 巢狀 if 的指令碼巢狀指令碼
- mysql的一個備份指令碼MySql指令碼
- Robot Framework(8)——指令碼語法示例記錄Framework指令碼
- 線上圖片批量更換指令碼記錄指令碼
- Oracle常用指令碼記錄,方便以後使用Oracle指令碼
- 記錄shell指令碼程式設計相關指令碼程式設計
- 一個分詞指令碼分詞指令碼
- SQL Server中快速生成大量記錄的SQL指令碼SQLServer指令碼
- Linux 中的網路指令:如何檢視一個域名有哪些 NS 記錄?Linux
- 獲取object的建立指令碼 - DBMS_METADATA.GET_DDLObject指令碼
- linux mysql定時備份指令碼記錄LinuxMySql指令碼
- 自動記錄MySQL慢查詢快照指令碼MySql指令碼
- 利用powershell指令碼Windows hosts記錄替換IP指令碼Windows
- 匯出oracle表記錄為insert指令碼Oracle指令碼
- 一個清理指令碼的改進思路指令碼
- 一個比較好的shell指令碼指令碼
- 一個自動ftp的指令碼(轉)FTP指令碼
- 【C/C++】ghost ddl指令碼簡單實現C++指令碼
- 監控某個目錄使用情況的shell指令碼指令碼
- 最簡單的一個powershell的指令碼指令碼