Chinaunix首页 | 论坛 | 博客
  • 博客访问: 85082
  • 博文数量: 93
  • 博客积分: 2141
  • 博客等级: 大尉
  • 技术积分: 785
  • 用 户 组: 普通用户
  • 注册时间: 2011-05-13 14:08
文章分类
文章存档

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 进程号’ 来结束小型机进程,搞不好会宕机的。

  以上就是一些常见的不良使用习惯,希望能加以借签改正,养成良好的使用习惯。

阅读(271) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~