设为首页 收藏本站
查看: 834|回复: 0

[经验分享] oracle编程、操作不良习惯总结

[复制链接]

尚未签到

发表于 2018-9-23 06:31:02 | 显示全部楼层 |阅读模式
  接触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 进程号’ 来结束小型机进程,搞不好会宕机的。
  以上就是一些常见的不良使用习惯,希望能加以借签改正,养成良好的使用习惯。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-600029-1-1.html 上篇帖子: 索引在ORACLE中的应用分析 下篇帖子: 安装oracle 检查交换空间太小
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表