您的位置:首页 > 其它

系统即将上线-惊魂半小时

2006-03-28 00:52 344 查看
熬了几个月,终于,系统上线的日子就要到来,虽然知道bug很多,虽然,这几天,程序还在修改,还在发布。
周六的时候,重感冒,人晕晕的,刚好有个人过来和我说话,边聊边登录用pl/sql dev 登录到测试数据库,查询,奇怪,怎么我清空的表,又有数据,马上输入:
truncate table xxxxrole drop storage;
truncate table yyyymenu drop storage;

习惯性的看下pl/sql dev 的标题,突然,直冒冷汗,我登录错了,现在是连接到了SIT环境,而不是我的测试环境,而现在, 楼下正在用SIT环境给用户演示,培训,估计有30-50个人正在看演示或操作。如果这个过程出错,那将会给用户带来很多负面的感觉,对上线很不利,严重的话,已经算是小事故了。


我马上试了下用 Flashback Query, 没结果。尝试用 Logminer, 无法运行,没有设置UTL_FILE_DIR=, 似乎可以在运行时重新设置,但我当时不知道。检查,系统运行在未归档模式,而且,恢复也需要关服务重启,而这个时候,重启似乎也不可接受。
一时六神无主。找了另外一个比较熟悉这些数据库表关系的开发人员,让他帮忙恢复。最后,从UAT环境,导出相关表的数据,再修改恢复到SIT环境,半个小时后搞定。

得了几个经验教训:
1, truncate table, rm -f 之类的操作,一定要慎重,再慎重;
2, 不同数据库,特别是测试和实际环境,应该不同用户名密码,这样,登录错了,也会有警觉;
3, 业务环境的连接,默认,还是不要保存到tnsnames.ora,出错,会死人的;
4, 系统还是运行在归档模式为佳;
5,精神不佳时,还是不要操作数据库;
6,不要给数据库USER分配不必要的权限,特别是如dba之类;
...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: