关于 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 下载数据库客户端安装所需的一些软件包。
- 必须在脚本的“CUSTOMIZABLE VARIABLES(可定制变量)”部分中提供环境值(用户名、路径等)。
- 变量 DBFS_CONFIG_DIR 用于定制 DBFS 配置对象(Wallet、
tnsnames.ora
和用于装载 DBFS 的脚本)的位置。使用未在站点之间复制的位置,因此每个站点都有自己的配置。请勿将其放在域文件夹下,因为在复制域时,该文件夹将复制到辅助文件夹。 - 必须在主中间层主机(指向主数据库)和辅助中间层主机(指向辅助数据库)中运行脚本。您将看到警告,因为某些内容已创建(数据库用户、表空间等),但您可以忽略这些消息。
- 要在辅助中间层主机中执行配置,必须以快照备用模式打开备用数据库。这是因为只有在数据库处于打开状态时才能装载 DBFS。当 Oracle Data Guard 不是 Active 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_dr_setup_root.sh
作为示例脚本,该脚本可安装数据库客户机、在数据库中创建 DBFS 方案、配置客户机对象以及在中间层主机中挂载 DBFS 文件系统。 - 由于复制到 DBFS 装载的内容存储在数据库中,因此它需要在数据库中增加容量。
- 建议不要将域配置或二进制文件直接存储在 DBFS 挂载中。这会在 Oracle Fusion Middleware 文件与数据库之间创建非常强的相关性。相反,建议将 DBFS 用作辅助文件系统:中间暂存文件系统,用于将要复制到备用站点的信息放置到备用站点。复制到备用数据库有两个步骤:从主数据库的源文件夹到中间 DBFS 挂载,然后在备用站点中从 DBFS 挂载到备用数据库的目标文件夹。
- 只有在数据库处于打开状态时,才能装载 DBFS。当 Oracle Data Guard 不是 Active Data Guard 时,备用数据库处于装载状态。因此,在这种情况下,要访问备用站点中的 DBFS 挂载,必须将数据库转换为快照备用。使用 Active Data Guard 时,可以挂载文件系统以进行读取,并且无需转换为快照。
由于这些原因,建议不要将 DBFS 作为将所有文件系统对象复制到备用数据库的一般用途解决方案。例如,使用 DBFS 复制二进制文件是一种过度操作。
但是,当存储复制或 rsync 等其他方法不可行时,此方法适合在生命周期内复制某些动态构件,例如域共享配置 (ASERVER_HOME)。有关如何使用 DBFS 作为帮助文件系统来复制域配置的示例,请参阅 Oracle WebLogic Server for Oracle Cloud Infrastructure 灾难恢复白皮书。
转到下载代码以获取用于下载脚本的链接。