Oracle OCP认证考试考点详解082系列21

题记:

本系列主要讲解Oracle OCP认证考试考点(题目),适用于19C/21C,跟着学OCP考试必过。

101. 第101题:

  1. 题目
    在这里插入图片描述
  2. 解析及答案:
    作为数据库管理员(DBA),你执行了如下命令:
    GRANT CREATE VIEW TO usr1 WITH ADMIN OPTION;
    (授予用户 usr1 创建视图的权限,并带有管理选项)
    然后用户 usr1 执行了如下命令:
    GRANT CREATE VIEW TO usr2 WITH ADMIN OPTION;
    (用户 usr1 将创建视图的权限授予用户 usr2,同样带有管理选项)
    接着用户 usr2 执行了如下命令:
    GRANT CREATE VIEW TO usr3;
    (用户 usr2 将创建视图的权限授予用户 usr3)
    以下哪个陈述是正确的?
    A. 用户 usr1 可以从用户 usr3 那里撤销创建视图(CREATE VIEW)的权限。
    用户 usr1 无法从用户 usr3 那里撤销创建视图的权限,因为用户 usr3 是直接从用户 usr2 那里获得该权限的,在这种情况下,用户 usr1 的撤销权限无法延伸到用户 usr3。所以,该选项错误。
    B. 数据库管理员(DBA)只能从用户 usr1 那里撤销管理选项(ADMIN OPTION)。
    数据库管理员可以从用户 usr1 那里撤销整个创建视图的权限,并且撤销操作会按照上述描述的方式级联进行,而不只是能撤销管理选项。所以,该选项错误。
    C. 当数据库管理员从用户 usr1 那里撤销创建视图的权限时,该权限会从用户 usr2 那里被撤销,但不会从用户 usr3 那里被撤销。
    当数据库管理员从用户 usr1 那里撤销创建视图的权限时,由于级联效应,该权限会从用户 usr2 那里被撤销,因为用户 usr2 是从用户 usr1 那里获得带有管理选项的创建视图权限的。然而,该权限不会从用户 usr3 那里被撤销,因为用户 usr3 没有从用户 usr1 那里获得带有管理选项的权限,并且在这种情况下,撤销操作不会从用户 usr2 那里进一步级联。所以,该选项正确。
    D. 当数据库管理员从用户 usr1 那里撤销创建视图的权限时,该权限既不会从用户 usr2 那里也不会从用户 usr3 那里被撤销。
    如上述所解释的,当从用户 usr1 那里撤销权限时,该权限会从用户 usr2 那里被撤销。所以,该选项错误。
    E. 当数据库管理员从用户 usr1 那里撤销创建视图的权限时,该权限会从用户 usr2 和用户 usr3 那里都被撤销。
    当从用户 usr1 那里撤销权限时,该权限不会从用户 usr3 那里被撤销。所以,该选项错误。
    F. 当用户 usr1 从用户 usr2 那里撤销创建视图的权限时,该权限会从用户 usr3 那里被撤销。
    当用户 usr1 从用户 usr2 那里撤销创建视图的权限时,该权限会从用户 usr2 那里被撤销,但用户 usr3 的权限依然保持完整,因为用户 usr3 没有从用户 usr1 那里获得带有管理选项的权限。所以,该选项错误。
    答案:正确是 C。

102. 第102题:

  1. 题目
    Examine the description of the SALES table:
    在这里插入图片描述
    The SALES table has 55,000 rows.
    Examine this statement:
    CREATE TABLE sales1 (prod_id, cust_id, quantity_sold, price)
    AS
    SELECT product_id, customer_id, quantity_sold, price
    FROM sales
    WHERE 1 = 1;
    Which two statements are true?
    A)SALES1 is created with 55,000 rows.
    B) SALES1 is created with no rows.
    C) SALES1 has NOT NULL constraints on any selected columns which had those constraints in the SALES table.
    D) SALES1 has PRIMARY KEY and UNIQUE constraints on any selected columns which had those constraints in the SALES table.
    E) SALES1 is created with 1 row.

  2. 解析及答案:
    A) SALES1 is created with 55,000 rows.
    正确。由于 SALES 表有 55,000 行,且 WHERE 1 = 1 条件会选取所有行,因此 sales1 表也会被创建并包含 55,000 行。
    B) SALES1 is created with no rows.
    错误。如前面所述,sales1 表会被创建并包含与 SALES 表相同数量的行,即 55,000 行。
    C) SALES1 has NOT NULL constraints on any selected columns which had those constraints in the SALES table.
    正确。当使用 CREATE TABLE … AS SELECT … 语句时,新表会继承原表中相应列的 NOT NULL 约束(如果原表有这些约束的话)。在这个场景中,如果 SALES 表的 product_id、customer_id、quantity_sold 或 price 列中有任何 NOT NULL 约束,那么 sales1 表的对应列也会有这些约束。
    D) SALES1 has PRIMARY KEY and UNIQUE constraints on any selected columns which had those constraints in the SALES table.
    错误。虽然新表会继承 NOT NULL 约束,但它不会继承主键(PRIMARY KEY)或唯一(UNIQUE)约束。这些约束需要在创建新表时显式地重新定义。
    E) SALES1 is created with 1 row.
    错误。如前面所述,sales1 表会被创建并包含 55,000 行。
    答案AC。

103. 第103题:

  1. 题目
    在这里插入图片描述
  2. 解析及答案:
    关于角色(roles),以下哪三个陈述是正确的?
    A. 角色必须设置密码保护。
    角色并非必须设置密码保护。设置密码保护的角色只是一种可选项,并非强制要求。例如,在许多数据库配置中,对于那些执行特定功能且不涉及敏感信息的角色,为了方便用户访问,通常不会设置密码保护。所以,该选项错误。
    B. 不能将对象权限授予角色。
    可以将对象权限授予角色。这是一种常见的做法,通过角色来管理并将一组权限分配给多个用户。例如,可以将对某一特定表的 SELECT(查询)、INSERT(插入)、UPDATE(更新)和 DELETE(删除)权限授予一个角色,然后将该角色分配给用户,这样用户就能继承这些与对象相关的权限。所以,该选项错误。
    C. SET ROLE 语句可在会话中禁用一个或多个角色。
    SET ROLE 语句可用于在会话期间禁用一个或多个角色。这为在特定会话中管理用户的访问权限提供了灵活性。例如,如果一个用户拥有多个角色,而在某个特定会话中,其中一些角色并非必需,那么用户或管理员就可以使用 SET ROLE 语句来禁用这些不必要的角色。所以,该选项正确。
    D. 角色可以被授予其他角色。
    角色可以被授予其他角色。这是一种分层管理访问权限的方式。例如,一个代表部门的较高级别角色可以被授予几个子角色(这些子角色代表该部门内的特定职能)。所以,该选项正确。
    E. 用户登录时,默认会启用授予该用户的所有角色。
    并非用户登录时默认会启用授予该用户的所有角色。用户的默认角色是可以进行配置的,通常只有部分角色或特定角色会在默认情况下被启用。例如,一个用户可能既有用于常规数据访问的角色,又有用于管理功能的角色,但可能只有常规数据访问角色会在默认情况下被启用。所以,该选项错误。
    F. SET ROLE 语句可在会话中启用一个或更多角色。
    SET ROLE 语句可用于在会话期间启用一个或多个角色。与禁用角色类似,它也可用于在会话期间为用户启用必要的角色,以便用户能够访问相应资源并执行所需功能。所以,该选项正确。
    答案是 C、D 和 F。

104. 第104题:

  1. 题目
    在这里插入图片描述
  2. 解析及答案:
    解决这个问题,我们需要理解 ROUND 和 TRUNC 函数在 Oracle 数据库中的行为:
    ROUND 函数:ROUND(number, decimals) 函数将数字四舍五入到指定的小数位数。如果 decimals 是负数,那么函数会在指定的十进制位置前进行四舍五入。
    TRUNC 函数:TRUNC(number, decimals) 函数将数字截断到指定的小数位数。如果 decimals 是负数,那么函数会在指定的十进制位置前截断数字,即去掉该位置及之后的所有数字。
    答案是D。

未完待续。
关注作者,您将获得更多OCP考试及Oracle DB方面的实战经验。后续不定期分享DB核心知识和排障案例及经验、性能调优等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值