这几天,在帮助一个朋友进行数据恢复。
造成故障的原因很简单,因为维护升级时错误的连接到生产主机,结果导致生产库故障,数据文件被删除并部分覆盖。
因为这个案例,我想说一下作为一个DBA应该养成的一些基本习惯。
以前曾经写过一篇What Kind Of DBA we need-我们需要什么样的DBA?。
今天想说的是一些在工作中应该养成的习惯或者说基本守则:
1.经常使用hostname命令
在Linux/Unix上,我们使用ssh或telnet等通过多次跳转,很容易变更了连接主机,如果不经过确认就可能在不正确的主机上执行了错误的操作。
通过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$database或v$instance等视图中可以获得这些信息(可能需要授权)
SQL> select instance_name,host_name from v$instance;
INSTANCE_NAME HOST_NAME
---------------- ----------------------------------------------------------------
eygle jumper.hurray.com.cn
4.通过id命令确认用户信息
要经常通过id命令确认用户信息,以免切换用户而导致不自觉的异常操作。
[gqgai@jumper gqgai]$ id
uid=2003(gqgai) gid=101(dba) groups=101(dba)
我见到过的案例,用户切换为root,误操作删除过整个操作系统,导致了严重的故障。
通过一些良好习惯的养成,可以使得我们少犯错误。
所以,有一些习惯是需要养成的。
以前的DBA四大守则也应该引起诸位初学DBA的朋友注意:
http://www.eygle.com/archives/2006/03/the_four_rule_for_dba.html