插接式数据库 (Pluggable Database,PDB) 管理

本节介绍容器数据库 (Container Database,CDB) 中可插入数据库 (Pluggable Databases,PDB) 的管理。它包括用于创建 (dbaascli pdb create)、删除 (dbaascli pdb delete) 和克隆 PDB(dbaascli pdb localClone、dbaascli pdb remoteClone)的命令。可以使用命令管理 PDB 状态,以打开、关闭或退回 PDB,以及检索连接详细信息 (dbaascli pdb getConnectString)。其他命令支持备份、恢复和重新定位 PDB,确保对 PDB 生命周期和操作进行全面控制。

dbaascli pdb 备份

要备份可插入数据库 (pluggable database,PDB),查询 PDB 备份并删除 PDB 备份,请使用 dbaascli pdb backup 命令。

先决条件:

语法:

dbaascli pdb backup --pdbName <value> --dbname <value>
        {
            --start
                {
                    [--level1]
                    | [--archival --tag <value>]
                }
            | --delete --backupTag <value>
            | --status --uuid <value>
            | --getBackupReport --json <value> --tag <value>
            | --list [--json <value>]
        }

参数:

参数 属性 说明
--pdbName - PDB 名称。
--dbname - Oracle AI Database 名称。
--start | --delete | --status | --getBackupReport | --list - -
--start - 开始 PDB 备份。
--start --level1 | --archival -
--start --level1 创建 1 级(增量)备份。
--start --archival 创建存档完整备份。
--start --archival → --tag 指定备份标记。
--delete - 删除存档备份。
--delete --backupTag 指定要删除的备份标记。
--status - -
--status --uuid <value> -
--getBackupReport - 返回备份报告。
--getBackupReport --json 为 JSON 输出指定文件名。
--getBackupReport --tag 指定备份标记。
--list - 返回 PDB 备份信息。
--list --json 为 JSON 输出指定文件名。

常见问题解答:

问:dbaascli pdb backup 命令的用途是什么?

答案:dbaascli pdb backup 命令用于为可插入数据库 (pluggable database,PDB)、查询备份状态、生成备份报告以及在 Oracle Base Database Cloud@Customer 环境中删除 PDB 备份创建备份。

问:使用 dbaascli pdb 备份命令的先决条件是什么?

答:该命令必须以 root 用户身份运行,并且您需要连接到 Oracle Base Database Cloud@Customer 虚拟机。

问:如何使用 dbaascli PDB backup 命令启动 PDB 备份?

答:可以使用 --start 选项启动 PDB 备份。例如:

dbaascli pdb backup --pdbName <PDB_Name> --dbname <DB_Name> --start

问:哪些选项可以与– start 标志一起使用?

答:使用 --start 标志,可以指定:

问题:如何创建级别 1 增量 PDB 备份?

答:使用带有 --start 选项的 --level1 标志可创建级别 1 增量备份:

dbaascli pdb backup --pdbName <PDB_Name> --dbname <DB_Name> --start --level1

问:如何创建归档 PDB 备份?

答:使用带有 --start 选项的 --archival 标志并使用 --tag 指定备份标记:

dbaascli pdb backup --pdbName <PDB_Name> --dbname <DB_Name> --start --archival --tag <backup_tag>

问:如何删除特定 PDB 备份?

答:要删除特定备份,请使用 --delete 标志并使用 --backupTag 指定备份标记:

dbaascli pdb backup --pdbName <PDB_Name> --dbname <DB_Name> --delete --backupTag <backup_tag>

问:如何检查 PDB 备份的状态?

答:使用 --status 标志和备份 --uuid 来检查特定备份的状态:

dbaascli pdb backup --pdbName <PDB_Name> --dbname <DB_Name> --status --uuid <backup_uuid>

问:如何检索 JSON 格式的 PDB 备份报告?

答:要获取 JSON 格式的备份报告,请使用 --getBackupReport 选项,使用 --json 指定文件名,并使用 --tag 提供备份标记:

dbaascli pdb backup --pdbName <PDB_Name> --dbname <DB_Name> --getBackupReport --json <file_name> --tag <backup_tag>

问题:如何列出特定 PDB 的所有 PDB 备份?

答:使用 --list 选项可获取给定 PDB 的所有备份的列表:

dbaascli pdb backup --pdbName <PDB_Name> --dbname <DB_Name> --list

(可选)您可以使用 --json 标志以 JSON 格式输出列表:

dbaascli pdb backup --pdbName <PDB_Name> --dbname <DB_Name> --list --json <file_name>

问:– pdbName 选项的作用是什么?

答:--pdbName 选项指定要备份、查询或删除其备份的可插入数据库 (pluggable database,PDB) 的名称。

问:– dbname 选项的用途是什么?

答:--dbname 选项指定 PDB 所属 Oracle AI Database 的名称。

问题:如何为 PDB 备份指定备份标记?

答:在启动归档备份或检索备份报告时,可以使用 --tag 选项指定备份标记:

--tag <backup_tag>

问:我是否可以在 JSON 模式下运行 PDB 备份?

答:是的,备份报告 (--getBackupReport) 和备份列表 (--list) 选项都支持 JSON 格式的输出。可以使用 --json 选项指定 JSON 文件名。

示例:

dbaascli pdb 退回

要退回可插入数据库 (pluggable database,PDB),请使用 dbaascli pdb bounce 命令。

先决条件:

以 oracle 用户身份运行该命令。

语法:

dbaascli pdb bounce
	{
            --pdbName <value>
            | --pdbUID <value>
        }
        --dbname <value> [--openMode <value>] [--startServices <value>] [--waitForCompletion <value>]

参数:

参数 说明
--pdbName 指定 PDB 的名称
--pdbUID 指定 PDB 的标识符
--dbname 指定承载 PDB 的容器数据库的名称
--openMode 指定 PDB 的目标 OPEN MODE
--startServices 指定启动与 PDB 对应的所有服务或所有服务的列表。接受的值为 all 或以逗号分隔的 PDB 服务列表。
--waitForCompletion 指定在前台或后台运行该操作。有效值:true 或 false。

常见问题解答:

问:dbaascli pdb bounce 命令的用途是什么?

答案:dbaascli pdb bounce 命令用于在 Oracle Base Database Cloud@Customer 环境中退回(重新启动)可插入数据库 (pluggable database,PDB)。

问:使用 dbaascli pdb 退回命令有哪些先决条件?

答:该命令必须以 oracle 用户身份运行,并且您必须连接到 Oracle Base Database Cloud@Customer 虚拟机。

问:如何通过指定 PDB 的名称来退回 PDB?

答:要通过指定 PDB 的名称来退回 PDB,请使用以下语法:

dbaascli pdb bounce --dbname <CDB_Name> --pdbName <PDB_Name>

问:如何使用 PDB 的唯一标识符 (UID) 退回 PDB?

答:要使用 PDB 的唯一标识符 (UID) 退回 PDB,请使用以下语法:

dbaascli pdb bounce --dbname <CDB_Name> --pdbUID <PDB_UID>

问:– dbname 选项用于什么?

答:--dbname 选项指定承载要退回的可插入数据库 (pluggable database,PDB) 的容器数据库 (container database,CDB) 的名称。

问:– pdbName 选项用于什么?

答:--pdbName 选项指定要退回的可插入数据库 (pluggable database,PDB) 的名称。

问:– pdbUID 选项用于什么?

答:--pdbUID 选项指定要退回的可插入数据库 (pluggable database,PDB) 的唯一标识符 (unique identifier,UID)。

Q:退回 PDB 时如何指定目标打开模式?

答:可以在退回后使用 --openMode 选项为 PDB 指定所需的打开模式。有效值为 READ_WRITE 和 READ_ONLY。例如:

dbaascli pdb bounce --dbname <CDB_Name> --pdbName <PDB_Name> --openMode READ_WRITE

问:是否可以在退回 PDB 后以只读模式将其打开?

答:是,可以在退回后使用 --openMode READ_ONLY 选项以只读模式打开 PDB:

dbaascli pdb bounce --dbname <CDB_Name> --pdbName <PDB_Name> --openMode READ_ONLY

问:如果未指定– openMode,则缺省打开模式是什么?

答:如果未指定 --openMode,PDB 将以默认打开模式(通常为 READ_WRITE)打开。

问:我是否可以在同一命令中使用– pdbName 和– pdbUID?

答:不,您应该指定 --pdbName 或 --pdbUID,但不能在同一命令中同时指定两者。

问:如何重新启动 PDB 并确保 PDB 在读写模式下打开?

答:要重新启动 PDB 并确保它在读写模式下打开,请使用 --openMode READ_WRITE 选项:

dbaascli pdb bounce --dbname <CDB_Name> --pdbName <PDB_Name> --openMode READ_WRITE

问:使用 dbaascli pdb bounce 命令时是否必须指定打开模式?

答:否,指定 --openMode 是可选的。如果未提供,PDB 将在其默认模式下打开。

问:如果不指定– openMode 标志,会发生什么情况?

答:如果未指定 --openMode 标志,PDB 将以其默认模式(通常为 READ_WRITE)打开。

示例:dbaascli pdb 退回

dbaascli pdb bounce --dbname cdb_name --pdbName pdb name associated with the CDB
dbaascli pdb bounce --dbname cdb_name --pdbUID con_uid of that pdb

可选:

dbaascli pdb 关闭

要关闭可插入数据库 (pluggable database,PDB),请使用 dbaascli pdb close 命令。

先决条件:

以 oracle 用户身份运行该命令。

语法:

dbaascli pdb close
        {
            --pdbName <value>
            | --pdbUID <value>
        }
        --dbname <value> [--waitForCompletion <value>]

参数:

参数 说明
--pdbname 指定要关闭的 PDB 的名称。
--pdbUID 指定 PDB 的标识符
--dbname 指定承载 PDB 的容器数据库的名称。
--waitForCompletion 指定在前台或后台运行该操作。有效值:true 或 false。

成功完成运行此命令后,将在所有容器数据库实例上关闭 PDB。

常见问题解答:

问:dbaascli pdb close 命令的用途是什么?

答案:dbaascli pdb close 命令用于关闭 Oracle Base Database Cloud@Customer 环境中的可插入数据库 (pluggable database,PDB)。

问:使用 dbaascli pdb close 命令有哪些先决条件?

答:该命令必须以 oracle 用户身份运行,并且您必须连接到 Oracle Base Database Cloud@Customer 虚拟机。

问:如何通过指定 PDB 的名称来关闭 PDB?

答:要通过指定 PDB 的名称来关闭 PDB,请使用以下语法:

dbaascli pdb close --dbname <CDB_Name> --pdbName <PDB_Name>

问:如何通过指定 PDB 的唯一标识符 (UID) 来关闭 PDB?

答:要使用 PDB 的唯一标识符 (UID) 来关闭 PDB,请使用以下语法:

dbaascli pdb close --dbname <CDB_Name> --pdbUID <PDB_UID>

问:在 dbaascli pdb close 命令中,– dbname 选项的作用是什么?

答:--dbname 选项指定承载要关闭的可插入数据库 (pluggable database,PDB) 的容器数据库 (container database,CDB) 的名称。

问:在 dbaascli pdb close 命令中,– pdbName 选项的作用是什么?

答:--pdbName 选项指定要关闭的可插入数据库 (pluggable database,PDB) 的名称。

问:dbaascli pdb close 命令中– pdbUID 选项的用途是什么?

答:通过 --pdbUID 选项,可以指定要关闭的可插入数据库 (pluggable database,PDB) 的唯一标识符 (unique identifier,UID)。

问:是否可以在 CDB 的特定实例上关闭 PDB?

答案:否。成功完成后,PDB 将在容器数据库 (Container Database,CDB) 的所有实例上关闭。

问:是否可以在同一命令中同时指定– pdbName 和– pdbUID?

答:否,您可以指定 --pdbName 或 --pdbUID,但不能在同一命令中同时指定两者。

问:当 dbaascli pdb close 命令成功完成时会发生什么情况?

答:该命令成功完成后,将在容器数据库 (Container Database,CDB) 的所有实例上关闭可插入数据库 (Pluggable Database,PDB)。

问题:如何使用 CDB 的 UID 在 CDB 内关闭特定 PDB?

答:可以通过运行以下命令来使用特定 PDB 的 UID 关闭该 PDB:

dbaascli pdb close --dbname <CDB_Name> --pdbUID <PDB_UID>

问:如果忘记指定– pdbName 或– pdbUID,会发生什么情况?

答:必须在命令中指定 --pdbName 或 --pdbUID。如果未提供这两个命令,将不运行该命令。

问:是否可以直接对 CDB 使用 dbaascli pdb close 命令?

答:不,该命令用于关闭容器数据库 (Container Database,CDB) 中的可插入数据库 (Pluggable Database,PDB),而不是 CDB 本身。

示例:dbaascli pdb close

dbaascli pdb close --dbname cdb name --pdbName pdb name associated with the CDB
dbaascli pdb close --dbname cdb name --pdbUID con_uid of that pdb

dbaascli pdb 创建

要创建新的可插入数据库 (pluggable database,PDB),请使用 dbaascli pdb create 命令。

先决条件:

以 oracle 用户身份运行该命令。

语法:

dbaascli pdb create --pdbName <value> --dbName <value> [--maxCPU <value>] [--maxSize <value>] [--pdbAdminUserName <value>] [--lockPDBAdminAccount <value>] [--resume [--sessionID <value>]] [--executePrereqs] [--waitForCompletion <value>]
        {
            [--blobLocation <value>]
            | [--standbyBlobFromPrimary <value>]
        }
        [--pdbTdeKeyVersionOCID <value>]

参数:

参数 属性 说明
--pdbName - 指定要创建的新 PDB 的名称
--dbName - 指定承载新 PDB 的容器数据库的名称
--maxCPU - (可选)指定可供 PDB 使用的最大 CPU 数。设置此选项实际上与在 PDB 中设置 CPU_COUNT 参数相同
--maxSize - (可选)为属于 PDB 的表空间指定数据文件和临时文件的最大总大小。设置此选项实际上与在 CREATE PLUGGABLE DATABASE SQL 命令中设置 MAXSIZE PDB 存储子句相同。可以通过指定一个整数后跟一个大小单位(K、M、G 或 T)来强制实施限制,也可以指定 UNLIMITED 以显式强制实施无限制
--pdbAdminUserName - 指定新的 PDB 管理员用户名
--lockPDBAdminAccount - 指定 true 或 false 以确定是否锁定 PDB 管理员用户账户。默认值为 true。
--resume - 恢复上一个运行
--resume --sessionID 指定以恢复特定的会话 ID
--executePrereqs - 指定 yes 以仅运行此操作的先决条件。有效值:yes 或 no
--waitForCompletion - 指定 false 以在后台运行操作。有效值:true 或 false
--blobLocation - 在 DG 环境中生成备用 blob 文件的定制目录位置。
--standbyBlobFromPrimary - 指定从主数据库准备的备用 blob 文件的位置。这仅对备用数据库 PDB 操作是必需的。请注意,参数 blobLocation 和 standbyBlobFromPrimary 是互斥的。
--pdbTdeKeyVersionOCID - TDE 的 OCID。

在 PDB 创建过程中,系统会提示您指定新 PDB 的管理密码。

常见问题解答:

问:dbaascli pdb create 命令的用途是什么?

答案:dbaascli pdb create 命令用于在 Oracle Base Database Cloud@Customer 环境的容器数据库 (Container Database,CDB) 中创建新的可插入数据库 (Pluggable Database,PDB)。

问:使用 dbaascli pdb create 命令有哪些先决条件?

答:该命令必须以 oracle 用户身份运行,并且您必须连接到 Oracle Base Database Cloud@Customer 虚拟机。

问:在 dbaascli pdb create 命令中,– pdbName 选项的作用是什么?

答:--pdbName 选项指定要创建的新可插入数据库 (pluggable database,PDB) 的名称。

问:在 dbaascli pdb create 命令中,– dbName 选项的作用是什么?

答案:--dbName 选项指定将托管新可插入数据库 (pluggable database,PDB) 的容器数据库 (container database,CDB) 的名称。

问题:是否可以限制新 PDB 的 CPU 资源?

答:是,可以使用 --maxCPU 选项指定 PDB 可使用的最大 CPU 数。这等效于在 PDB 中设置 CPU_COUNT 参数。

问:如何限制 PDB 的存储大小?

答:可以使用 --maxSize 选项指定 PDB 的数据文件和临时文件的最大总大小。您可以设置大小限制(以 K、M、G 或 T 为单位),也可以指定 UNLIMITED 表示无限制。

问:– pdbAdminUserName 选项用于什么?

答:--pdbAdminUserName 选项指定新 PDB 的管理员用户的名称。此用户将在 PDB 内具有管理权限。

问:是否可以在创建 PDB 期间锁定管理员用户账户?

答案:是,可以使用 --lockPDBAdminAccount 选项指定是否应锁定 PDB 管理员账户。默认值为 true(已锁定)。

问:在 dbaascli pdb create 命令中,– resume 选项的作用是什么?

答:通过 --resume 选项,可以恢复以前失败的 PDB 创建过程。

问:如何指定用于恢复上次运行的会话 ID?

答:可以使用 --sessionID 选项指定会话 ID,以恢复 PDB 创建过程的特定会话。

问:– executePrereqs 选项的用途是什么?

答:--executePrereqs 选项指定是否仅运行用于创建 PDB 的先决条件检查。可以将此选项设置为 yes 或 no。

问:我是否可以在后台运行 PDB 创建过程?

答:是的,可以使用 --waitForCompletion 选项并将其设置为 false 以在后台运行该操作。

问:– standbyBlobFromPrimary 选项用于什么?

答:--standbyBlobFromPrimary 选项指定备用 blob 文件的位置,该文件是从主数据库准备的。这对于备用数据库 PDB 操作是必需的。

问:在创建过程中将如何提示我输入 PDB 管理员密码?

答:在 PDB 创建过程中,系统会提示您指定新 PDB 的管理密码。

问:是否可以使用 dbaascli PDB create 命令创建备用 PDB?

答:是。如果要创建备用 PDB,则可以使用 --standbyBlobFromPrimary 选项指定主数据库中的备用 blob 文件的位置。

问:如果不使用– maxSize 选项将会怎样?

答:如果不指定 --maxSize 选项,除非 CDB 策略另有定义,否则 PDB 不会具有存储大小限制。

问:如果不提供– pdbAdminUserName 选项,会发生什么情况?

答:如果不提供 --pdbAdminUserName 选项,将在未指定管理员用户的情况下创建 PDB,并且您需要在创建后手动配置管理员用户。

问:我是否可以在流程中的任何时间恢复失败的 PDB 创建?

答:是,只要会话尚未终止,就可以使用 --resume 和 --sessionID 选项恢复失败的 PDB 创建。

示例:dbaascli pdb create

要从非 Data Guard 环境中的标准数据库中的种子创建 PDB,请执行以下操作:

dbaascli pdb create --dbName db721 --pdbName new_pdb1 --maxsize 5G --maxcpu 2

要在 Data Guard 环境中创建 PDB:

dbaascli pdb create --dbName db721 --pdbName new_pdb1
dbaascli pdb create --dbName db721 --pdbName new_pdb1 --standbyBlobFromPrimary /tmp/send_db
721.tar

dbaascli pdb 删除

要删除可插入数据库 (pluggable database,PDB),请运行 dbaascli pdb delete 命令。

先决条件:

以 oracle 用户身份运行该命令。

语法:

dbaascli pdb delete --dbName <value>
        {
            --pdbName <value>
            | --pdbUID <value>
        }
        [--executePrereqs] [--waitForCompletion <value>] [--resume [--sessionID <value>]] [--allStandbyPrepared] [--cleanupRelocatedPDB]

参数:

参数 说明
--dbName 指定承载 PDB 的容器数据库的名称
--pdbName 指定要删除的 PDB 的名称
--pdbUID 指定要删除的 PDB 的 UID
--executePrereqs 指定 yes 以仅运行此操作的先决条件。有效值:yes 或 no
--waitForCompletion 指定 false 以在后台运行操作。有效值:true 或 false
--resume 指定以恢复上一个执行
--sessionID 指定以恢复特定的会话 ID
--allStandbyPrepared 指定此项以确认操作已在所有备用数据库上成功运行
--cleanupRelocatedPDB 指定在重新定位 PDB 之后清除源数据库

常见问题解答:

问:dbaascli pdb delete 命令的用途是什么?

答案:dbaascli pdb delete 命令用于从 Oracle Base Database Cloud@Customer 环境中的容器数据库 (container database,CDB) 中删除可插入数据库 (pluggable database,PDB)。

问:运行 dbaascli pdb delete 命令有哪些先决条件?

答:该命令必须以 oracle 用户身份运行,并且您必须连接到 Oracle Base Database Cloud@Customer 虚拟机。

问:在 dbaascli pdb delete 命令中,– dbName 选项指定什么?

答:--dbName 选项指定承载要删除的 PDB 的容器数据库 (container database,CDB) 的名称。

问:如何使用 dbaascli PDB delete 命令指定要删除的 PDB?

答:可以使用 --pdbName 选项(指定 PDB 名称)或 --pdbUID 选项(指定 PDB UID)指定要删除的 PDB。

问:我是否可以在不实际删除 PDB 的情况下运行先决条件检查?

答:是的,可以使用 --executePrereqs 选项并将其设置为 yes 以仅运行 PDB 删除操作的先决条件检查。

问:如何才能在后台运行 PDB 删除过程?

答:使用 --waitForCompletion 选项并将其设置为 false 以在后台运行删除进程。

问:在 dbaascli pdb delete 命令中,– resume 选项的作用是什么?

答:通过 --resume 选项,可以恢复以前失败的 PDB 删除过程。

问:如何恢复 PDB 删除的特定会话?

答:可以使用 --sessionID 选项指定会话 ID,以恢复 PDB 删除过程的特定会话。

问:– allStandbyPrepared 选项的作用是什么?

答:--allStandbyPrepared 选项用于确认删除操作已在所有备用数据库上成功运行,然后再继续删除主 PDB。

问:– cleanupRelocatedPDB 选项的用途是什么?

答:在重新定位 PDB 后,--cleanupRelocatedPDB 选项会清除源数据库,以确保在重新定位后不会留下残值。

问题:是否可以删除已重新定位的 PDB?

答:是的,可以使用 --cleanupRelocatedPDB 选项删除已重新定位到新 CDB 的 PDB。

问:如何确保删除操作在备用数据库上成功运行?

答:使用 --allStandbyPrepared 选项确认操作已在所有备用数据库上成功运行,然后再继续。

问:如果删除过程失败并且需要恢复,会发生什么情况?

答:可以使用 --resume 选项恢复删除过程,如果需要,使用 --sessionID 指定会话 ID。

问:将– waitForCompletion 设置为 false 是什么?

答:将 --waitForCompletion 设置为 false 将允许删除进程在后台运行,从而使您能够在不等待操作完成的情况下继续工作。

示例:dbaascli pdb delete

从非 Data Guard 环境中的标准数据库或 Data Guard 环境中的备用数据库中删除 PDB。

dbaascli pdb delete --dbName db721 --pdbName pdb1

要从 Data Guard 环境中的主数据库创建 PDB,请执行以下操作:

dbaascli pdb create --dbName db721 --pdbName pdb1 --allStandbyPrepared

dbaascli pdb getConnectString

要显示可插入数据库 (pluggable database,PDB) 的 Oracle Net 连接字符串信息,请运行 dbaascli pdb getConnectString 命令。

先决条件:

以 oracle 用户身份运行该命令。

语法:

dbaascli pdb getConnectString --dbname <value>
        {
            --pdbName <value>
            | --pdbUID <value>
        }

参数:

参数 说明
--dbname 指定承载 PDB 的容器数据库的名称
--pdbname 指定要为其显示连接字符串信息的 PDB 的名称
--pdbUID 指定 PDB 的标识符

常见问题解答:

问:dbaascli pdb getConnectString 命令的用途是什么?

答案:dbaascli pdb getConnectString 命令用于在 Oracle Base Database Cloud@Customer 环境中显示可插入数据库 (pluggable database,PDB) 的 Oracle Net 连接字符串信息。

问:使用 dbaascli pdb getConnectString 命令有哪些先决条件?

答:该命令必须以 oracle 用户身份运行,并且您必须连接到 Oracle Base Database Cloud@Customer 虚拟机。

问:如何通过指定 PDB 的名称来检索 PDB 的连接字符串?

答:要通过指定 PDB 名称来检索连接字符串,请使用以下语法:

dbaascli pdb getConnectString --dbname <CDB_Name> --pdbName <PDB_Name>

问题:如何通过指定 PDB 的唯一标识符 (UID) 来检索 PDB 的连接字符串?

答:要使用 PDB 的唯一标识符 (UID) 检索连接字符串,请使用以下语法:

dbaascli pdb getConnectString --dbname <CDB_Name> --pdbUID <PDB_UID>

问:在 dbaascli pdb getConnectString 命令中,– dbname 选项的作用是什么?

答案:--dbname 选项指定要为其显示连接字符串信息的可插入数据库 (pluggable database,PDB) 所在的容器数据库 (container database,CDB) 的名称。

问:在 dbaascli pdb getConnectString 命令中,– pdbName 选项的作用是什么?

答案:--pdbName 选项指定要为其检索 Oracle Net 连接字符串信息的可插入数据库 (pluggable database,PDB) 的名称。

问:dbaascli pdb getConnectString 命令中– pdbUID 选项的用途是什么?

答:通过 --pdbUID 选项,可以指定要显示连接字符串的可插入数据库 (pluggable database,PDB) 的唯一标识符 (unique identifier,UID)。

问:我是否可以在同一命令中使用– pdbName 和– pdbUID?

答:不可以,您可以在同一命令中使用 --pdbName 或 --pdbUID,但不能同时使用两者。

Q:dbaascli pdb getConnectString 命令返回什么类型的信息?

答:该命令返回指定可插入数据库 (pluggable database,PDB) 的 Oracle Net 连接字符串信息。

问题:是否可以在特定容器数据库实例上检索 PDB 的连接字符串?

答:不,连接字符串针对整个 PDB,不针对容器数据库的特定实例。

问:如果我仅知道 PDB 的唯一标识符 (UID),如何获取连接字符串信息?

答:可以通过运行以下命令来使用 PDB 的 UID 检索连接字符串:

dbaascli pdb getConnectString --dbname <CDB_Name> --pdbUID <PDB_UID>

问:如果我不提供– pdbName 或– pdbUID,会发生什么情况?

答:必须指定 --pdbName 或 --pdbUID 才能检索连接字符串。如果没有这些选项之一,该命令将不会运行。

问题:在 CDB 的所有实例中,PDB 的连接字符串信息是否始终相同?

答案:是,在容器数据库 (Container Database,CDB) 的所有实例中,PDB 的连接字符串信息保持一致。

示例:dbaascli pdb getConnectString

dbaascli pdb getConnectString --dbname dbname --pdbName pdbName

dbaascli pdb getDetails

要查看可插入数据库 (pluggable database,PDB) 的详细信息,请使用 dbaascli pdb getDetails 命令。

先决条件:

以 oracle 用户身份运行该命令。

语法:

dbaascli pdb getDetails --dbname <value>
        {
            --pdbName <value>
            | --pdbUID <value>
        }

参数:

参数 说明
--dbname 指定承载 PDB 的容器数据库的名称
--pdbname 指定要删除的 PDB 的名称
--pdbUID 指定 PDB 的标识符

常见问题解答:

问:dbaascli pdb getDetails 命令的用途是什么?

答案:dbaascli pdb getDetails 命令用于查看 Oracle Base Database Cloud@Customer 环境中的容器数据库 (Container Database,CDB) 中托管的可插入数据库 (Pluggable Database,PDB) 的详细信息。

问:运行 dbaascli pdb getDetails 命令的先决条件有哪些?

答:该命令必须以 oracle 用户身份运行,并且您必须连接到 Oracle Base Database Cloud@Customer 虚拟机。

问:在 dbaascli pdb getDetails 命令中,– dbname 选项指定了什么?

答:--dbname 选项指定承载要查看其详细信息的 PDB 的容器数据库 (container database,CDB) 的名称。

问:如何指定要查看其详细信息的 PDB?

答:可以使用 --pdbName 选项(提供 PDB 名称)或 --pdbUID 选项(提供 PDB UID)指定 PDB。

问:– pdbName 和– pdbUID 有什么区别?

答:--pdbName 选项使用 PDB 的名称来提取详细信息,而 --pdbUID 选项使用 PDB 的唯一标识符 (UID) 来提取其详细信息。

问题:是否可以在 dbaascli pdb getDetails 命令中同时使用– pdbName 和– pdbUID?

答:否,您可以指定 --pdbName 或 --pdbUID 选项来获取 PDB 的详细信息,但不能同时指定两者。

问:dbaascli pdb getDetails 命令有哪些用例?

答:可以使用 dbaascli pdb getDetails 命令:

问:如何基于 PDB 的名称查看 PDB 的详细信息?

答:要基于 PDB 的名称查看 PDB 的详细信息,请使用以下语法:

dbaascli pdb getDetails --dbname <CDB_Name> --pdbName <PDB_Name>

问:如何基于 PDB 的 UID 查看其详细信息?

答:要根据 PDB 的 UID 查看其详细信息,请使用以下语法:

dbaascli pdb getDetails --dbname <CDB_Name> --pdbUID <PDB_UID>

问:是否可以在一次执行中将此命令用于多个 PDB?

答:否,该命令可用于通过指定 PDB 的名称或 UID 来一次提取一个 PDB 的详细信息。

示例:dbaascli pdb getDetails

dbaascli pdb getDetails--dbname cdb name --pdbName pdb name associated with the CDB
dbaascli pdb getDetails--dbname cdb name --pdbUID con_uid of that pdb

dbaascli pdb 列表

要查看容器数据库中可插入数据库 (pluggable database,PDB) 的列表,请使用 dbaascli pdb list 命令。

先决条件:

以 oracle 用户身份运行该命令。

语法:

dbaascli pdb list --dbname

参数:

参数 说明
--dbname 指定承载 PDB 的容器数据库的名称

常见问题解答:

问:dbaascli pdb list 命令的用途是什么?

答案:dbaascli pdb list 命令用于查看 Oracle Base Database Cloud@Customer 环境中的指定容器数据库 (Container Database,CDB) 中的可插入数据库 (Pluggable Database,PDB) 列表。

问:运行 dbaascli pdb list 命令有哪些先决条件?

答:该命令必须以 oracle 用户身份运行,并且您必须连接到 Oracle Base Database Cloud@Customer 虚拟机。

问:– dbname 选项在 dbaascli pdb list 命令中指定什么?

答案:--dbname 选项指定承载要查看列表的可插入数据库 (pluggable database,PDB) 的容器数据库 (container database,CDB) 的名称。

问题:是否可以一次查看多个容器数据库中的 PDB 列表?

答案:否,dbaascli pdb list 命令允许您一次仅列出一个容器数据库 (container database,CDB) 中的 PDB,该选项由 --dbname 选项指定。

问:如何列出特定容器数据库 (Container Database,CDB) 中的 PDB?

答:可以使用以下语法列出特定 CDB 中的 PDB:

dbaascli pdb list --dbname <CDB_Name>

问:使用 dbaascli pdb list 命令时显示哪些信息?

答:该命令返回指定容器数据库 (Container Database,CDB) 中所有可插入数据库 (Pluggable Database,PDB) 的列表。该列表通常包括 PDB 的名称以及可能的其他详细信息(如其状态)。

问题:是否可以使用其他选项筛选 PDB 列表?

答案:否,dbaascli pdb list 命令不支持其他过滤选项。它只是返回指定 CDB 内 PDB 的完整列表。

问:如果指定的– dbname 不存在或不正确,会发生什么情况?

答:如果指定的 --dbname 不正确或不存在,则该命令将返回错误,并且不会显示任何 PDB 列表。

问:dbaascli pdb list 命令是否可用于任何 Oracle AI Database 环境?

答:不,dbaascli pdb list 命令专为在 Oracle Base Database Cloud@Customer 环境中使用而设计。

示例:dbaascli pdb list

dbaascli pdb list --dbname cdb name

dbaascli pdb localClone

要创建新的可插入数据库 (pluggable database,PDB) 作为同一容器数据库 (container database,CDB) 中现有 PDB 的克隆,请使用 dbaascli pdb localClone 命令。

先决条件:

以 oracle 用户身份运行该命令。

语法:

dbaascli pdb localClone --pdbName <value> --dbName <value> [--targetPDBName <value>] [--powerLimit <value>] [--maxCPU <value>] [--maxSize <value>] [--resume [--sessionID <value>]] [--executePrereqs] [--waitForCompletion <value>]
    {
      [--blobLocation <value>]
      | [--standbyBlobFromPrimary <value>]
    }
    [--excludeUserTablespaces <value>] [--excludePDBData <value>] [--pdbAdminUserName <value>] [--lockPDBAdminAccount <value>] [--sourcePDBServiceConvertList <value>]
    {
      [--createFromSnapshot
        {
          --snapshotName <value>
          | --snapshotUID <value>
        }
        [--copyDataFiles]]
      | [--snapshot]
    }

参数:

参数 属性 说明
--pdbName - 指定要克隆的新 PDB 的名称
--dbName - 指定数据库的名称
--targetPDBName - 指定目标 PDB(新的克隆 PDB)的名称
--powerLimit - 指定要用于克隆操作的并行度。有效值介于 1 和 128 之间
--maxCPU - 指定要为该 PDB 分配的最大 CPU 数量
--maxSize - 指定新 PDB 的最大存储大小 (GB)
--resume - 恢复上一个运行
--resume --sessionID 指定以恢复特定的会话 ID
--executePrereqs - 指定 yes 以仅运行此操作的先决条件。有效值:yes 或 no
--waitForCompletion - 指定 false 以在后台运行操作。有效值:true 或 false
--blobLocation - 在 DG 环境中生成备用 blob 文件的定制目录位置。
--standbyBlobFromPrimary - 指定从主数据库准备的备用 blob 文件的位置。这仅对备用数据库 PDB 操作是必需的。请注意,参数 --blobLocation 和 --standbyBlobFromPrimary 是互斥的。
--excludeUserTablespaces - 用于跳过用户表空间的选项,例如 t1、t2 和 t3。
--excludePDBData - 指定 true/yes 以确定是否跳过源 PDB 的用户数据。
--pdbAdminUserName - 指定新的 PDB 管理员用户名。
--lockPDBAdminAccount - 指定 true 或 false 以确定是否锁定 PDB 管理员用户账户。默认值为 true。
--sourcePDBServiceConvertList - 指定需要转换的源到目标服务名的逗号分隔列表。语法为 source_srv1:new_srv1,source_srv2:new_srv2。
--createFromSnapshot | --snapshot - -
--createFromSnapshot - 指定从 PDB 快照创建 PDB
--createFromSnapshot --snapshotName | --snapshotUID -
--createFromSnapshot --snapshotName 指定要从 PDB 创建 PDB 的快照名称。
--createFromSnapshot --snapshotUID 指定从 PDB 创建 PDB 时要使用的快照 UID。
--createFromSnapshot --copyDataFiles 指定此选项以跳过快照复制。
--snapshot - 指定使用快照副本创建 PDB。

新克隆的 PDB 从源 PDB 继承管理密码。

常见问题解答:

问:dbaascli pdb localClone 命令的用途是什么?

答案:dbaascli pdb localClone 命令用于在 Oracle Base Database Cloud@Customer 环境中创建新的可插入数据库 (Pluggable Database,PDB),作为同一容器数据库 (Container Database,CDB) 中现有 PDB 的克隆。

问:运行 dbaascli pdb localClone 命令的先决条件有哪些?

答:该命令必须以 oracle 用户身份运行,并且您必须连接到 Oracle Base Database Cloud@Customer 虚拟机。此外,源 PDB 必须已存在于指定的 CDB 中。

问:在 dbaascli pdb localClone 命令中,– dbName 选项指定了什么?

答:--dbName 选项指定承载要从中克隆新 PDB 的源 PDB 的容器数据库 (container database,CDB) 的名称。

问:在 dbaascli pdb localClone 命令中,– pdbName 选项指定了什么?

答:--pdbName 选项指定要作为同一 CDB 中现有 PDB 的克隆创建的新 PDB 的名称。

问:是否可以使用 dbaascli PDB localClone 命令克隆具有不同名称的 PDB?

答:是的,可以使用 --targetPDBName 选项为克隆的 PDB 指定其他名称。如果未提供此选项,克隆的 PDB 将继承源 PDB 的名称。

问:在 dbaascli pdb localClone 命令中,– resume 选项的作用是什么?

答:通过 --resume 选项,可以恢复以前中断的 PDB 克隆操作。

问题:如何限制克隆的 PDB 可用的 CPU 资源?

答:可以使用 --maxCPU 选项限制克隆 PDB 的 CPU 资源,该选项指定将分配给新 PDB 的最大 CPU 数。

问:我是否可以在后台运行 PDB 克隆操作?

答:是的,您可以通过将 --waitForCompletion 选项设置为 false 在后台运行该操作。如果将其设置为 true,该操作将在前台运行并等待完成。

问:dbaascli pdb localClone 命令中– maxSize 选项的用途是什么?

答:--maxSize 选项为新克隆的 PDB 指定最大存储大小 (GB)。如果未指定大小,则克隆的 PDB 将继承与源 PDB 相同的存储限制。

问:是否可以控制 PDB 克隆操作的并行性?

答:是的,您可以使用 --powerLimit 选项控制克隆操作的并行度。此选项接受介于 1 和 128 之间的值以定义并行度。

问:– primaryDBWalletTar 选项用于什么?

答:--primaryDBWalletTar 选项指定主数据库 wallet tar 文件的位置。仅当克隆操作涉及备用数据库 PDB 操作时,才需要此选项。

问:我是否只能对克隆操作运行先决条件检查?

答:是的,您只能通过使用 --executePrereqs 选项并将其设置为 yes 来运行先决条件检查。有效值为 yes 和 no。

问:如果 PDB 克隆操作失败或中断,会发生什么情况?

答:如果克隆操作失败或中断,您可以通过使用 --resume 选项继续从操作停止的位置恢复该操作。

示例:dbaascli pdb localClone

dbaascli pdb localClone --dbName db35 --pdbName PDB35 --targetPDBName local_clone1 --maxCPU 2 --maxSize 15

dbaascli pdb 打开

要打开可插入数据库 (pluggable database,PDB),请使用 dbaascli pdb open 命令。

以 root 或 oracle 用户身份运行该命令。

语法:

dbaascli pdb open
        {
            --pdbName <value>
            | --pdbUID <value>
        }
        --dbname <value> [--openMode <value>] [--startServices <value>] [--waitForCompletion <value>] [--setPDBRefreshModeNone [--skipPDBRefresh] [--pdbAdminUserName <value>]] [--executePrereqs] [--resume [--sessionID <value>]] [--blobLocation <value>]

参数:

参数 说明
--pdbName 指定要打开的 PDB 的名称
--pdbUID 指定 PDB 的标识符
--dbname 指定承载 PDB 的容器数据库的名称。
--openMode 指定 PDB 的目标 OPEN MODE
--startServices 指定启动所有服务或列出与 PDB 对应的所有服务。接受的值为 all 或以逗号分隔的 PDB 服务列表。
--waitForCompletion 指定 false 以在后台运行操作。有效值:true 或 false
--setPDBRefreshModeNone 指定将可刷新 PDB 转换为非可刷新 PDB
--skipPDBRefresh 指定以跳过可刷新 PDB 刷新
--pdbAdminUserName 指定新的 PDB 管理员用户名
--executePrereqs 指定运行先决条件检查并报告结果
--resume 恢复上一个操作
--sessionID 指定以恢复特定的会话 ID
--blobLocation 指定在 Data Guard 环境中生成备用 blob 文件的定制目录位置

成功完成后,将在所有容器数据库实例上打开 PDB。

常见问题解答:

问:dbaascli pdb open 命令的用途是什么?

答案:dbaascli pdb open 命令用于在 Oracle Base Database Cloud@Customer 环境中的 Oracle 容器数据库 (Container Database,CDB) 中打开可插入数据库 (Pluggable Database,PDB)。

问:谁可以运行 dbaascli pdb open 命令?

答:该命令可以以 root 或 oracle 用户身份运行。

问:– pdbName 选项在 dbaascli pdb open 命令中指定什么?

答:--pdbName 选项指定要打开的 PDB 的名称。

问:– pdbUID 选项在 dbaascli pdb open 命令中指定什么?

答:--pdbUID 选项指定要打开的 PDB 的唯一标识符 (UID)。

问:– dbname 选项在 dbaascli pdb open 命令中指定什么?

答:--dbname 选项指定承载 PDB 的容器数据库 (container database,CDB) 的名称。

问:– openMode 选项的用途是什么?

答:--openMode 选项指定将打开 PDB 的模式。有效值为 READ_WRITE 和 READ_ONLY。

问:打开 PDB 时是否可以启动服务?

答:是,可以使用 --startServices 选项通过指定全部来启动与 PDB 关联的所有服务,或者提供要启动的特定服务的逗号分隔列表。

问:如果将– waitForCompletion 选项设置为 false,会发生什么情况?

答:如果 --waitForCompletion 设置为 false,则该命令将在后台运行,用户无需等待操作完成。如果设置为 true,则命令将等待完成后再退出。

问:– setPDBRefreshModeNone 选项的作用是什么?

答案:--setPDBRefreshModeNone 选项将可刷新的 PDB(定期从主数据库更新的一个 PDB)转换为不可刷新的 PDB。

问:– skipPDBRefresh 选项的功能是什么?

答:通过 --skipPDBRefresh 选项,可以在打开可刷新的 PDB 时跳过刷新操作,从而阻止该 PDB 当时与主数据库同步。

问:在 dbaascli pdb open 命令中,– pdbAdminUserName 选项的作用是什么?

答:通过 --pdbAdminUserName 选项,可以在打开 PDB 时指定新的 PDB 管理员用户名。

问:如果 dbaascli pdb open 命令成功,会发生什么情况?

答:成功完成后,将在容器数据库 (Container Database,CDB) 的所有实例上打开指定的 PDB。

问:是否可以为可刷新的 PDB 运行 dbaascli PDB open 命令?

答:是,该命令可用于可刷新的 PDB。--setPDBRefreshModeNone 选项将 PDB 转换为不可刷新,--skipPDBRefresh 选项将在打开过程中跳过刷新操作。

问题:如果未指定– openMode,则 PDB 的默认打开模式是什么?

答:如果未指定 --openMode,则默认情况下 PDB 通常在 READ_WRITE 模式下打开。

示例:dbaascli pdb open

dbaascli pdb open --dbname cdb name --pdbName pdb name associated with the CDB
dbaascli pdb open --dbname cdb name --pdbUID con_uid of that pdb

可选:--openMode READ_WRITE/READ_ONLY

dbaascli pdb 恢复

要恢复可插入数据库 (pluggable database,PDB),请使用 dbaascli pdb recover 命令。

先决条件:

语法:

dbaascli pdb recover --dbname <value> --pdbName <value>
        {
            --start
                {
                    --untilTime <value> [--nonUTC]
                    | --untilSCN <value>
                    | --latest
                    | --tag <value>
                }
            | --status --uuid <value>
        }

参数:

参数 说明
--dbname 指定承载 PDB 的容器数据库的名称
--pdbName 指定要恢复的 PDB 的名称
--start 开始 PDB 恢复。
--untilTime 将 PDB 恢复到时间。输入格式:DD-MON-YYYY HH24:MI:SS
--untilSCN 恢复 PDB 直到 SCN
--latest 将 PDB 恢复到上一个已知状态
--tag 将 PDB 还原到存档标记
--status 显示有关 PDB 恢复作业进程的详细信息
--uuid PDB 恢复操作的唯一标识符。输入格式:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

常见问题解答:

问:dbaascli pdb recovery 命令的用途是什么?

答案:dbaascli pdb recover 命令用于使用存储在已配置备份存储目的地中的备份将可插入数据库 (pluggable database,PDB) 恢复到以前的状态。

问:谁可以运行 dbaascli pdb recovery 命令?

答:必须以 root 用户身份运行该命令。

问:运行 dbaascli pdb recovery 命令之前需要什么?

答:在运行该命令之前,必须使用存储备份的备份存储目标详细信息配置数据库。

问:在 dbaascli pdb recovery 命令中,– pdbName 选项指定了什么?

答:--pdbName 选项指定要恢复的可插入数据库 (pluggable database,PDB) 的名称。

问:在 dbaascli pdb recovery 命令中,– dbname 选项指定了什么?

答:--dbname 选项指定承载 PDB 的容器数据库 (container database,CDB) 的名称。

问:使用– start 选项启动 PDB 恢复的可能选项有哪些?

答:可以使用以下选项之一恢复 PDB:

问:在– untilTime 选项中指定时间所需的格式是什么?

答:时间必须采用 DD-MON-YYYY HH24:MI:SS 格式。

问:如何使用 dbaascli PDB 恢复将 PDB 恢复到最新状态?

答:要将 PDB 恢复到最新的已知状态,请使用 --latest 选项:

dbaascli pdb recover --pdbName <value> --dbname <value> --start --latest

问:如何将 PDB 恢复到特定的归档标记?

答:可以使用 --tag 选项将 PDB 恢复到特定标记:

dbaascli pdb recover --pdbName <value> --dbname <value> --start --tag <tag_value>

问题:是否可以使用特定 SCN 恢复 PDB?

答:是,可以使用 --untilSCN 选项将 PDB 恢复到特定的 SCN:

dbaascli pdb recover --pdbName <value> --dbname <value> --start --untilSCN <SCN_value>

问:在 dbaascli pdb recovery 命令中,– status 选项的作用是什么?

答:--status 选项用于检查恢复操作的状态。必须提供 --uuid 才能指定恢复会话。

问:如何检查 PDB 恢复的状态?

答:要检查恢复操作的状态,请将 --status 选项与恢复会话的 --uuid 一起使用:

dbaascli pdb recover --pdbName <value> --dbname <value> --status --uuid <uuid_value>

问:如果我在 Recovery 命令中指定了– latest 选项,会发生什么情况?

答:如果指定 --latest 选项,PDB 将恢复到备份中可用的最近状态。

示例:

dbaascli pdb 刷新

要刷新指定的可插入数据库 (pluggable database,PDB),请使用 dbaascli pdb refresh 命令。

以 root 或 oracle 用户身份运行该命令。

语法:

dbaascli pdb refresh --dbname <value>
        {
            --pdbName <value>
            | --pdbUID <value>
        }
        [--waitForCompletion <value>]

参数:

参数 说明
--dbname 指定 Oracle AI Database 的名称
--pdbName 指定可插入数据库的名称
--pdbUID 指定可插入数据库的标识
--waitForCompletion 指定 false 以在后台运行操作。有效值:true 或 false

常见问题解答:

问:dbaascli pdb refresh 命令的用途是什么?

答案:dbaascli pdb refresh 命令用于刷新容器数据库 (Container Database,CDB) 中指定的可插入数据库 (Pluggable Database,PDB)。

问:谁可以运行 dbaascli pdb refresh 命令?

答:该命令可由 root 或 oracle 用户运行。

问:– dbname 选项在 dbaascli pdb refresh 命令中指定什么?

答案:--dbname 选项指定承载要刷新的可插入数据库 (pluggable database,PDB) 的容器数据库 (container database,CDB) 的名称。

问:– pdbName 选项在 dbaascli pdb refresh 命令中指定什么?

答案:--pdbName 选项指定要刷新的可插入数据库 (pluggable database,PDB) 的名称。

问:– pdbUID 选项在 dbaascli pdb refresh 命令中指定什么?

答:--pdbUID 选项指定要刷新的可插入数据库 (pluggable database,PDB) 的唯一标识符 (unique identifier,UID)。

问:在 dbaascli pdb refresh 命令中,– waitForCompletion 选项的作用是什么?

答:--waitForCompletion 选项指定操作是应在前台还是后台运行。如果设置为 true,该操作将在前台运行并等待完成。如果设置为 false,则操作将在后台运行。

问:如何刷新 PDB 并在后台运行操作?

答:要刷新 PDB 并在后台运行操作,请使用 --waitForCompletion false 选项:

dbaascli pdb refresh --dbname <value> --pdbName <value> --waitForCompletion false

问题:如何使用 PDB 的唯一标识符 (UID) 刷新 PDB?

答:可以使用 --pdbUID 选项刷新 PDB:

dbaascli pdb refresh --dbname <value> --pdbUID <value>

问题:是否可以在 dbaascli pdb refresh 命令中同时指定– pdbName 和– pdbUID?

答:否,在刷新 PDB 时必须指定 --pdbName 或 --pdbUID,但不能同时指定两者。

问:如果在命令中未包含– waitForCompletion 选项,会发生什么情况?

答:如果不指定 --waitForCompletion 选项,则默认行为是等待操作完成,然后再将控制权返回给用户。

问:我是否可以在数据库运行时刷新 PDB?

答:是的,只要该命令由具有相应权限的用户执行,您就可以在数据库运行时刷新 PDB。

dbaascli pdb remoteClone

要创建新的可插入数据库 (pluggable database,PDB) 作为另一个容器数据库 (container database,CDB) 中现有 PDB 的克隆,请使用 dbaascli pdb remoteClone 命令。

以 root 或 oracle 用户身份运行该命令。

语法:

dbaascli pdb remoteClone --pdbName <value> --dbName <value> --sourceDBConnectionString <value> [--targetPDBName <value>] [--powerLimit <value>] [--maxCPU <value>] [--maxSize <value>] [--resume [--sessionID <value>]] [--executePrereqs] [--waitForCompletion <value>] [--sourcePDBExportedTDEKeyFile <value>]
        {
            [--blobLocation <value>]
            | [--standbyBlobFromPrimary <value>]
        }
        [--excludeUserTablespaces <value>] [--excludePDBData <value>] [--pdbAdminUserName <value>] [--lockPDBAdminAccount <value>] [--sourcePDBServiceConvertList <value>] [--upgradePDB]
        {
            [--createFromSnapshot --snapshotName <value> [--copyDataFiles]]
            | [--snapshot]
        }
        [--refreshablePDB --refreshMode <value> [--refreshIntervalInMinutes <value>]] [--updateDBBlockCacheSize]
        {
            [--dblinkUsername <value> [--honorCaseSensitiveUserName]]
            | [--dbLinkName <value>]
        }
        [--keepSourceDBServices <value>]

参数:

参数 属性 说明
--pdbName - 指定要克隆的源 PDB 的名称
--dbname - 指定承载新克隆 PDB 的 CDB 的名称 (DB_NAME)
--sourceDBConnectionString - 以 scan_name:scan_port/database_service_name 格式指定源数据库连接字符串
--targetPDBName - 指定目标 PDB(新的克隆 PDB)的名称
--powerLimit - 指定要用于克隆操作的并行度。有效值介于 1 和 128 之间
--maxCPU - 指定要为该 PDB 分配的最大 CPU 数量
--maxSize - 指定新 PDB 的最大存储大小 (GB)
--resume - 恢复上一个运行
--resume --sessionID 指定以恢复特定的会话 ID
--executePrereqs - 指定 yes 以仅运行此操作的先决条件。有效值:yes 或 no
--waitForCompletion - 指定 false 以在后台运行操作。有效值:true 或 false
--sourcePDBExportedTDEKeyFile - 指定源 PDB 导出的密钥文件。此变量仅适用于 12.1 数据库。
--blobLocation - 指定将在 Data Guard 环境中生成备用 blob 文件的定制路径
--standbyBlobFromPrimary - 指定从主数据库准备的备用 blob 文件的位置。这仅对备用数据库 PDB 操作是必需的。请注意,参数 --blobLocation 和 --standbyBlobFromPrimary 是互斥的。
--excludeUserTablespaces - 用于跳过用户表空间的选项,例如 t1 、t2 和 t3 。
--excludePDBData - 指定 true/yes 以从源 PDB 跳过用户数据。
--pdbAdminUserName - 指定新的 PDB 管理员用户名
--lockPDBAdminAccount - 指定 true 或 false 以确定是否锁定 PDB 管理员用户账户。默认值为 true。
--sourcePDBServiceConvertList - 指定需要转换的源到目标服务名的逗号分隔列表。语法为 source_srv1:new_srv1、source_srv2:new_srv2。
--upgradePDB - 指定在此操作过程中升级 PDB
--createFromSnapshot | --snapshot - -
--createFromSnapshot - 指定从 PDB 快照创建 PDB
--createFromSnapshot --snapshotName 指定要从 PDB 创建 PDB 的快照名称。
--createFromSnapshot --copyDataFiles 指定此选项以跳过快照复制。
--snapshot - 指定使用快照副本创建 PDB。
--refreshablePDB - 指定以创建可刷新 PDB
--refreshablePDB --refreshMode 指定可刷新 PDB 的刷新模式。有效值:AUTO 或 MANUAL
--refreshablePDB --refreshMode → --refreshIntervalInMinutes 指定 refreshablePDB 的更新间隔(分钟)
--refreshablePDB --dblinkUsername 指定远程数据库的公用用户,用于连接到远程数据库的数据库链接
--refreshablePDB --dblinkUsername → --honorCaseSensitiveUserName 指示指定的用户名区分大小写
--dbLinkName - 指定目标数据库中指向远程数据库的现有数据库链接名称

提升后,必须为源 PDB 提供 SYS 用户密码。新克隆的 PDB 从源 PDB 继承管理密码。克隆的 PDB 使用以下格式进行命名:dbname_sourcepdbname。只有不在 Data Guard 配置并使用 Oracle AI Database 版本 12.2.0.1 或更高版本的数据库才支持此命令。

常见问题解答:

问:dbaascli pdb remoteClone 命令用于什么?

答:dbaascli pdb remoteClone 命令用于创建新的可插入数据库 (Pluggable Database,PDB) 作为另一个容器数据库 (Container Database,CDB) 中现有 PDB 的克隆。

问:哪个用户应执行 dbaascli pdb remoteClone 命令?

答:该命令应以 root 或 oracle 用户身份执行。

问:在 dbaascli pdb remoteClone 操作期间出现提示时,需要什么?

答:必须为源 PDB 提供 SYS 用户密码。

问:– pdbName 参数指定了什么?

答:--pdbName 参数指定要克隆的源 PDB 的名称。

问:– dbName 参数代表什么?

答:--dbName 参数表示将托管新克隆 PDB 的 CDB 的名称 (DB_NAME)。

问:应该如何格式化– sourceDBConnectionString?

答:--sourceDBConnectionString 的格式应为 <scan_name>:<scan_port>/<database_service_name>。

问:– targetPDBName 参数的用途是什么?

答:--targetPDBName 参数指定新克隆 PDB 的名称。

问:powerLimit 控制了什么?

答:--powerLimit 参数控制用于克隆操作的并行度。有效值介于 1 和 128 之间。

问:– maxCPU 参数定义了什么?

答:--maxCPU 参数定义要为 PDB 克隆过程分配的最大 CPU 数。

问:– maxSize 的功能是什么?

答:--maxSize 参数指定新 PDB 的最大存储大小 (GB)。

Q:– resume 参数的作用是什么?

答:--resume 参数将恢复以前的克隆操作。

问:您应该为– resume 选项提供什么?

答:如果要恢复以前的操作,可以指定 --sessionID 以恢复特定会话。

问:executePrereqs 控制了什么?

答:--executePrereqs 参数确定是否仅应运行克隆操作的先决条件。有效值为 yes 或 no。

问:– waitForCompletion 如何影响操作?

答:--waitForCompletion 参数指定是等待操作完成还是在后台运行。有效值为 true 或 false。

问:– sourcePDBExportedTDEKeyFile 参数指定了什么?

答:--sourcePDBExportedTDEKeyFile 参数指定从源 PDB 导出的密钥文件。此参数仅适用于 Oracle Database 版本 12.1。

问:– blobLocation 参数定义了什么?

答:--blobLocation 参数指定将在 Data Guard 环境中生成备用 BLOB 文件的定制路径。

问:什么时候使用– standbyBlobFromPrimary?

答:--standbyBlobFromPrimary 参数指定从主数据库准备的备用 BLOB 文件的位置。这仅对备用数据库 PDB 操作是必需的。

问:能否将– blobLocation 和– standbyBlobFromPrimary 一起使用?

答:否,--blobLocation 和 --standbyBlobFromPrimary 是互斥的,不能一起使用。

问:– excludeUserTablespaces 选项的作用是什么?

答:使用 --excludeUserTablespaces 选项可以跳过克隆的特定用户表空间。例如,t1、t2、t3。

问:– excludePDBData 带来的影响是什么?

答:--excludePDBData 选项指定在克隆期间是否跳过源 PDB 中的用户数据。有效值为 true 或 yes。

问:– pdbAdminUserName 指定了什么?

答:--pdbAdminUserName 参数指定克隆 PDB 的新管理员用户名。

问:– lockPDBAdminAccount 选项控制什么?

答:--lockPDBAdminAccount 选项指定是否锁定 PDB 管理员用户帐户。默认值为 true。

问:– sourcePDBServiceConvertList 具体规定了什么?

答:--sourcePDBServiceConvertList 参数指定源到目标服务名称转换的逗号分隔列表。例如,source_srv1:new_srv1,source_srv2:new_srv2。

问:– refreshablePDB 的用途是什么?

答:--refreshablePDB 参数指定是否创建可刷新的 PDB。

问:refreshMode 控制了什么?

答:--refreshMode 参数控制可刷新 PDB 的刷新模式。有效值为 AUTO 或 MANUAL。

问:refreshIntervalInMinutes 是如何工作的?

答:--refreshIntervalInMinutes 参数指定刷新可刷新 PDB 的间隔(分钟)。

问:– dblinkUsername 的用途是什么?

答案:--dblinkUsername 参数指定远程数据库的公用用户,用于连接到远程数据库的数据库链接。

问:– honorCaseSensitiveUserName 选项指示什么?

答:--honorCaseSensitiveUserName 选项指示指定的用户名区分大小写。

问:– updateDBBlockCacheSize 带来的影响是什么?

答:通过 --updateDBBlockCacheSize 选项,应用程序可以设置数据库块高速缓存大小初始化参数以支持具有不同块大小的数据复制。

问:如果 dbaascli pdb remoteClone 命令出现错误,我该怎么办?

答:有关详细信息,请查看错误消息,确保正确指定所有参数,并验证您是否具有必要的权限和身份证明。此外,检查源数据库和目标数据库是否满足所有要求。

问:如果忘记源 PDB 的 SYS 用户密码,该怎么办?

答:您需要重置或恢复源 PDB 的 SYS 用户密码。如果没有它,克隆操作将无法完成。

示例:dbaascli pdb remoteClone

dbaascli pdb remoteClone --sourceDBConnectionString test-can.dbaastoolslrgsu.dbaastoolslrgvc.oraclevcn.com:1521 --pdbName source_pdb1 --dbName db9944 --targetPDBName new_pdb1 --maxsize 5 --maxcpu 2
dbaascli pdb remoteClone --sourceDBConnectionString orcla.dbaastoolslrgsu.dbaastoolslrgvc.oraclevcn.com --pdbName source_pdb1 --dbName db9944 --targetPDBName new_pdb1 --maxsize 5 --maxcpu 2

dbaascli pdb 重新定位

要将指定的 PDB 从远程数据库重新定位到本地数据库,请使用 dbaascli pdb relocate 命令。

先决条件:

以 oracle 用户身份运行该命令。出现提示时,必须为源数据库提供 SYS 用户密码。

语法:

dbaascli pdb relocate --pdbName <value> --dbName <value> --sourceDBConnectionString <value> [--targetPDBName <value>] [--powerLimit <value>] [--maxCpu <value>] [--maxSize <value>] [--resume [--sessionID <value>]] [--executePrereqs] [--sourcePDBServices <value>] [--sourcePDBReadOnlyServices <value>] [--relocateAvailabilityType <value>] [--waitForCompletion <value>]
        {
            [--blobLocation <value>]
            | [--standbyBlobFromPrimary <value>]
        }
        [--upgradePDB] [--updateDBBlockCacheSize]
        {
            [--skipOpenPDB [--enableRefreshMode --refreshMode <value> [--refreshIntervalInMinutes <value>]]]
            | [--completePDBRelocate]
        }
        {
            [--dblinkUsername <value> [--honorCaseSensitiveUserName]]
            | [--dbLinkName <value>]
        }

参数:

参数 属性 说明
--pdbName - 指定要重新定位的源 PDB 名称
--dbName - 指定目标数据库名称
--sourceDBConnectionString - 以 <scan_name>:<scan_port>/<database_service_name> 格式指定源数据库连接字符串
--targetPDBName - 指定目标 PDB(新的重新定位的 PDB)的名称
--powerLimit - 指定要用于重新定位操作的并行度
--maxCpu - 指定要为该 PDB 分配的最大 CPU 数量
--maxSize - 指定新 PDB 的最大存储大小 (GB)
--resume - 指定以恢复上一个执行
--resume --sessionID 指定以恢复特定的会话 ID
--executePrereqs - 指定 yes 以仅运行此操作的先决条件。有效值:yes 或 no
--sourcePDBServices - 指定逗号分隔的源 PDB 服务的列表
--sourcePDBReadOnlyServices - 指定源 PDB 只读服务的逗号分隔列表
--relocateAvailabilityType - 指定 MAX 或 NORMAL 可用性以启用监听程序连接转发
--waitForCompletion - 指定 false 以在后台运行操作。有效值:true 或 false
--blobLocation - 指定在 DG 环境中生成备用 blob 文件的定制目录位置。
--standbyBlobFromPrimary - 指定从主数据库准备的备用 BLOB 文件的位置。这仅对备用操作是必需的。
--upgradePDB - 指定 true 可指定在此操作过程中升级 PDB。有效值:true 或 false。
--updateDBBlockCachesize - 指定以允许应用程序设置 db block cache size 初始化参数,以便支持不同块大小的数据复制
--skipOpenPDB - 指定以指示不应在当前操作结束时打开 PDB。
--skipOpenPDB --enableRefreshMode 指定在 PDB 重新定位第一步中启用 PDB 刷新支持。
--skipOpenPDB --enableRefreshMode → --refreshMode 指定刷新可刷新 PDB 的模式。有效值:AUTO 或 MANUAL
--skipOpenPDB --enableRefreshMode → --refreshMode → --refreshIntervalInMinutes 指定刷新 refreshablePDB 的间隔(分钟)
--completePDBRelocate - 指定完成 PDB 重新定位(如果是以两步操作完成)。

常见问题解答:

问:dbaascli pdb relocate 命令用于什么?

答案:dbaascli pdb relocate 命令用于将可插入数据库 (Pluggable Database,PDB) 从远程数据库重新定位到本地数据库。

问:哪些用户应运行 dbaascli pdb relocate 命令?

答:该命令应以 Oracle 用户身份运行。

问:在 dbaascli pdb 重新定位操作期间出现提示时,需要什么?

答:必须为源数据库提供 SYS 用户密码。

问:– pdbName 参数指定了什么?

答:--pdbName 参数指定要重新定位的源 PDB 的名称。

问:– dbName 参数的用途是什么?

答:--dbName 参数指定将重新定位 PDB 的目标数据库名称。

问:应该如何格式化– sourceDBConnectionString?

答:--sourceDBConnectionString 的格式应为 <scan_name>:<scan_port>/<database_service_name>。

问:– targetPDBName 参数的作用是什么?

答:--targetPDBName 参数指定重新定位的 PDB 的新名称。

问:使用– powerLimit 是什么?

答:--powerLimit 参数指定在重新定位操作期间要使用的并行度。

问:– maxCpu 如何影响搬迁过程?

答:--maxCpu 参数指定要为 PDB 重新定位过程分配的最大 CPU 数。

问:– maxSize 参数定义了什么?

答:--maxSize 参数定义新 PDB 的最大存储大小 (GB)。

问:– resume 的作用是什么?

答:--resume 参数指示重新定位操作应从停止的位置恢复。

问:我应该为– resume 选项提供什么?

答:如果要恢复以前的操作,可以指定 --sessionID 以恢复特定会话。

问:– executePrereqs 参数的作用是什么?

答:--executePrereqs 参数确定是否仅应运行该操作的先决条件。有效值为“是”或“否”。

问:– sourcePDBServices 参数指定了什么?

答:--sourcePDBServices 参数指定逗号分隔的源 PDB 服务的列表。

问:– sourcePDBReadOnlyServices 参数列表是什么?

答案:--sourcePDBReadOnlyServices 参数列出源 PDB 只读服务的逗号分隔列表。

问:– waitForCompletion 带来的影响是什么?

答:--waitForCompletion 参数指定是否在后台运行该操作。有效值为 true 或 false。

问:– blobLocation 参数指定了什么?

答:--blobLocation 参数指定将在 Data Guard 环境中生成备用 BLOB 文件的定制目录的位置。

问:什么时候应该使用– standbyBlobFromPrimary?

答案:使用 --standbyBlobFromPrimary 指定从主数据库准备的备用 BLOB 文件的位置。这仅对备用操作是必需的。

问:我可以一起使用– blobLocation 和– standbyBlobFromPrimary 吗?

答:不,--blobLocation 和 --standbyBlobFromPrimary 参数是互斥的,不能一起使用。

问:upgradePDB 是做什么的?

答:--upgradePDB 参数指定是否在重新定位操作过程中升级 PDB。有效值为 true 或 false。

问:– updateDBBlockCacheSize 的用途是什么?

答:通过 --updateDBBlockCacheSize 选项,应用程序可以设置数据库块高速缓存大小初始化参数,以支持具有不同块大小的数据复制。

问:– skipOpenPDB 选项的作用是什么?

答:--skipOpenPDB 选项指示不应在重新定位操作结束时打开 PDB。

问:什么时候应该使用– completePDBRelocate?

答:使用 --completePDBRelocate 完成 PDB 重新定位(如果是以两步操作完成)。

问:如果使用 dbaascli pdb relocate 命令时遇到错误,我该怎么办?

答:有关详细信息,请查看错误消息,确保正确指定所有参数,并验证您是否具有必要的权限和凭据。您可能还需要查看先决条件和配置。

问:如果忘记源数据库的 SYS 用户密码,该怎么办?

答:您需要重置或恢复源数据库的 SYS 用户密码。如果没有它,您将无法完成重新定位操作。

示例:dbaascli pdb relocate

dbaascli pdb relocate --sourceDBConnectionString test-scan.dbaastoolslrgsu.dbaastoolslrgvc.oraclevcn.com:1521/source_cdb_service_name --pdbName source_pdb --dbName target_db