1.sysdba/sysoper 权限用户验证日志;
2.非sysdba/sysoper 权限用户验证日志;
3.关于sqlcode;

1.sysdba/sysoper 权限用户验证日志:
在数据库设置了参数 audit_sys_operations=true 的情况下,系统会根据 audit_trail 参数的设置记录 sysdba/sysoper 权限用户日志到 audit_file_dest
参数设置的目录下,记录日志的内容包括(数据库启动操作、登录验证信息、DML操作),其它非 sysdba/sysoper 权限的用户信息会被记录到AUD$表中;
audit_trail 可以设置为:DB、DB,EXTENDED、OS、XML,当audit_trail=xml 时产生的日志数量多慎用;

 SYS@sydb>show parameter audit

 NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest string /u01/app/admin/sydb/adump
audit_sys_operations boolean TRUE
audit_syslog_level string
audit_trail string DB [sywu@wusuyuan ~]$ cd /u01/app/admin/sydb/adump
[sywu@wusuyuan adump]$ rm *
[sywu@wusuyuan adump]$ sqlplus / as sysdba
SYS@sydb>show parameter audit 查看跟踪文件:
[sywu@wusuyuan adump]$ ls
sydb_ora_26587_1.aud
[sywu@wusuyuan adump]$ cat sydb_ora_26587_1.aud
Thu May 29 12:48:05 2014 +08:00
LENGTH : ''
ACTION :[] 'CONNECT' --执行操作,相关操作参照 audit_actions 表
DATABASE USER:[] '/'
PRIVILEGE :[] 'SYSDBA'
CLIENT USER:[] 'sywu'
CLIENT TERMINAL:[] 'pts/0'
STATUS:[] '' --状态,登录成功为:'0',失败为:'1017',值是数据库返回的sqlcode,
DBID:[] '' Thu May 29 12:48:05 2014 +08:00
LENGTH : ''
ACTION :[] 'BEGIN DBMS_OUTPUT.ENABLE(NULL); END;'
DATABASE USER:[] '/'
PRIVILEGE :[] 'SYSDBA'
CLIENT USER:[] 'sywu'
CLIENT TERMINAL:[] 'pts/0'
STATUS:[] ''
DBID:[] '' Thu May 29 12:48:23 2014 +08:00
LENGTH : '' --show parameter audit 语句产生的后台查询
ACTION :[] 'SELECT NAME NAME_COL_PLUS_SHOW_PARAM,DECODE(TYPE,1,'boolean',2,'string',3,'integer',4,'file',5,'number', 6,'big integer', 'unknown') TYPE,DISPLAY_VALUE VALUE_COL_PLUS_SHOW_PARAM FROM V$PARAMETER WHERE UPPER(NAME) LIKE UPPER(:NMBIND_SHOW_OBJ) ORDER BY NAME_COL_PLUS_SHOW_PARAM,ROWNUM'
DATABASE USER:[] '/'
PRIVILEGE :[] 'SYSDBA'
CLIENT USER:[] 'sywu'
CLIENT TERMINAL:[] 'pts/0'
STATUS:[] ''
DBID:[] ''

如果数据库启动为只读模式,则audit_trail 值默认为:OS;

 AUDIT_TRAIL initialization parameter is changed to OS, as DB,EXTENDED is NOT compatible for database opened with read-only access

2.非sysdba/sysoper 权限用户验证日志:
非sysdba/sysoper 权限用户验证日志会被记录在AUD$系统表上,aud$记录用户验证userId,userhost,action#,comment$text,process#,dbid..,当用户断开连接时
记录用户断开时间(LOGOFF$TIME);

 SYS@sydb> select sessionid,userhost,userid,to_char(TIMESTAMP#,'YYYY-MM-DD HH24:mi:ss')TIMESTAMP,action#,process#,LOGOFF$TIME,RETURNCODE
2 from aud$ where userid=upper('SYWU'); SESSIONID USERHOST USERID TIMESTAMP ACTION# PROCESS# LOGOFF$TIME RETURNCODE
---------- --------------- ------------- ------------------- ---------- ---------------- ------------------- ----------
########## wusuyuan SYWU 101 25404 2014-06-04 12:40:24 0
########## wusuyuan SYWU 100 25411 0
########## wusuyuan SYWU 101 25411 2014-06-04 12:41:18 0
########## wusuyuan SYWU 100 25413 0
########## wusuyuan SYWU 101 25413 2014-06-04 12:46:51 0
########## wusuyuan SYWU 100 25444 0
########## wusuyuan SYWU 101 25444 2014-06-04 12:50:36 0

sys.AUD$ 表所有者是SYS用户,占用SYSTEM表空间,长时间使用会存储很多信息,可以在sysdba权限用户下(截取、删除)数据:

 SYS@sydb>truncate table aud$;

也可以将表存储到其它表空间下:

 SYS@sydb>alter table aud$ move tablespace tbs02;

3.关于sqlcode:
在执行任何sql 时,后台都会返回sqlcode值,执行正确默认返回'0',如果发生错误或异常是返回错误值,类似我们看到的 ORA-00001 错误;

  OPS$LANSTON@sydb>declare
2 v_date date;
3 begin
4 select sysdate into v_date from dual;
5 dbms_output.put_line('this is v_date value:'||v_date);
6 dbms_output.put_line('this is database return sqlcode:'||sqlcode);
7 end;
8 /
this is v_date value:2014-06-04 21:12:51
this is database return sqlcode:0 PL/SQL procedure successfully completed.

当执行出错时:

 OPS$LANSTON@sydb>   declare
2 v_date date;
3 begin
4 execute immediate 'select tcol from dual' into v_date;
5
6 exception when others then
7 dbms_output.put_line('this is database return sqlcode:'||sqlcode);
8 dbms_output.put_line('this is database return error message:'||sqlerrm);
9 end;
10 /
this is database return sqlcode:-904
this is database return error message:ORA-00904: "TCOL": invalid identifier PL/SQL procedure successfully completed.

在PL/SQL体内执行DML操作时,建议使用 execute immediate 执行,这样容易捕获错误,并且可以在异常体对异常处理;如上例子如果不使用execute immediate 执行,数据库
在第一时间就抛出错误并终止程序运行;

Oracle 用户验证日志的更多相关文章

  1. Oracle用户,权限,角色以及登录管理 scoot 授权

    Oracle用户,权限,角色以及登录管理 1. sys和system用户的区别 system用户只能用normal身份登陆em.除非你对它授予了sysdba的系统权限或者syspoer系统权限. sy ...

  2. Oracle用户、角色、权限

    一.Oracle权限 系统权限:系统规定用户使用数据库的权限.(系统权限是对用户而言) 对象权限:某种权限用户对其它用户的表或视图的存取权限.(是针对表或视图而言的) 1.Oracle系统权限 ​ o ...

  3. Oracle补全日志(Supplemental logging)

    Oracle补全日志(Supplemental logging)特性因其作用的不同可分为以下几种:最小(Minimal),支持所有字段(all),支持主键(primary key),支持唯一键(uni ...

  4. Oracle用户被锁原因及办法

    Oracle用户被锁原因及办法   在登陆时被告知test用户被锁 1.用dba角色的用户登陆,进行解锁,先设置具体时间格式,以便查看具体时间 SQL> alter session set nl ...

  5. 归档—监控ORACLE数据库告警日志

    ORACLE的告警日志里面包含许多有用的信息,尤其是一些ORACLE的ORA错误信息,所以有必要及时归档.监控数据库告警日志的ORA错误,及时提醒数据库管理员DBA处理这些错误信息,那么我们首先来看看 ...

  6. 使用JDBC实现Oracle用户认证

    两天时间写的小品,以前的J2EE环境基本使用框架.现在使用JDBC配合Oracle存储过程模拟了一下用户注册和用户认证. 一.添加必须的jar包 需要JDBC连接Oracle的包和shiro-core ...

  7. Linux Oracle删除归档日志

    今天遇到Oracle报这样的错:ORA-00257 查看了下,原来是Oracle的归档日志满了,解决方案两个 一:增加归档日志大小 二:删除无用的归档日志(我们选择这个方案) 什么也不说了Linux下 ...

  8. 【密码】Oracle用户密码系列

    [密码]Oracle用户密码系列 1.1  BLOG文档结构图 1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识, ...

  9. Oracle—用户管理的完全恢复(四)

    在用户管理的备份(三)中,最后打开数据库时,用了alter database open resetlogs;的命令,这里为什么用resetlogs命令? 一.resetlogs的作用 1.将当前的日志 ...

随机推荐

  1. Spring Cloud Bus 消息总线 RabbitMQ

    Spring Cloud Bus将分布式系统中各节点通过轻量级消息代理连接起来. 从而实现例如广播状态改变(例如配置改变)或其他的管理指令. 目前唯一的实现是使用AMQP代理作为传输对象. Sprin ...

  2. bzoj4764: 弹飞大爷

    Description 自从WC退役以来,大爷是越来越懒惰了.为了帮助他活动筋骨,也是受到了弹飞绵羊一题的启发,机房的小伙伴们 决定齐心合力构造一个下面这样的序列.这个序列共有N项,每项都代表了一个小 ...

  3. 减少TIME_WAIT时间的优化配置

    减少TIME_WAIT时间的优化配置 建立TCP需要三次握手才能建立,而断开连接则需要四次握手.整个过程如下图所示: net.ipv4.tcp_max_syn_backlog=8192 增加TCP S ...

  4. Memcached: 目录

    ylbtech-Memcached: 目录 1.返回顶部   2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部     6.返回顶部   7.返回顶部   8.返回顶部   9.返回 ...

  5. [转]SQLite 经验集

    SQLite 的默认时间 转自:http://www.cnblogs.com/pennant/archive/2011/08/11/2134897.html select strftime('%Y-% ...

  6. MapReduce项目中的一个JVM错误问题分析和解决

    最近一周都在查项目的各种问题,由于对原有的一个MapReduce分析数据的项目进行重构,减少了运行时的使用资源,但是重构完成后,在Reduce端总是不定时地抛出JVM的相关错误,非常随机,没有发现有什 ...

  7. 十六.jQuery源码解析之Sizzle设计思路.htm

    为了便于后面的叙述,需要了解一些相关术语和约定. 并列选择器表达式:"div,p,a"====>div,p,a是并列的. 块表达式:"div>p"中 ...

  8. CentOS 7 创建桌面快捷方式

    一,在桌面新建一个文件 文件名随意,但必须带有.desktop的后缀名, 以Eclipse为例 vi /home/lenmom/Desktop/eclipse.desktop 其中: lenmom 是 ...

  9. SVN专题(Visual SVN Server + TortoiseSVN + Visual SVN)

    参考资料: 1.Windows环境下搭建SVN服务器.原文地址:https://blog.csdn.net/lu1024188315/article/details/74082227 2.Git|SV ...

  10. cocos2dx 3.6版本播放动画

    IDE: VS2013 版本:cocos2dx 3.3.6 语言:c++ 11 3.x版本改动与2.x版本相比改动很大,几个比较明显的点就是所有带cc的前缀没有了,然后一些获取类型的函数名称加了get ...