Oracle环境搭建
首先下载oracle11g,一直点下一步安装之后,记住自己的口令和安装路径。
打开环境变量配置 ORACLE_HOME 为刚刚设置的安装路径
win+r 输入sqlplus看看能不能进,如果能则安装成功
如果只是想试一试,最快的方式当然是下个docker,再下oracle的镜像,将文件映射到本地即可完成持久性的存储,而不会就被重置数据
客户端plsql的使用
plsql是比较专业的oracle可视化工具,他需要本地安装oracle才能使用(主要是oracle client,原理就是调这个)。安装好后如果要访问其他地址的数据库要去 刚刚在oracle安装路径下的product/../dbhome_1/network/admin/tnsnames.ora文件 ,把新的oracle数据库信息copy进去,再次进入plsql时就可以看到了
这里sql执行语句是用快捷键f8也就是那个齿轮~
老系统的存储过程都写在包里,所以要点开看 包体和信息(view body and space)就能定位到我们要剖析的存储过程
存储过程调debug模式,和eclipse差不多,在存储过程中间打断点,step over 或 step into慢慢跳。查看过程中变量值可以把鼠标放变量上,也可以将变量直接写到左下输入框中更方便查看
要修改或新增数据时,必须要带上rowid或者for update 才能修改,前一个是通过序号,后一个是查询时直接给到表锁对其他查询进行阻塞,注意:操作数据后要commit 提交,不然数据会丢失哦!
实用点
左下脚的搜索框比ctrl f 调出来的好用点
选中sql右键test可以输入参数调用存储过程,并一步步调试
ctrl 左键 点变量,存储过程、函数和eclipse一样美滋滋。
撸存储过程
存储过程和函数其实在项目里都有用到,那么存储过程和函数有什么不同呢,其实都有输入输出的定义,唯一不同的是存储过程可以没有OUT返回值,或者有多个返回值,而函数必须要有一个返回值
由于该系统有上下游系统进行数据流转,还接触到了DBlink功能,由于要查询别的数据库的表,在数据库内的操作就是用dblink给其他的数据库的表起别名,并设置账号密码等,然后就像调用自己的表一样用别名来调用其他表。
oracle有自己的job(定时任务)来跑存储过程。
日志记录
存储过程只是将java的业务逻辑移转到数据库层面去实现。当然也需要设计表来存储过程中的异常信息,及业务处理逻辑,报警措施。
业务异常
当业务异常日志表出现异常时,需要预先设计处理异常的方案,以保证快速止损。常用方法有
根据时间或单号等条件写定点处理的存储过程,并在前端界面能够调用
复杂逻辑可预设脚本,快速执行