logo
Oracle助理级💾 数据库

Oracle Database: Program with PL/SQL (1Z0-149)

Oracle Database PL/SQL 编程认证,验证您在 PL/SQL 存储过程、函数、触发器开发的专业能力。

$245
考试费
63
题量
120m
考试时长
63/100
及格分
?
一句话定论 · 看情况

1Z0-149 是 Oracle PL/SQL 开发的经典 OCP 考试 — 如果你在写存储过程、触发器、包的 Oracle 项目里工作,这张证直接对口;做应用层 Java/Python 开发的人不需要。

会员权益

JR 会员全站通

一个会员解锁全部认证题库、课程折扣和专属工具

  • 全部认证题库免费刷
  • 课程最高 5 折优惠
  • AI 工具 & Chrome 插件
  • 优先预约 1v1 导师
查看会员方案

这张认证到底考什么

先把考试形式、适合人群、备考时长和学习范围讲清楚,再决定要不要投入时间。

Oracle Database: Program with PL/SQL (1Z0-149) 验证 PL/SQL 编程能力,63 题 / 120 分钟,及格线 63%(约 40 题),费用 $245 USD。这是 Oracle Database PL/SQL Developer Certified Professional (OCP) 的核心考试之一。

考试覆盖 PL/SQL 的全部核心功能:匿名块和命名块、变量声明和赋值、条件语句和循环、显式游标(Cursor)和隐式游标、异常处理(预定义异常 + 自定义异常 + PRAGMA EXCEPTION_INIT)、存储过程和函数、包(Package Spec + Package Body)、触发器(DML/DDL/Database Event/INSTEAD OF)、动态 SQL(EXECUTE IMMEDIATE/DBMS_SQL)。

PL/SQL 在云原生和微服务时代看似过时,但在银行核心系统(Oracle Financials/FLEXCUBE)、电信计费系统(Oracle BRM)、政府 ERP(Oracle E-Business Suite)中仍然是主力语言。这些系统的业务逻辑大量写在数据库存储过程里,短期内不会重写。

你会反复碰到的核心服务

Oracle 技术数据库管理系统架构性能优化故障排除

学完以后你能带走什么

  • 获得 Oracle 1Z0-149 官方认证
  • 掌握考试核心领域的知识和最佳实践
  • 具备实际项目中应用相关技术的能力
  • 提升 Oracle 技术领域职业竞争力

考试详情

考试代码
1Z0-149
发证机构
Oracle
时长
120 分钟
题目数
63
及格分
63/100
有效期
0
考试费用
$245 USD
题型
单选题、多选题
考试语言
English, 日本語
官方页面

适合谁考

适合人群

  • Oracle 技术相关从业人员
  • 希望获得 Oracle 1Z0-149 认证的 IT 专业人员
  • 数据库管理员和开发人员
  • 云架构师和运维工程师
  • 希望提升 Oracle 技术能力的从业者

开始前最好先有

  • 具备相关 Oracle 技术的基础知识
  • 建议有一定的实践经验
  • 了解基本的数据库或云计算概念

值不值得考?职业价值

Oracle 1Z0-149 持证人的薪资区间、对应岗位、以及真实的职业影响。

澳洲
$95K-140KAUD
美国
$90K-135KUSD
中国
¥200K-380KCNY
PL/SQL DeveloperOracle Database DeveloperERP Technical ConsultantOracle 数据库开发

PL/SQL Developer 在澳洲的需求集中在金融(CBA/Westpac 的 Oracle Financials 团队)和政府部门(Service NSW、Defence)。Seek 上 "PL/SQL Developer" 年薪中位数约 $115K AUD。

1Z0-149 和 1Z0-071(SQL)组合可以获得 Oracle Database PL/SQL Developer OCP,这是 Oracle 开发方向的权威认证。单独 1Z0-149 不够,需要配合 SQL 考试。

不适合的人群:做前端/移动端/云原生微服务的开发者 — PL/SQL 是数据库内嵌的过程化语言,和你的日常工作没有交集。学 Python/Java 写 ORM 操作数据库的人也不需要 PL/SQL 认证。

备考节奏

有 AWS 实操经验

4-6

零基础切入

8-12

建议日投入

1-2 小时/天

学习路径预览

7
1
1Z0-149 考试概述与备考指南
30 min
2
PL/SQL 程序块与变量
60 min
3
游标操作与异常处理
70 min
4
存储过程与函数
80 min
5
包设计与触发器
90 min
6
动态 SQL 与集合类型
100 min
+ 还有 1 章在完整学习路径里

分阶段备考路径

过来人总结的分阶段备考节奏,按周拆分,不是空话。

1

第一阶段:PL/SQL 基础语法(2-3 周)

在 Oracle XE 或 Oracle Live SQL 上练习。DECLARE-BEGIN-EXCEPTION-END 块结构、变量声明(%TYPE/%ROWTYPE)、IF-THEN-ELSIF-ELSE、CASE、LOOP/WHILE/FOR 循环。重点练习显式游标(CURSOR FOR loop vs OPEN-FETCH-CLOSE 两种写法)和 REF CURSOR(动态游标)。

2

第二阶段:存储过程 + 包 + 触发器(2-3 周)

CREATE OR REPLACE PROCEDURE/FUNCTION 的参数模式(IN/OUT/IN OUT)和 NOCOPY hint。Package Spec(声明)和 Package Body(实现)的分离机制、Package 初始化块。触发器类型:BEFORE/AFTER + INSERT/UPDATE/DELETE 的 12 种组合、:NEW/:OLD 伪记录、INSTEAD OF 触发器(用于视图 DML)。触发器的执行顺序(Statement-level BEFORE → Row-level BEFORE → DML → Row-level AFTER → Statement-level AFTER)。

3

第三阶段:异常处理 + 动态 SQL + 模考(2 周)

预定义异常(NO_DATA_FOUND/TOO_MANY_ROWS/ZERO_DIVIDE/DUP_VAL_ON_INDEX)的触发条件。PRAGMA EXCEPTION_INIT 绑定自定义异常到 Oracle 错误码。RAISE_APPLICATION_ERROR(-20000 到 -20999 范围)。EXECUTE IMMEDIATE 的 USING 和 INTO 子句。用 Enthuware 1Z0-149 或 Whizlabs 做 2 次模考。

通过者的真实经验

过来人的备考时长、分数、以及踩过的坑。

工作中天天写 PL/SQL 但考试比想象中细 — 触发器的执行顺序(Statement BEFORE → Row BEFORE → DML → Row AFTER → Statement AFTER)出了 3 道。Package 初始化块的执行时机(第一次调用包中任何元素时执行一次)也考了。

Oracle 开发 5 年75%
银行 Oracle Financials 团队 · 备考 4 周

PL/SQL 的语法和 Java 差异很大 — 没有类和对象的概念,全是过程化编程。游标(Cursor)的概念对我来说最陌生,花了 3 周才理解显式游标 vs 隐式游标 vs REF CURSOR 的使用场景。

Java 开发转 Oracle65%
后端 3 年,刚接触 PL/SQL · 备考 10 周

同赛道认证对比

Oracle 1Z0-149Oracle 1Z0-071Oracle 1Z0-082
机构OracleOracleOracle
级别助理级助理级助理级
考试费$245$245$245
时长120 min120 min120 min
题量637368
有效期0 0 0

备考技巧与常见失误

💡

63 题 120 分钟,约 1.9 分钟/题。代码阅读题需要手动追踪变量值和游标状态。

💡

RAISE_APPLICATION_ERROR 的错误码范围是 -20000 到 -20999,其他范围是 Oracle 保留的。考试可能给一个超出范围的错误码问"会发生什么"。

💡

Package 题注意区分 Spec 和 Body — Spec 是接口(其他程序只能看到 Spec 中声明的元素),Body 是实现(可以包含 Spec 中未声明的私有元素)。

⚠️

**%TYPE 和 %ROWTYPE 混淆** — %TYPE 取单个列的数据类型(v_name employees.first_name%TYPE),%ROWTYPE 取整行的结构(v_emp employees%ROWTYPE)。考试至少 2 道。

⚠️

**触发器的 :NEW 和 :OLD 限制** — INSERT 触发器只有 :NEW(没有 :OLD),DELETE 触发器只有 :OLD(没有 :NEW),UPDATE 两者都有。在不存在的伪记录上引用字段会编译通过但运行时得到 NULL。

⚠️

**EXCEPTION WHEN OTHERS 的位置** — WHEN OTHERS 必须是最后一个异常处理分支,放在其他异常前面会导致编译错误。

FAQ

常见问题

如果你准备考 Oracle 1Z0-149,先从真题型练习开始。

59+ 练习题、章节学习路径、模考、错题复盘和 AI 导师都在备考页里。

进入备考页

$29 起 · 前 2 章可免费试学

你可能顺手也会看这些