关于 Oracle Database 文件系统
DBFS 与 NFS 类似,因为它提供的共享网络文件系统类似于本地文件系统,同时具有服务器组件和客户机组件。DBFS 文件系统可以从中间层主机挂载,并作为常规共享文件系统进行访问。
由于 DBFS 挂载所需的配置和维护,DBFS 引入了一些复杂性。必须将数据库客户端安装在装载它的主机中,并且必须在数据库(表空间、用户等)和客户端(Wallet、tnsnames.ora
等)中对某些对象执行初始设置。它需要在数据库中增加容量,因为复制到 DBFS 挂载的内容存储在数据库中。
建议不要直接将域配置或二进制文件存储在 DBFS 挂载中。这将在 Oracle Fusion Middleware 文件与数据库之间产生非常强的依赖性。但是,DBFS 功能有一些对象和操作无法从中受益。
关于将 DBFS 用于 runtime
文件夹
要实施此方法,请在所有中间层主机(主主机和辅助主机)中安装数据库客户端。必须对数据库(DBFS 表空间、用户等)和客户端(Wallet、tnsnames.ora
等)中的某些对象执行初始设置。
有关在中间层主机中配置 DBFS 挂载的示例脚本,请参见脚本 dbfs_dr_setup_root.sh
。此脚本将安装数据库客户机,在数据库中创建 DBFS 方案,配置客户机对象,并在中间层主机中挂载 DBFS 文件系统。
转到下载代码以获得下载脚本的链接。
使用此脚本时请注意以下几点:
- 在运行脚本之前,必须在主机中正确配置 "yum" 实用程序。该脚本使用 yum 下载安装 DB 客户机所需的一些程序包。
- 您必须在脚本的“CUSTOMIZABLE VARIABLES”部分中提供环境值(用户名、路径等)。
- 变量 DBFS_CONFIG_DIR 用于定制 DBFS 配置对象(Wallet、
tnsnames.ora
和用于挂载 DBFS 的脚本)的位置。使用不在站点之间复制的位置,因此每个站点都有自己的配置。不要将其放在域文件夹下,因为在复制域时,它将复制到辅助文件夹。 - 必须在主中间层主机(指向主数据库)和辅助中间层主机(指向辅助数据库)中运行脚本。您将看到警告,因为已经创建了一些内容(数据库用户、表空间等),但您可以忽略这些消息。
- 要在辅助中间层主机中执行配置,必须以快照备用模式打开备用数据库。这是因为只有打开数据库时才能挂载 DBFS。如果 Oracle Data Guard 不是活动数据卫士,则备用数据库处于装载状态。在这种情况下,要访问备用站点中的 DBFS 挂载,必须将数据库转换为快照备用数据库。
在所有中间层主机中配置 DBFS 挂载后,可以将其用作运行时数据的共享文件夹(例如,文件适配器或定制应用程序读取/写入的文件)。您不必手动将此内容复制到辅助站点,它随 Oracle Data Guard 自动复制。如果发生切换或故障转移,则运行时内容在新主数据库以及存储在数据库中的其余信息中可用。
将 DBFS 挂载用于运行时数据的优点:
- 站点之间的复制是隐式的。主站点的 DBFS 挂载中存储的内容通过 Oracle Data Guard 复制到辅助站点。
缺点:
- DBFS 性能比 NFS 解决方案(Oracle Cloud Infrastructure File Storage 、Oracle ZFS)的性能差。
- Oracle 建议在切换后在新主数据库中重新挂载
dbfs
,以确保 DBFS 挂载正常运行。如果 DBFS 挂载指向的数据库在一段时间内未打开(例如,当数据库处于备用模式时),则它可能会变得过时并需要重新挂载。
关于使用 DBFS 复制 Oracle WebLogic Server 配置
此方法利用了 Oracle Data Guard 副本的稳健性。它通过 Oracle 驱动程序的重试逻辑具有良好的可用性,并提供弹性行为。您可以在数据中心之间具有中等或高延迟的情况中使用它。但是,从设置、数据库存储和生命周期的角度来看,将 DBFS 用于配置复制会产生额外的影响:
- 由于 DBFS 挂载所需的配置和维护,它引入了一些复杂性。它要求将数据库客户端安装在要挂载它的主机中,它要求在数据库(表空间、用户等)和客户端(Wallet、
tnsnames.ora
等)中初始设置一些对象。有关安装数据库客户机、在数据库中创建 DBFS 方案、配置客户机对象以及在中间层主机中挂载 DBFS 文件系统的示例脚本,请参见脚本dbfs_dr_setup_root.sh
。 - 它需要在数据库中增加容量,因为复制到 DBFS 挂载的内容存储在数据库中。
- 建议不要直接将域配置或二进制文件存储在 DBFS 挂载中。这会在 Oracle Fusion Middleware 文件和数据库之间产生非常强的依赖性。建议改用 DBFS 作为 assistance 文件系统:中间暂存文件系统来放置要复制到备用站点的信息。复制到备用数据库有两个步骤:从主数据库的源文件夹到中间的 DBFS 挂载,然后在备用站点中从 DBFS 挂载复制到备用数据库的目标文件夹。
- 仅当数据库处于打开状态时,才能挂载 DBFS。如果 Oracle Data Guard 不是活动数据卫士,则备用数据库处于装载状态。因此,在这种情况下,要访问备用站点中的 DBFS 挂载,必须将数据库转换为快照备用数据库。使用 Active Data Guard 时,可以挂载文件系统以进行读取,无需转换为快照。
由于这些原因,不建议将 DBFS 作为通用解决方案将所有文件系统对象复制到备用数据库。例如,使用 DBFS 复制二进制文件是一项过分操作。
但是,当存储复制或 rsync 等其他方法不可行时,此方法适合在生命周期内复制一些动态构件,例如域共享配置 (ASERVER_HOME)。请参阅 Oracle WebLogic Server for Oracle Cloud Infrastructure 灾难恢复白皮书,了解如何使用 DBFS 作为帮助文件系统来复制域配置。
转到下载代码以获得下载脚本的链接。