« 手工删除DBA_TABLESPACES中的记录后… »
DBA » http://www.anysql.net/dba/delete_dba_tablespaces.html 2007-06-28最初是在ITPub上看到人家这样的误操作的, 估计谁也没有遇到过这样的事, 不好作出回答. 今天我在自已的机器上试了一下, 10g的数据库, 如下所示:
SQL> delete from dba_tablespaces where tablespace_name='USERS';
1 row deleted.
SQL> commit;
Commit complete.
SQL> alter system checkpoint;
System altered.
决定重启一下数据库, 之前当心打不开数据库, 结果数据库还是能打开的, 这样就好多了. 当去查询这个表空间上的数据时, 出现了600错误, 如下所示:
SQL> select * from anysql.emp;
select * from anysql.emp
*
ERROR at line 1:
ORA-00600: internal error code, arguments: [5119], [], [], [], [], [], [], []
然后我用AUL找回了被删除的记录, 用sqlldr装载到数据库中, 重新启动, 没有遇到任何问题, 再去查这个表空间的记录, 也没有问题. 当然也可以用Log Miner或MyLOG去找回被删除的记录.


学习中!
dba_tablespaces 这张表里的数据都能被删除!
–自打俺10年前从业DBA,从来没敢试过,怕触犯天条. ;)
亏你想得出来!!! 厉害!
Keep an open mind and thinking flexible.
我最开始啥也不懂的时候,貌似测试AR
有问题,比如2边对不起来
就删改系统表,最后db坏掉,就删db,重建db
反反复复…^_^
这个是一个网友的同事干的事情