我们的数据库是oracle 816。我们单位有400台终端,有个别职工查询数据库中的信息卖钱。作为信息部门工程师的我,有责任保卫信息安全。因为我们的系统是著名的成熟系统,了解该系统的社会上的工程师较多。单位有些人就请这些高手来窃取信息。我对数据库信息定期加密了,他们就设计个trigger,在我加密前就把数据迁移到某个表中。我亲眼看到他们创建了trigger,但是在单位的几所大楼里,我根本不可能查询到是谁。但是我根据v¥session查询到机器名,但是无法解析其ip地址,也许是他们把ip地址伪装了。请为高手,虽然我现在可以把他们创建的trigger删除,但是我想保留罪证,再者不想打草惊蛇。我现在想得到他们的mac地址,可以吗?他们和信息系统的操作人员串通,而操作人员必定有数据库某种程度的权限,所以做到绝对安全很难。用数据库审计是不是加大数据库的负担?怎么开启审计?oracle中某个用户自己创建的表,自己就能drop吗?问的比较多,理解我的心情,谢谢。
解决方案 »
- orcale怎么在查询语句里面定义变量
- 简单的用户数据表授权问题--给了权限但不能访问。
- Oracle中用条件关键字in查询时出错
- Oracle中如何查找表中最小ID可用值
- 急问:Oracle OCI中如何按行读取啊,在线等,我没分了表介意:)
- 在线等,oracle查询速度太慢太慢,请各位大哥帮忙(分数不多,实在是因为没分了)。
- 安装Oracle9i完成,创建数据库时提示“通信通道的文件结束”
- 关于oracle数据库的几个问题
- ORACLE在数据约束和触发器方面比较熟练的高的请进,高分求救!!!!!!!!!!!
- 如何在奔4的机子上安装oracle8 i
- 存储过程中如何传出一个数组?
- 请问哪里能下载到注册了的PL/SQL Developer软件???
修改数据库INIT.ORA文件中的audit_trail = true(注意把它前面的注释符#去掉)
重新启动数据库
DOS下执行
SVRMGRL
CONNECT INTERNAL/ORACLE
SHUTDOWN IMMEDIATE
STARTUP
然后用DBA用户登陆SQL*PLUS
CONNECT SYSTEM/MANAGER
创建一个审计:
SQL> audit create table by access whenever successful;审计已成功。
SQL> select sessionid SID,userid USID,action# ACT,obj$name OBNAME,TIMESTAMP# TIME FROM SYS.AUD$; SID USID ACT OBNAME TIME
----- ------ ---- ------- ------
202 SYSTEM 1 A 2002-08-24 00:59:01说明审计已经启动。