2011年(93)
分类:
2011-08-03 11:54:59
接触oracle多年了,发现自己和身边的一些人在oracle的使用中存在一些不好的开发操作方式,特写出以便借鉴。
一.oracle编程方面:
1. oracle的代码书写格式不规范,可以参照oracle自带的代码格式进行编写。
2. oracle对象的命名规则要统一,不要使用数字、中文、拼音,要做到知名见义。
3. 表名、字段名必须要加注释。
例:comment on table 表名 is '对表注释的内容'; --给表添加注释
comment on column 表名.列名 is '对列注释的内容'; --给列添加注释
4. 表的约束必须单独建立,不要在列名后直接加primary, unique and foreign key constraints 等。
5. 过程中的输入输出参数必须命名规范,不要交叉书写。
6. 各参数及中间变量的定义,尽量使用 %type来定义,所有变量都要加注释。
7. 过程必须要有异常处理部分(中间过程除外,由调用它的过程来处理异常)。
8. 用游标返回结果时,异常处理部分也必须要有游标返回。
9. select语句要列出具体字段名,严禁使用select * 方式。
10. insert语句要列出具体字段名,严禁使用insert into tablename values ( … )方式,
或insert into tablename ( … ) values ( … )方式,或insert into tablename select * 方式。
11. 能用静态SQL实现的逻辑,尽量不使用动态SQL,如果使用动态SQL尽可能的绑定变量。
12. 如果存储过程或函数返回游标类型参数,必须在任何出口前打开游标,用完后必须关闭。
13. insert into语句不要随意回车换行,不然加载时会报错的。
14. 存储过程、函数的结尾用 ‘ END 对象名;’ 有时会报错的,直接写 END; 结束。
15. 不同类型的对象脚本应该写在不同的文件中,严禁混写。
16. 有多个域的数据库,数据脚本中必须使用 ‘域名.对象名’,防止混淆。
17. 存储过程、函数必须要有相应的注释说明。
二.oracle操作方面:
1. 各人使用各自账户登录,禁止随意使用系统帐号登录,严格控制dba账户。
2. 严禁在 PL/SQL 中用 select * from t_tablename for update 或select t.*,t.rowid from t_tablename t 点击锁图标方式编辑数据。
3. 严禁在业务高峰期使用页面工具导入大量数据,大数据量的导入导出必须使用专门的工具处理。
4. 严禁在业务高峰期在 PL/SQL 中直接test存储过程、函数,容易锁表。
5. 严禁在业务高峰期对大表加索引,建索引前最好看下索引表空间是否够用。
6. 严禁随意修改、编译数据库对象,修改、编译后要马上检查是否有失效的对象。
7. 建表空间前,先登录小型机查看/dev/目录下面的空间是否够用,然后再根据命名规则创建。
8. 日常建立的临时表、中间表用完后要及时清理,先truncate table,然后drop table。
9. 严禁在不操作的情况下长时间登录,用完后必须及时退出。
10. 严禁在线网数据库进行无关的操作。
11. 严禁随意删除系统日志、告警日志、windows事件查看器中的日志、各日志等。
12. 确实需要重启服务时,必须先征得相关部门和人员的同意,严禁私自重启服务。
13. 严禁在业务高峰期进行任何升级操作,特殊情况除外,必须通知到所有相关人员,做完后要及时。
14. 所有删除、更新操作前必须先进行备份,严禁不备份直接操作。
15. 使用truncate命令前一定要谨慎,确认无误后再操作。
16. 严禁使用‘kill -9 进程号’ 来结束小型机进程,搞不好会宕机的。
以上就是一些常见的不良使用习惯,希望能加以借签改正,养成良好的使用习惯。