题记:
本系列主要讲解Oracle OCP认证考试考点(题目),适用于19C/21C,跟着学OCP考试必过。
11. 第11题:
- 题目
- 解析及答案:
关于 RMAN(恢复管理器)多路复用备份集,以下哪两项是正确的?
A) 它们必须写入到介质(如磁带等)中。
B) 它们可以写入到介质(如磁带等)中。
C) 可以在进行备份之前,使用 RMAN 的 CONFIGURE 命令指定多路复用功能来创建它们。
D) 只能通过在 BACKUP 命令中使用 copies 选项来创建它们。
E) 它们只能写入到磁盘中。
解析
选项 A:RMAN 多路复用备份集并非必须写入到介质(如磁带等) ,也可写入磁盘等,该选项错误。
选项 B:RMAN 多路复用备份集能够写入到介质(如磁带等),该选项正确。
选项 C:在备份前,确实可以使用RMAN CONFIGURE命令指定多路复用,进而创建多路复用备份集,该选项正确。
选项 D:除了使用BACKUP命令的copies选项创建,还可通过配置参数等方式创建,并非 "只能" 通过此方式,该选项错误。
选项 E:多路复用备份集不只是能写入磁盘,也可写入其他介质,该选项错误。
综上,本题答案应该选择BC
12. 第12题:
- 题目
- 解析及答案:
查看以下配置情况: - CDB1 是一个运行在归档模式下的多租户容器数据库。
- CDB1 中有多个未提交的事务正在运行。
- 重做日志组 1 和 2 处于非活动状态。
- 重做日志组 3 是当前组。
重做日志组 3 的所有成员在归档之前丢失。查看以下可能的步骤:
1.终止数据库实例(SHUTDOWN ABORT )
2.启动实例到 NOMOUNT 状态(STARTUP NOMOUNT )
3.启动实例到 MOUNT 状态(STARTUP MOUNT )
4.更改数据库到 MOUNT 状态(ALTER DATABASE MOUNT )
5.还原数据库(RESTORE DATABASE )
6.无重做恢复数据库(RECOVER DATABASE NOREDO )
7.恢复数据库直到可用(RECOVER DATABASE UNTILAVAILABLE )
8.还原所有归档日志(RESTORE ARCHIVELOG ALL )
9.打开数据库(ALTER DATABASE OPEN )
10.以重置日志模式打开数据库(ALTER DATABASE OPEN RESETLOGS )
选择恢复数据库所需的最少步骤,并按正确顺序排列:
A) 1,3,5,6,9
B) 1,3,5,6,10
C) 1,3,5,7,10
D) 1,3,5,6,10
E) 1,2,5,7,4,10
F) 1,3,5,8,6,10
解析
详细解析:
终止实例(SHUTDOWN ABORT):
由于当前在线重做日志组(组3)的所有成员丢失且未归档,数据库无法正常关闭,必须强制终止实例以确保一致性。
启动到 MOUNT 状态(STARTUP MOUNT):
在 MOUNT 状态下,可以访问控制文件并执行恢复操作。
还原数据库(RESTORE DATABASE):
需要从有效备份中还原数据文件(假设备份存在),以回退到日志丢失前的状态。
恢复数据库直到可用(RECOVER DATABASE UNTILAVAILABLE):
应用所有可用的归档日志(直到日志组3丢失前的最后一个归档日志),完成不完全恢复。
以重置日志模式打开数据库(ALTER DATABASE OPEN RESETLOGS):
由于进行了不完全恢复,必须使用 RESETLOGS 重新初始化日志文件并重置日志序列号。
其他选项错误原因:
A/B/D) 使用 NOREDO 恢复会跳过所有重做日志(包括已归档的日志),导致无法前滚事务,可能丢失已提交的数据。
E) 包含冗余步骤(如启动到 NOMOUNT 和 ALTER DATABASE MOUNT),不符合最小步骤要求。
F) 包含不必要的 RESTORE ARCHIVELOG ALL,归档日志通常已存在于默认路径,无需额外还原。
特別提示:
在线重做日志组3的丢失导致无法完成正常恢复,必须通过不完全恢复到最后一个可用归档日志(步骤7),并使用 RESETLOGS 重建日志文件(步骤10)。
綜上,正确的答案是 C) 1,3,5,7,10,即步骤顺序为:1 3 5 7 10
13. 第13题:
- 题目
- 解析及答案:
一位模式所有者误截断了一张表,必须恢复数据。可以使用哪个 Oracle 闪回特性来恢复这些数据?
A) 闪回数据库
B) 闪回版本查询
C) 闪回事务
D) 闪回表
E) 闪回数据归档
解析
选项 A:FLASHBACK DATABASE(闪回数据库) 是将整个数据库恢复到过去某个时间点的状态,用于修复数据库级别的逻辑错误等,不是专门针对误删表数据恢复,开销较大且会影响整个数据库,不是最优选项。
选项 B:FLASHBACK VERSION QUERY(闪回版本查询)主要用于查询表在一段时间内数据的变化版本,不能直接恢复被截断表的数据,该选项错误。
选项 C:FLASHBACK TRANSACTION(闪回事务) 是用于回滚指定事务的所有操作,误截断表操作一般不是单个事务能涵盖,该特性不适合此场景,而且TRUNCATE 是自动提交的 DDL,无法直接回滚。该选项错误。
选项 D:将表恢复到过去的某个时间点,需要行移动。对于截断操作,可能不可行,因为截断是DDL,而闪回表可能无法恢复,除非在Oracle的某些版本中支持。
选项 E:FLASHBACK DATAARCHIVE(闪回数据归档)主要用于对历史数据进行长期存储和基于时间点的查询,不是恢复误截断表数据的合适特性,但这样也可以实现目的,只不过不是最好的办法。当表被误截断(TRUNCATE)时,恢复的关键在于能否访问截断前的数据。Oracle 的 闪回数据归档(Flashback Data Archive, FDA) 通过长期保留历史数据,即使表被截断,仍能通过历史查询(如 AS OF TIMESTAMP)提取数据并重新插入表中。此方法无需恢复整个数据库,且对业务影响最小。
综上,答案应该选择D,E也可以选,笔者推荐首选D。
特别说明:截断操作(TRUNCATE)和删除(DELETE)不同,TRUNCATE属于DDL操作,会立即释放空间,并且不能通过普通的闪回查询来恢复,因为闪回查询通常处理的是DML操作,比如DELETE。这时候需要知道哪些闪回技术能处理DDL操作后的恢复。
14. 第14题:
-
题目
-
解析及答案:
在向存储备份磁带(SBT)通道进行备份时,你发现压缩的恢复管理器(RMAN)增量 0 级备份的读取阶段成为了瓶颈。数据库已启用强制日志记录(FORCE LOGGING)。以下哪两项操作可以提高读取性能?
A) 启用异步磁盘输入 / 输出(I/O)
B) 提高 RMAN 多路复用级别
C) 禁用数据库的强制日志记录
D) 增大磁带 I/O 缓冲区大小
E) 增大数据库缓冲区高速缓存大小
解析
选项 A:异步 I/O 允许进程在发起 I/O 请求后继续执行其他操作,无需等待当前 I/O 完成。这显著提高了磁盘读取的吞吐量,尤其在高负载场景下能够减少等待时间,直接缓解读取阶段的瓶颈。
选项 B:多路复用级别决定了 RMAN 同时读取的数据文件数量。提高此值可增加磁盘 I/O 的并行度,尤其当数据文件分布在多个物理磁盘或使用条带化存储时,能充分利用存储系统的并发能力,从而加速读取速度。
选项 C:禁用数据库的强制日志记录,强制日志记录主要是确保所有写入数据文件的数据都被记录到重做日志中,与解决当前备份读取阶段的性能瓶颈无关,且禁用可能影响数据安全性,该选项错误。
选项 D:增大磁带 I/O 缓冲区大小,针对的是向磁带写入数据时的性能优化,而本题瓶颈是备份的读取阶段(从磁盘读数据),对解决问题无帮助,该选项错误。
选项 E:RMAN 备份直接读取数据文件(绕过缓冲区高速缓存),因此此操作对备份读取性能无影响。
綜上,正确的答案是 AE
15. 第15题:
- 题目
- 解析及答案:
关于 Oracle 实例恢复,以下哪两项是正确的?
A) 恢复操作会读取重做日志,直至重做线程结束。系统监控进程(SMON)回滚所有未完成的事务,然后打开数据库。
B) 恢复从由检查点进程(ckpt)记录在控制文件中的最后一个检查点位置开始。
C) 恢复从实例故障前由数据库写入进程计算出的最后一个检查点位置开始。
D) 恢复操作会读取重做日志,直至重做线程结束,然后打开数据库。系统监控进程(SMON)随后回滚所有未完成的事务。
E) 恢复从任何活动的重做日志组的起始处开始;如果没有其他活动组,则从当前日志组的起始处开始。
F) 恢复从当前重做日志组的起始处开始。
选项 A:实例恢复时,是先应用重做日志,打开数据库,之后 SMON 才回滚未提交事务,而非先回滚再打开数据库,该选项 错误。
选项 B:检查点进程(CKPT)会在控制文件中记录检查点位置,实例恢复从该位置开始,该选项 正确。
选项 C:检查点位置由 CKPT 记录,并非由数据库写入进程(DBW)计算,该选项 错误。
选项 D:恢复操作先读取重做日志直至重做线程结束,然后打开数据库,最后 SMON 回滚未完成的事务,顺序正确,该选项 正确。
选项 E:恢复从控制文件记录的检查点位置开始,而非从活动重做日志组或当前日志组起始处开始,该选项 错误。
选项 F:恢复不是从当前重做日志组起始处开始,该选项 错误。
綜上,正确的答案是 BD。
未完待续。
关注作者,您将获得更多OCP考试及Oracle DB方面的实战经验。后续不定期分享DB核心知识和排障案例及经验、性能调优等.