Understand the certification
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)中仍然是主力语言。这些系统的业务逻辑大量写在数据库存储过程里,短期内不会重写。
Exam at a glance
- Exam code
- 1Z0-149
- Provider
- Oracle
- Format
- Single choice / Multiple select
- Language
- English / 日本語
- Validity
- No expiry
- Exam fee
- $245
Skills in focus
Learning outcomes
- Prepare for the Oracle 1Z0-149 exam with a practical study plan
- Write PL/SQL blocks, subprograms, packages, triggers, and dynamic SQL with more confidence
- Handle cursors, exceptions, and collections in a cleaner way
- Improve your fit for Oracle database development and programming roles
Who this is for
- Oracle developers writing PL/SQL for application and database work
- Database professionals who need a practical PL/SQL credential
- IT staff preparing for Oracle database programming roles
- Engineers who want stronger Oracle support and development skills
Before you start
- Basic Oracle database knowledge is recommended
- You should be comfortable with SQL before starting
- Some hands-on database programming or support experience will help
Your learning path
7 chapters
Plan your preparation
- Learning hours
- 28h
- With relevant experience
- 4-6 weeks
- Starting from scratch
- 8-12 weeks
- Daily study
- 1-2h
Included in your preparation
- 29 practice questions built around the real PL/SQL topics in the exam
- Coverage of blocks, cursors, exceptions, procedures, packages, triggers, dynamic SQL, and collections
- Mock exam aligned to the 63-question, 120-minute format
- Plain explanations that focus on how PL/SQL behaves in practice
- A study flow that starts with core syntax and ends with exam-style scenarios
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 次模考。
Career value
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 认证。
- 澳洲
- AUD 95,000 – 140,000
- 美国
- USD 90,000 – 135,000
- 中国
- CNY 200,000 – 380,000
Preparation tips
- 63 题 120 分钟,约 1.9 分钟/题。代码阅读题需要手动追踪变量值和游标状态。
- RAISE_APPLICATION_ERROR 的错误码范围是 -20000 到 -20999,其他范围是 Oracle 保留的。考试可能给一个超出范围的错误码问"会发生什么"。
- Package 题注意区分 Spec 和 Body — Spec 是接口(其他程序只能看到 Spec 中声明的元素),Body 是实现(可以包含 Spec 中未声明的私有元素)。
Common mistakes
- **%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 必须是最后一个异常处理分支,放在其他异常前面会导致编译错误。
Before you register
How difficult is the 1Z0-149 exam?
The 1Z0-149 exam contains approximately 63 questions with a 120-minute time limit, requiring a passing score of 63%. It is recommended to study systematically and practice with a large number of questions.
What is the exam fee and validity period?
The 1Z0-149 exam fee is $245 USD. Oracle certifications typically do not have a fixed expiration date, but it is recommended to update regularly to keep your skills current.
How do I register for the exam?
You can register through the Oracle University website or Pearson VUE testing centers. Both online proctored and in-person testing center options are available.
Learner experiences
Loading reviews…
工作中天天写 PL/SQL 但考试比想象中细 — 触发器的执行顺序(Statement BEFORE → Row BEFORE → DML → Row AFTER → Statement AFTER)出了 3 道。Package 初始化块的执行时机(第一次调用包中任何元素时执行一次)也考了。
Oracle 开发 5 年
银行 Oracle Financials 团队 · 75% · 4 weeks
PL/SQL 的语法和 Java 差异很大 — 没有类和对象的概念,全是过程化编程。游标(Cursor)的概念对我来说最陌生,花了 3 周才理解显式游标 vs 隐式游标 vs REF CURSOR 的使用场景。
Java 开发转 Oracle
后端 3 年,刚接触 PL/SQL · 65% · 10 weeks
Start with the first chapter.
2 free chapters · Full preparation from $29