记录一次操作失误: DBA不应该急着干活

昨天是周五,是我上周中最忙的一天,昨天在处理开发人员提过的sir时,稍微操作失误了下sir中要求新建一个用户,并且导入三个脚本,第一个脚本是创建新表和序列,第二个脚本是创建procedure和function,第三个脚本是往新建的表中插入数据,在新建完表空间和用户后,我把脚本copy到数据库主机执行,执行的时候忘记以这个新建的用户登陆,结果把这些表,序列,procedure 和function都建到 sys下面去了….

解决方法虽然很简单,只要把这些建到sys下的对象删掉即可,但从中也给了我很大的提示。

  1. DBA应该时刻保持头脑清醒,再忙的时候,事情再多被催的时候,别人催,自己可不能催自己一件一件来,大胆心细,要不然,越急忙处理越容易出问题, 相比情急之下的误操作给数据库带来灾难,还不如宁愿被项目组催催,这也要求DBA需要很好的心理素质。

  2. 平常开发人员提供的sir当中的建表语句,DML语句一般都不会带上schema前辍,这时应该主动和开发人员交流清楚,建到哪个schema下。

  3. 如果是批量新建表,存过,序列的语句,如果开发人员测试后是正常的,则可以放到主机上以脚本批量导入,如果是老表的DDL语句,上面这种方法则可能带来给数据库带来灾难,例如给一张大表加个字段,并新建个索引,这时一般要在业务不繁忙的时候进行,因为建索引,加字段时会堵住一大批更新此表的应用SQL,给业务带来影响,而且最好是不要批量执行。

最后推荐和张文升共同编写的《PostgreSQL实战》,本书基于PostgreSQL 10 编写,共18章,重点介绍SQL高级特性、并行查询、分区表、物理复制、逻辑复制、备份恢复、高可用、性能优化、PostGIS等,涵盖大量实战用例!

购买链接:https://item.jd.com/12405774.html

PostgreSQL实战
感谢支持!
0%