以sys用户创建那张表和两个触发器后再试试。我在8.16上试过是可以的。

解决方案 »

  1.   

    出现以下错误
    ERROR:
    ORA-04098: 触发器 'SYS.LOGIN_OFF_INFO' 无效且未通过重新确认
    ERROR:
    ORA-24315: 非法的属性类型
      

  2.   

    代码有错
    SELECT AUDSID,SYSDATE,NULL,SYS.LONG_USER,MACHINE,SYS_CONTEXT
    SYS.LONG_USER应该为SYS.LOGIN_USERWHERE OTHERS THEN
    WHERE应为WHEN
      

  3.   

    这段代码
    SELECT AUDSID,SYSDATE,NULL,SYS.LOGIN_USER,MACHINE,SYS_CONTEXT('USERENV','IP_ADDRESS'),PROGRAM
         FROM V$SESSION WHERE AUDSID=USERENV('SESSIONID');         
    能给我解释以下吗?
      

  4.   

    将上面的错误修改后还是没有写入
    AUDSID 表示什么意思?
    SYS.LOGIN_USER中的SYS是表示SYS用户吗?
    SYS_CONTEXT('USERENV','IP_ADDRESS') 表示什么意思?
    AUDSID=USERENV('SESSIONID') 表示什么意思?
      

  5.   

    AUDSID session号
    SYS.LOGIN_USER中的SYS是表示SYS用户下的函数
    SYS_CONTEXT('USERENV','IP_ADDRESS') 返回当前用户的ip地址
    USERENV('SESSIONID') 当前session号
      

  6.   

    上面的触发器我试过了,改了那两个错误后编译通过,SYSTEM用户登陆可以触发
    ????????
      

  7.   

    select * from login_log 为空?
      

  8.   

    编译出现这样的错误
    The following error has occurred:TRIGGER SYSTEM.LOGIN_ON_INFO
    On line:  4
    PLS-00201: 必须说明标识符 'SYS.V_$SESSION'
      

  9.   

    你的权限不足,用internal/oracle登录
      

  10.   

    下面的触发器的错误怎样修改?
    CREATE OR REPLACE TRIGGER DROP_INFO
    AFTER DROP ON DOCMAN.SCHEMA
    BEGIN
         INSERT INTO SYSTEM.DROP_LOG(
                             SESSION_ID,     
                             DROP_TIME,      
                             IP_ADDRESS,     
                             OBJECT_OWNER,   
                             OBJECT_NAME,    
                             OBJECT_TYPE,    
                             DROP_BY_USER)
                      VALUES(USERENV('SESSIONID'),
                             SYSDATE,
                             SYS.CONTEXT('USERENV','IP_ADDRESS'),
                             SYS.DICTIONARY_OBJ_OWNER,
                             SYS.DICTIONARY_OBJ_NAME,
                             SYS.DICTIONARY_OBJ_TYPE,
                             SYS.LOGIN_USER);
    END;
    The following error has occurred:TRIGGER SYS.DROP_INFO
    On line:  12
    PLS-00201: 必须说明标识符 'SYS.CONTEXT'
      

  11.   

    不是'SYS.CONTEXT'('USERENV','IP_ADDRESS'),
    是SYS_CONTEXT('USERENV','IP_ADDRESS')
      

  12.   

    有趣的现象:
    用SQLPLUSW登陆,LOGON_ON_TIME列有值,如果在SQLPLUSW中输入命令EXIT退出,LOGON_OFF_TIME列有值,如果点击右上方的*关闭,则LOGON_OFF_TIME列为空。(无论哪个用户)