数据库管理

本节介绍用于管理 Oracle AI 数据库的综合任务。它包括用于创建 (dbaascli database create)、删除 (dbaascli database delete) 和升级数据库 (dbaascli database upgrade) 的命令。其他关键任务包括添加和删除实例 (dbaascli database addInstance,dbaascli database deleteInstance)、管理备份 (dbaascli database backup) 和处理数据库恢复 (dbaascli database recover)。还可以修改数据库参数、管理可插入数据库、为数据库打补丁以及将非 CDB 数据库转换为 PDB。这些命令可确保对整个数据库生命周期进行高效控制。

dbaascli 数据库 addInstance

要在指定节点上添加数据库实例,请使用 dbaascli database addInstance 命令。

先决条件:

语法:

dbaascli database addInstance --dbname <value> --node <value> [--newNodeSID <value>]

参数:

参数 说明
--dbname 指定 Oracle AI Database 名称
--node 指定数据库实例的节点名称
--newNodeSID 指定要添加到新节点中的实例的 SID

常见问题解答:

问:dbaascli database addInstance 命令的用途是什么?

答案:dbaascli database addInstance 命令用于将新数据库实例添加到 Oracle Base Database Cloud@Customer 环境中的指定节点。

问:运行 dbaascli 数据库 addInstance 命令有哪些先决条件?

答:该命令必须以 root 用户身份运行,才能具有添加数据库实例所需的权限。

问:在此命令中,– dbname 选项表示什么?

答:--dbname 选项指定要为其添加新实例的 Oracle AI Database 的名称。

问:dbaascli database addInstance 命令中使用的– node 选项是什么?

答:--node 选项指定要添加新数据库实例的节点的名称。

问:此命令中– newNodeSID 选项的用途是什么?

答:通过 --newNodeSID 选项,可以为将在指定节点上创建的新数据库实例指定 SID(系统标识符)。

问:添加新实例时是否必须指定– newNodeSID 选项?

答:--newNodeSID 选项是可选的。如果未提供,Oracle 将自动为新数据库实例生成 SID。

问:何时应使用 dbaascli database addInstance 命令?

答:如果要通过将新实例添加到多节点 Oracle AI Database 设置中的其他节点来扩展数据库,请使用此命令。

问:是否可以使用此命令将多个数据库实例添加到不同的节点?

答:可以,您可以多次运行该命令,通过指定相应的 --node 和 --dbname 值将数据库实例添加到不同的节点。

问:如果– node 选项中指定的节点不可用,会发生什么情况?

答:如果指定的节点不可用或不可访问,该命令将失败。在运行该命令之前,请确保节点已正确配置且可访问。

问:此命令是否可以在 Data Guard 环境中使用?

答:是的,您可以在 Data Guard 环境中使用 dbaascli database addInstance 命令添加实例,但建议您遵循此类配置所需的 Data Guard 准则。

问:此命令是否会导致数据库停机?

答:将实例添加到新节点通常不会导致现有数据库实例停机,但建议检查您的环境是否存在任何特定依赖项。

dbaascli 数据库备份

要为 Oracle AI Database 配置备份存储目标,请执行数据库备份、查询备份和删除备份,请使用 dbaascli database backup 命令。

先决条件:

语法:

dbaascli database backup --dbname <value>
        {
            --list
                {
                    [--backupType <value>]
                    | [--json <value>]
                }
            | --start [--level0] [--level1]
                {
                    [--archival --tag <value>]
                    | [--archivelog]
                }
            | --delete --backupTag <value>
            | --status --uuid <value> [--json <value>]
            | --getBackupReport
                {
                    --tag <value>
                    | --latest
                }
                --json <value>
            | --configure
                {
                    --configFile <value>
                    | --enableRTRT
                    | --disableRTRT
                    | --disableCatalog
                    | --deleteImmutableConfiguration
                }
            | --getConfig
                {
                    [--configFile <value>]
                    | [--showOldParams]
                }
            | --validate [--untilTime <value>]
            | --showHistory [--all]
            | --getSchedules
        }

参数:

参数 属性 说明
--dbname - 指定 Oracle AI Database 名称
--list - 返回数据库备份信息
--list --backupType | --json -
--list --backupType 指定 backupType (REGULAR-L0 | REGULAR-L1 | ARCHIVELOG | LONGTERM)。
--list --json 指定 JSON 输出的文件名。
--start - 开始数据库备份。
--start --level0 创建 0 级(完整)备份。
--start --level1 创建 1 级(增量)备份。
--start --archival | --archivelog -
--start --archival 创建归档完整备份。
--start --archival → --tag 指定备份标记。
--start --archivelog -
--delete - 删除存档备份。
--delete --backupTag 指定要删除的备份标记。
--status - 显示有关备份作业进程的详细信息。
--status --uuid 备份操作的唯一标识符。输入格式:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx。
--status --uuid → --json 指定 JSON 输出的文件名。
--getBackupReport - 返回 BackupReport。
--getBackupReport --tag | --latest -
--getBackupReport --tag 指定备份标记。
--getBackupReport --latest 返回最新的备份报告(所有类型的数据库备份)。
--getBackupReport --json 指定 JSON 输出的文件名。
--configure - 配置数据库以进行备份。
--configure --configFile | --enableRTRT | --disableRTRT | --disableCatalog | --deleteImmutableConfiguration -
--configure --configFile 指定数据库备份配置文件。
--configure --enableRTRT 启用实时重做传输。
--configure --disableRTRT 禁用实时重做传输。
--configure --disableCatalog 禁用恢复目录。
--configure --deleteImmutableConfiguration -
--getConfig - 返回数据库备份配置。
--getConfig --configFile | --showOldParams -
--getConfig --configFile 指定数据库备份配置文件。
--getConfig --showOldParams 返回备份配置的旧参数名称。
--validate - 验证备份是否完整且无损坏。
--validate --untilTime 从最近的 0 级(完整)备份进行验证,直到提供的时间。输入格式:DD-MON-YYYY HH24:MI:SS。
--showHistory - 显示备份操作的历史记录。
--showHistory --all 显示所有备份操作。
--getSchedules - 返回给定数据库的所有备份计划。

注:enableRTRT 和 disableRTRT 仅适用于 Oracle Base Database Cloud@Customer 上的 ZDLRA 备份目标。

常见问题解答:

问:dbaascli 数据库备份命令的用途是什么?

答案:dbaascli database backup 命令用于配置 Oracle AI Database 备份存储目标、执行备份、查询备份和删除现有备份。

问:运行 dbaascli 数据库备份命令有哪些先决条件?

答:该命令必须以 root 用户身份运行,才能具有备份管理所需的权限。

问:如何使用此命令启动 Oracle AI Database 的完整备份?

答:要启动完全备份(级别 0),请使用以下语法:

dbaascli database backup --dbname <value> --start --level0

问:如何使用 dbaascli 数据库备份命令执行增量备份?

答:要执行 1 级增量备份,请使用以下语法:

dbaascli database backup --dbname <value> --start --level1

问:Level-0 和 Level-1 备份有什么区别?

答案:0 级备份是数据库的完整备份,而 1 级备份是仅捕获自上次 0 级或 1 级备份以来所做的更改的增量备份。

Q:是否可以使用此命令执行归档备份?

答:是的,可以使用 --archival 选项和 --start 命令创建归档备份:

dbaascli database backup --dbname <value> --start --archival --tag <backup_tag>

Q:如何删除现有的归档备份?

答:要删除归档备份,请使用以下语法:

dbaascli database backup --dbname <value> --delete --backupTag <tag_value>

问:如何使用该命令检查特定备份的状态?

答:您可以通过将 --status 选项与 --uuid 参数结合使用来检查备份的状态,如下所示:

dbaascli database backup --dbname <value> --status --uuid <backup_uuid>

问:如何列出数据库的所有备份?

答:要列出特定数据库的所有可用备份,请使用 --list 选项:

dbaascli database backup --dbname <value> --list

对于 JSON 输出,添加 --json 选项:

dbaascli database backup --dbname <value> --list --json <file_name>

问:如何检索备份报告?

答:您可以使用 --getBackupReport 选项为特定标记或最新备份获取备份报告:

dbaascli database backup --dbname <value> --getBackupReport --tag <backup_tag> --json <file_name>

或者检索最新报告:

dbaascli database backup --dbname <value> --getBackupReport --latest --json <file_name>

Q:如何配置数据库备份设置?

答案:使用 --configure 选项指定备份配置文件或启用/禁用实时重做传输 (Real-Time Redo Transport,RTRT):

dbaascli database backup --dbname <value> --configure --configFile <config_file>

要启用 RTRT,请执行以下操作:

dbaascli database backup --dbname <value> --configure --enableRTRT

问:如何检查数据库的当前备份配置?

答:要查看当前数据库备份配置,请使用 --getConfig 选项:

dbaascli database backup --dbname <value> --getConfig

问:– validate 选项在 dbaascli 数据库备份命令中执行什么操作?

答:--validate 选项检查备份是否完整且没有损坏。可以使用 --untilTime 选项指定时间范围:

dbaascli database backup --dbname <value> --validate --untilTime "DD-MON-YYYY HH24:MI:SS"

问:如何查看数据库的所有备份操作的历史记录?

答:使用 --showHistory 选项可显示所有备份操作的历史记录:

dbaascli database backup --dbname <value> --showHistory

对于完整的历史记录,包括所有操作:

dbaascli database backup --dbname <value> --showHistory --all

问:什么是 RTRT(实时重做传输)选项,何时应使用它们?

答:RTRT 选项(--enableRTRT 和 --disableRTRT)用于控制实时重做传输,仅适用于 Oracle Base Database Cloud@Customer 环境中的 ZDLRA (Zero Data Loss Recovery Appliance) 备份目标。启用 RTRT 以确保实时重做日志发运。

示例:

dbaascli 数据库退回

要关闭和重新启动指定的 Oracle Base Database Cloud@Customer 数据库,请使用 dbaascli database bounce 命令。

先决条件:

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

语法:

dbaascli database bounce
[--dbname][--rolling <value>]

参数:

参数 说明
--dbname 指定数据库的名称
--rolling 指定 true 或 false 以滚动方式退回数据库。默认值为 false。

该命令在立即模式下执行数据库关闭。然后,数据库将重新启动并打开。在 Oracle Database 12c 或更高版本中,所有 PDB 也会打开。

常见问题解答:

问:dbaascli 数据库退回命令的用途是什么?

答案:dbaascli database bounce 命令用于在 Oracle Base Database Cloud@Customer 中关闭和重新启动 Oracle AI Database。它支持以滚动方式重新启动数据库,确保尽可能减少中断。

问:运行 dbaascli 数据库退回命令的先决条件有哪些?

答:该命令必须以 oracle 用户身份运行,该用户具有关闭和重新启动数据库所需的权限。

Q:– dbname 选项在此命令中指定什么?

答:--dbname 选项指定要关闭和重新启动的 Oracle AI Database 的名称。

问:dbaascli 数据库退回命令中使用的– rolling 选项是什么?

答:--rolling 选项指定是否以滚动方式退回(重新启动)数据库。如果设置为 true,将逐个重新启动数据库实例,确保最短停机时间。默认值为 false,它一次重新启动所有实例。

问:“bouncing the database(退回数据库)”是什么意思?

答:退回数据库是指先关闭数据库,然后再重新启动数据库。此操作可用于维护、应用更改或从特定类型的问题中恢复。

问:dbaascli 数据库退回命令是否执行正常关闭?

答:是的,该命令在“立即”模式下执行关闭,关闭数据库并回退未提交的事务,而无需等待用户断开连接。

问:此命令是否会自动打开 Oracle 12c 或更高版本数据库中的所有 PDB?

答:是的,如果数据库运行的是 Oracle Database 12c 或更高版本,该命令将在重新启动数据库后自动打开所有可插入数据库 (Pluggable Databases,PDB)。

问:dbaascli 数据库退回命令是否可以在多节点或 RAC(真正应用集群)环境中使用?

答:是的,在多节点或 RAC 环境中,您可以使用 --rolling 选项逐个重新启动数据库实例,从而最大限度地减少停机时间。

问:如果不指定– rolling 选项,会发生什么情况?

答:如果未指定 --rolling 选项,或者该选项设置为 false,则该命令将同时关闭并重新启动所有数据库实例,这可能会导致短暂的停机。

问:dbaascli 数据库退回命令中是否存在– rolling 选项的默认值?

答:是的,--rolling 选项的默认值为 false,这意味着除非另有指定,否则数据库将以非滚动方式退回。

问:如何以滚动模式重新启动数据库?

答:要以滚动模式重新启动数据库,请使用以下语法:

dbaascli database bounce --dbname <value> --rolling true

问:在活动会话期间运行 dbaascli 数据库退回命令是否安全?

答:虽然该命令使用立即关闭(可回滚未提交的事务),但始终建议在退回数据库之前确保没有关键会话或活动会话。

问:此命令是否可以用于多租户数据库中的特定 PDB?

答案:否。dbaascli database bounce 命令对整个数据库执行操作。在 Oracle 12c 或更高版本中,它将退回容器数据库 (Container Database,CDB) 并打开所有 PDB,但不允许退回单个 PDB。

问:如果数据库在退回后未恢复联机,我该怎么办?

答:如果数据库无法重新启动,请在关闭或启动过程中检查日志中是否存在任何错误。通过调查 Oracle 预警日志,可以深入了解导致问题的原因。

示例:dbaascli 数据库退回

dbaascli database bounce --dbname dbname

dbaascli 数据库更改密码

要更改指定的 Oracle AI Database 用户的密码,请使用 dbaascli database changePassword 命令。出现提示时,输入要更改其口令的用户名,然后输入口令。

先决条件:

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

语法:

dbaascli database changePassword [--dbname <value>] [--user <value>]
{
  [--prepareStandbyBlob <value> [--blobLocation <value>]] | [--standbyBlobFromPrimary <value>]
}
[--resume [--sessionID <value>]]

参数:

参数 说明
--dbname 指定要对其执行的 Oracle AI Database 的名称
--user 指定需要更改其口令的用户名
--prepareStandbyBlob 指定 true 以生成 blob 文件,其中包含更改 Data Guard 环境中的口令所需的对象。有效值:true 或 false
--blobLocation 指定将生成 blob 文件的定制路径
--standbyBlobFromPrimary 指定从主数据库准备的备用 blob 文件
--resume 指定以恢复上一个执行
--sessionID 指定以恢复特定的会话 ID

常见问题解答:

问:dbaascli database changePassword 命令的作用是什么?

答案:dbaascli database changePassword 命令用于更改指定的 Oracle AI Database 用户的密码。系统将提示您输入用户名,然后输入新口令。

问:使用 dbaascli 数据库 changePassword 命令有哪些先决条件?

答:您必须以 root 或 oracle 用户身份运行该命令,才能更改数据库用户的密码。

问:使用此命令时如何指定数据库?

答:使用 --dbname 选项指定要对其执行操作的 Oracle AI Database 的名称。例如:

dbaascli database changePassword --dbname <db_name>

问:如何指定要更改其密码的用户?

答:使用 --user 选项指定需要更改其口令的用户名。例如:

dbaascli database changePassword --user <username>

问:dbaascli database changePassword 命令中– prepareStandbyBlob 选项的用途是什么?

答:在 Data Guard 环境中,--prepareStandbyBlob 选项用于生成 blob 文件,该文件包含备用数据库上密码更改所需的对象。这可确保在 Data Guard 环境中同步密码。

问:– blobLocation 选项指定了什么?

答:通过 --blobLocation 选项,可以指定应生成备用 blob 文件的定制路径。如果未提供,则文件将保存在默认位置。

问:如何使用从主数据库生成的 blob 来更改备用数据库上的口令?

答:可以使用 --standbyBlobFromPrimary 选项指定从主数据库准备的 blob 文件,以将口令更改应用于备用数据库。例如:

dbaascli database changePassword --standbyBlobFromPrimary <blob_file_path>

问:此命令中使用的– resume 选项是什么?

答:--resume 选项用于恢复以前中断的密码更改操作。如果需要,可以使用 --sessionID 选项指定会话 ID。

问:我是否可以使用 dbaascli database changePassword 命令恢复特定会话?

答:是的,您可以将 --resume 选项与 --sessionID 一起使用,通过指定会话 ID 来恢复特定的密码更改会话。

问:dbaascli 数据库 changePassword 命令是否适用于 Data Guard 环境?

A:是的,是的。--prepareStandbyBlob 选项可用于确保口令更改在 Data Guard 设置中传播到备用数据库。

问:如果使用– prepareStandbyBlob 时不提供– blobLocation,会发生什么情况?

答:如果未提供 --blobLocation,则包含密码更改对象的 blob 文件将保存到默认位置。

问:如何使用 dbaascli 数据库 changePassword 检查已恢复会话的状态?

答:您可以使用 --sessionID 选项指定会话 ID 以恢复特定会话。在更改口令时,系统将从其停止的位置进行选择。

问:此命令是否可以同时用于常规数据库和 Data Guard 环境中的数据库?

答:是的,该命令适用于 Data Guard 环境中的常规 Oracle AI 数据库和数据库。在 Data Guard 环境中,可以使用 --prepareStandbyBlob 等其他选项来管理主数据库和备用数据库上的密码更改。

示例:dbaascli 数据库 changePassword

dbaascli database changepassword --dbname db19

dbaascli 数据库 convertToPDB

要将指定的非 CDB 数据库转换为 PDB,请使用 dbaascli database convertToPDB 命令。

语法:

dbaascli database convertToPDB --dbname <value> [--cdbName <value>] [--executePrereqs]
        {
            [--copyDatafiles]
            | [--backupPrepared]
        }
        [--targetPDBName <value>] [--waitForCompletion <value>] [--resume [--sessionID <value>]]

参数:

参数 说明
--dbname 指定 Oracle AI Database 的名称
--cdbName 指定要在其中创建 PDB 的目标 CDB 的名称。如果 CDB 不存在,则将在与源非 CDB 相同的 Oracle 主目录中创建该 CDB
--executePrereqs 指定仅运行转换前检查
--copyDatafiles 指定用于创建数据文件的新副本,而不是使用源数据库中的数据文件
--backupPrepared 用于确认在执行转换为 PDB 的操作之前已为非 CDB 准备好适当的数据库备份的标志
--targetPDBName 指定将在操作过程中创建的 PDB 的名称
--waitForCompletion 指定 false 以在后台运行操作。有效值:true 或 false
--resume 指定以恢复上一个执行
--sessionID 指定以恢复特定的会话 ID

常见问题解答:

问:dbaascli database convertToPDB 命令的作用是什么?

答案:dbaascli database convertToPDB 命令将指定的非 CDB Oracle AI Database 转换为容器数据库 (Container Database,CDB) 中的可插入数据库 (Pluggable Database,PDB)。

Q:如何指定要转换的数据库?

答:使用 --dbname 选项指定要转换的非 CDB Oracle AI Database 的名称。例如:

dbaascli database convertToPDB --dbname <db_name>

问:如何为 PDB 转换指定目标 CDB?

答:使用 --cdbName 选项指定将在其中创建新 PDB 的目标容器数据库 (Container Database,CDB) 的名称。如果 CDB 不存在,则将在与源非 CDB 相同的 Oracle 主目录中创建新的 CDB。

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

答:--executePrereqs 选项运行转换前检查,以确保数据库已准备好进行转换。在此步骤中,不会对数据库进行任何更改。

问:在转换过程中如何复制数据文件?

答:您可以使用 --copyDatafiles 选项来创建数据文件的新副本,而不是使用源数据库中的原始文件。

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

答:通过 --keepSourceDB 选项,您可以在转换操作完成后保留原始源非 CDB。如果不使用此选项,转换后将删除源数据库。

问:如何在转换之前确认已准备备份?

答:使用 --backupPrepared 标志确认您在执行转换之前已对非 CDB 数据库进行了正确的备份。此步骤对于避免数据丢失至关重要。

问:如何为新 PDB 指定定制名称?

答:使用 --targetPDBName 选项为将在转换过程中创建的新 PDB 提供特定名称。例如:

dbaascli database convertToPDB --dbname <db_name> --targetPDBName <pdb_name>

问:我可以在后台运行转换吗?

答:是的,可以使用 --waitForCompletion 选项指定是否应在后台运行该操作。使用 false 在后台运行,使用 true 在继续之前等待操作完成。默认值为 true。

问:如何恢复以前中断的转换?

答:可以使用 --resume 选项恢复以前中断的转换过程。(可选)您可以提供 --sessionID 以恢复特定会话。

问:如果不指定 CDB 名称,会发生什么情况?

答:如果未提供 --cdbName 选项,系统将在与源非 CDB 数据库位于同一 Oracle 主目录中的新 PDB。

问:在中断后,是否可以在不了解会话 ID 的情况下继续转换?

答:是的,使用 --resume 选项而不指定会话 ID 将恢复上一个已知会话。如果要恢复特定会话,可以提供 --sessionID。

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

答:如果存在多个中断的会话,--sessionID 选项与 --resume 结合使用可指定要恢复的特定会话。

问:在将非 CDB 转换为 PDB 之前,是否必须进行备份?

答:虽然 --backupPrepared 标志是可选的,但强烈建议在执行到 PDB 的转换之前对非 CDB 进行备份。这可确保您在转换过程中恢复数据库,以防出现任何问题。

示例:dbaascli 数据库 convertToPDB

要运行转换前预检查,请执行以下操作:

dbaascli database convertToPDB --dbname ndb19 --cdbname cdb19 --backupPrepared --executePrereqs

要使用非 CDB 中数据文件的副本运行完全转换,请执行以下操作:

dbaascli database convertToPDB --dbname tst19 --cdbname cdb19 --copyDatafiles

dbaascli 数据库创建

要创建 Oracle AI Database,请使用 dbaascli database create 命令。出现提示时,输入 sys 和 tde 口令。

使用此命令可以创建 Oracle Database 版本 12.1.0.2 或更高版本(版本更新为 JAN 2021 或更高版本)。对于版本较低的数据库,建议使用基于 OCI 控制台的 API。

先决条件:

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

语法:

dbaascli database create --dbName {--oracleHome | --oracleHomeName}
[--dbUniqueName <value>]
[--dbSID <value>]
[--createAsCDB <value>]
[--pdbName <value>]
[--pdbAdminUserName <value>]
[--dbCharset <value>]
[--dbNCharset <value>]
[--dbLanguage <value>]
[--dbTerritory <value>]
[--sgaSizeInMB <value>]
[--pgaSizeInMB <value>]
[--datafileDestination <value>]
[--fraDestination <value>]
[--fraSizeInMB <value>]
[--nodeList <value>]
[--tdeConfigMethod <value>]
[--kmsKeyOCID <value>]
{
            [--resume [--sessionID <value>]]
            | [--revert [--sessionID <value>]]
        }
[--executePrereqs]
[--honorNodeNumberForInstance <value>]
[--lockPDBAdminAccount <value>]
[--dbcaTemplateFilePath <value>]
[--waitForCompletion]

参数:

参数 说明
--dbname 指定数据库的名称
--oracleHome 指定 Oracle 主目录位置
--oracleHomeName 指定 Oracle 主目录的名称
--dbUniqueName 指定数据库唯一名称
--dbSID 指定数据库的 SID
--createAsCDB 指定 true 或 false 以将数据库创建为 CDB 或非 CDB
--pdbName 指定 PDB 的名称
--pdbAdminUserName 指定 PDB 管理员用户名
--dbCharset 指定数据库字符集
--dbNCharset 指定数据库国家字符集
--dbLanguage 指定数据库语言
--dbTerritory 指定数据库地区
--sgaSizeInMB 指定 sga_target 值(以 MB 为单位)
--pgaSizeInMB 指定 pga_aggregate_target 值(以 MB 为单位)
--datafileDestination 指定要用于数据库数据文件的 ASM 磁盘组名称
--fraDestination 指定要用于数据库快速恢复区 ASM 磁盘组名称
--fraSizeInMB 指定快速恢复区大小值(以 MB 为单位)
--nodeList 指定数据库的以逗号分隔的节点列表
--tdeConfigMethod 指定 TDE 配置方法。有效值:FILE、KMS
--kmsKeyOCID 指定要用于 TDE 的 KMS 密钥 OCID。仅当为 TDE 选择了 KMS 时才适用
--resume 恢复上一个执行
--revert 回滚上一次运行
--sessionID 恢复或恢复到特定会话 ID。
--executePrereqs 指定 yes 以仅运行此操作的先决条件。有效值:yes 或 no
--honorNodeNumberForInstance 指定 true 或 false 以指示实例名称是否要以集群节点编号作为后缀。默认值:true
--lockPDBAdminAccount 指定 true 或 false 以确定是否锁定 PDB 管理员用户账户。默认值为 true
--dbcaTemplateFilePath 指定要创建数据库的 dbca 模板名称的绝对路径。
--waitForCompletion 指定 false 以在后台运行操作。有效值:true 或 false

常见问题解答:

问:dbaascli 数据库 create 命令的作用是什么?

答案:dbaascli database create 命令用于创建新的 Oracle AI Database 实例。它支持使用发行版更新 JAN 2021 或更高版本创建 Oracle Database 版本 12.1.0.2 或更高版本。

问:如何指定要创建的 Oracle AI Database 的名称?

答:使用 --dbName 选项指定 Oracle AI Database 的名称。例如:

dbaascli database create --dbName <db_name>

问:如何创建容器数据库 (Container Database,CDB)?

答:使用 --createAsCDB 选项并指定 true 以将数据库创建为 CDB。例如:

dbaascli database create --dbName <db_name> --createAsCDB true

问:如何为数据库指定 Oracle 主目录?

答:可以使用 --oracleHome 选项指定 Oracle 主目录的位置,也可以使用 --oracleHomeName 选项指定 Oracle 主目录的名称。

问:如何指定唯一的数据库名称或 SID?

答:使用 --dbUniqueName 选项为数据库指定唯一名称,使用 --dbSID 选项指定数据库的 SID。

问:如何创建可插入数据库 (Pluggable Database,PDB) 和 CDB?

答:可以使用 --pdbName 选项指定 PDB 的名称,使用 --pdbAdminUserName 选项设置 PDB 管理员用户名。例如:

dbaascli database create --dbName <db_name> --createAsCDB true --pdbName <pdb_name> --pdbAdminUserName <admin_user>

问:如何指定数据库字符集和国家字符集?

答:使用 --dbCharset 选项指定数据库字符集,使用 --dbNCharset 选项指定国家字符集。例如:

dbaascli database create --dbName <db_name> --dbCharset AL32UTF8 --dbNCharset AL16UTF16

问:如何为数据库设置内存设置(SGA 和 PGA)?

答:使用 --sgaSizeInMB 选项指定 SGA 大小,使用 --pgaSizeInMB 选项指定 PGA 大小(以 MB 为单位)。

问:如何为数据文件和快速恢复区 (FRA) 指定目标?

答:使用 --datafileDestination 选项为数据文件指定 ASM 磁盘组,使用 --fraDestination 选项为 FRA 指定 ASM 磁盘组。还可以使用 --fraSizeInMB 选项设置 FRA 大小。

问:我是否可以在创建数据库期间配置透明数据加密 (TDE)?

答:可以,您可以使用 --tdeConfigMethod 选项配置 TDE。有效值为 FILE(用于基于文件的加密)或 KMS(用于使用 Oracle Key Management Service)。如果使用 KMS,请为 KMS 密钥 OCID 提供 --kmsKeyOCID 选项。

Q:如何在特定的节点列表中创建数据库?

答:使用 --nodeList 选项指定应创建数据库的节点的逗号分隔列表。

问:如何恢复或恢复以前的数据库创建尝试?

答:使用 --resume 选项可恢复上一次执行,使用 --revert 选项可回滚上一次运行。还可以指定 --sessionID 以恢复或恢复特定会话。

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

答:--executePrereqs 选项仅运行数据库创建操作的先决条件,而不实际创建数据库。使用 yes 或 no 启用或禁用此选项。

问题:是否可以指定用于创建数据库的定制 DBCA 模板?

答:是,使用 --dbcaTemplateFilePath 选项提供应用于创建数据库的 DBCA 模板文件的绝对路径。

问:我是否可以在后台运行数据库创建操作?

答:是的,可以使用 --waitForCompletion 选项指定命令是应等待数据库创建完成 (true) 还是要在后台运行操作 (false)。

问:如果不指定– dbUniqueName 选项将会怎样?

答:如果不使用 --dbUniqueName 为数据库指定唯一名称,系统将根据提供的 --dbName 自动生成一个名称。

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

答:是的,可以使用 --lockPDBAdminAccount 选项并将其设置为 true,以便在创建数据库后锁定 PDB 管理员账户。默认情况下,此值设置为 true。

示例:dbaascli 数据库创建

dbaascli database create --dbName db19 --oracleHomeName myhome19 --dbSid db19sid --nodeList node1,node2 --createAsCDB true

dbaascli 数据库 createTemplate

使用此命令可以创建随后可用于创建数据库的数据库模板(DBCA 模板)。

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

语法:

从指定数据库创建新 DBCA 模板。

dbaascli database createTemplate --dbname <value>
 {
   --templateLocation <value> | --uploadToObjectStorage --objectStorageLoginUser <value> --objectStorageBucketName <value> [--objectStorageUrl <value>]
 }
 [--templateName <value>] [--rmanParallelism <value>]

参数:

参数 说明
--dbname 指定数据库的名称
--templateLocation 指定模板名称
--uploadToObjectStorage 指定将模板上载至对象存储
--objectStorageLoginUser 指定对象存储登录用户
--objectStorageBucketName 指定对象存储存储桶名
--objectStorageUrl 指定对象存储 URL
--templateName 指定模板的名称
--rmanParallelism 指定并行度值

常见问题解答:

问:dbaascli database createTemplate 命令的用途是什么?

答案:dbaascli database createTemplate 命令用于从指定的数据库创建数据库模板(DBCA 模板),以后可以用来创建新数据库。

Q:如何指定要为其创建模板的数据库的名称?

答:使用 --dbname 选项指定要从中创建模板的 Oracle AI Database 的名称。例如:

dbaascli database createTemplate --dbname <db_name>

问:如何指定模板应保存到的位置?

答:使用 --templateLocation 选项指定将保存 DBCA 模板的位置。例如:

dbaascli database createTemplate --dbname <db_name> --templateLocation /path/to/template

问:我是否可以直接将模板上载到对象存储?

答:是。您可以使用 --uploadToObjectStorage 选项将 DBCA 模板上载到对象存储。您需要分别使用 --objectStorageLoginUser 和 --objectStorageBucketName 选项指定对象存储登录用户和存储桶名称。

问:上载模板时如何指定对象存储登录详细信息?

答:使用以下选项指定对象存储详细信息:

--objectStorageLoginUser:指定对象存储登录用户。

--objectStorageBucketName:指定对象存储存储桶名称。

--objectStorageUrl:(可选)指定对象存储的 URL(如果该 URL 与默认 URL 不同)。

例如:

dbaascli database createTemplate --dbname <db_name> --uploadToObjectStorage --objectStorageLoginUser <user> --objectStorageBucketName <bucket_name>

Q:如何为 DBCA 模板指定定制名称?

答:使用 --templateName 选项为 DBCA 模板指定定制名称。例如:

dbaascli database createTemplate --dbname <db_name> --templateName <template_name>

问:– rmanParallelism 选项用于什么?

答:--rmanParallelism 选项指定在模板创建过程中 RMAN 操作的并行度级别。例如:

dbaascli database createTemplate --dbname <db_name> --rmanParallelism 4

问:如果不指定– templateLocation 或– uploadToObjectStorage 选项,会发生什么情况?

答:如果您未使用 --templateLocation 指定模板位置,或者未选择使用 --uploadToObjectStorage 上载到对象存储,则该命令将不知道在何处存储创建的模板,并且将无法完成。

问:我是否可以同时使用– templateLocation 和– uploadToObjectStorage?

答:不,您应该选择 --templateLocation 将模板保存到本地,或者选择 --uploadToObjectStorage 将模板上载到对象存储,但不能同时选择两者。

问:将模板上载到对象存储时,是否必须使用– objectStorageUrl 选项?

答:否,--objectStorageUrl 选项是可选的。如果未指定,将使用默认对象存储 URL。仅当使用定制对象存储 URL 时,才需要指定此项。

问:运行 dbaascli 数据库 createTemplate 命令需要哪些用户权限?

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

问:我是否可以恢复以前失败的模板创建流程?

答案:否,dbaascli database createTemplate 命令不支持恢复失败的进程。您需要从头开始重新启动该命令。

dbaascli 数据库删除

要删除 Oracle AI Database,请使用 dbaascli database delete 命令。

先决条件:

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

语法:

dbaascli database delete --dbname <value>
[--deleteArchiveLogs <value>]
[--deleteBackups <value>]
[--precheckOnly <value>]
[--waitForCompletion <value>]
[--force]
[--dbSID <value>]
[--resume [--sessionID <value>]]

参数:

参数 说明
--dbname 指定数据库的名称。
--deleteArchiveLogs 指定 true 或 false 以指示数据库归档日志的删除。
--deleteBackups 指定 true 或 false 以指示数据库备份的删除。
--precheckOnly 指定 yes 以仅运行此操作的预检查。有效值:yes 或 no。
--waitForCompletion 指定 false 以在后台运行操作。有效值:true 或 false。
--force 用于强制删除数据库的标志。
--dbSID 指定数据库 SID。
--resume 恢复上一个执行。
--sessionID 恢复特定的会话 ID。

常见问题解答:

问:dbaascli 数据库删除命令的用途是什么?

答案:dbaascli database delete 命令用于删除 Oracle Base Database Cloud@Customer 上的 Oracle AI Database。

Q:如何指定要删除的数据库?

答:使用 --dbname 选项指定要删除的 Oracle AI Database 的名称。例如:

dbaascli database delete --dbname <db_name>

问:删除数据库时如何删除归档日志?

答:您可以通过将 --deleteArchiveLogs 选项设置为 true 来删除归档日志。例如:

dbaascli database delete --dbname <db_name> --deleteArchiveLogs true

问:删除数据库时是否也可以删除备份?

答:是,使用 --deleteBackups 选项并将其设置为 true 以删除所有关联的备份。例如:

dbaascli database delete --dbname <db_name> --deleteBackups true

问:如何在不实际删除数据库的情况下仅运行删除操作的预检查?

答:您可以使用 --precheckOnly 选项并将其设置为“是”以在不删除数据库的情况下运行预检查。例如:

dbaascli database delete --dbname <db_name> --precheckOnly yes

问:如何强制删除数据库?

答:要强制删除数据库,请使用 --force 标志。这将绕过检查并强制执行删除过程。例如:

dbaascli database delete --dbname <db_name> --force

Q:如何在后台运行删除操作?

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

dbaascli database delete --dbname <db_name> --waitForCompletion false

Q:是否可以指定要删除的数据库的 SID?

答:是的,可以使用 --dbSID 选项指定数据库的 SID。例如:

dbaascli database delete --dbname <db_name> --dbSID <sid>

问:如何恢复以前中断的删除操作?

答:要恢复先前的删除执行,请使用 --resume 选项。如果需要,还可以使用 --sessionID 选项指定会话 ID。例如:

dbaascli database delete --dbname <db_name> --resume --sessionID <session_id>

问:运行 dbaascli 数据库删除命令需要哪些用户权限?

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

问:在 dbaascli 数据库删除命令中,– precheckOnly 选项的作用是什么?

答:--precheckOnly 选项允许您仅运行删除操作的预检查,而不实际删除数据库。它确保所有支票在继续实际删除之前通过。

问:我是否可以在不等待操作完成的情况下删除数据库?

答:是的,通过将 --waitForCompletion 选项设置为 false,删除操作将在后台运行,您不必等待该操作完成。

示例:dbaascli 数据库删除

dbaascli database delete --dbname db19

dbaascli 数据库 deleteInstance

要删除指定节点上的数据库实例,请使用 dbaascli database deleteInstance 命令。

先决条件:

语法:

dbaascli database deleteInstance --dbname <value> --node <value> [--continueOnUnreachableNode]

参数:

参数 说明
--dbname 指定 Oracle AI Database 名称
--node 指定数据库实例的节点名称
--continueOnUnreachableNode 指定即使节点不可访问,也执行该操作

常见问题解答:

问:dbaascli database deleteInstance 命令的用途是什么?

答案:dbaascli database deleteInstance 命令用于删除 Oracle Base Database Cloud@Customer 环境中的指定节点上的特定 Oracle AI Database 实例。

问:如何指定要删除的 Oracle AI Database 实例?

答:您可以使用 --dbname 选项指定要删除的 Oracle AI Database 实例,以提供数据库名称,使用 --node 选项提供节点名称。例如:

dbaascli database deleteInstance --dbname <db_name> --node <node_name>

问:我是否可以删除实例,即使该节点不可访问?

答:是的,即使指定的节点不可访问,您也可以使用 --continueOnUnreachableNode 选项继续删除。例如:

dbaascli database deleteInstance --dbname <db_name> --node <node_name> --continueOnUnreachableNode

问:如果指定的节点在删除实例操作期间无法访问,会发生什么情况?

答:如果节点无法访问且未使用 --continueOnUnreachableNode 选项,该操作将失败。如果使用该选项,即使无法访问该节点,该操作仍将继续。

问:如何从特定节点中删除数据库实例?

答:使用以下命令从特定节点删除数据库实例:

dbaascli database deleteInstance --dbname <db_name> --node <node_name>

问:运行 dbaascli 数据库 deleteInstance 命令需要哪些用户权限?

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

问:我是否可以在不指定节点的情况下删除实例?

答案:否,需要使用 --node 选项来指定应从哪个节点删除数据库实例。

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

答:即使无法到达指定的节点,--continueOnUnreachableNode 选项也允许继续操作,以确保在节点可能关闭的情况下继续删除实例。

问:是否可以使用此命令一次删除多个数据库实例?

答案:否。dbaascli database deleteInstance 命令用于一次删除指定节点上的单个数据库实例。您需要为要删除的每个实例单独运行该命令。

示例:dbaascli 数据库删除实例

dbaascli database deleteinstance --node test-node

dbaascli 数据库重复

要从活动数据库创建数据库,请使用 dbaascli database duplicate 命令。

先决条件:

语法:

dbaascli database duplicate --dbName <value> --sourceDBConnectionString <value>
        {
            --oracleHome <value>
            | --oracleHomeName <value>
        }
[--dbSID <value>]
[--dbUniqueName <value>]
[--sgaSizeInMB <value>]
[--pgaSizeInMB <value>]
[--datafileDestination <value>]
[--fraDestination <value>]
[--fraSizeInMB <value>]
[--sourceDBWalletLocation <value>]
[--nodeList <value>]
        {
            [--resume [--sessionID <value>]]
            | [--revert [--sessionID <value>]]
        }
[--rmanParallelism <value>]
[--rmanSectionSizeInGB <value>]
[--tdeConfigMethod <value>]
[--kmsKeyOCID <value>]
[--sourceDBTdeConfigMethod <value>]
[--sourceDBKmsKeyOCID <value>]
[--executePrereqs <value>]
[--waitForCompletion <value>]
[--skipPDBs <value>]

参数:

参数 说明
--dbName 指定 Oracle AI Database 名称
--sourceDBConnectionString 指定源数据库连接字符串,格式为 <scan_name>:<scan_port>/<database_service_name>
--oracleHome 指定 Oracle 主目录位置
--oracleHomeName 指定 Oracle 主目录名称
--dbSID 指定数据库 SID
--dbUniqueName 指定数据库唯一名称
--sgaSizeInMB 指定 sga_target 值(以 MB 为单位)
--pgaSizeInMB 指定 pga_aggregate_target 值(以 MB 单位)
--datafileDestination 指定要用于数据库数据文件的 ASM 磁盘组名称
--fraDestination 指定要用于数据库快速恢复区的 ASM 磁盘组名称
--fraSizeInMB 指定快速恢复区大小值(以 MB 为单位)
--sourceDBWalletLocation 指定源数据库 TDE wallet 文件位置。这是从活动数据库中重复数据库所必需的
--nodeList 指定数据库的以逗号分隔的节点列表
--resume 指定以恢复上一个执行
--sessionID 指定以恢复特定的会话 ID
--revert 指定以回退上一个执行
--sessionID 指定以回退特定会话 ID
--rmanParallelism 指定并行值
--rmanSectionSizeInGB 指定 RMAN 段大小 (GB)
--tdeConfigMethod 指定 TDE 配置方法。允许的值为 FILE 和 KMS。
--kmsKeyOCID 指定要用于 TDE 的 KMS 密钥 OCID。仅当为 TDE 选择了 KMS 时才适用。
--sourceDBTdeConfigMethod 指定源数据库 TDE 配置方法。允许的值为 FILE 和 KMS。
--sourceDBKmsKeyOCID 指定要用于 TDE 的源数据库 KMS 密钥 OCID。仅当为 TDE 选择了 KMS 时才适用。
--executePrereqs 指定 yes 以仅运行此操作的先决条件。有效值:yes 或 no
--waitForCompletion 指定 false 以在后台运行操作。有效值:true 或 false
--skipPDBs 指定需要为重复数据库操作排除的源数据库 PDB 名称的逗号分隔列表。示例:pdb1,pdb2,...

常见问题解答:

问:dbaascli 数据库复制命令的用途是什么?

答案:dbaascli database duplicate 命令用于通过复制现有活动数据库来创建新的 Oracle AI Database。

问:使用 dbaascli 数据库复制命令有哪些先决条件?

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

问:如何为复制指定源数据库?

答:使用 --sourceDBConnectionString 选项以 <scan_name>:<scan_port>/<database_service_name> 格式提供源数据库连接字符串。例如:

--sourceDBConnectionString <scan_name>:<scan_port>/<database_service_name>

Q:如何为新数据库指定 Oracle 主目录的位置?

答:您可以使用 --oracleHome 选项指定 Oracle 主目录位置,也可以使用 --oracleHomeName 选项指定 Oracle 主目录名称。例如:

--oracleHome <value>

或者

--oracleHomeName <value>

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

答:--sourceDBWalletLocation 选项指定源数据库 TDE wallet 文件的位置,这是从活动源数据库复制数据库所必需的。

问题:是否可以跳过从源数据库复制特定 PDB?

答:是,可以使用 --skipPDBs 选项指定应从重复操作中排除的 PDB 名称的逗号分隔列表。例如:

--skipPDBs pdb1,pdb2

问:如何为新数据库配置 TDE?

答:使用 --tdeConfigMethod 选项指定 TDE 配置方法(FILE 或 KMS)。如果选择 KMS,则可以使用 --kmsKeyOCID 选项提供 KMS 密钥 OCID。例如:

--tdeConfigMethod FILE

或者

--tdeConfigMethod KMS --kmsKeyOCID <value>

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

答:--executePrereqs 选项指定是否仅运行该操作的先决条件检查。有效值为 yes 以仅运行先决条件,或 no 以继续执行完整操作。

问:如何恢复以前中断的重复操作?

答:使用 --resume 选项和 --sessionID 选项可恢复以前中断的重复操作。例如:

--resume --sessionID <value>

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

答:--waitForCompletion 选项指定是否等待操作完成。将此项设置为 true 将等待完成,而 false 将在后台运行该操作。例如:

--waitForCompletion true

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

答:--rmanParallelism 选项指定复制过程中 RMAN(恢复管理器)的并行值。这可以通过使用多个并行进程来提高复制操作的速度。

问:如何为新数据库指定 SGA 和 PGA 的大小?

答:使用 --sgaSizeInMB 和 --pgaSizeInMB 选项分别指定 SGA(System Global Area,系统全局区)和 PGA(Program Global Area,程序全局区)的大小(以 MB 为单位)。例如:

--sgaSizeInMB <value>

--pgaSizeInMB <value>

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

答:--revert 选项用于回退以前的重复操作。您需要提供 --sessionID 来指定要恢复的会话。

示例:dbaascli 数据库重复

dbaascli database duplicate --sourceDBConnectionString test-user-scan.dbaastoolslrgsu.dbaastoolslrgvc.oraclevcn.com:1521/mynew.dbaastoolslrgsu.dbaastoolslrgvc.oraclevcn.com --oracleHome /u02/app/oracle/product/19.0.0.0/dbhome_2 --dbName newdup --sourceDBWalletLocation /var/opt/oracle/dbaas_acfs/tmp/prim_wallet

dbaascli 数据库 getDetails

此命令显示给定数据库的详细信息,例如 dbname、节点信息、可插入数据库信息等。

先决条件:

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

语法:

dbaascli database getDetails --dbname <value>

其中:

常见问题解答:

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

答案:dbaascli database getDetails 命令显示有关指定 Oracle AI Database 的详细信息,包括数据库名称、节点信息和可插入数据库 (pluggable database,PDB) 详细信息。

问:谁可以运行 dbaascli 数据库 getDetails 命令?

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

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

答:--dbname 选项指定要检索其详细信息的 Oracle AI Database 的名称。

问:dbaascli database getDetails 命令提供了哪些类型的信息?

答:该命令提供详细信息,例如数据库名称、节点信息和与容器数据库关联的可插入数据库 (pluggable database,PDB) 的信息。

dbaascli 数据库 getPDBs

要查看容器数据库中所有可插入数据库的列表,请使用 dbaascli database getPDBs 命令。

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

语法:

dbaascli database getPDBs --dbname <value>

参数:

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

常见问题解答:

问:dbaascli database getPDBs 命令的用途是什么?

答案:dbaascli database getPDBs 命令用于列出指定容器数据库 (Container Database,CDB) 中的所有可插入数据库 (Pluggable Database,PDB)。

Q:如何为 getPDBs 命令指定容器数据库?

答:可以使用 --dbname 选项指定容器数据库的名称。例如:

--dbname <value>

问:我是否需要以特定用户身份运行 dbaascli 数据库 getPDBs 命令?

答:是的,您必须以 root 用户或 oracle 用户身份运行该命令。

问题:是否可以使用 getPDBs 命令查看非 CDB 数据库中的 PDB?

答案:否。getPDBs 命令仅适用于容器数据库 (Container Database,CDB)。不能将此命令用于非 CDB 数据库。

Q:dbaascli database getPDBs 命令的输出格式是什么?

答:该命令返回指定容器数据库内所有 PDB 的列表。输出通常包括 PDB 名称、状态以及有关每个可插入数据库的其他相关详细信息。

问:此命令是否可以同时用于多个数据库?

答案:否,dbaascli database getPDBs 命令一次与单个容器数据库一起使用,由 --dbname 选项指定。

问:是否需要关闭数据库才能使用 getPDBs 命令?

答案:否,getPDBs 命令不要求关闭数据库。可以在容器数据库正常运行时运行。

示例:dbaascli 数据库 getPDBs – dbname

dbaascli database getPDBs --dbname apr_db1

dbaascli 数据库 modifyParameters

要修改或重置 Oracle AI Database 的初始化参数,请使用 dbaascli database modifyParameters 命令。

先决条件:

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

语法:

dbaascli database modifyParameters --dbname <value>
{
--setParameters <values>[--instance <value>] [--backupPrepared] [--allowBounce]|
--resetParameters <values> [--instance <value>] [--backupPrepared] [--allowBounce]
}
--responseFile
[--backupPrepared]
[--instance]
[--allowBounce]
[--waitForCompletion]

参数:

参数 说明
--dbname 指定数据库的名称。
--setParameters 指定要使用新值修改的参数的逗号分隔列表。例如:parameter1=valueA、parameter2=valueB 等。对于空白值,请使用 parameter1=valueA、parameter2= ’’’等。
--resetParameters 指定要重置为其对应默认值的参数的逗号分隔列表。例如,parameter1、parameter2 等。
--instance 指定要处理参数的实例的名称。如果未指定,则将在数据库级别执行该操作。
--backupPrepared 确认在修改关键或敏感参数之前已准备好适当的数据库备份。
--allowBounce 授予退回数据库的权限,以反映对适用静态参数的更改。
--waitForCompletion 指定 false 以在后台运行操作。有效值:true 或 false。

常见问题解答:

问:dbaascli database modifyParameters 命令的用途是什么?

答案:dbaascli database modifyParameters 命令用于修改或重置 Oracle AI Database 初始化参数。

Q:如何指定要为其修改参数的数据库?

答:必须使用 --dbname 选项指定要修改或重置参数的数据库的名称。

问:如何使用 modifyParameters 命令修改数据库参数?

答:使用 --setParameters 选项,后跟逗号分隔的参数列表及其新值。例如:

--setParameters parameter1=valueA,parameter2=valueB

Q:如何使用此命令将参数重置为其默认值?

答:使用 --resetParameters 选项后跟逗号分隔的参数列表以重置为其默认值。例如:

--resetParameters parameter1,parameter2

问:我是否可以使用响应文件修改参数?

答:是的,您可以使用 --responseFile 选项指定响应 JSON 文件的绝对位置。该文件应包含要修改的参数。

问:是否有必要在修改参数之前进行备份?

答:虽然并非所有更改都强制执行,但如果您要修改关键或敏感参数,建议执行备份。可以使用 --backupPrepared 选项确认备份已准备就绪。

问:我是否可以仅将更改应用于多实例数据库中的特定实例?

答:是。您可以使用 --instance 选项指定实例名称。如果未使用此选项,则将在数据库级别应用更改。

Q:修改参数后是否需要退回(重新启动)数据库?

答:对于某些静态参数,需要退回数据库。如有必要,可以使用 --allowBounce 选项授予数据库退回的权限。

问:如果不允许数据库在更改静态参数时反弹,会发生什么情况?

答:如果在修改静态参数时未使用 --allowBounce 选项,更改将在下次手动重新启动数据库之前生效。

问:如果较早的会话中断,是否可以恢复修改参数?

答:不,此命令不支持会话恢复。您需要从头开始重新运行该命令。

示例:dbaascli 数据库 modifyParameters

dbaascli database modifyParameters --dbname dbname --setParameters "log_archive_dest_state_17=ENABLE"

dbaascli 数据库恢复

要恢复数据库,请使用 dbaascli database recover 命令。

先决条件:

语法:

dbaascli database recover --dbname <value>
        {
            --start
                {
                    --untilTime <value>
                    | --untilSCN <value>
                    | --latest
                }
            | --status --uuid <value>
        }

参数:

参数 属性 说明
--dbname - Oracle AI Database 名称。
--start | --status - -
--start - 开始数据库恢复。
--start --untilTime | --untilSCN | --latest -
--start --untilTime 恢复数据库直到时间。输入格式:DD-MON-YYYY HH24:MI:SS。
--start --untilSCN 恢复数据库直到 SCN。
--start --latest 将数据库还原到上一个已知状态。
--status - -
--status --uuid <value> -

常见问题解答:

问:dbaascli 数据库 Recovery 命令的用途是什么?

答案:dbaascli database recover 命令用于从存储在备份存储目的地中的备份中恢复 Oracle AI Database。

问:如何指定要恢复的数据库?

答:可以使用 --dbname 选项后跟数据库名称指定要恢复的数据库。例如:

--dbname <database_name>

问:dbaascli 数据库 Recovery 命令提供了哪些恢复选项?

答:恢复选项包括:

问:如何将数据库恢复到特定时间?

答:使用 --untilTime 选项后跟时间,格式为 DD-MON-YYYY HH24:MI:SS。例如:

--untilTime 05-SEP-2024 15:30:00

问:如何将数据库恢复到特定 SCN?

答:使用后跟 SCN 值的 --untilSCN 选项。例如:

--untilSCN 123456789

问:如何将数据库恢复到最新的已知状态?

答:使用 --latest 选项可将数据库恢复到可能的最近状态。例如:

--latest

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

答:使用 --status 选项和 --uuid 值来检查正在进行的或以前的恢复操作的状态。例如:

--status --uuid <recovery_uuid>

问:– start 选项在恢复过程中可以做什么?

答:--start 选项根据所选恢复方法(--untilTime、--untilSCN、--latest)启动恢复操作。

问:是否有在不指定时间或 SCN 的情况下恢复数据库的方法?

答:是的,您可以使用 --latest 选项将数据库恢复到其最后一个已知状态,这不需要指定时间或 SCN。

问:我可以进行部分恢复吗?

答:是的,您可以分别使用 --untilTime 或 --untilSCN 选项将数据库恢复到特定时间点或 SCN。

示例:

dbaascli 数据库 runDatapatch

要为 Oracle AI Database 打补丁,请使用 dbaascli database runDatapatch 命令。

先决条件:

语法:

dbaascli database runDatapatch --dbname
[--resume]
    [--sessionID]
[--skipPdbs | --pdbs]
[--executePrereqs]
[--patchList]
[--skipClosedPdbs]
[--rollback]

参数:

参数 说明
--dbname 指定数据库的名称
--resume 恢复上一个运行
--sessionID 指定以恢复特定的会话 ID
--skipPdbs 跳过在指定的以逗号分隔的 PDB 列表中运行 datapatch。例如:pdb1,pdb2,...
--pdbs 仅在指定的以逗号分隔的 PDB 列表中运行 datapatch。例如:pdb1,pdb2,...
--executePrereqs 运行前提条件检查
--patchList 应用或回退指定的以逗号分隔的修补程序列表。例如:patch1,patch2,...
--skipClosedPdbs 跳过在关闭的 PDB 上运行 datapatch
--rollback 回退应用的修补程序

常见问题解答:

问:dbaascli database runDatapatch 命令的用途是什么?

答案:dbaascli database runDatapatch 命令用于向 Oracle AI Database 应用补丁程序。

问:在运行 dbaascli 数据库 runDatapatch 命令之前,必须确保什么?

答:在运行该命令之前,请确保数据库的所有实例都已启动且正在运行。

问:如何指定要打补丁的数据库?

答:使用 --dbname 选项,后跟数据库的名称。例如:

--dbname myDatabase

问:如何恢复以前中断的 runDatapatch 操作?

答:使用 --resume 选项恢复上一次运行,或者使用 --sessionID 选项指定特定的会话 ID。例如:

--resume

--sessionID 12345

Q:如何在运行补丁程序时跳过某些 PDB?

答:使用 --skipPdbs 选项后跟要跳过的以逗号分隔的 PDB 名称列表。例如:

--skipPdbs pdb1,pdb2

问:如何才能仅对某些 PDB 运行补丁程序?

答:使用 --pdbs 选项,后跟要包括的 PDB 名称的逗号分隔列表。例如:

--pdbs pdb1,pdb2

问:如何应用或回退一组特定的补丁程序?

答:使用 --patchList 选项,后跟要应用或回退的修补程序名称的逗号分隔列表。例如:

--patchList patch1,patch2

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

答:--rollback 选项可回滚在打补丁操作期间应用的修补程序。

问:如果在打补丁操作期间关闭了某些 PDB,会发生什么情况?

答:如果某些 PDB 已关闭,则可以使用 --skipClosedPdbs 选项跳过为已关闭的 PDB 打补丁。

问:我是否可以在应用补丁程序之前运行先决条件检查?

答:是,在应用修补程序之前,请使用 --executePrereqs 选项运行先决条件检查。

Q:如何确定要恢复补丁程序的会话 ID?

答:在执行 runDatapatch 操作后,通常会记录会话 ID。在恢复修补程序时使用 --sessionID 选项指定该 ID。例如:

--sessionID 67890

dbaascli database runDatapatch --dbname db19

dbaascli 数据库启动

要启动 Oracle AI Database,请使用 dbaascli database start 命令。

先决条件:

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

语法:

dbaascli database start
[--dbname]
[--mode]

参数:

参数 说明
--dbname 指定数据库的名称
--mode 指定装载或命名以以相应模式启动数据库

该命令将启动并打开数据库。在 Oracle Database 12c 或更高版本中,所有 PDB 也会打开。

常见问题解答:

问:dbaascli 数据库启动命令的用途是什么?

答案:dbaascli database start 命令用于启动 Oracle AI Database。

问:在运行 dbaascli 数据库启动命令之前,必须执行什么操作?

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

问:我如何指定要启动的数据库?

答:使用 --dbname 选项,后跟数据库的名称。例如:

--dbname myDatabase

问:我可以在哪些模式下启动数据库?

答:您可以使用 --mode 选项以 mount 或 nomount 模式启动数据库。例如:

--mode mount

问:如果不指定默认模式,默认模式是什么?

答:如果不指定模式,数据库将以默认的 open 模式启动。

问:此命令是否打开 Oracle Database 12c 或更高版本中的所有 PDB?

答:是的,在 Oracle Database 12c 或更高版本中启动数据库时,还将打开所有可插入数据库 (pluggable database,PDB)。

问:如何以名义模式启动数据库?

答:使用 --mode 选项并将其设置为 nomount。例如:

--mode nomount

Q:如何以装载模式启动数据库?

答:使用 --mode 选项并将其设置为挂载。例如:

--mode mount

问:在运行 dbaascli 数据库启动命令时,是否必须指定数据库名称?

答:是的,建议使用 --dbname 选项指定数据库名称,以确保启动正确的数据库。

示例:dbaascli 数据库启动

dbaascli database start --dbname dbname --mode mount

dbaascli 数据库停止

要停止 Oracle AI Database,请使用 dbaascli database stop 命令。

先决条件:

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

语法:

dbaascli database stop
[--dbname <value>]
[--mode <value>]

参数:

参数 说明
--dbname 指定要停止的数据库的名称
--mode 指定数据库的模式。有效值:abort、immediate、normal、transactional

该命令在立即模式下执行数据库关闭。不允许新连接或新事务处理。活动事务处理将回退,并且所有连接的用户都将断开连接。

常见问题解答:

问:dbaascli 数据库 stop 命令的用途是什么?

答案:dbaascli database stop 命令用于停止 Oracle AI Database。

问:使用 dbaascli 数据库 stop 命令有哪些先决条件?

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

问:如何指定要停止的数据库?

答:可以通过使用 --dbname 选项后跟数据库名称来指定数据库。例如:

--dbname myDatabase

问:dbaascli 数据库 stop 命令的有效关闭模式有哪些?

答:有效的关闭模式为:

问题:如果未指定任何模式,则默认关闭模式是什么?

答:如果未指定模式,则默认情况下,数据库将在 immediate 模式下关闭。

问:在立即关闭模式下会发生什么?

答:在 immediate 模式下,不允许新连接或事务处理,将回退活动事务处理,并且所有连接的用户都将断开连接。

Q:如何在中止模式下停止数据库?

答:要在中止模式下停止数据库,请将 --mode 选项与中止一起使用。例如:

--mode abort

问:当停止数据库时,正常模式的作用是什么?

答:在正常模式下,数据库允许当前用户会话完成,然后在不影响活动事务处理的情况下停止。

问:dbaascli 数据库 stop 命令中使用的事务模式是什么?

答:在 transactional 模式下,数据库仅在完成所有活动事务处理后停止,但不允许任何新事务处理。

问:在 dbaascli 数据库 stop 命令中是否必须指定关闭模式?

答案:否,指定 shutdown 模式是可选的。如果未提供,将使用默认的立即模式。

示例:dbaascli 数据库停止

dbaascli database stop --dbname db19

dbaascli 数据库升级

要升级 Oracle AI Database,请使用 dbaascli database upgrade 命令。

先决条件:

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

语法:

dbaascli database upgrade --dbname <value>
{--targetHome <value> | --targetHomeName <value>}
{ [--executePrereqs | --postUpgrade | --rollback]}
{[--standBy | --allStandbyPrepared]}
{[--upgradeOptions <value>]  | [--standBy]}
[--removeGRP]
[--increaseCompatibleParameter]
[--resume [--sessionID <value>]]
[--waitForCompletion <value>]

参数:

参数 属性 说明
--dbname - (必需)指定数据库的名称。
--targetHome - 指定目标 Oracle 主目录位置
--targetHomeName - 指定目标 Oracle AI Database 主目录的名称
--standBy - 使用此选项升级 Data Guard 配置中的备用数据库
--allStandbyPrepared - Data Guard 配置的主数据库是必需的。用于确认在升级主数据库之前对备用数据库执行所有必需操作的标志
--removeGRP - 仅当数据库更新成功时自动移除保证还原点 (GRP) 备份
--increaseCompatibleParameter - 在数据库升级过程中自动增加兼容参数。仅当数据成功升级时,参数才会增大
--executePrereqs - 仅运行升级前检查
--postUpgrade - 如果升级后失败并且需要重新运行升级后步骤,则使用此选项
--rollback - 将 Oracle AI Database 还原到其原始 Oracle 主目录
--upgradeOptions - 使用此选项可以传递特定于 DBUA 的参数来执行 Oracle AI Database 升级。有关支持的参数和选项,请参阅相应的 Oracle 文档。
--upgradeOptions --standby -
--resume - 恢复上一个执行
--resume --sessionID 恢复特定的会话 ID。
--waitForCompletion - 指定 false 以在后台运行操作。有效值:true 或 false。

常见问题解答:

问:dbaascli 数据库升级命令的用途是什么?

答案:dbaascli database upgrade 命令用于将 Oracle AI Database 升级到新版本。

问:使用 dbaascli 数据库升级命令有哪些先决条件?

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

问:如何指定需要升级的数据库?

答:使用 --dbname 选项,后跟数据库的名称。例如:

--dbname myDatabase

Q:如何为升级指定目标 Oracle 主目录?

答:可以使用 --targetHome 选项指定目标 Oracle 主目录位置,也可以使用 --targetHomeName 选项指定目标 Oracle AI Database 主目录的名称。

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

答:--standBy 选项用于升级 Data Guard 配置中的备用数据库。

问:– allStandbyPrepared 标志的用途是什么?

答案:--allStandbyPrepared 标志确认在升级 Data Guard 配置中的主数据库之前,已对备用数据库执行了所有必需的操作。

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

答:如果数据库升级成功,--removeGRP 选项将自动删除保证还原点 (GRP) 备份。

问:何时应使用– increaseCompatibleParameter 选项?

答:如果升级成功,请使用 --increaseCompatibleParameter 选项在数据库升级期间自动增加兼容参数。

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

答:--executePrereqs 选项仅运行升级前检查,以确保数据库已准备好进行升级。

问:如何处理失败的升级后步骤?

答:如果初始升级后尝试失败,请使用 --postUpgrade 选项重新运行升级后步骤。

Q:– revert 选项的用途是什么?

答案:--revert 选项将 Oracle AI Database 恢复为其原始 Oracle 主目录,从而撤消升级。

Q:如何为升级传递特定于 DBUA 的其他参数?

答:使用 --upgradeOptions 选项为 Oracle AI Database 升级传递特定于 DBUA 的参数。有关支持的参数和选项,请参阅 Oracle 文档。

Q:是否必须指定要升级的目标 Oracle 主目录?

答:是,必须指定 --targetHome 或 --targetHomeName 以指示要升级的目标 Oracle 主目录。

问:如果我需要执行升级前检查但未继续升级,该怎么办?

答:使用 --executePrereqs 选项仅执行升级前检查,而不继续执行实际升级。

示例:dbaascli 数据库升级预升级必备条件检查

dbaascli database upgrade --dbname dbname --targetHome Target Oracle home location --executePrereqs

dbaascli 数据库移动

要将数据库从一个主目录移动到另一个主目录,请使用 dbaascli database move 命令。

先决条件:

语法:

dbaascli database move
{
  --oracleHome <value> | --oracleHomeName <value>
}
--dbname <value>
[--executePrereqs]
[--resume [--sessionID <value>]]
[--rollback [--sessionID <value>]]
[--skipDatapatch]
[--skipPDBs <value>]
[--skipClosedPDBs]
[--continueWithDbDowntime]
[--allowParallelDBMove]
[--waitForCompletion <value>]
[--nodeList <value>]

参数:

参数 说明
--oracleHome 指定 Oracle 主目录的路径
--oracleHomeName 指定 Oracle 主目录的名称
--dbname 指定数据库的名称
--executePrereqs 运行先决条件检查并报告结果
--resume 恢复上一个运行
--sessionID 指定以恢复特定的会话 ID
--rollback 将数据库回退到上一个主目录
--sessionID 指定以恢复特定的会话 ID
--skipDatapatch 跳过在数据库上运行 datapatch 的操作
--skipPdbs 跳过在指定的以逗号分隔的 PDB 列表中运行 datapatch。例如:pdb1,pdb2,...
--skipClosedPDBs 跳过为已关闭的 PDB 打补丁
--continueWithDbDowntime 继续为数据库停机打补丁。此选项可用于仅存在一个活动实例且即使停机也能继续打补丁操作的环境中。
--allowParallelDBMove 允许数据库并行移动。
--waitForCompletion 指定 false 以在后台运行操作。有效值:true 或 false
--nodeList 指定节点列表(如果必须对节点子集执行操作)的逗号隔开

常见问题解答:

问:dbaascli 数据库 move 命令用于什么?

答案:dbaascli database move 命令用于将数据库从一个 Oracle 主目录移动到另一个 Oracle 主目录。

问:使用 dbaascli 数据库 move 命令有哪些先决条件?

答:在执行移动操作之前,请确保与数据库关联的所有数据库实例都已启动且正在运行。此外,该命令必须以 root 用户身份运行。

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

答:--oracleHome 参数指定将数据库移动到的 Oracle 主目录的路径。

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

答:--oracleHomeName 参数指定要将数据库移动到的 Oracle 主目录的名称。

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

答:--dbname 参数指定要移动的数据库的名称。

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

答:--executePrereqs 选项运行先决条件检查并报告结果。

Q:使用– resume 选项是什么?

答:--resume 选项恢复以前中断或不完整的移动操作。

问:– sessionID 如何在命令中使用?

答:--sessionID 指定要恢复上一个运行或回退的会话 ID。

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

答:--rollback 选项将数据库回滚到以前的 Oracle 主目录。

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

答:在移动操作期间,--skipDatapatch 选项跳过在数据库上运行 datapatch。

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

答:--skipPDBs 选项跳过在指定的以逗号分隔的 PDB 列表(例如 pdb1、pdb2)上运行 datapatch。

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

答:--skipClosedPDBs 选项跳过为已关闭的 PDB 打补丁。

问:continueWithDbDowntime 是什么意思?

答:即使只有一个活动实例处于启动状态,--continueWithDbDowntime 选项也允许继续执行移动操作,从而允许在进程期间停机。

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

答:通过 --allowParallelDBMove 选项,可以并行执行数据库移动,从而可能加快进程。

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

答:--waitForCompletion 选项指定是否等待操作完成。将其设置为 false 将在后台运行操作。

Q:如何使用– nodeList 参数?

A: The --nodeList parameter specifies a comma-delimited list of nodes on which the move operation will be performed, if it is not to be applied to all nodes.

问:如果 dbaascli 数据库 move 命令遇到问题,我该怎么做?

答:确保所有数据库实例都在运行,并确认您以 root 用户身份运行该命令。如果问题仍然存在,请查阅详细的命令文档或向 Oracle 打开支持单。

问:如果其中一个数据库实例已关闭,是否可以执行移动操作?

答:不可以,所有关联的数据库实例必须在执行移动操作之前启动并运行。

问:如果移动操作中断会发生什么情况?

答:您可以使用 --resume 选项通过使用同一会话或指定 --sessionID 来继续从其停止的位置执行移动操作。

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

答:它允许并行执行数据库移动,这可以减少完成操作所需的时间,特别是在较大的环境中。

问:如何监视后台运行的移动操作的进度?

答:使用 --waitForCompletion false 时,该命令不会等待操作完成。您可以使用相应的 Oracle 日志或状态命令手动检查操作的状态。

问:– skipClosedPDBs 选项的意义是什么?

答:它针对已关闭的 PDB 跳过打补丁,从而减少不需要打补丁的 PDB 的操作时间。

问:数据库是否可以随时回退?

答:是的,可以使用 --rollback 选项回退移动操作,方法是指定会话 ID 或仅回退到以前的 Oracle 主目录。

问:– nodeList 在多节点环境中的作用是什么?

答:在多节点环境中,可以通过使用 --nodeList 提供以逗号分隔的节点名称列表,将移动操作限制为特定节点。

问:是否可以在跳过多节点环境中的特定节点时将数据库移动到新的 Oracle 主目录?

答:是的,可以使用 --nodeList 选项指定要包括在移动操作中的节点。将跳过未列出的任何节点。

问:使用– nodeList 参数可以指定的最大节点数是多少?

答:通过 --nodeList 参数,您可以指定任意数量的节点(仅受环境配置限制)的逗号分隔列表。确保所有节点都有效且可访问。

问题:在使用– skipClosedPDBs 选项之前,如何知道哪些 PDB 已关闭?

答:可以查询 v$pdbs 视图来检查 PDB 的状态。使用 --skipClosedPDBs 时,将跳过状态为 "MOUNTED" 或 "CLOSED" 的任何 PDB。

问:如何验证回退是否已成功完成?

答:运行回退命令后,您可以查看数据库日志或使用 Oracle 预警日志来验证数据库是否已成功回退到其以前的 Oracle 主目录。

问:如果某些先决条件失败,是否可以强制执行移动操作?

答:move 命令强制执行系统稳定性的先决条件检查。无法绕过关键先决条件失败。在继续移动之前,请解决 --executePrereqs 选项报告的任何问题。

示例:

示例:Oracle 主目录路径的基本数据库移动

dbaascli database move --oracleHome /u01/app/oracle/product/19.0.0/dbhome_1 --dbname ORCL

将数据库 ORCL 移至位于 /u01/app/oracle/product/19.0.0/dbhome_1 的 Oracle 主目录。

示例:按 Oracle 主目录名称移动数据库

dbaascli database move --oracleHomeName DB_HOME_NAME --dbname ORCL

将数据库 ORCL 移至名为 DB_HOME_NAME 的 Oracle 主目录。

示例:移动前运行先决条件检查

dbaascli database move --oracleHome /u01/app/oracle/product/19.0.0/dbhome_1 --dbname ORCL --executePrereqs

事先运行先决条件检查时,将数据库 ORCL 移至 Oracle 主目录。

示例:恢复上一个移动操作

dbaascli database move --oracleHome /u01/app/oracle/product/19.0.0/dbhome_1 --dbname ORCL --resume

恢复 ORCL 数据库的上一个移动操作。

示例:恢复具有特定会话 ID 的移动操作

dbaascli database move --oracleHomeName DB_HOME_NAME --dbname ORCL --resume --sessionID 12345

使用会话 ID 12345 恢复 ORCL 数据库的移动操作。

示例:回退移动操作

dbaascli database move --oracleHome /u01/app/oracle/product/19.0.0/dbhome_1 --dbname ORCL --rollback

回退 ORCL 数据库的移动操作,将其恢复到以前的 Oracle 主目录。

示例:回退具有会话 ID 的移动操作

dbaascli database move --oracleHomeName DB_HOME_NAME --dbname ORCL --rollback --sessionID 67890

使用会话 ID 67890 回退 ORCL 的移动操作。

示例:跳过 Datapatch

dbaascli database move --oracleHome /u01/app/oracle/product/19.0.0/dbhome_1 --dbname ORCL --skipDatapatch

移动数据库 ORCL,而不在数据库上运行 datapatch。

示例:在 Datapatch 期间跳过特定 PDB

dbaascli database move --oracleHome /u01/app/oracle/product/19.0.0/dbhome_1 --dbname ORCL --skipPDBs pdb1,pdb2

将 ORCL 数据库移至新的 Oracle 主目录,但跳过在指定 PDB(pdb1 和 pdb2)上运行 datapatch 的步骤。

示例:跳过已关闭 PDB 上的 Datapatch

dbaascli database move --oracleHome /u01/app/oracle/product/19.0.0/dbhome_1 --dbname ORCL --skipClosedPDBs

移动 ORCL 数据库并跳过在任何关闭的 PDB 上运行 datapatch 的步骤。

示例:在移动期间允许数据库停机

dbaascli database move --oracleHomeName DB_HOME_NAME --dbname ORCL --continueWithDbDowntime

将 ORCL 数据库移至指定的 Oracle 主目录,同时允许在移动过程中停机数据库。

示例:并行移动数据库

dbaascli database move --oracleHome /u01/app/oracle/product/19.0.0/dbhome_1 --dbname ORCL --allowParallelDBMove

将数据库 ORCL 移至指定的 Oracle 主目录,并可以选择并行运行移动以提高性能。

示例:在后台运行操作

dbaascli database move --oracleHome /u01/app/oracle/product/19.0.0/dbhome_1 --dbname ORCL --waitForCompletion false

将数据库 ORCL 移至新的 Oracle 主目录,但在后台运行该操作。

示例:为移动指定节点

dbaascli database move --oracleHome /u01/app/oracle/product/19.0.0/dbhome_1 --dbname ORCL --nodeList node1,node2

将数据库 ORCL 移至指定的 Oracle 主目录,但仅对 node1 和 node2 执行该操作。

示例:移动与先决条件检查、跳过特定 PDB 和允许停机的组合

dbaascli database move --oracleHomeName DB_HOME_NAME --dbname ORCL --executePrereqs --skipPDBs pdb1 --continueWithDbDowntime

将 ORCL 数据库移至指定的 Oracle 主目录,运行先决条件检查,跳过在 pdb1 上运行 datapatch,并允许数据库在操作期间停机。

示例:并行移动和后台运行的组合

dbaascli database move --oracleHome /u01/app/oracle/product/19.0.0/dbhome_1 --dbname ORCL --allowParallelDBMove --waitForCompletion false

将 ORCL 数据库移至新的 Oracle 主目录,并行运行移动,并在后台执行操作。

示例:将移动与并行执行相结合并跳过关闭的 PDB

dbaascli database move --oracleHome /u02/app/oracle/product/19.0.0/dbhome_2 --dbname TESTDB --allowParallelDBMove --skipClosedPDBs

将 TESTDB 数据库移动到新的 Oracle 主目录 /u02/app/oracle/product/19.0.0/dbhome_2,同时并行运行该操作并在已关闭的 PDB 上跳过 datapatch。

示例:仅运行先决条件检查

dbaascli database move --oracleHome /u02/app/oracle/product/19.0.0/dbhome_2 --dbname PRODDB --executePrereqs

检查将 PRODDB 数据库移动到位于 /u02/app/oracle/product/19.0.0/dbhome_2 的 Oracle 主目录的先决条件,而不实际执行移动。

示例:跳过特定 PDB 的 Datapatch

dbaascli database move --oracleHome /u02/app/oracle/product/19.0.0/dbhome_2 --dbname HRDB --skipPDBs pdb1,pdb3

将 HRDB 数据库移至新的 Oracle 主目录,但跳过为 pdb1 和 pdb3 运行 datapatch 的步骤。

示例:在特定节点上运行移动

dbaascli database move --oracleHome /u02/app/oracle/product/19.0.0/dbhome_2 --dbname FINDB --nodeList node1,node3

仅将 FINDB 数据库移动到 node1 和 node3 上的新 Oracle 主目录。

示例:允许停机的数据库移动

dbaascli database move --oracleHome /u01/app/oracle/product/19.0.0/dbhome_1 --dbname ORCL --continueWithDbDowntime

将 ORCL 数据库移至指定的 Oracle 主目录,同时允许在移动操作期间停机。

示例:并行移动与跳过 Datapatch 的组合

dbaascli database move --oracleHome /u02/app/oracle/product/19.0.0/dbhome_2 --dbname CRMDB --allowParallelDBMove --skipDatapatch

并行移动 CRMDB 数据库,跳过 datapatch 进程。

示例:使用节点列表在后台移动操作

dbaascli database move --oracleHome /u02/app/oracle/product/19.0.0/dbhome_2 --dbname SALESDB --waitForCompletion false --nodeList node2,node3

将 SALESDB 数据库移动到后台的指定 Oracle 主目录,该操作仅应用于 node2 和 node3。

示例:具有先决条件检查和允许并行移动的数据库移动

dbaascli database move --oracleHome /u01/app/oracle/product/19.0.0/dbhome_2 --dbname ORCL --executePrereqs --allowParallelDBMove

执行先决条件检查并并行运行移动操作后,将 ORCL 数据库移至新的 Oracle 主目录。

示例:回退移动操作并跳过关闭的 PDB

dbaascli database move --oracleHome /u02/app/oracle/product/19.0.0/dbhome_2 --dbname DEVDB --rollback --skipClosedPDBs

回退 DEVDB 数据库的移动操作,跳过任何关闭的 PDB。

示例:移动具有特定停机和并行执行的数据库

dbaascli database move --oracleHome /u02/app/oracle/product/19.0.0/dbhome_2 --dbname FINDB --allowParallelDBMove --continueWithDbDowntime

将 FINDB 数据库移至指定的 Oracle 主目录,同时允许数据库停机并启用并行执行以加快进程。

示例:检查数据库移动先决条件而不执行移动

dbaascli database move --oracleHome /u01/app/oracle/product/19.0.0/dbhome_1 --dbname HRDB --executePrereqs

运行先决条件检查,以验证是否可以在不执行移动本身的情况下将 HRDB 数据库移至指定的 Oracle 主目录。

示例:移动数据库并在特定节点的后台运行命令

dbaascli database move --oracleHome /u02/app/oracle/product/19.0.0/dbhome_3 --dbname PRODDB --waitForCompletion false --nodeList node1,node4

将 PRODDB 数据库移动到新的 Oracle 主目录,在后台执行操作,并仅将其应用于 node1 和 node4。

示例:组合先决条件检查、跳过已关闭的 PDB 和允许并行执行

dbaascli database move --oracleHome /u02/app/oracle/product/19.0.0/dbhome_2 --dbname CRMDB --executePrereqs --skipClosedPDBs --allowParallelDBMove

在将 CRMDB 数据库移至新的 Oracle 主目录之前执行先决条件检查,跳过为已关闭的 PDB 打补丁,并允许该操作并行运行以加快执行速度。

示例:在特定会话 ID 上回退并跳过 Datapatch 的数据库移动

dbaascli database move --oracleHomeName DB_HOME_NAME --dbname DEVDB --rollback --sessionID 45678 --skipDatapatch

使用会话 ID 45678 将以前执行的 DEVDB 数据库移动操作回退到其以前的 Oracle 主目录,并在回退期间跳过 datapatch 进程。

示例:移动数据库,允许并行执行并为 PDB 指定数据补丁程序跳过

dbaascli database move --oracleHome /u02/app/oracle/product/19.0.0/dbhome_3 --dbname ANALYTICDB --allowParallelDBMove --skipPDBs pdb2,pdb4

将 ANALYTICDB 数据库并行移动到指定的 Oracle 主目录并跳过 pdb2 和 pdb4 的 datapatch 进程。