关于服务
翻译我是一名Oracle PL/SQL开发者,Oracle对我来说不是众多DBMS中的一个,而是我每天工作的环境。我编写承载真实业务逻辑的存储过程、包、函数和触发器,并设计它们使代码易于阅读、测试,并在几个月后安全更改。当报告必须对账数百万行时,当夜间批处理必须在早晨窗口之前完成时,而一个过程位于会计流程的核心,我希望那段代码首先是正确的,然后是快速的——我也让它快速。通过绑定变量、BULK COLLECT和FORALL、游标、集合和分析函数,我像后端工程师一样自信地工作,保持逻辑靠近数据,而不是在网络上拖动巨大的结果集。
我大部分的工作是性能优化。我阅读执行计划,查看优化器出错的地方,并通过索引、重写连接、分区或在真正合理的情况下使用提示来修复它。从AWR和跟踪中,我找到真正减慢系统的确切查询,而不是猜测,并用简单的术语平静地解释为什么它慢以及发生了什么变化。除了调优,我还直接在Oracle上构建ETL管道和报告层:加载和清洗源数据,应用业务规则,稳定的表和视图,BI和应用程序可以信任。我关心事务、错误处理和日志记录,因为一个静默失败的任务比一个大声失败的任务更糟糕。
我不是通用的MySQL或Postgres DBA或后端通才——当问题出在Oracle和PL/SQL时,人们会来找我。描述你的架构、你的痛点和你的时间线——我会给你一个诚实的估算和你可以在没有我的情况下维护的代码。
— Oracle PL/SQL中的存储过程、包、函数和触发器
— 编写和优化SQL查询(执行计划、索引、分区)
— 批处理:BULK COLLECT、FORALL、集合、引用游标
— ETL管道和数据加载(SQL*Loader、外部表、暂存)
— BI的报告查询、视图和物化视图
— 重构和文档化遗留PL/SQL代码
我大部分的工作是性能优化。我阅读执行计划,查看优化器出错的地方,并通过索引、重写连接、分区或在真正合理的情况下使用提示来修复它。从AWR和跟踪中,我找到真正减慢系统的确切查询,而不是猜测,并用简单的术语平静地解释为什么它慢以及发生了什么变化。除了调优,我还直接在Oracle上构建ETL管道和报告层:加载和清洗源数据,应用业务规则,稳定的表和视图,BI和应用程序可以信任。我关心事务、错误处理和日志记录,因为一个静默失败的任务比一个大声失败的任务更糟糕。
我不是通用的MySQL或Postgres DBA或后端通才——当问题出在Oracle和PL/SQL时,人们会来找我。描述你的架构、你的痛点和你的时间线——我会给你一个诚实的估算和你可以在没有我的情况下维护的代码。
— Oracle PL/SQL中的存储过程、包、函数和触发器
— 编写和优化SQL查询(执行计划、索引、分区)
— 批处理:BULK COLLECT、FORALL、集合、引用游标
— ETL管道和数据加载(SQL*Loader、外部表、暂存)
— BI的报告查询、视图和物化视图
— 重构和文档化遗留PL/SQL代码