关于可插入数据库
本文提供有关可插入数据库和管理其各种功能(例如备份、还原、重新定位和克隆)的详细信息。
多租户体系结构使 Oracle Database 成为容器数据库。容器数据库 (Container Database,CDB) 包含一个或多个由用户创建的可插入数据库和应用程序容器。可插入数据库 (pluggable database,PDB) 是方案、方案对象和非方案对象的可移植集合,这些对象作为单独的数据库显示在应用程序中。在物理级别,每个可插入数据库都有自己的一组数据文件,用于存储可插入数据库的数据。容器数据库包括其中包含的可插入数据库的所有数据文件,以及存储容器数据库本身元数据的一组系统数据文件。
在数据库系统中创建的 Oracle 19c 或更高版本数据库包括一个初始可插入数据库,您可以从 OCI 控制台中的数据库详细信息页面访问该数据库。使用 OCI 控制台或 API,您可以启动、停止、克隆和删除可插入数据库。您还可以在容器数据库中创建其他可插入数据库。使用 OCI 控制台或 API 执行的所有可插入数据库操作都可以使用操作生成的工作请求进行监视。有关更多信息,请参阅工作请求。
您可以使用 OCI 控制台和 API 在数据库系统中创建和管理可插入数据库。
注:通常,“数据库”一词是指容器数据库 (Container Database,CDB)。
创建
可插入数据库中可以有多个可插入数据库。必须一次创建一个可插入数据库,并且创建新的可插入数据库对可插入数据库中的现有可插入数据库没有影响。
要使用 OCI 控制台创建可插入数据库,请参见 Create a Pluggable Database 。
还原
可以从备份还原可插入数据库。支持以下两种类型的恢复:
- 异地还原:您可以通过以下方法还原可插入数据库:从备份创建容器数据库,然后选择可插入数据库或要在新数据库上还原的部分数据库。
- 就地还原:可以将同一容器数据库中的可插入数据库还原到其最后一个已知正常状态或指定时间戳。
当希望将可插入数据库移回指定状态或时间时,可以执行就地还原。容器数据库和可插入数据库必须都已启动且正在运行,并且一次只能还原一个可插入数据库。
- 如果容器数据库中存在多个可插入数据库,并且希望将多个可插入数据库还原到同一容器数据库,则可以从容器数据库备份中每次还原一个可插入数据库。
- 容器数据库关闭后,您可以还原完整的容器数据库,并且该容器数据库中的所有可插入数据库也将恢复。
- 您可以将数据库还原到指定的时间戳,也可以还原到其已知的最后一个良好状态。
要使用 OCI 控制台还原可插入数据库,请参见 Restore a Pluggable Database 。
重新定位
您可以将可插入数据库从一个容器数据库重定位到同一可用性域 (AD) 中的另一个容器数据库,以便跨区间、数据库系统或 VCN 将该可插入数据库重定位到相同或更高版本的数据库。如果使用两个不同的 VCN,则在重新定位之前必须对这两个 VCN 进行对等连接。在重定位期间,可插入数据库将从源容器数据库中删除并移至已启动并正在运行的目标容器数据库。在 Data Guard 关联中,重新定位到主数据库的可插入数据库也将与备用数据库同步。
要使用 OCI 控制台重新定位可插入数据库,请参见 Relocate a Pluggable Database 。
克隆
克隆是给定数据库的独立完整副本,因为它存在于克隆操作时。您可以在同一容器数据库或其他容器数据库中创建可插入数据库的克隆,并刷新克隆的可插入数据库。
支持以下类型的克隆:
- 本地克隆:在同一容器数据库中创建可插入数据库的副本。
-
远程克隆:在不同的容器数据库上创建可插入数据库的副本。
可以跨区间、数据库系统或 VCN 将可插入数据库从一个容器数据库远程克隆到同一可用性域 (Availability Domain,AD) 中的另一个容器数据库,再克隆到相同或更高版本的数据库。如果使用两个不同的 VCN,则在克隆之前必须对这两个 VCN 进行对等连接。
-
可刷新克隆:在不同的容器数据库上创建可插入数据库的副本,您将能够刷新克隆的可插入数据库。
您可以跨区间、数据库系统或 VCN 将可插入数据库的可刷新克隆从一个容器数据库到同一可用性域 (AD) 中的另一个容器数据库,再到相同或更高版本的数据库。如果使用两个不同的 VCN,则在克隆之前必须对这两个 VCN 进行对等连接。
要使用 OCI 控制台克隆可插入数据库,请参见 Clone a Pluggable Database 。
可刷新的克隆
通过可刷新的克隆,您可以使用源可插入数据库保持远程克隆的更新。
- 仅当可插入数据库处于装载模式时,才能刷新。
- 您唯一的打开模式是只读模式,并且当刷新处于只读模式时无法执行刷新。
- 创建可刷新克隆需要数据库链接用户身份证明。
- 可刷新克隆不支持克隆、重定位和就地还原操作。源中不支持重新定位和就地还原操作,并且只能在断开连接或删除可刷新克隆后删除源。
- 将可插入数据库从 19c 克隆到 26ai 时,克隆的可插入数据库将自动升级到 26ai。例如,如果您使用可刷新克隆克隆克隆到 26ai,然后将其转换为常规可插入数据库,则将自动处理所有必要的升级步骤,并将可刷新克隆转换为完全升级的 26ai 可插入数据库。
- 在 Data Guard 关联中,无法在备用数据库上创建可刷新克隆,但可以在主数据库上创建可刷新克隆。但是,主数据库不会同步到备用数据库。
- 备用数据库中的可插入数据库不能用作可刷新可插入数据库的源。
要使用 OCI 控制台创建可刷新克隆,请参见 Clone a Pluggable Database 。
要使用 OCI 控制台刷新克隆,请参见 Refresh a Pluggable Database 。
将可刷新克隆转换为常规可插入数据库
您可以随时断开可刷新克隆(目标可插入数据库)与源可插入数据库之间的连接,从而将可刷新克隆转换为常规可插入数据库。如果刷新可插入数据库在 Data Guard 关联中,则将其转换为常规可插入数据库时,可插入数据库将在转换过程中同步到备用数据库。
要使用 OCI 控制台转换可插入数据库,请参见 Convert a Refreshable Clone to a Regular Pluggable Database 。
SQL 工作表
SQL 工作表提供了一个基于 Web 的 SQL 工作区,您可以在其中使用数据库连接直接在浏览器中输入 SQL 语句。在 SQL 工作表中,可以针对数据库运行 SQL 语句或脚本并创建数据库对象。
您需要创建连接才能使用 SQL 工作表。SQL 工作表利用您使用该服务创建的连接,使您能够从控制台运行 SQL 命令和脚本。SQL 工作表中使用的脚本可以位于 OCI 对象存储或本地驱动器中。使用“Connection(连接)”选择菜单,可以更改 SQL 工作表立即使用的连接。
连接是包含访问 OCI 中的 Oracle Database 所需信息的资源。连接是通过简单地提供有关数据库位置的信息创建的。该连接还包含用于访问数据库的用户以及存储在 OCI Vault 中的密码位置。
要创建连接,请使用 OCI 控制台启动和使用 SQL 工作表,请参阅 SQL 工作表。
备份
当容器数据库配置有自动备份功能时,您可以在创建、克隆或重新定位操作期间(可选)备份可插入数据库。可插入数据库备份目标将始终与容器数据库相同,并且无法直接访问或按需创建备份。Oracle 建议在创建或克隆可插入数据库后立即备份该数据库。这是因为在下一次每日自动备份成功完成之前,可插入数据库将无法恢复,从而导致可能的数据丢失。
打开的模式
在 OCI 控制台上,您可以查看可插入数据库的打开模式,例如读写、只读和已装载。如果所有节点上的可插入数据库状态相同,则系统对所有可插入数据库显示相同的状态。如果各个节点的可插入数据库状态不同,系统将显示一条消息,指示在哪个节点上以读写模式打开可插入数据库。无法通过 API 或 OCI 控制台更改可插入数据库的打开模式。但是,您可以启动或停止可插入数据库。启动可插入数据库将以读写模式启动它。停止可插入数据库将关闭它,它将保持装载模式。
可插入数据库管理的限制
- 使用 SQL 创建的新可插入数据库不会立即在 OCI 控制台中搜索和显示。但是,OCI 会定期执行同步操作,以发现手动创建的可插入数据库,这些数据库应在创建后的 6 小时内显示在 OCI 控制台和基于 API 的工具中。Oracle 建议使用 OCI 控制台或基于 API 的工具(包括 OCI CLI、SDK 和 Terraform)来创建可插入数据库。
- 仅使用 Oracle Database 19c 及更高版本的数据库支持可插入数据库操作。
- 可插入数据库在容器数据库级别进行备份,每个备份都包括容器数据库中的所有可插入数据库。OCI 不支持为单个可插入数据库创建备份。