0)永远三思而后行!
1)不用或者少用rm,至少alias rm='rm -i --'
2)脚本总是事先写好,然后一步步执行下去,并在正式执行前,spool a.log ,set time on ,set timing on,最后spool off
3)create index总是加上compute statistics online tablepace xxx,并且事先确认执行计划(提取share pool里的sql或者review sql).不用并行方式建立index,
评估temp表空间是否充分.
4)alter table 总是确认dba_dependencies上确认关联关系,
对一张表加多个字段,永远写成alter table xxx add (y id,
z id)形式
5)出现oracle报告错误一定要彻查到底.源自当年一个oracle bug带来的深刻教训.
6)遵守流程,坚持double check.其实有时候有些leader也不看的,倒是rudolf和胡哥都会很仔细check的.值得学习!
7)坚持统一的环境配置
8)sql数据订正,永远坚持由开发来完成,dba只做check.永远不帮开发写数据订正类的脚本,如果开发不会,教会他!
9)能用delete就不用truncate!delete可以用logmnr恢复,而truncate则只能从备份恢复.一定用truncate,分被truncate 表大小决定是否用reuse storage.执行前三思而后行!
10)shutdown 前永远要思考,shutdown了起不来的话,我需要多少时间恢复db.并确认你关的是否是你要关的db
11)不在身体和脑力疲劳的时候操作数据库!每天5点以后的操作要尽可能得少!
12)正常情况下永远是admin用户在管理db
13)永远思考回滚计划.并写好回滚脚本.
14)drop user前永远执行alter user xxxx account lock;lock前确认session已经没有使用该用户名连接上来的.1个月以后再考虑drop!drop table 前rename table to bak_origTableName_Date
15)坚持stastpack sql tunning.oracle级别不存在tunning,只存在合理得设置!如果有因为oracle级的性能问题,那是因为DBA一开始没设置好.
16)用简单的技术.可以用回滚就不用logmnr.可以用alter table xx move,就不用在线重定义.
17)建立尽可能准确的测试库,现在阿里旺旺正在着手搭建仿真库.
我相信卓越距离优秀的不同点是优秀是一种思考后而为之的方式,而卓越是一种习惯.