资讯动态

OCP 19c 083备考:用RMAN、闪回与多租户实验构建恢复直觉

发布时间:2026/10/9 14:39:45 来源:尧图企业网站定制
简介面向Oracle OCP 19c 083认证备考者的一份docx格式考试资料精选了Flashback日志空间回收、服务器生成警报、Grid Infrastructure升级、PGA内存管理等高频考题并对每道英文原题附上中文翻译和答案解析。资源包内共含1个docx文件压缩后大小2.34MB内容集中精炼便于考前查阅与做笔记目前已有665人学习使用。资料不仅列出正确选项还重点剖析了相关原理例如Flashback日志可在空间压力发生前主动回收降低保留期也可能自动释放空间无状态警报可手动清除或从历史中手动清理升级Grid Infrastructure需在独立home安装、关闭数据库实例并可复用现有Oracle basePGA_AGGREGATE_LIMIT作为硬限制与自动内存管理配合提升系统整体利用率。这些内容能帮助考生理解而非死记答案同时涉及跨平台PDB传输等扩展考点对实际运维中的内存与日志管理也有直接参考价值。1. OCP 19c 的 083为什么一堆老 DBA 都栽在这门考试上在 Oracle 19c 的认证路线里OCP 考试资料通常会把 1Z0-083 描述成“最难拿分的一门”。不少人刷了两个星期题库就进了考场结果发现 083 考的根本不是记忆而是判断——它把多租户架构、RMAN 备份恢复和闪回技术揉进几十道场景题里一道题就是一个故障现场答错一个分支就整题丢分。你想要的不只是一份能翻的 PDF而是一条能把考点串成动手路径的主线。这份《OCP考试资料-OCP-19c-083.docx》就是干这个用的它把分散在官方手册里的概念、命令和参数收敛成一份可执行清单。适合两类人——刚考过 071 准备转战 083 的新手以及在生产环境管过 Oracle、但没系统梳理过 19c 多租户和恢复流程的老 DBA。后面的内容不依赖你手上这份文档的排版按我的方法整理任何一份 083 资料都能变成你的备考主线。2. 083 的考点分布与三道压轴大题拆解2.1 多租户架构从 CDB 到 PDB 的 083 必考动作1Z0-083 的考纲里多租户CDB/PDB是权重最高的模块基本上每套卷子有四分之一以上的题落在这里。19c 之前的 OCP 考试还停留在非容器数据库的思维模式083 直接把这个前提删掉了——所有恢复、迁移、安全配置都默认你工作在 CDB 环境下。考生翻车最集中的点就是“知道 PDB 是什么但不知道在 PDB 里建表空间、做恢复和查视图的语义区别”。高频考点我按出现概率整理如下:考点方向考试形式关键参数与命令常见失分点创建 PDB场景题CREATE PLUGGABLE DATABASE、FILE_NAME_CONVERT、CREATE_FILE_DEST路径转换写错、种子库选择错误PDB 打开/关闭状态判断题ALTER PLUGGABLE DATABASE OPEN/CLOSE忘记切容器直接操作 CDB公共用户与本地用户概念比较COMMON_USER_PREFIX、GRANT 作用域分布容器和普通用户区别快照与克隆流程题CREATE PLUGGABLE DATABASE ... FROM ... SNAPSHOT本地快照和远程克隆混用备份与恢复 PDB场景题RMAN 中 BACKUP PLUGGABLE DATABASE归档日志路径不在 PDB 作用域内资源管理参数题PDB 的 MAXSIZE、INITIAL_EXTENT在 PDB 层设置 CDB 级参数我一般建议把“当前在哪个容器”当成每道题的前置问题来训练。考试场景常给你一个操作者在 SQL*Plus 里的输出你要判断他现在处于 CDB$ROOT 还是某个 PDB。练习方式是反复执行 SHOW CON_NAME把容器切换的体感刻进习惯里才不至于在做“删除 CDB 级用户”和“删除 PDB 本地用户”这类题时混淆作用域。2.2 RMAN 一条主线串起来的备份与恢复083 的备份恢复考得极其细细到什么程度一个恢复场景会问你系统故障发生在什么日志序号哪些归档日志缺失用哪条命令能从完整备份加增量备份恢复到故障前的最优状态。官方手册里 RMAN 命令散落在十几章而考试资料的作用就是把它们压缩成一条决策链——“先备份什么、再恢复什么、最后 OPEN 时用什么姿势”。必背的链条是这样的全库备份BACKUP DATABASE PLUS ARCHIVELOG增量和差异备份BACKUP INCREMENTAL LEVEL 1 DATABASE恢复数据文件RESTORE DATAFILE n; 然后 RECOVER DATAFILE n;不完全恢复RESTORE DATABASE UNTIL TIME/SCN/SEQUENCE; 加上 ALTER DATABASE OPEN RESETLOGS用 recovery catalog 备份元数据CREATE CATALOG 后配置 CONFIGURE CONTROLFILE AUTOBACKUP ON最容易丢分的是 UNTIL 子句的三种指定方式。考试常故意在题干里给出“最后一条提交日志是 26154磁盘还在”这类信息让你判断该用 UNTIL SEQUENCE 还是 UNTIL TIME。我的做法是把这三个子句和它们对应的判断依据写成一张对照卡SCN 用于精确到提交点、SEQUENCE 用于日志序号明确、TIME 用于只知道大概时间。资料文档里通常只列命令你需要自己补上“什么时候选哪个”这一层判断逻辑。2.3 闪回技术与时间点分析读档答题的核心能力闪回相关的内容在 083 里占的比重不像备份恢复那么大但它是场景题里的“压轴分支”。一道完整的 083 大题往往这么设计前两问是备份策略判断后两问突然切到“误删了一张表现在要恢复到一小时前”这时候你该用 Flashback Drop、Flashback Query 还是 Flashback Database每一条路都有前提条件错了就是全题失分。关键区别要背清楚闪回查询Flashback Query依赖 UNDO受 undo_retention 限制能查的是单个时间点上的表数据闪回表Flashback Table需要行迁移依赖表结构不变闪回数据库Flashback Database靠的是闪回日志能恢复整个数据库到过去某个 SCN但它会把误删之外的变更一并回滚。考试资料里常见一个坑——把 Flashback Database 的依赖条件写成“只需要 UNDO 足够大”实际上它必须满足两个条件数据库处于归档模式、快速恢复区有足够空间保存闪回日志。读这类题的正确姿势是先把时间线画出来。题干里的每个操作都是一个时间戳你把“全备时间、归档日志范围、误删操作时刻、用户发现异常的时刻”标在一条时间轴上再判断用 RMAN 时间点恢复还是闪回数据库。这个习惯在考场上能帮你省掉大量来回读题的时间也更接近真实排障时的第一反应。3. 用这份资料搭 083 备考主线从通读到能默写的四步整理法3.1 先把 docx 变成可检索的纯文本拿到任何格式的备考资料我第一步永远是把它转成适合检索和抽取的文本格式。Word 文档虽然能用 CtrlF但段落样式、目录页码和分页符会干扰关键词定位。常见做法是用 pandoc 转 Markdown或直接用 Python 的 python-docx 读段落文本。# extract_ocp083.py # 读取 docx 的段落文本并过滤空行结果可导入笔记软件 import sys from docx import Document doc Document(OCP考试资料-OCP-19c-083.docx) for para in doc.paragraphs: text para.text.strip() if text: print(text)这段代码依赖 python-docx 库安装用 pip install python-docx。doc.paragraphs 拿到的是 Word 里的正文段落表格里的内容不会出现所以你还需要处理文档里的表格——这是考试资料中命令参数最常见的藏身处。下面的代码能把表格行抽成逗号分隔格式# extract_tables.py # 把 docx 中所有表格按行输出便于后续转 Excel 或 CSV from docx import Document doc Document(OCP考试资料-OCP-19c-083.docx) for idx, table in enumerate(doc.tables, start1): print(f--- Table {idx} ---) for row in table.rows: cells [cell.text.strip().replace(\n, ) for cell in row.cells] print( | .join(cells))跑完这两个脚本你的资料就从“只能打开看的一整份 Word”变成了“能被笔记软件二次加工的结构化素材”。参数说明doc.tables 是文档中所有表格对象的列表row.cells 是按行访问单元格replace 是为了把单元格里的换行去掉避免输出被强行断行。这一步之后我通常会把结果存成 Markdown 文件方便插入到 Obsidian 或 Notion 里做双向链接。3.2 按场景抽命令建一张命令速查表资料里最值钱的信息不是概念段而是命令。083 考试不会让你写命令但场景题需要你判断执行顺序和参数作用所以你必须把文档里出现过的命令按“使用场景”重新组织而不是按资料原有目录。我的做法是建立四列场景、命令、关键参数、前提条件。# categorize_commands.py # 按关键词把命令粗分为备份、恢复、闪回、多租户四类 import re with open(ocp083_extracted.txt, encodingutf-8) as f: content f.read() categories { backup: r\bbackup\b|\barchivelog\b|\bincremental\b, recover: r\brestore\b|\brecover\b|\bresetlogs\b|\buntil\b, flashback: r\bflashback\b|\bundo_retention\b|\brestore point\b, multitenant: r\bpluggable\b|\bcdb\b|\bpdb\b|\bcontainer\b, } for name, pattern in categories.items(): print(f {name} ) for line in content.splitlines(): if re.search(pattern, line, re.I): print(line)这段脚本的价值在于把一份几万字的文档压缩成了四份可交叉验证的命令清单。regExp 的大小写不敏感选项 re.I 是因为 SQL 命令在文档里时而大写时而小写。跑完后你会发现备份组的命令也许只有 20 条但恢复组会出现七八十条因为文档把每种失败场景的命令排列组合了一遍。这时候别怕重复重复正好暴露了哪些参数是不同场景共用的——它们大概率就是考点。3.3 把相似概念做成对照表堵住记忆盲区083 是出了名的“概念打架”考试。同一段话里会出现归档模式与非归档模式、完全恢复与不完全恢复、闪回数据库与闪回查询、CDB 备份与 PDB 备份。如果只是顺着文档顺序记你记到后面就会把两个相似概念的条件混在一起。对照表是解决这个问题的最朴素工具。我用的表格结构长这样概念 A概念 B判定依据场景题常见陷阱闪回查询闪回数据库数据变化范围是单表还是全库“误删了多张关联表”该选谁完全恢复不完全恢复归档日志是否完整可用“日志最后一段损坏”答案选谁CDB 备份PDB 备份恢复目标是容器还是应用库“只想恢复业务库”备份粒度归档模式非归档模式日志是否写入归档目录“只能恢复到全备点”暗示什么服务端 TDE表空间 TDE加密粒度与钱包依赖“用表空间加密”的启用顺序填这张表不需要额外找资料就把第 3.1 步导出的文本里每两个相似概念各抄一行再补一列“按文档描述它们差在哪”。这个过程本身就是在做考试要求的语义辨析。表格做好后,每天花十分钟盖住后两列看着概念名口述判定依据熟练到形成条件反射场景题里那种“两种情况都能用但哪个最优”的题就不怕了。3.4 标记存疑点建立预判-验证循环任何 OCR 或者人工整理的资料都会有疏漏尤其是命令复制时丢参数、版本号错位这类问题。你不应该在复习时才去发现而是在第一遍通读时就建立一个存疑清单。我的习惯是给文档做三级标注确定正确的标绿色需要实验验证的标黄色疑似错误的标红色。验证手段不是翻别的资料而是回到官方手册。一个非常常见的例子资料里写着“ALTER DATABASE FLASHBACK ON 需要数据库处于 MOUNT 状态”这句话是对的但如果它只写了“需要归档模式”而没提 MOUNT 状态你把它标黄然后开一个测试库自己去验证。验证结果会比其他人的总结都深刻。这一步做完你的备考资料就不再是别人的笔记而是你自己的实验记录。4. 把文档命令搬到真实环境RMAN 与闪回的最小可复现实验4.1 搭一个最小化 Oracle 19c 单机实验环境083 的恢复类题目要真正记住靠背命令效率最低靠动手做一个小时就能建立肌肉记忆。实验环境不需要生产级硬件一台 8GB 内存的虚拟机或者家用电脑上跑 Oracle Linux 加 19c 单实例就够了。磁盘准备两块一块放数据库文件一块放快速恢复区模拟真实方案里的物理隔离。安装时我建议选择含 CDB 的布局并顺手创建两个 PDB。因为多租户的备份恢复实验是整个 083 的重点你后面做 RMAN 练习时要在 PDB 级别执行备份没有现成的额外 PDB 还得回头补建。最小安装完成后执行下面的命令验证环境是否具备实验条件-- 验证数据库版本与容器状态 SELECT name, open_mode, cdb FROM v$database; SELECT con_id, name, open_mode FROM v$pdbs; -- 预期结果CDB 处于 READ WRITE两个 PDB 都是 READ WRITEv$database 的 CDB 列返回 YES 表示这是容器数据库,只有容器库才能做 PDB 级实验。V$PDBS 列出当前所有 PDB 的开闭状态正常情况下 pdbseed 是 MOUNTED其余两个手动创建的 PDB 是 READ WRITE。如果哪个 PDB 显示 MOUNTED用 ALTER PLUGGABLE DATABASE xxx OPEN 打开容器没打开时后续所有 RMAN 备份都会失败。4.2 一条命令走完 PDB 的创建与文件转换资料里关于创建 PDB 的章节往往又长又绕实际高频操作就一个从一个种子 PDB 克隆出新库。19c 的简化写法是 CREATE PLUGGABLE DATABASE 加 CREATE_FILE_DEST让 Oracle 自动决定文件放置位置。下面这个命令适合实验环境-- 在 CDB$ROOT 下执行创建名为 SALE_PDB 的新 PDB CREATE PLUGGABLE DATABASE SALE_PDB ADMIN USER sale_admin IDENTIFIED BY Oracle_123 CREATE_FILE_DEST/u01/app/oracle/oradata/ORCL/SALE_PDB; -- 新 PDB 创建后是 MOUNTED 状态需要手动打开 ALTER PLUGGABLE DATABASE SALE_PDB OPEN;ADMIN USER 子句指定了 PDB 的管理员账号密码必须满足 Oracle 的口令复杂度要求实验环境里给个带数字和特殊字符的版本即可。CREATE_FILE_DEST 是指定的 PDB 数据文件根目录省略 FILE_NAME_CONVERT 的好处是不用手工匹配系统文件和种子文件的路径。执行完打开后建议运行 SELECT name, open_mode FROM v$pdbs WHERE nameSALE_PDB; 确认状态变成 READ WRITE再继续做备份测试。没有这一步后续 BACKUP PLUGGABLE DATABASE 会直接报 ORA-65023 之类的容器未打开错误。4.3 做一次“破坏-恢复”演练建立 RMAN 恢复直觉RMAN 部分的实验我强烈建议按下面这个顺序做一次完整的破坏与恢复。实验前先创建全备份然后人为删除一个数据文件再用 RMAN 恢复。整个流程控制在二十分钟内但能让你彻底理解 RESTORE 和 RECOVER 两个动作的区别# 1. 进入 RMAN 并做全库备份 rman target / BACKUP DATABASE PLUS ARCHIVELOG; # 2. 在操作系统层面删除一个数据文件模拟磁盘故障 # 先确认有哪些数据文件 SELECT file#, name FROM v$datafile; # 3. 回到 RMAN做数据文件级别的恢复 RESTORE DATAFILE 5; RECOVER DATAFILE 5; # 4. 恢复完成后检查状态 ALTER DATABASE DATAFILE 5 ONLINE; SELECT file#, status, error FROM v$datafile;这里有个关键点破坏完成后实例如果还能启动数据文件是处于 OFFLINE 还是 ONLINE 会影响恢复命令的选择。常见做法是直接把文件删掉实例在运行时会报写盘错误数据库可能自动把文件置为 OFFLINE。如果文件被删后实例还没发现你需要先执行 ALTER DATABASE DATAFILE 5 OFFLINE; 让 Oracle 停止对该文件的写入RMAN 才能正常接管。RESTORE 负责把文件从备份里拉回来RECOVER 负责把归档日志和重做日志里的增量变更应用上去两个命令缺一不可。只 RESTORE 不 RECOVER恢复出的数据文件停留在全备时刻只 RECOVER 不 RESTORE文件本身还是坏的。4.4 闪回数据库实验翻车率最高的一个分支闪回数据库在 083 考生里被称为“一看就会一做就废”的操作原因在于实验环境常常没开闪回日志。先查看状态再开启再做时间点回退。下面是完整的最小实验流程-- 1. 确认闪回是否开启MOUNT 状态才能改 SELECT name, log_mode, flashback_on FROM v$database; -- 如果 FLASHBACK_ON 为 NO执行下面两步开启 SHUTDOWN IMMEDIATE; STARTUP MOUNT; ALTER DATABASE FLASHBACK ON; ALTER DATABASE OPEN; -- 2. 创建一个还原点对应一个明确的 SCN CREATE RESTORE POINT BEFORE_OPS_TEST; -- 3. 执行一些会产生变更的操作比如建一张测试表 CREATE TABLE some_test AS SELECT * FROM all_users; -- 4. 模拟误操作后回退 SHUTDOWN ABORT; STARTUP MOUNT; FLASHBACK DATABASE TO RESTORE POINT BEFORE_OPS_TEST; ALTER DATABASE OPEN RESETLOGS;参数说明FLASHBACK DATABASE TO RESTORE POINT 比 UNTIL TIME 更精确因为它记录的是操作前那一刻的 SCN。ALTER DATABASE OPEN RESETLOGS 是闪回数据库和数据库时间点恢复后的固定动作resetlogs 会重置重做日志序列号。实验后你会发现 some_test 表已经消失而 other 操作全部回退——这正是场景题里“整库回到过去”的含义。做实验时最常遇到的失败是 ORA-38758闪回日志所在快速恢复区空间不足你可以用 V$RECOVERY_AREA_USAGE 视图观察空间占用避免中途翻车。5. 083 备考避坑我踩过的五个常见问题5.1 闪回日志空间不足导致恢复中断现象实验中执行 FLASHBACK DATABASE 时数据库先报告“需要更多闪回日志空间”随后恢复失败提示目标 SCN 对应的闪回日志已被覆盖。原因快速恢复区空间不够大或者闪回日志保留策略没有和备份窗口匹配。解决先用 V$RECOVERY_AREA_USAGE 看当前使用率把 DB_RECOVERY_FILE_DEST_SIZE 调整到闪回日志和归档日志的总量三倍以上生产数据库里还要考虑备份和恢复窗口时间长度确保最早需要回退的时间点对应的闪回日志还在。这个坑在考试里出现的形式是“哪两个决定闪回数据库能回退多远”的多选题答案就是快速恢复区大小和 DB_FLASHBACK_RETENTION_TARGET。5.2 创建 PDB 时屡屡报 ORA-65016现象按文档里的语法创建 PDB执行到一半报“文件已存在”或路径无效退回后种子库被反复使用状态混乱。原因在非 OMF 环境下没有正确指定 FILE_NAME_CONVERT或者目标路径和源路径重合。解决最简单的实验环境做法是用 CREATE_FILE_DEST 取代 FILE_NAME_CONVERT让 Oracle 自己在目标目录下创建文件。如果是生成环境要求固定路径先执行 DBMS_PDB.CHECK_PLUG_COMPATIBILITY 确认兼容性再查看目标目录是否已有同名文件。练习册里常把 FILE_NAME_CONVERT 写成对方括号加引号复制时容易丢单引号我建议实验赋值时一行行粘贴而不是整体复制。5.3 恢复时找不到归档日志RMAN-06054现象RESTORE DATAFILE 成功后执行 RECOVERRMAN 报缺少日志文件或块恢复流程中止。原因备考实验环境里备份时只执行了 BACKUP DATABASE 而没有 BACKUP ARCHIVELOG导致恢复时需要的日志文件不在备份集里或者备份后做其他实验把归档日志清掉了。解决实验规范第一条就写“备份永远带归档”即使用 BACKUP DATABASE PLUS ARCHIVELOG。恢复时如果报缺日志先用 LIST BACKUP OF ARCHIVELOG ALL; 看日志是否在备份集内不在的话把原归档目录里的日志手工 COPY 回快速恢复区的 LOG_ARCHIVE_DEST 路径。这类错误在考试中出现频率不高但理解了根因你才能分清“为什么有些恢复能到故障前有些只能到最近备份点”。5.4 FLASHBACK TABLE 和 FLASHBACK DATABASE 混为一谈现象做题时把“某表被错误 UPDATE希望恢复该表原数据”的答案选成 FLASHBACK DATABASE丢分后还觉得自己逻辑没错。原因混淆了“整库回退”和“单表回退”的适用边界。FLASHBACK DATABASE 是把整个数据库的状态回退到过去代价是回退点之后所有用户提交的变更全部丢失这在多租户数据库里会把其他 PDB 的正常业务也一块回撤。解决背下判据——题干明确只说一张表出了问题优先考虑 FLASHBACK TABLE 或 Flashback Query说“多个用户、多张关联表、应用逻辑层出错”才考虑数据库级恢复。083 的题干经常在最后一句才给出范围提示读题时养成先画操作范围的习惯。5.5 RMAN 恢复后数据库启动报 ORA-01194现象完成 RESTORE DATABASE 加 RECOVER DATABASEALTER DATABASE OPEN 时报需要前滚更多重做日志数据库停在 MOUNT。原因RECOVER 命令执行得不完整或者指定的 UNTIL 时间点晚于最后一批可用归档日志。常见于复制资料里的命令时少了 RECOVER 后的额外日志应用如 RECOVER DATABASE 的 UNTIL CANCEL 分支没有执行。解决恢复后不要急着 OPEN先用 LIST ARCHIVELOG ALL 确认日志连续性再用 RECOVER DATABASE 重新尝试。如果提示日志文件缺失判断这是否属于预期内的“自动跳过损坏归档”场景必要时做 OPEN RESETLOGS 前再次执行 RECOVER DATABASE UNTIL CANCEL。这个坑的关键不是记住哪条命令而是养成“恢复后检查日志序列”的习惯。6. 考前一周把资料浓缩成三页速查卡的操作技巧冲刺期不要再翻开整份文档逐页看那样效率最低。把前面整理出的命令速查表、概念对照表和存疑清单压缩为三页纸第一页写多租户常用命令和容器切换判断逻辑第二页写 RMAN 备份恢复的主流程配上 UNTIL SCN/SEQUENCE/TIME 三种用法和各自适用场景第三页写闪回家族的技术边界用“适用、前提、代价”三个词描述每个技术。纸面排版不留空话每行只放命令或结论方便上考场前最后十分钟扫一眼。我个人的习惯是考前每天做一次“故障演练”开实验库挑一个恢复场景先不看文档写出预判输出再执行命令验证。比如今天写“数据文件丢失后我要 RESTORE 哪个文件号、RECOVER 之前要不要先 OFFLINE”明天写“闪回数据库到某个还原点后要通过什么视图确认回退成功”。这个训练把记忆从“认识命令”变成了“预测输出”对考试里的输出判断题特别管用。你会发现自己越来越能猜到 Oracle 在执行完某条命令后会返回哪些提示信息这比反复刷题更能建立信心。还有一个值得做的收尾动作把备考期间在文档上标黄的存疑条目逐条过一遍对照官方手册的语法章节做最后核对。我见过不少人在这一步发现资料里“ALTER DATABASE FLASHBACK ON 无需处于 MOUNT”这类过时结论考前纠正一个错结论胜过考后懊丧半天。血泪经验告诉我083 的难点从来不在于命令记不住而在于你信了错误的归纳。走到这一步你已经不需要依赖任何人的总结去上考场。实验环境里的每一个错误输出、每一张自己画的概念对照表都成了比资料本身更牢固的记忆锚点。希望这篇梳理能帮你在 083 的路上少走几段弯路把时间花在真正值得动手验证的地方。本文还有配套的精品资源点击获取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑