常用的事件属性函数如下:
Ora_client_ip_address 返回客户端的ip地址 类型为varchar2
Ora_database_name 返回当前数据库名 类型为varchar2(50)
Ora_des_encrypted_password 返回des加密后的用户口令 类型为varchar2
Ora_dict_obj_name 返回ddl操作所对应对象名 类型为varchar2(30)
Ora_dict_obj_name_list(name_list out ora_name_list_t) 返回在事件中被修改的对象名个数 类型为binary_integer
Ora_dict_obj_owner 返回ddl操作所对应的对象的所有者名
Ora_dict_obj_owner_list(owner_list out ora_name_list_t) 返回在事件中被修改的对象的所有者列表 类型为binary_integer
Ora_dict_obj_type 返回ddl操作所对应的数据库对象的类型 类型为varchar2(20)
Ora_grantee(user_list out ora_name_list_t) 返回授权事件的授权者 类型为binary_integer
Ora_instance_num 返回例程号 类型为number
Ora_is_alter_column(column_name in varchar2) 检测特定列是否被修改 类型为boolean
Ora_is_creating_nested_table 检测是否正在建立嵌套表 类型为boolean
Ora_is_drop_column(column_name in varchar2) 检测特定列是否被删除 类型为boolean
Ora_is_servererror(error_number) 检测是否返回了特定oracle错误
Ora_login_user 返回登录用户名 类型为varchar2(30)
Ora_sysevent 返回触发器的系统事件名。
ora_partition_pos 用于确定sql语句中插入partion子句的位置,返回类型为binary_integer.
ora_privileg_list(privilege_list out ora_name_list_t) 返回被授予或是被收回权限的个数 返回类型为binary_integer
ora_revokee(user_list out ora_name_list_t) 返回被收回权限的用户个数 返回类型为binary_integer
ora_server_error(position) 返回在错误堆栈中特定错误位置所对应的错误号 类型为number
ora_server_error_depth 返回在错误堆栈中错误消息的总数 返回类型为binary_integer
ora_server_error_msg(position in binary_integer) 返回在错误堆栈中特定错误位置的错误消息 类型为varchar2
ora_sql_txt(sql_text out ora_name_list_t) 返回触发器语句sql文本的元素个数 类型为binary_integer
ora_with_grant_option 用于确定授权是否带有with grant option选项 类型为boolean
1、 USERENV(OPTION)
返回当前的会话信息.
OPTION='ISDBA'若当前是DBA角色,则为TRUE,否则FALSE.
OPTION='LANGUAGE'返回数据库的字符集.
OPTION='SESSIONID'为当前会话标识符.
OPTION='ENTRYID'返回可审计的会话标识符.
OPTION='LANG'返回会话语言名称的ISO简记.
OPTION='INSTANCE'返回当前的实例.
OPTION='terminal'返回当前计算机名
SELECT USERENV('LANGUAGE') FROM DUAL;
2、sys_context
select
SYS_CONTEXT('USERENV','TERMINAL') terminal,
SYS_CONTEXT('USERENV','LANGUAGE') language,
SYS_CONTEXT('USERENV','SESSIONID') sessionid,
SYS_CONTEXT('USERENV','INSTANCE') instance,
SYS_CONTEXT('USERENV','ENTRYID') entryid,
SYS_CONTEXT('USERENV','ISDBA') isdba,
SYS_CONTEXT('USERENV','NLS_TERRITORY') nls_territory,
SYS_CONTEXT('USERENV','NLS_CURRENCY') nls_currency,
SYS_CONTEXT('USERENV','NLS_CALENDAR') nls_calendar,
SYS_CONTEXT('USERENV','NLS_DATE_FORMAT') nls_date_format,
SYS_CONTEXT('USERENV','NLS_DATE_LANGUAGE') nls_date_language,
SYS_CONTEXT('USERENV','NLS_SORT') nls_sort,
SYS_CONTEXT('USERENV','CURRENT_USER') current_user,
SYS_CONTEXT('USERENV','CURRENT_USERID') current_userid,
SYS_CONTEXT('USERENV','SESSION_USER') session_user,
SYS_CONTEXT('USERENV','SESSION_USERID') session_userid,
SYS_CONTEXT('USERENV','PROXY_USER') proxy_user,
SYS_CONTEXT('USERENV','PROXY_USERID') proxy_userid,
SYS_CONTEXT('USERENV','DB_DOMAIN') db_domain,
SYS_CONTEXT('USERENV','DB_NAME') db_name,
SYS_CONTEXT('USERENV','HOST') host,
SYS_CONTEXT('USERENV','OS_USER') os_user,
SYS_CONTEXT('USERENV','EXTERNAL_NAME') external_name,
SYS_CONTEXT('USERENV','IP_ADDRESS') ip_address,
SYS_CONTEXT('USERENV','NETWORK_PROTOCOL') network_protocol,
SYS_CONTEXT('USERENV','BG_JOB_ID') bg_job_id,
SYS_CONTEXT('USERENV','FG_JOB_ID') fg_job_id,
SYS_CONTEXT('USERENV','AUTHENTICATION_TYPE') authentication_type,
SYS_CONTEXT('USERENV','AUTHENTICATION_DATA') authentication_data
from dual