排除备份故障

由于各种原因,数据库备份可能会失败。通常,备份会失败,因为数据库主机无法访问对象存储,或者主机上或数据库配置存在问题。

本文包含的信息可帮助您确定失败的原因并解决问题。根据错误条件,信息分为多个部分。

如果您已经知道原因,则可以使用建议的解答跳至主题。否则,请使用 Identify the Cause of Failure 主题开始。

本文包含以下主题:

提示:

您还可以创建串行控制台连接以在单用户模式下对系统进行故障排除。有关在 OCI 控制台中创建串行控制台连接的信息,请参见管理与数据库系统的串行控制台连接

确定故障原因

在 OCI 控制台中,失败的数据库备份显示失败状态,或者挂起时处于正在备份创建状态。如果错误消息中未包含足够的信息来指向解决方案,则可以使用数据库 CLI 和日志文件收集更多数据。然后,请参阅本主题中的适用部分以获得解决方案。

屏幕中包含以下主题:

确定备份故障的根本原因

  1. 以 root 用户身份登录到主机并导航到 /opt/oracle/dcs/bin/

  2. 确定对数据库执行的操作顺序。

    dbcli list-jobs | grep -i <dbname>

    请注意列出的最后一个作业 ID,其状态不是 Success

  3. 使用上一步中记录的作业 ID,使用以下命令检查该作业的详细信息:

    dbcli describe-job -i <job_ID> -j

    通常,运行此命令足以揭示失败的根本原因。

  4. 如果需要更多信息,请查看 /opt/oracle/dcs/log/dcs-agent.log 文件。

    通过使用步骤 2 中作业报告返回的时间戳,可以在此文件中找到作业 ID。

  5. 如果问题详细信息表明存在 RMAN 问题,请查看以下目录中的 RMAN 日志。

    /opt/oracle/dcs/log/<hostname>/rman/bkup/<db_unique_name>/rman_backup/<yyyy-mm-dd>

注意:

如果数据库故障位于双节点 RAC 数据库上,请在两个节点上执行步骤 3 和 4。

数据库服务代理问题

OCI 数据库利用代理框架,通过云平台管理数据库。有时,如果 dcsagent 程序的状态为 stop/waiting ,则可能需要重新启动 dcsagent 程序以解决备份故障。

屏幕中包含以下主题:

重新启动数据库服务代理

注意:

使用 OL6 时,使用 initctl 而不是 systemctl
  1. 在命令提示符下,检查代理的状态:

    systemctl status initdcsagent
  2. 如果代理处于 stop/waiting 状态,请尝试重新启动代理:

    systemctl start initdcsagent
  3. 再次检查代理的状态以确认代理具有启动/正在运行状态:

    systemctl status initdcsagent

Oracle Clusterware 问题

Oracle Clusterware 使服务器能够相互通信,以便它们可以作为一个集体单元起作用。有时,您可能需要重新启动 Clusterware 程序以解决备份故障。

数据库主机上的以下一个或多个情况可能会导致备份失败:

重新启动 Oracle Clusterware

  1. 在命令提示符下,检查 Oracle Clusterware 的状态:

    crsctl check crs
    crsctl stat res -t
  2. 如果 Oracle Clusterware 未联机,请尝试重新启动程序:

    crsctl start crs
  3. 检查 Oracle Clusterware 的状态以确认它处于联机状态:

    crsctl check crs

对象存储连接问题

将数据库备份到 OCI Object Storage 需要主机可以连接到适用的 Swift 端点。您可以使用 Swift 用户测试此连接。

确保数据库主机可以连接到对象存储

  1. 在您的租户中创建 Swift 用户。有关更多信息,请参见 Managing User Credentials 中的 Working with Auth Tokens
  2. 对于您在上一步中创建的用户,请使用以下命令验证主机是否可以访问对象存储。

    curl -v -X HEAD -u <user_ID>:'<auth_token>' https://swiftobjectstorage.<region_name>.oraclecloud.com/v1/<object_storage_namespace>
  3. 如果无法连接到对象存储,请参见使用控制台备份数据库以了解如何配置对象存储连接。

主机问题

数据库主机上的以下一个或多个情况可能会导致备份失败:

Oracle 配置文件中的交互式命令

如果将交互式命令(如 oraenv)或任何可能返回错误或警告消息的命令添加到网格或 oracle 用户的 .bash_profile 文件中,则自动备份等数据库服务操作可能会中断且无法完成。检查 .bash_profile 文件中的这些命令,然后将其删除。

文件系统已完成

备份操作需要主机文件系统上 /u01 目录的空间。在主机上使用 df -h 命令检查可用于备份的空间。如果文件系统空间不足,则可以删除旧的日志或跟踪文件以释放空间。

Oracle Database Cloud 备份模块的版本不正确

您的系统可能没有所需的备份模块版本 (opc_installer.jar)。有关此已知问题,请参见 Unable to use Managed Backups in your DB system 。要修复问题,可以按照该部分中的过程操作,也可以使用最新的捆绑包更新来更新数据库系统和数据库。

对站点配置文件 (glogin.sql) 的更改

定制站点配置文件 ($ORACLE_HOME/sqlplus/admin/glogin.sql) 可能会导致 OCI 中的托管备份失败。请参见SQL*Plus Configuration 。特别是,交互式命令可能会导致备份失败。Oracle 建议不要为 OCI 中托管的数据库修改此文件。

数据库问题

数据库状态或配置不当可能会导致备份失败。

数据库在备份期间未运行

进行备份时,数据库必须处于活动状态且正在运行(最好在所有节点上)。

检查数据库是否处于活动状态且正在运行

使用以下命令检查数据库的状态,并确保解决可能使数据库处于不当状态的任何问题:

srvctl status database -d <db_unique_name> -verbose

系统将返回包含数据库实例状态的消息。要成功备份,实例状态必须为打开。如果数据库未运行,请使用以下命令将其启动:

srvctl start database -d <db_unique_name> -o open

如果数据库已装载但未处于打开状态,请使用以下命令访问 SQL*Plus 命令提示符并将状态设置为打开

sqlplus / as sysdba
alter database open;

存档模式设置为 NOARCHIVELOG

预配新数据库时,默认情况下归档模式设置为 ARCHIVELOG。这是备份操作所需的归档模式。检查数据库的归档模式设置并将其更改为 ARCHIVELOG(如果适用)。

检查并设置归档模式

打开 SQL*Plus 命令提示符,然后输入以下命令:

select log_mode from v$database;

如果需要将归档模式设置为 ARCHIVELOG,请以 Mount 状态(而非 Open 状态)启动数据库,然后在 SQL*Plus 命令提示符处使用以下命令:

alter database archivelog;

确认 db_recovery_file_dest 参数指向 +RECO,并且 log_archive_dest_1 参数设置为 USE_DB_RECOVERY_FILE_DEST

对于 RAC 数据库,启用归档日志模式时,一个实例必须处于 Mount 状态。要为 RAC 数据库启用归档日志模式,请执行以下步骤:

  1. 关闭所有数据库实例。

    srvctl stop database -d
  2. 启动处于装载状态的数据库实例之一。

    srvctl start instance -d <db_unique_name> -i <instance_name> -o mount
  3. 访问 SQL*Plus 命令提示符。

    sqlplus / as sysdba
  4. 启用归档日志模式并退出。

    alter database archivelog;
    exit;
  5. 停止数据库。

    srvctl stop instance -d <db_unique_name> -i <instance_name>
  6. 重新启动所有数据库实例。

    srvctl start database -d <db_unqiue_name>
  7. 在 SQL*Plus 命令提示符处,确认归档模式设置为 ARCHIVELOG

    select log_mode from v$database;

停滞数据库归档程序进程和备份故障

当数据库实例具有停滞的归档程序进程时,备份可能会失败。例如,当快速恢复区 (flash recovery area,FRA) 已满时,就会发生这种情况。可以使用以下命令检查此情况。

srvctl status database -db <db_unique_name> -v

如果该命令返回以下输出,则必须在备份成功之前解决停滞归档程序进程问题:

Instance <instance_identifier> is running on node *<node_identifier>. Instance status: Stuck Archiver

有关解决停滞归档程序进程的信息,请参阅 ORA-00257:归档程序错误(文档 ID 2014425.1)。

解析停滞进程后,该命令应返回以下输出:

Instance <instance_identifier> is running on node *<node_identifier>. Instance status: Open

如果在解决设备或资源已满或不可用的基本问题后实例状态未更改,请尝试以下解决方法之一:

  • 使用 srvctl 命令重新启动数据库以更新集群件中数据库的状态
  • 将数据库升级到最新的补丁程序集级别

临时表空间错误

如果固定表统计信息在数据库上不是最新的,则备份可能会失败,并且错误引用了 dcs-agent.log 文件中存在的临时表空间。例如:

select status from v$rman_status where COMMAND_ID=<backup_id>

输出:

ERROR at line 1:
ORA-01652: unable to extend temp segment by 128 in tablespace TEMP

按如下方式收集固定表统计信息以解决此问题。

conn / as sysdba
exec dbms_stats.gather_fixed_objects_stats();

RMAN 配置和备份故障

编辑某些 RMAN 配置参数可能会导致 OCI 中的备份失败。要检查 RMAN 配置,请在 RMAN 命令行提示符下使用 show all 命令。

请参阅以下参数列表,了解有关 RMAN 的详细信息:不应为 OCI 中的数据库更改配置设置。

不应更改的 RMAN 配置设置

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 30 DAYS;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE DEVICE TYPE 'SBT_TAPE' PARALLELISM 5 BACKUP TYPE TO COMPRESSED BACKUPSET;
CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 2 G;
CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' MAXPIECESIZE 2 G FORMAT   '%d_%I_%U_%T_%t' PARMS  
    'SBT_LIBRARY=/opt/oracle/dcs/commonstore/pkgrepos/oss/odbcs/libopc.so 
    ENV=(OPC_PFILE=/opt/oracle/dcs/commonstore/objectstore/opc_pfile/1578318329/opc_tiger_iad3c8.ora)';
CONFIGURE ARCHIVELOG DELETION POLICY TO BACKED UP 1 TIMES TO 'SBT_TAPE';
CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 2 G;
CONFIGURE ENCRYPTION FOR DATABASE ON;

RMAN 保留策略和备份故障

RMAN 保留策略配置可能是备份故障的源。使用 REDUNDANCY 保留策略配置而不是 RECOVERY WINDOW 策略可能会导致备份失败。请务必使用 RECOVERY WINDOW OF 30 DAYS 配置。

配置 RMAN 保留策略设置

  1. 使用以下命令查找数据库 ID:

    dbcli list-databases
  2. 使用以下命令查找数据库的 BackupConfigId 值:

    dbcli describe-database -i <database_id>
  3. 将保留策略配置更新为 RECOVERY WINDOW OF 30 DAYS

    dbcli update-backupconfig -i <backup_config_id> --recoverywindow 30

对象存储 Wallet 文件丢失和备份失败

当对象存储 wallet 文件丢失时,RMAN 备份将失败。需要使用 wallet 文件来启用与对象存储的连接。

确认对象存储 Wallet 文件存在且具有正确的权限

  1. 使用以下命令查找数据库 ID:

    dbcli list-databases
  2. 使用以下命令查找数据库的 BackupConfigId 值:

    dbcli describe-database -i <database_id>
  3. 使用以下命令查找数据库的 BackupLocation 值:

    dbcli describe-backupconfig <backup_config_id>
  4. 使用以下命令查找备份配置文件参数文件 (opc_<backup_location_value>_BC.ora) 的文件路径:

    locate opc_<backup_location_value>_BC.ora

    例如:

    locate opc_b9naijWMAXzi9example_BC.ora

    输出:

    /opt/oracle/dcs/commonstore/objectstore/opc_pfile/13aef284-9d6b-4eb6-8751-2988a9example/opc_b9naijWMAXzi9example_BC.ora
  5. 通过检查 OPC_WALLET 参数中存储的值,在备份配置文件中查找 wallet 文件的文件路径。为此,请导航到包含备份配置文件的目录,然后使用以下 cat 命令:

    cat <backup_config_parameter_file>

    例如:

    cat opc_b9naijWMAXzi9example_BC.ora

    输出:

    OPC_HOST=https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/dbbackupiad
    OPC_WALLET='LOCATION=file:/opt/oracle/dcs/commonstore/objectstore/wallets/13aef284-9d6b-4eb6-8751-2988aexample CREDENTIAL_ALIAS=alias_opc'
    OPC_CONTAINER=b9naijWMAXzi9example
  6. 确认 cwallet.sso 文件存在于 OPC_WALLET 参数中指定的目录中,并确认该文件具有正确的权限。文件权限的八进制值应为 "600"(-rw-------)。请使用以下命令:

    ls -ltr /opt/oracle/dcs/commonstore/objectstore/wallets/<backup_config_id>

    例如:

    ls -ltr /opt/oracle/dcs/commonstore/objectstore/wallets/13aef284-9d6b-4eb6-8751-2988aexample

    输出:

    total 4
    -rw------- 1 oracle oinstall    0 Apr 20 06:45 cwallet.sso.lck
    -rw------- 1 oracle oinstall 1941 Apr 20 06:45 cwallet.sso

TDE Wallet 问题

TDE Wallet 位置规范不正确

要使备份操作正常工作,$ORACLE_HOME/network/admin/sqlnet.ora 文件必须包含格式完全如下所示的 ENCRYPTION_WALLET_LOCATION 参数:

ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/opt/oracle/dcs/commonstore/wallets/tde/$ORACLE_UNQNAME)))

注意:

在此 wallet 位置条目中,$ORACLE_UNQNAME 是一个环境变量,不应替换为实际值。

检查 TDE Wallet 位置规范

使用 cat 命令检查 TDE wallet 位置指定。例如:

cat $ORACLE_HOME/network/admin/sqlnet.ora

输出:

ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/opt/oracle/dcs/commonstore/wallets/tde/$ORACLE_UNQNAME)))

使用 SQL*Plus 启动数据库时未设置 ORACLE_UNQNAME 环境变量

如果数据库是使用 SQL*Plus 启动的,但未设置 ORACLE_UNQNAME 环境变量,则 Wallet 未正确打开。

要修复问题,请使用 srvctl 实用程序启动数据库:

srvctl start database -d <db_unique_name>

添加的可插入数据库时使用的主加密密钥不正确

在支持 PDB 级别密钥库的 Oracle Database 版本的多租户环境中,每个 PDB 都有自己的主加密密钥。此加密密钥存储在由所有容器使用的单个密钥库中。创建或插入新 PDB 后,必须为其创建和激活主加密密钥。如果不这样做,则 v$encryption_wallet 视图中的 STATUS 列将显示值 OPEN_NO_MASTER_KEY

要检查主加密密钥状态并创建主密钥,请执行以下操作:

  1. 查看 v$encryption_wallet 视图中的 STATUS 列,如以下示例中所示:

    alter session set container=pdb2;
    select WRL_TYPE,WRL_PARAMETER,STATUS,WALLET_TYPE from v$encryption_wallet;

    输出:

    WRL_TYPE  WRL_PARAMETER                                           STATUS             WALLET_TYPE
    --------- ------------------------------------------------------- ------------------ -----------
    FILE      /opt/oracle/dcs/commonstore/wallets/tde/example_iadxyz/ OPEN_NO_MASTER_KEY AUTOLOGIN
  2. 确认 PDB 处于 READ WRITE 打开模式且不受限制,如以下示例中所示:

    show pdbs

    输出:

    CON_ID CON_NAME   OPEN MODE   RESTRICTED
    ------ ---------- ----------- -----------
    2      PDB$SEED   READ ONLY   NO
    3      PDB1       READ WRITE  NO
    4      PDB2       READ WRITE  NO

    PDB 无法在受限模式下打开(RESTRICTED 列必须显示 NO)。如果 PDB 当前处于受限模式,请查看 PDB_PLUG_IN_VIOLATIONS 视图中的信息并解决问题,然后再继续。有关 PDB_PLUG_IN_VIOLATIONS 视图和受限状态的详细信息,请查看有关 Oracle Database 版本的可插入数据库的文档。

  3. 运行以下 DBCLI 命令将状态更改为 OPEN

    sudo su –
    dbcli list-database
    dbcli update-tdekey -i <database_ID> -n <PDB_name> -p

    显示的 update-tdekey 命令将提示您输入管理口令。

  4. 通过查询 v$encryption_wallet 视图(如步骤 1 所示),确认 wallet 的状态已从 OPEN_NO_MASTER_KEY 更改为 OPEN。

检查与 TDE Wallet 相关的配置

与 TDE wallet 相关的多个配置参数可能会导致备份失败。

  1. 使用以下命令检查是否正确设置了环境的数据库唯一名称参数 (ORACLE_UNQNAME):

    srvctl getenv database -d <db_unique_name>

    例如:

    srvctl getenv database -d orclbkp_iadxyz

    输出:

    orclbkp_iadxyz:
    ORACLE_UNQNAME=orclbkp_iadxyz
    TZ=UTC
  2. 检查 sqlnet.ora 设置以确认文件具有具有正确的 DIRECTORY 值的 ENCRYPTION_WALLET_LOCATION 参数。请使用以下命令:

    cat $ORACLE_HOME/network/admin/sqlnet.ora

    例如:

    cat $ORACLE_HOME/network/admin/sqlnet.ora

    输出:

    ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/opt/oracle/dcs/commonstore/wallets/tde/$ORACLE_UNQNAME)))
  3. 通过检查 v$encryption_wallet 视图,确认 wallet 状态为 open 且 wallet 类型为 auto login 。例如:

    select status, wrl_parameter,wallet_type from v$encryption_wallet;

    输出:

    STATUS  WRL_PARAMETER                                            WALLET_TYPE
    ------- -------------------------------------------------------- ------------
    OPEN    /opt/oracle/dcs/commonstore/wallets/tde/example_iadxyz/  AUTOLOGIN

    对于可插入数据库 (pluggable database,PDB),在查询 v$encryption_wallet 视图之前,请确保切换到相应的容器。例如:

    sqlplus / as sysdba
    alter session set container=pdb1;
    select WRL_TYPE,WRL_PARAMETER,STATUS,WALLET_TYPE from v$encryption_wallet;

    输出:

    WRL_TYPE  WRL_PARAMETER                                          STATUS  WALLET_TYPE
    --------- ------------------------------------------------------ ------- ------------
    FILE      /opt/oracle/dcs/commonstore/wallets/tde/tiger_iad3c8/  OPEN    AUTOLOGIN

缺少 TDE Wallet 文件

如果缺少 TDE wallet 文件 (ewallet.p12),或者备份具有不兼容的文件系统权限或所有权,则该文件可能会导致备份失败。检查文件,如以下示例中所示:

ls -ltr /opt/oracle/dcs/commonstore/wallets/tde/$ORACLE_UNQNAME/ewallet.p12

输出:

-rwx------ 1 oracle oinstall 5680 Apr 18 13:09 /opt/oracle/dcs/commonstore/wallets/tde/orclbkp_iadxzy/ewallet.p12

TDE wallet 文件应具有八进制值 "700" (-rwx------) 的文件权限,并且此文件的所有者应是 oinstall 操作系统组的一部分。

缺少自动登录 wallet 文件

如果缺少自动登录 wallet 文件 (cwallet.sso),或者备份具有不兼容的文件系统权限或所有权,则该文件可能会导致备份失败。检查文件,如以下示例中所示:

ls -ltr /opt/oracle/dcs/commonstore/wallets/tde/$ORACLE_UNQNAME/cwallet.sso

输出:

-rwx------ 1 oracle oinstall 5725 Apr 18 13:09 /opt/oracle/dcs/commonstore/wallets/tde/orclbkp_iadxyz/cwallet.sso

自动登录 wallet 文件应具有八进制值 "700" (-rwx------) 的文件权限,并且此文件的所有者应是 oinstall 操作系统组的一部分。

备份失败的其他原因

已卸载 Commonstore 装载点

必须挂载挂载挂载点 /opt/oracle/dcs/commonstore,否则备份将失败。

检查 Commonstore 挂载点

确认挂载点 /opt/oracle/dcs/commonstore 已挂载,如以下示例中所示:

srvctl config filesystem -volume commonstore -diskgroup data

输出:

Volume device: /dev/asm/commonstore-5
Diskgroup name: data
Volume name: commonstore
Canonical volume device: /dev/asm/commonstore-5
Accelerator volume devices:
Mountpoint path: /opt/oracle/dcs/commonstore
Mount point owner: oracle
Mount users:
Type: ACFS

确认 ora.data.commonstore.acfs 联机

  1. ora.data.commonstore.acfs 的状态必须为联机,否则备份将失败。如以下示例中所示确认:

    crsctl stat resource ora.data.commonstore.acfs -v

    输出:

    NAME=ora.data.commonstore.acfs
    TYPE=ora.acfs.type
    LAST_SERVER=orcl
    STATE=OFFLINE
    TARGET=OFFLINE
    ...
    STATE_DETAILS=admin unmounted /opt/oracle/dcs/commonstore
    ...
  2. 列出 commonstore 目录的内容以确认已挂载该目录

    ls -ltr /opt/oracle/dcs/commonstore
  3. 如果 STATE_DETAILS 值为 unmounted,请挂载文件系统,如以下示例中所示:

    srvctl start filesystem -volume commonstore -diskgroup data
  4. 确认更改成功,如以下示例中所示:

    crsctl stat resource ora.data.commonstore.acfs -v

    输出:

    NAME=ora.data.commonstore.acfs
    TYPE=ora.acfs.type
    LAST_SERVER=orcl
    STATE=ONLINE on orcl
    TARGET=ONLINE
    CARDINALITY_ID=ONLINE
    ...
    STATE_DETAILS=mounted on /opt/oracle/dcs/commonstore
  5. 列出 commonstore 目录的内容以确认已挂载该目录,如以下示例中所示:

    ls -ltr /opt/oracle/dcs/commonstore

    输出:

    total 220
    drwx------ 2 root   root     65536 Apr 18 10:50 lost+found
    drwx------ 3 oracle oinstall 20480 Apr 18 11:02 wallets
    drwxr-xr-x 3 root   root     20480 Apr 20 06:41 pkgrepos
    drwxr-xr-x 4 oracle oinstall 20480 Apr 20 06:41 objectstore

数据库未正确注册

如果数据库未注册到 dcs-agent,则数据库备份将失败。如果您手动将数据库迁移到 OCI 且不运行 dbcli register-database 命令,则可能会出现此情况。

要检查数据库是否已正确注册,请查看通过运行 srvctl config database 命令和 dbcli list-databases 命令返回的信息。如果任一命令未返回数据库记录,请与 Oracle Support Services 联系。

有关如何注册数据库的说明,请参阅以下主题:

获取其他帮助

如果您无法使用本主题中的信息解决问题,请按照以下过程收集相关的数据库和诊断信息。收集完此信息后,请与 Oracle 技术支持联系。

收集数据库信息以用于问题报表

使用以下命令收集有关数据库的详细信息。记录每个命令的输出以供参考:

dbcli list-databases
dbcli describe-database -i <database_id>
dbcli describe-component

收集有关失败作业的诊断信息

  1. 以 root 用户身份登录到主机并导航到 /opt/oracle/dcs/bin/ 目录。

  2. 运行以下两个命令以生成有关失败作业的信息:

    dbcli list-jobs
    dbcli describe-job -i <job_ID> -j

    第二个命令中的 <job_ID> 应为从第一个命令报告的最新失败作业的 ID。

  3. 运行诊断收集器脚本以创建包含 Oracle Support Services 诊断信息的 zip 文件。

    diagcollector.py

    此命令将在 /tmp 目录中创建名为 diagLogs -<timestamp>.zip 的文件。

收集 DCS 代理日志文件

要收集 DCS 代理日志文件,请执行以下操作:

  1. 以 opc 用户身份登录。
  2. 运行以下命令:

    sudo /opt/oracle/dcs/bin/diagcollector.py

    系统将返回一条消息,指示代理日志在指定目录的 zip 文件中可用。例如:

    Logs are being collected to: /tmp/dcsdiag/diagLogs-1234567890.zip

收集 TDE 配置详细信息

  1. 运行 srvctl getenv database -d <db_unique_name> 命令并记录输出以供参考。
  2. 记录视图 v$encryption_wallet 的输出。例如:

    select status, wrl_parameter,wallet_type from v$encryption_wallet;

    输出:

    STATUS   WRL_PARAMETER                                           WALLET_TYPE
    -------- ------------------------------------------------------- ---------
    OPEN     /opt/oracle/dcs/commonstore/wallets/tde/example_iadxyz/ AUTOLOGIN
  3. 记录 ls -ltr <wrl_parameter> command.For 示例的输出:

    ls -ltr /opt/oracle/dcs/commonstore/wallets/tde/example_iadxyz/

    输出:

    total 28
    -rw----- 1 oracle asmadmin 2400 May  2 09:42 ewallet_2018050209420381_defaultTag.p12
    -rw----- 1 oracle asmadmin 5680 May  2 09:42 ewallet.p12
    -rw----- 1 oracle asmadmin 5723 May  2 09:42 cwallet.sso

收集 RMAN 备份报告文件

使用以下命令生成 RMAN 备份报告文件:

dbcli create-rmanbackupreport -i <db_id> -w detailed -rn <report_name>

例如:

dbcli create-rmanbackupreport -i 57fvwxyz-9dc4-45d3-876b-5f850example -w detailed -rn bkpreport1

使用 dbcli describe-rmanbackupreport -in <report_name> 命令查找报告文件。报告的位置在输出中给出。例如:

dbcli describe-rmanbackupreport -in bkpreport1

输出:

Backup Report details                                           
----------------------------------------------------------------
ID: b55vwxyz-c49f-4af3-a956-acccdexample
Report Type: detailed
Location: Node patchtst: /opt/oracle/dcs/log/patchtst/rman/bkup/example_iadxyz/rman_list_backup_detail
    /2018-05-02/rman_list_backup_detail_2018-05-02_11-46-51.0359.log
Database ID: 57fvwxyz-9dc4-45d3-876b-5f850example
CreatedTime: May 2, 2018 11:46:38 AM UTC