小弟初学oracle 
今天发现数据库日志里有人删除了表空间,命令如下: 
drop tablespace ceshi including contents 
日志里写的是下午4点24分开始执行,4点26分完成。别的信息我就找不出来了。 
我想知道是哪个人做了这个操作:比如他IP多少,用户名是什么,用的什么登录等等,越详细越好。 
该怎么做???? 
麻烦详细些,要是就一句:用logminer之类的话就不必说了。那要重启服务器,我没权力的(但我有权限)。 
PS:小弟在线等啊!!!!!!
问题补充:数据库版本是9i 
执行的操作是在alert_*.log查到的,里面的内容只有几点执行了什么操作: 
Fri Aug 22 16:24:10 2008 
drop tablespace ceshi including contents 
........ 
Fri Aug 22 16:26:42 2008 
Completed: drop tablespace ZHAOSHANG including contents listener.log里面有记录一个IP在4点到4点半之间操作过数据库: 
22-8月 -2008 16:21:19 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=biz)(CID=(PROGRAM=D:\oracle\ora90\bin\SQLLDR.EXE)(HOST=LENOVO-4DDC36AC)(USER=Administrator))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.7.39)(PORT=2482)) * establish * biz * 0 
22-8月 -2008 16:35:02 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=biz)(CID=(PROGRAM=D:\oracle\ora90\bin\sqlplus.exe)(HOST=LENOVO-4DDC36AC)(USER=Administrator))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.7.39)(PORT=3421)) * establish * biz * 0 
22-8月 -2008 16:38:42 * service_update * BIZ * 0 但不能凭这个就说是这个192.168.7.39的人干的吧?有没有更确凿的证据?或者是其他人干的?应该看哪个日志? 

解决方案 »

  1.   

    那个时间登路的未必就是那个人drop的,只是可能性大点而已。
    我其它时间登路数据库,什么也不干,过上一段时间我再drop tablspace,也可以啊。你所需要的ip和用户名等,在默认安装的数据库上是无法获取的。如果想获取必须创建logon触发器,用sys_context('userenv', 'ip_address')获取ip,用user获取登路用户,记录到日志表中就可以了。
    或者开启数据库的aduit功能。能执行drop tablspace操作,权限也不低了。控制用户权限和系统密码是关键。
      

  2.   

    是啊,我也觉得凭这个不能就认定是这个人干的。
    可是我不是管数据库的,而且这是个测试数据库,只是为了项目上线前测试用,所以没进行过任何设置,
    我没权利重启数据库,所以logminer这样的工具也是不能用的。是不是单凭现在的默认情况就不能确切的查出是谁干的了?