重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 249|回复: 0
打印 上一主题 下一主题

[认证考试] [检验流程]43、Examine this configuration:

[复制链接]
跳转到指定楼层
楼主
发表于 2026-1-28 09:01:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Inkcup 于 2026-1-28 09:12 编辑

题目:
43、Examine this configuration:
1.CDB1 is a container database.
2.COMMON_USER_PREFIX is C##.
3.PDB1 is a pluggable database contained in CDB1.
4.APP1_ROOT is an application container contained in CDB1.
5.APP1_PDB1 is an application PDB contained in APP1_ROOT.
You execute these commands successfully:

SQL> CREATE USER c##user1 identified by oracle_4U container=all;
User created.
SQL> ALTER SESSION SET CONTAINER=pdb1;
Session altered.
SQL> CREATE USER p1_user1 identified by oracle_4U;
User Created.
SQL> ALTER SESSION SET CONTAINER=app1_root;
Session altered.
SQL> ALTER PLUGGABLE DATABASE APPLICATION app1_cdb1_app BEGIN INSTALL '1.0';
Session altered.
SQL> CREATE USER app1_user1 IDENTIFIED BY oracle_4U;
User Created.
SQL> ALTER PLUGGABLE DATABASE APPLICATION app1_cdb1_app END INSTALL '1.0';
Pluggable database altered.


Which two are true? (Choose two.)

A) APP1_USER1 can be created in PDB1.
B) APP1_USER1 can be created in CDB1.
C) APP1_USER1 can have different privileges in each Application PDB contained in APP1_ROOT.
D) C##_APP_USER1 can be created in CDB1.
E) P1_USER1 can be created in CDB1.
F) C##_USER1 will have the same privileges and roles granted in all PDBs in CDB1.

Answer:  A D


                               
登录/注册后可看大图

检验流程:
=========================================
创建题目要求的PDB1

-- 1. 从PDB$SEED创建PDB1

CREATE PLUGGABLE DATABASE pdb1
  ADMIN USER pdbadmin IDENTIFIED BY oracle
  FILE_NAME_CONVERT = ('/u01/app/oracle/oradata/cdb1/pdbseed/',
                       '/u01/app/oracle/oradata/cdb1/pdb1/');

-- 2. 打开PDB1
ALTER PLUGGABLE DATABASE pdb1 OPEN;

-- 3. 验证
SELECT name, open_mode FROM v$pdbs WHERE name = 'PDB1';

=========================================
创建应用程序容器APP1_ROOT

-- 1. 创建应用程序容器
CREATE PLUGGABLE DATABASE app1_root AS APPLICATION CONTAINER
  ADMIN USER appadmin IDENTIFIED BY oracle
  FILE_NAME_CONVERT = ('/u01/app/oracle/oradata/CDB2/pdbseed/',
                       '/u01/app/oracle/oradata/CDB2/app1_root/');

-- 2. 打开APP1_ROOT
ALTER PLUGGABLE DATABASE app1_root OPEN;

-- 3. 切换到应用程序容器
ALTER SESSION SET CONTAINER = app1_root;

-- 4. 验证应用程序容器
SELECT con_id, name, application_root, application_pdb, application_seed
FROM v$pdbs
WHERE application_root = 'YES';

=========================================
在应用程序容器中创建APP1_PDB1

-- 确保当前在APP1_ROOT容器中
ALTER SESSION SET CONTAINER = app1_root;

-- 创建应用程序PDB
CREATE PLUGGABLE DATABASE app1_pdb1
  ADMIN USER app_pdb_admin IDENTIFIED BY oracle
  FILE_NAME_CONVERT = ('/u01/app/oracle/oradata/CDB2/pdbseed/',
                       '/u01/app/oracle/oradata/CDB2/app1_pdb1/');

-- 打开APP1_PDB1
ALTER PLUGGABLE DATABASE app1_pdb1 OPEN;

=========================================
执行题目中的命令序列

-- 1. 创建公共用户c##user1(在CDB$ROOT中)
ALTER SESSION SET CONTAINER = CDB$ROOT;
CREATE USER c##user1 IDENTIFIED BY oracle_4U CONTAINER=ALL;

-- 2. 切换到PDB1
ALTER SESSION SET CONTAINER = pdb1;

-- 3. 在PDB1中创建本地用户p1_user1
CREATE USER p1_user1 IDENTIFIED BY oracle_4U;

-- 4. 切换到APP1_ROOT
ALTER SESSION SET CONTAINER = app1_root;

-- 5. 开始安装应用程序
ALTER PLUGGABLE DATABASE APPLICATION app1_cdb1_app BEGIN INSTALL '1.0';

-- 6. 在应用程序容器中创建应用程序公共用户
CREATE USER app1_user1 IDENTIFIED BY oracle_4U;

-- 7. 结束安装
ALTER PLUGGABLE DATABASE APPLICATION app1_cdb1_app END INSTALL '1.0';

=========================================
检验题目:
A:APP1_USER1 can be created in PDB1.
SQL> ALTER SESSION SET CONTAINER = pdb1;

Session altered.

SQL> SELECT username FROM all_users WHERE username = 'APP1_USER1';

no rows selected

SQL> ALTER SESSION SET CONTAINER = pdb1;

Session altered.

SQL> CREATE USER app1_user1 IDENTIFIED BY oracle;

User created.

SQL> SELECT username FROM all_users WHERE username = 'APP1_USER1';

USERNAME
--------------------------------------------------------------------------------
APP1_USER1

证明可以在pdb1里创建APP1_USER1
--------------------------------
B:APP1_USER1 can be created in CDB1.
不行,没有C##
--------------------------------
C:APP1_USER1 can have different privileges in each Application PDB contained in APP1_ROOT.

在升级结束之后再授权:应用pdb2同步后也无法获得相同授权。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2026-4-17 22:16 , Processed in 0.304183 second(s), 27 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表