今天例行检查数据库,看到有一个表(SALGTC)的表空间不对了。
看到这个真的很恼火。
我刚刚跟所有的相关同事交代过----各个业务模块所有的非分区表都在各自模块所对应的表空间里,各个业务模块所有非分区表上的索引都在各自模块的索引所对应的表空间里。
刚刚交代过,就又犯错了。
好了,我们现在把这个人找出来。
SQL> col created format a20
SQL> select created from dba_objects where object_name='SALGTC';
CREATED
--------------------
2009-8-14 10:44:26
SQL> select name from v$archived_log where first_time<to_date('2009-8-14 10:44:26','YYYY-MM-DD HH24:MI:SS') and next_time>to_date('2009-8-14 10:44:26','YYYY-MM-DD HH24:MI:SS');
NAME
--------------------------------------------------------------------------------
/arch01/ipra/1_4744_638641120.dbf
SQL> exec dbms_logmnr.add_logfile('/arch01/ipra/1_4744_638641120.dbf',dbms_logmnr.NEW);
PL/SQL procedure successfully completed
SQL> exec dbms_logmnr.start_logmnr(Options => dbms_logmnr.DICT_FROM_ONLINE_CATALOG);
PL/SQL procedure successfully completed
SQL> col session_info format a80
SQL> select session_info from v$logmnr_contents where sql_redo like '%SALGTC%';
SESSION_INFO
--------------------------------------------------------------------------------
login_username=IPRA client_info= OS_username=xyz Machine_name=ACCA\ACCA-XYZ OS_t
erminal=ACCA-XYZ OS_process_id=1032:1436 OS_program_name=plsqldev.exe
......省略显示部分内容
原来是xyz同学做的,打电话跟他说一下吧,让他以后避免犯同样的错误就可以了。
这个表空间使用的问题,应该由code review和开发规范来控制。DBA对开发不应该恼火啊:)
你说的没错,我就是发发牢骚:)