oracle编程、操作不良习惯总结

easthome001 2011-08-10 05:53:53
接触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 进程号’ 来结束小型机进程,搞不好会宕机的。
以上就是一些常见的不良使用习惯,希望能加以借签改正,养成良好的使用习惯。
...全文
221 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
桃花岛黄岛主 2011-08-25
  • 打赏
  • 举报
回复
2. 严禁在 PL/SQL 中用 select * from t_tablename for update 或select t.*,t.rowid from t_tablename t 点击锁图标方式编辑数据。


-----------------------------
这一条不敢苟同,特别是DELETE ,其实我不建议用DELETE ,不然,一个不小心会很杯具,我个人还是推荐用以上的方法,进行删除和更新操作,当然批量除外
bjeast2011 2011-08-25
  • 打赏
  • 举报
回复
知道和做到之间的距离,执行力很重要
bingyu7795 2011-08-24
  • 打赏
  • 举报
回复
知道,但是執行的人老是忘記
guye1986 2011-08-17
  • 打赏
  • 举报
回复
好贴,保存下了!
hanzs 2011-08-17
  • 打赏
  • 举报
回复
平时有注意,但是没这么总结过,好贴!!!
认真的coder 2011-08-17
  • 打赏
  • 举报
回复
谢谢楼主了。。 很好的帖子。。
狂想者 2011-08-12
  • 打赏
  • 举报
回复
不错,学习了!!!!
vip_po 2011-08-12
  • 打赏
  • 举报
回复
刚开始学啊、以后接触到了会注意的,谢了
hisense_wzh 2011-08-12
  • 打赏
  • 举报
回复
很不错,我现在刚实习,刚接触oracle,对我帮助很大!谢谢楼主!
小青蛙 2011-08-11
  • 打赏
  • 举报
回复
这篇文章很不错,好好学习下
Rotel-刘志东 2011-08-11
  • 打赏
  • 举报
回复
好,不错了。学习一下了。
huangdh12 2011-08-11
  • 打赏
  • 举报
回复
感染部分不良习惯。。
不要悲剧人生 2011-08-11
  • 打赏
  • 举报
回复
都是一些平时存在的问题。
youqi1984 2011-08-11
  • 打赏
  • 举报
回复
xuexi xuexi
Alessandro_ 2011-08-11
  • 打赏
  • 举报
回复
学习学习。
ylp198296 2011-08-11
  • 打赏
  • 举报
回复
规范化的操作很重要,帮顶!
yuzhong218 2011-08-11
  • 打赏
  • 举报
回复
羡慕啊,楼上的都是牛人啊,我是个新手,有些还没接触过呢!
renfengjun 2011-08-11
  • 打赏
  • 举报
回复
第十一条,恩?
jimmylin040 2011-08-11
  • 打赏
  • 举报
回复
給力的總結啊~~
yixilan 2011-08-11
  • 打赏
  • 举报
回复
写得很好。
每条都看了一下,大概只有四条平时没有做到。
加载更多回复(4)

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧