資料庫登入留痕功能新增
使用場景:沒有資料庫審計相關產品輔助,資料庫也不想開啟審計功能,但想要統計資料庫使用者登入行為的資料。
解決辦法:建立觸發器,將每一條登入行為資訊記錄到資料庫特定的表中,供隨時查詢分析。具體程式碼如下:
1.建立資訊記錄表。
/* Formatted on 2021/2/5 11:25:14*/
CREATE TABLE login_ip_record
(
ip VARCHAR ( 30 ),
u_name VARCHAR ( 30 ),
hostname VARCHAR ( 60 ),
OS_USER VARCHAR ( 30 ),
t_time DATE
);
2.建立觸發器。
/* Formatted on 2021/2/5 11:25:32*/
CREATE OR REPLACE TRIGGER logon_ip_control
AFTER LOGON
ON DATABASE
DECLARE
ip STRING ( 30 );
USER STRING ( 30 );
hostname STRING ( 60 );
OS_USER STRING ( 30 );
t_time DATE ;
BEGIN
SELECT SYS_CONTEXT ( 'USERENV' , 'SESSION_USER' ) INTO USER FROM DUAL ;
SELECT SYS_CONTEXT ( 'USERENV' , 'IP_ADDRESS' ) INTO ip FROM DUAL ;
SELECT REPLACE (SUBSTR (SYS_CONTEXT ( 'USERENV' , 'HOST' ), 1 , 30 ), '\' , ':' )
INTO hostname
FROM DUAL ;
SELECT SYS_CONTEXT ( 'USERENV' , 'OS_USER' ) INTO OS_USER FROM DUAL ;
SELECT SYSDATE INTO t_time FROM DUAL ;
INSERT INTO login_ip_record
VALUES ( ip ,
USER,
hostname ,
OS_USER ,
t_time );
COMMIT;
END;
/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69994536/viewspace-2756261/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux作業系統登入留痕功能Linux作業系統
- 填報表之資料留痕
- 10.註冊和登入功能實現(3)—— 註冊資料寫入資料庫資料庫
- 在Eclipse中用Java和MySql資料庫實現登入功能EclipseJavaMySql資料庫
- Oracle新建資料庫並登入Oracle資料庫
- "留拍"-註冊/登入詳解
- 在登入資料庫的使用!sql資料庫SQL
- CAS 5.3使用MySQL資料庫登入MySql資料庫
- sqlplus能登入資料庫,但plsql登入不上SQL資料庫
- WebForm登入頁面(連線資料庫)WebORM資料庫
- 察看當前Session登入的資料庫Session資料庫
- AndroidStudio通過一個登入功能介紹SQLite資料庫的使用AndroidSQLite資料庫
- IndexedDB 資料庫新增資料Index資料庫
- 使用Oracle外部身份認證登入資料庫Oracle資料庫
- 使用Oracle安裝賬戶登入資料庫Oracle資料庫
- 資料庫的登入限制該怎麼實現?資料庫
- RAC禁止某個客戶端登入資料庫客戶端資料庫
- SQLServer批量新增資料庫SQLServer資料庫
- android sqlite資料庫 新增資料AndroidSQLite資料庫
- springmvc入門登入功能SpringMVC
- Python3爬蟲資料入資料庫---把爬取到的資料存到資料庫,帶資料庫去重功能Python爬蟲資料庫
- 破解 MySQL5.7 資料庫的 root 登入密碼MySql資料庫密碼
- javaweb專案(1)連線資料庫,登入註冊JavaWeb資料庫
- 客戶端使用sysdba許可權登入資料庫客戶端資料庫
- 資料庫使用者登入、切換以及解鎖資料庫
- java 實現excel中的資料匯入到資料庫的功能JavaExcel資料庫
- 如何用flask在資料庫新增資料Flask資料庫
- PHP中CakePHP新增資料庫PHP資料庫
- PHP註冊登入:包括資料存入資料庫,生成隨機驗證碼PHP資料庫隨機
- 長沙市政協委員王佳建議:資料上鍊“全程留痕” 解決民生領域痛點
- 破解 MariaDB5.5 資料庫的 root 登入密碼資料庫密碼
- 登入 Oracle 資料庫報錯,ORA-00257: archiver errorOracle資料庫HiveError
- [Flashback]開啟資料庫閃回資料庫功能資料庫
- 登入介面:從資料庫中獲取資訊驗證登入(與註冊介面相聯絡)資料庫
- 新增時--sqlserver資料庫跟蹤SQLServer資料庫
- 為資料庫新增控制檔案資料庫
- srvctl新增資料庫資訊報錯資料庫
- java JDBC練手過程:使用者登入功能的實現—從前端到後臺(包括資料庫)JavaJDBC前端資料庫