管理线索文件

OCI GoldenGate 跟踪文件会随着时间的推移快速增加。如果不清除管理这些线索文件的任务,每日备份的完成和使用在其他地方可能使用的计算资源所需的时间将以指数级增加。

注意:

此信息仅适用于数据复制部署。

相关主题

查看线索文件

您可以在部署详细信息页上查看线索文件详细信息,例如大小、序列、生成器和使用者。

要查看线索文件,请执行以下操作:
  1. 在“GoldenGate 概览”页中,单击部署
  2. 在“部署”页上,选择部署以查看其详细信息,或者从部署的“操作”菜单中选择查看详细信息
  3. 在“部署详细信息”页上,单击线索文件

使用此信息可标识不再使用或需要的线索文件,然后创建清除任务来管理这些文件。

加密线索文件

您可以使用部署控制台中的加密概要信息或通过创建主加密密钥 wallet 来加密线索文件。本主题介绍带或不带资源主体的加密配置文件。有关主加密密钥钱包的信息,请参见 Manage encryption keys wallets

在继续之前,请确保您具有:

使用资源主用户加密

资源主体是身份和访问管理 (Identity and Access Management,IAM) 的一项功能,它授权资源充当对资源执行操作的主要角色。每个资源都有自己的身份,并且资源使用添加到它的证书进行验证。这些证书会自动创建、分配给资源并轮换,从而避免您创建和管理自己的凭证来访问资源。

您可以使用资源主体访问 Vault 密钥,然后可以使用该密钥对线索文件进行加密。为此,您的部署必须有权访问所选 Vault 密钥。确保您已查看了“加密线索”文件中列出的要求,特别是 Vault 服务的最低必需策略

要使用资源主体加密线索文件,请执行以下操作:
  1. 在部署详细信息页上,单击启动控制台
  2. 在部署控制台的导航菜单中,展开 Encryption(加密),然后选择 Profiles(配置文件)
  3. 对于 Oracle Cloud Infratstructure with Resource Principal ,请单击添加插件加密概要文件
  4. 在 "Create Encryption Profile"(创建加密配置文件)面板中,填写以下字段:
    1. 对于配置文件名称,输入此加密配置文件的名称。
    2. (可选择)添加说明。
    3. 粘贴 OCI Vault 的 OCI Vault 密钥 OCID 。您可以在 Vault 中的“加密密钥”详细信息页上找到此信息。
    4. 从 Vault 详细信息页输入 OCI Vault 的加密端点
  5. 单击提交

无资源主用户加密

要在不使用资源主体的情况下加密线索文件,请执行以下操作:
  1. 在部署详细信息页上,单击启动控制台
  2. 在部署控制台的导航菜单中,展开 Encryption(加密),然后选择 Profiles(配置文件)
  3. 对于 Oracle Cloud Infratstructure ,请单击 Add Plugin Encryption Profile(添加插件加密配置文件)
  4. 在 "Create Encryption Profile"(创建加密配置文件)面板中,填写以下字段:
    1. 输入配置文件名
    2. 输入说明
    3. 粘贴到加密端点 URL 中,您可以在 Vault 详细信息页上找到该 URL。
    4. 粘贴租户 OCID ,您可以在租户详细信息页上找到该 OCID。
    5. 粘贴到您的密钥 OCID 中,您可以在密钥详细信息页面上找到该密钥。
    6. 粘贴到您的用户 OCID 中,您可以在您的用户概要信息页上找到它。
    7. 上载或粘贴 API 密钥,您可以从用户概要页面的令牌和密钥部分生成该密钥。
    8. 粘贴在您的密钥指纹中,该指纹与您 API 密钥关联。
  5. 单击提交

清除线索文件

OCI GoldenGate 跟踪文件会随着时间的推移快速增加。如果不清除管理这些 Trail 文件的任务,每日备份的完成和使用在其他地方可能使用的计算资源所需的时间将以指数级增加。

Oracle 建议您在清除线索文件之前先创建备份。请参见 Create a manual backup 。然后,您可以下载备份并查看其内容 (<deployment-name>/var/lib/data/)。
要清除 OCI GoldenGate 线索文件,请执行以下操作:
  1. OCI GoldenGate 部署控制台中,查看生成线索文件的以下进程,并记下要保留的线索文件:
    • 在管理服务中,查看每个提取和复制的详细信息。(单击进程名称,然后选择详细信息。)
    • 在分发服务中,查看每个分发路径(如果有)的详细信息。
    • 在接收器服务中,查看每个接收器路径(如果有)的详细信息。

    可以清除列表中未包含的所有其他线索文件。

  2. 设置清除任务以在部署控制台中清除未使用的线索文件。
    1. OCI GoldenGate 部署控制台中,打开管理服务的导航菜单(汉堡图标),然后选择配置
    2. 配置页上,依次单击任务清除线索
    3. 单击添加清除线索任务(加号图标)。
    4. 在“创建新的清除线索”任务下,填写以下字段,然后单击提交
      1. 工序名称中,输入清除任务的名称。
      2. 对于线索,输入线索文件的名称,然后单击添加线索(加号图标)。重复此步骤以添加更多线索文件。所选线索在添加线索文件时会填充这些线索文件的名称。
      3. 如果要在所有提取和复制进程完成文件后清除(如检查点所示),请保持使用检查点处于启用状态。禁用此选项可以清除而不考虑检查点和至少一个文件(如果未指定 MIN 值),或者保留指定为 MIN 的文件数。

        注意:

        无法在部署控制台中删除孤立检查点文件。使用 REST API 删除孤立检查点文件。
      4. 对于保留规则,指定要保留的小时数、天数或文件数。
      5. 对于清除频率,指定运行此清除任务的频率。

    您可以添加更多清除任务,也可以根据需要禁用它们。

  3. 使用管理客户机清除未使用的线索文件。
    1. 在部署详细信息页上,单击启动管理客户端
      如果使用专用端点连接到 OCI GoldenGate 部署,请按照 Connect to Admin Client through Cloud Shell 中的说明进行操作。
    2. 运行以下命令以清除提取不再使用的线索文件:
      purge exttrail <trail-file-name>
      有关更多信息,请参见 GoldenGate Command Line Reference 指南中的 PURGE EXTTRAIL
  4. 使用 REST API 清除未使用的线索文件。
    1. 打开 Cloud Shell。
    2. 在 Cloud Shell 中,对 OCI GoldenGate 部署运行以下 REST API 调用。确保将占位符替换为部署的实际值。
      curl -X POST https://<domain-name>/services/v2/commands/execute -n -H 'Content-Type:
            application/json' -d '{ "name": "purge", "purgeType": "trails", "trails": [ {
            "name": "<trail_file_name>" } ], "useCheckpoints": false, "keep": [ { "type":
            "min", "units": "files", "value": 0 } ]}'

要确保删除所有线索文件,您可以执行以下操作之一:

  • 在 Oracle Cloud 控制台的部署详细信息页上,选择线索文件,然后单击刷新以查看线索文件列表。
  • 创建另一个手动备份,并检查要保留的 Trail 文件的备份内容。请注意现在备份完成的聚合大小减小和速度。

REST 示例

以下示例说明如何在不同条件下删除线索文件:

示例 1:清除名称与 "IL" 匹配的所有线索文件:

curl -X POST https://<domain-name>/services/v2/commands/execute -n -H 'Content-Type: application/json' -d '{ "name": "purge", "purgeType": "trails", "trails": [ { "name": "IL" } ], "useCheckpoints": false, "keep": [ { "type": "min", "units": "files", "value": 0 } ]}'

示例 2:清除子目录 demo 中由星号 (*) 指示的所有线索文件:

curl -X POST https://<domain-name>/services/v2/commands/execute -n -H 'Content-Type: application/json' -d '{ "name": "purge", "purgeType": "trails", "trails": [ { "name": "*", "path": "/u02/Deployment/var/lib/data/demo" } ], "useCheckpoints": false, "keep": [ { "type": "min", "units": "files", "value": 0 } ]}'

示例 3:清除所有 L1 提取线索文件:

curl -X POST https://<domain-name>/services/v2/commands/execute -n -H 'Content-Type: application/json' -d '{ "name": "purge", "purgeType": "trails", "trails": [ { "name": "L1" } ], "useCheckpoints": false, "keep": [ { "type": "min", "units": "files", "value": 0 } ]}'

示例 4:清除名称与 "L1" 匹配但保留过去 10 小时内文件的所有线索文件:

curl -X POST https://<domain-name>/services/v2/commands/execute -n -H 'Content-Type: application/json' -d '{ "name": "purge", "purgeType": "trails", "trails": [ { "name": "L1" } ], "useCheckpoints": false, "keep": [ { "type": "min", "units": "hours", "value": 10 } ]}'

示例 5:使用 USECHECKPOINTS 清除超过一天的所有 L1 提取线索文件:

curl -X POST https://<domain-name>/services/v2/commands/execute -n -H 'Content-Type: application/json' -d '{ "name": "purge", "purgeType": "trails", "trails": [ { "name": "L1" } ], "useCheckpoints": true, "keep": [ { "type": "min", "units": "days", "value": 1 } ]}'

示例 6:清除超过一天的所有 L1 提取线索文件:

curl -X POST https://<domain-name>/services/v2/commands/execute -n -H 'Content-Type: application/json' -d '{ "name": "purge", "purgeType": "trails", "trails": [ { "name": "L1" } ], "useCheckpoints": false, "keep": [ { "type": "min", "units": "hours", "value": 23 } ]}'