一、问题:
字段原来非空,后来修改为可以为空,此时页面报错了,想着不修改页面了,直接数据库默认个值得了。
二、经过:
自己一直修改数据,修改表都是自己敲出的sql一步一步小心翼翼的执行,刚好最近开发人员说:你们都用命令啊,这个rapid sql可以直接这么修改表结构,我知道可以修改,但是一直没有用。今天想着表中有值,修改默认挺麻烦的,直接使用工具吧,让工具帮我做好。
三下五除二,执行完了,select一下,我。。。报错:表不存在,表哪里去了,晕倒了。
还好表不是很重要,只是一个日志记录,一时半会也没事,数据库没有备份,只有datagard,flashback没有开启,这表要是丢了就真的没有办法了,直接数据文件恢复那个太高深了,也不值得,这个日志基本上不用但是不能就这么没了吧。咋会这样呢,感觉自己得到了一个血的教训啊,刚刚工具都干了些啥我都不知道,反正执行完了,表是没有了,狂倒。
模拟一下吧,看看刚刚他都干了些啥:
ALTER TABLE EDU.AA RENAME TO AA_05152012122210000
/
CREATE TABLE EDU.AA
(
)
/
ALTER SESSION ENABLE PARALLEL DML
/
INSERT INTO EDU.AA()
SELECT *
FROM AA_05152012122210000
/
COMMIT
/
ALTER TABLE AA_05152012122210000 LOGGING
/
/
CREATE TABLE EDU.AA
(
)
/
ALTER SESSION ENABLE PARALLEL DML
/
INSERT INTO EDU.AA()
SELECT *
FROM AA_05152012122210000
/
COMMIT
/
ALTER TABLE AA_05152012122210000 LOGGING
/
原来他把表重命名了,结果后续的语句没有执行成功,结果源表没了,多出来一个表,数据就在这里,还好恢复了。
三、结论:我再也不使用工具了,我还是自己敲命令吧!虽然慢些。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25323853/viewspace-729865/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25323853/viewspace-729865/