DBA警世录——有些习惯DBA须要养成(文摘)

    本文摘自Eygle DBA Notes,目前图书已上架,感兴趣的朋友可以去购买来看,Eygle的网站上也有第一,第二章节的PDF版。

DBA警世录——有些习惯DBA须要养成

很多DBA都有过误操作而导致灾难性后果的经历,既然DBA这个职业如此危险,那么哪些习惯是DBA必须养成的呢?

我总结过几条简单的习惯命令,通过这些习惯性命令,可以减少我们出错的可能。写下这段内容时,刚刚完成一个客户数据库的恢复,客户造成故障的原因很简单,因为维护升级时错误地连接到生产主机,结果导致生产库故障,数据文件被删除并部分覆盖。

1.经常使用hostname命令

Linux/Unix上,我们使用sshtelnet等通过多次跳转,很容易变更了连接主机,如果不经过确认就可能在不正确的主机上执行了错误的操作。

通过hostname命令可以确认我们连接到的主机,避免发生不应该的误操作。在执行操作之前一定要通过hostname命令确认连接主机,这是DBA或者系统管理员应该养成的习惯:

[oracle@jumper oracle]$ hostname

jumper.hurray.com.cn

2.使用pwd确认路径

经常有朋友在错误地路径下错误的执行了"rm -rf *"等命令,这类错误的发生率居然也是很高的。 所以作为一个DBA,应经常性地执行如下的pwd命令来确认自己的工作路径:

[oracle@jumper oracle]$ pwd

/opt/oracle

3.确认instance_name等数据库重要信息

在执行truncate/drop等操作之前,应该确认连接到了哪个数据库,从v$databasev$instance(代码如下)等视图中可以获得这些信息(可能需要授权)

SQL> select instance_name,host_name from v$instance;

INSTANCE_NAME HOST_NAME

---------------- ----------------------------------------------------------------

eygle jumper.eygle.com

4. 通过id命令确认用户信息

要经常通过如下的id命令确认用户信息,以免切换用户而导致不自觉的异常操作:

[gqgai@jumper gqgai]$ id

uid=2003(gqgai) gid=101(dba) groups=101(dba)

我见到过有的案例,用户切换为root,误操作删除过大量系统文件,导致了严重的故障。

5. DDL语句心存敬畏

DBA应该知道TRUNCATE / DROP DDL操作可能带来的影响,所以应该对这些DDL操作心存敬畏,甚至应该避免执行或避免草率执行这样的操作,最好养成在DDL清除数据之前备份的习惯。通过一些良好习惯的养成,可以使得我们少犯错误。

    学会总结,学会从别人的教训中积累经验,这对DBA来说必不可少!

你可能感兴趣的:(DBA警世录——有些习惯DBA须要养成(文摘))