题记:
本系列主要讲解Oracle OCP认证考试考点(题目),适用于19C/21C,跟着学OCP考试必过。
41. 第41题:
- 题目
41.Examine the description of the EMPLOYEES table
NLS_DATE_FORMAT is set to DD-MON-YY
Which query requires explicit_data type conversion?
A.SELECT join_date FROM employees WHERE join_date > '10-02-2018';
B.SELECT join_date || ' ' || salary FROM employees
C.SELECT salary + '120.50' FROM employees
D.SELECT SUBSTR( join_date, 1, 2)-10 FROM employees
E.SELECT join_date + '20' FROM employees - 解析及答案:
查看 "EMPLOYEES" 表的描述:
"NLS_DATE_FORMAT" 设置为 "DD - MON - YY" 格式。
以下哪个查询需要显式的数据类型转换?
A. SELECT join_date FROM employees WHERE join_date > '10 - 02 - 2018';
B. SELECT join_date ||'' || salary FROM employees
C. SELECT salary + '120.50' FROM employees
D. SELECT SUBSTR (join_date, 1, 2) - 10 FROM employees
E. SELECT join_date + '20' FROM employees
答案:此题较简单,结合图片,应该选A
42. 第42题:
- 题目
- 解析及答案:
你的数据库实例是通过服务器参数文件(SPFILE)启动的。同时也存在一个文本参数文件(PFILE)。
你执行了这条命令:
ALTER SYSTEM SET DB_CACHE_SIZE = 100K
那么这个值会在何处被更改呢?
A. 在服务器参数文件(SPFILE)和文本参数文件(PFILE)中。
B. 在服务器参数文件(SPFILE)、文本参数文件(PFILE)以及内存中。
C. 仅在服务器参数文件(SPFILE)中。
D. 在服务器参数文件(SPFILE)以及内存中。
E. 仅在内存中。
在Oracle数据库中,SPFILE(Server Parameter File)和PFILE(Parameter File)都用于存储数据库的初始化参数,但它们有不同的使用方式和特性。
SPFILE:是Oracle 9i及更高版本中引入的二进制文件,用于存储数据库的初始化参数。使用SPFILE时,参数的更改会立即生效(动态性能参数),并且在数据库关闭时,这些更改会被持久化回SPFILE中。
PFILE:是一个纯文本文件,也用于存储初始化参数。与SPFILE不同,使用PFILE时,对参数的更改只会在当前会话或数据库实例的生命周期内有效,不会在数据库关闭后保存。
结合题目中的具体情况:
数据库实例是使用SPFILE启动的。
一个PFILE也是可用的。
执行了命令ALTER SYSTEM SET DB_CACHE_SIZE=100K。
我们需要确定这个命令对哪些文件产生了影响。
选项分析:
A. in the SPFILE and PFILE - 错误,因为更改只会在SPFILE中持久化,不会在PFILE中自动更新。
B. in the SPFILE, PFILE, and memory - 错误,同上,PFILE不会自动更新。
C. only in the SPFILE - 错误,因为更改也会立即在内存中生效。
D. in the SPFILE and in memory - 正确,更改会立即在内存中生效,并在数据库关闭时保存到SPFILE中。
E. only in memory - 错误,因为更改会在数据库关闭时保存到SPFILE中。
因此,正确答案是 D.
43. 第43题:
- 题目
43.The ORCL database has RESUMABTE_TIMEOUT =7200 and DEFERRED SEGMENT CREATION=FALSE
User U1 has a 1 MB quota in tablespace DATA. Ul executes this command
Ul complains that the command is taking too long to execute
In the alert log, the database administrator (DBA ) finds this 2017-03-06912:15:17.183438+05:30
statement in resumable session 'User U1(136), session 1, Instance 1 ' was suspended due to ORA-01536: space quota exceeded for tablespace 'DATA'
Which are three actions any one of which the DBA could take take to resume the session?
A.Set AUTOEXTEND ON for data files in DAMA
B.Set DEFERRED SEGMENT CREATION to TRUE
C.Increase Ul's quota sufficiently in DATA
D.Grant UNLIMIRED TABLESPACE to U1
E.Drop other U1 objects in DATA
F. Add a data file to DATA - 解析及答案:
题目翻译
"ORCL" 数据库设置了 "RESUMABLE_TIMEOUT = 7200" 以及 "DEFERRED_SEGMENT_CREATION = FALSE"。
用户 "U1" 在 "DATA" 表空间中有 1MB 的配额。"U1" 执行了以下这条命令:
"U1" 抱怨该命令执行耗时过长。
在警报日志中,数据库管理员(DBA)发现了如下内容:2017 - 03 - 06 12:15:17.183438 + 05:30,用户 "U1 (136),会话 1,实例 1" 的可恢复会话中的语句由于 "ORA - 01536: 在表空间'DATA'中超出空间配额" 而被挂起。
数据库管理员可以采取以下三种操作中的任意一种来恢复该会话,具体是哪三种操作呢?
A.为 "DATA"表空间中的数据文件设置 "AUTOEXTEND ON"(自动扩展开启)。
B.将 "DEFERRED_SEGMENT_CREATION" 设置为 "TRUE"。
C.充分增加 "U1" 在 "DATA" 表空间中的配额。
D.授予 "U1""UNLIMITED TABLESPACE"(无限制表空间权限)。
E.删除 "U1" 在 "DATA" 表空间中的其他对象。
F.为 "DATA" 表空间添加一个数据文件。这可以增加表空间的总体可用空间。能够提供足够的空间来恢复被挂起的会话。
分析问题:
用户 "U1" 的会话被挂起是因为其在 "DATA" 表空间中超出了空间配额。要恢复该会话,数据库管理员需要解决与空间相关的问题。
可能采取的操作:
操作 1:增加用户 "U1" 在 "DATA" 表空间中的配额。
数据库管理员可以执行类似 "ALTER USER U1 quota [新配额大小] ON DATA;" 这样的命令,以增加用户 "U1" 在 "DATA" 表空间中可使用的空间。这样一来,由于在创建表和填充数据时有了更多可用空间,被挂起的操作就能够恢复执行。
操作 2:为 "DATA" 表空间添加更多空间。
如果表空间的空间不足,数据库管理员可以为 "DATA" 表空间添加一个数据文件。例如,使用 "ALTER TABLESPACE DATA ADD DATAFILE [文件名] SIZE [大小];" 这样的命令来增加表空间中可用的总体空间。通过这种方式,该会话可能会获得足够的空间来恢复并完成操作。
操作 3:暂时取消对用户 "U1" 的配额限制。
数据库管理员可以执行"ALTER USER U1 quota unlimited ON DATA;" ,暂时允许用户 "U1" 在 "DATA" 表空间中根据需要使用任意多的空间。这可以作为一种快速恢复会话的方法,但使用时应谨慎,因为如果监控不当,可能会导致空间过度消耗。
分析每个选项:
选项 A:
虽然开启数据文件的自动扩展(AUTOEXTEND ON)理论上可以增加表空间的空间,但这里题干未提及数据文件是否可以通过自动扩展来解决问题,也不确定这种方式是否能有效解决当前用户 U1 超出配额的问题,所以该选项不太合适。
选项 B:
将 DEFERRED_SEGMENT_CREATION 设置为 TRUE,如前面所说,这个操作主要涉及段的创建机制,与解决用户 U1 超出空间配额的问题没有直接关联,所以这个选项不符合要求。
选项 C:
增加 U1 在 DATA 表空间的配额,这是很直接有效的方法。当 U1 的配额增加到足以满足当前操作所需空间时,被暂停的会话就可以恢复,所以该选项正确。
选项 D:
授予 U1 无限制的表空间权限(UNLIMITED TABLESPACE),可以解决因为配额限制导致的会话暂停问题,因为这样 U1 就不再受配额限制,能够继续执行之前被暂停的操作,所以该选项正确。
选项 E:
删除 U1 在 DATA 表空间中的其他对象,可以释放空间。如果释放出的空间能够满足当前操作所需,那么被暂停的会话就可以恢复,所以该选项正确。
选项 F:
添加一个数据文件到 DATA 表空间,这并不一定能直接解决 U1 的配额问题。因为添加数据文件是增加表空间的整体空间,但用户 U1 的配额可能仍然是受限的,除非对 U1 的配额设置与新添加的数据文件空间关联起来,否则不能确保可以恢复会话,所以该选项不太准确。
正确答案是 CDE。
44. 第44题:
- 题目
- 解析及答案:
题目翻译
当你的其中一个数据库处于挂载(mount)状态时,由于数据文件已被移至一个新的文件系统,所以这些数据文件被重命名了。之后该数据库被打开。
以下哪两个陈述是正确的?
A. DBA_DATA_FILES 视图会同时显示数据文件的新名称和旧名称。
B. DBA_DATA_FILES 视图会显示数据文件的原始名称。
C. V$ DATAEILE视图会显示数据文件的新名称。
D. 为了让 DBA_DATA_FILES 视图显示新的文件名,必须手动将其与控制文件重新同步。
E. DBA_DATA_FILES 视图会显示数据文件的新名称。
解析额:
选项 A:
DBA_DATA_FILES 视图在数据库使用重命名后的数据文件打开之后,将显示数据文件的新名称,而不是同时显示新旧名称。所以,该选项错误。
选项 B:
一旦数据文件被重命名且数据库已打开,DBA_DATA_FILES 视图不会显示数据文件的原始(旧)名称。它展示的是当前配置情况,也就是新名称。所以,该选项错误。
选项 C:
DATAFILE 是一个动态性能视图,它能反映数据文件的当前状态。在数据文件被重命名且数据库被打开之后,V$DATAFILE 视图会显示数据文件的新名称。所以,该选项正确。
选项D:
不需要手动将 DBA_DATA_FILES 视图与控制文件重新同步。控制文件会跟踪新的文件名,并且在数据库打开之后,DBA_DATA_FILES 视图会显示正确的(新)文件名。所以,该选项错误。
选项 E:
当数据文件被重命名后数据库被打开时,像 DBA_DATA_FILES 这样的数据字典视图会更新以显示数据文件的当前状态,其中就包括新名称。所以,该选项正确。
正确的两个是 C 和 E。
45. 第45题:
- 题目
- 解析及答案:
关于数据库实例和真正应用集群(RAC),以下哪两个陈述是正确的?
A. 一个 RAC 数据库可以在不同的服务器上拥有实例。
真正应用集群(RAC)数据库允许在不同的服务器上运行多个实例。这些实例能够访问和管理一个共享数据库,从而提供高可用性和可扩展性。所以,该选项正确。
B. 一个 RAC 数据库可以有一个实例。
RAC 数据库旨在让多个实例协同工作以访问同一个数据库。然而,出于测试或其他特定目的,也可以采用单实例配置。但就真正的 RAC 设置而言,其本意是要有多个实例。所以从更宽泛的意义上来说,该选项可以被认为是正确的,即并非总是严格要求必须有多于一个的实例。
C. 一个 RAC 数据库必须有两个或更多个实例。
虽然 RAC 数据库通常会使用两个或更多个实例来充分发挥其诸如高可用性和负载均衡等特性,但这并非是一条硬性规定。正如在选项 B 中所提到的,也可以存在类似单实例的 RAC 配置。所以,该选项并非总是正确的。
D. 两个 RAC 数据库可以共享它们的实例。
每个 RAC 数据库都有其自己的一组实例。实例是特定于某个特定的 RAC 数据库的,不能在两个不同的 RAC 数据库之间共享。所以,该选项错误。
E. 一个 RAC 数据库必须有三个或更多个实例。
并没有规定说一个 RAC 数据库必须有三个或更多个实例。它可以有两个或更多个实例,而且双实例的 RAC 设置也很常见。所以,该选项错误。
正确的两个是 A 和 B。
注意:有人可能觉得C对,但我觉得还是选择AB比较好,更贴近Oracle OCP考核的目的,C选择项太过绝对。
未完待续。
关注作者,您将获得更多OCP考试及Oracle DB方面的实战经验。后续不定期分享DB核心知识和排障案例及经验、性能调优等