Oracle中的访问控制监控

Access control monitoring in Oracle

是否有任何 table 或日志显示对 oracle 数据库的连接尝试(我不是指活动会话,而是尝试,即使它们已经失败或被拒绝)?

我需要的信息是进行尝试的 IP、使用的用户、使用的 executable(sqlplus、toad、sqldeveloper、java ...)等.

我猜你需要 Oracle Listener logging.

您可以使用数据库触发器,请参阅 CREATE TRIGGER

示例:

CREATE OR REPLACE TRIGGER MY_TRIGGER
    AFTER LOGON ON DATABASE
DECLARE

BEGIN           
    INSERT INTO LOG_TABLE 
    SELECT 
        USERNAME, OSUSER, MACHINE, PROGRAM, --> columns in V$SESSION
        ora_client_ip_address, ora_login_user, ora_sysevent --> Event Attributes from Trigger
    FROM V$SESSION 
    WHERE SID = SYS_CONTEXT('USERENV', 'SID')
    COMMIT;
END;
/

在这里您可以看到所有系统定义的事件属性的列表:Coding Triggers

但是,如前所述,这是一个 AFTER LOGON 触发器,因此不包括因密码错误导致的失败尝试!