备份故障排除
由于各种原因,数据库备份可能会失败。通常,备份会失败,因为数据库主机无法访问对象存储,或者主机上或数据库配置存在问题。
本文包含的信息可帮助您确定故障原因并修复问题。根据错误条件,信息分为多个部分。
如果您已经知道原因,则可以使用建议的解答跳至主题。否则,请使用确定失败原因主题开始。
本文介绍了以下主题:
提示:您还可以创建串行控制台连接,以在单用户模式下对系统进行故障排除。有关在 OCI 控制台中创建串行控制台连接的信息,请参阅管理与数据库系统的串行控制台连接。
确定失败原因
在 OCI 控制台中,失败的数据库备份显示失败状态,或者挂起处于备份正在进行或创建状态。如果错误消息未包含足够的信息来指向解决方案,则可以使用数据库 CLI 和日志文件收集更多数据。然后,有关解决方案,请参阅本主题中的适用部分。
屏幕中包含以下主题:
确定备份失败的根本原因
- 以 root 用户身份登录到主机并导航到
/opt/oracle/dcs/bin/。 -
确定对数据库执行的操作顺序。
dbcli list-jobs | grep -i <dbname>请注意列出的状态不是成功的最后一个作业 ID。
-
使用上一步中记录的作业 ID,使用以下命令检查该作业的详细信息:
dbcli describe-job -i <job_ID> -j通常,运行此命令足以揭示失败的根本原因。
-
如果需要更多信息,请查看
/opt/oracle/dcs/log/dcs-agent.log文件。通过使用第 2 步中作业报告返回的时间戳,可以在此文件中找到作业 ID。
-
如果问题详细信息表明存在 RMAN 问题,请查看以下目录中的 RMAN 日志。
/opt/oracle/dcs/log/<hostname>/rman/bkup/<db_unique_name>/rman_backup/<yyyy-mm-dd>
注:如果数据库故障位于双节点 RAC 数据库上,请在两个节点上执行步骤 3 和 4。
数据库服务代理问题
OCI 数据库使用代理框架,允许您通过云平台管理数据库。有时,如果 dcsagent 程序的状态为 stop/waiting ,则可能需要重新启动该程序以解决备份故障。
屏幕中包含以下主题:
重新启动数据库服务代理
注:使用 OL6 时,请使用 initctl 而非 systemctl。
-
在命令提示符中,检查代理的状态:
systemctl status initdcsagent -
如果代理处于 stop/waiting 状态,请尝试重新启动代理:
systemctl start initdcsagent -
再次检查代理的状态以确认其具有 start/running 状态:
systemctl status initdcsagent
Oracle Clusterware 问题
Oracle Clusterware 使服务器能够相互通信,以便它们可以作为一个集体单元发挥作用。有时可能需要重新启动集群件程序以解决备份故障。
数据库主机上的以下一个或多个情况可能会导致备份失败:
重新启动 Oracle Clusterware
-
在命令提示符下,检查 Oracle Clusterware 的状态:
crsctl check crscrsctl stat res -t -
如果 Oracle Clusterware 未联机,请尝试重新启动程序:
crsctl start crs -
检查 Oracle Clusterware 的状态以确认它已联机:
crsctl check crs
对象存储连接问题
将数据库备份到 OCI 对象存储需要主机可以连接到适用的 Swift 端点。您可以使用 Swift 用户测试此连接。
屏幕中包含以下主题:
确保数据库主机可以连接到对象存储
- 在您的租户中创建 Swift 用户。有关更多信息,请参见 Managing User Credentials 中的 Working with Auth Tokens 。
-
对于您在上一步中创建的用户,使用以下命令验证主机是否可以访问对象存储。
curl -v -X HEAD -u <user_ID>:'<auth_token>' https://swiftobjectstorage.<region_name>.oraclecloud.com/v1/<object_storage_namespace>- 有关要使用的正确区域的更多信息,请参阅对象存储常见问题解答。
- 有关对象存储名称空间的更多信息,请参阅了解对象存储名称空间。
- 如果无法连接到对象存储,请参见 Back Up a Database Using the Console 以了解如何配置对象存储连接。
主机的问题
屏幕中包含以下主题:
数据库主机上的以下一个或多个情况可能会导致备份失败:
Oracle 配置文件中的交互式命令
如果将交互式命令(如 oraenv)或可能返回错误或警告消息的任何命令添加到网格或 oracle 用户的 .bash_profile 文件中,则自动备份等数据库服务操作可能会中断,并且无法完成。检查 .bash_profile 文件中的这些命令,然后将其删除。
文件系统已满
备份操作需要在主机文件系统的 /u01 目录中留出空间。在主机上使用 df -h 命令检查可用于备份的空间。如果文件系统的空间不足,则可以删除旧的日志或跟踪文件以释放空间。
Oracle Database Cloud 备份模块的版本不正确
您的系统可能没有所需的备份模块版本 (opc_installer.jar)。有关此已知问题,请参阅无法在数据库系统中使用托管备份。要修复问题,您可以按照该部分中的过程进行操作,也可以直接使用最新的捆绑包更新来更新数据库系统和数据库。
对站点配置文件 (glogin.sql) 的更改
定制站点配置文件 ($ORACLE_HOME/sqlplus/admin/glogin.sql) 可能会导致托管备份在 OCI 中失败。请参阅 SQL*Plus 配置。特别是,交互式命令可能会导致备份故障。Oracle 建议不要为 OCI 中托管的数据库修改此文件。
数据库问题
不正确的数据库状态或配置可能会导致备份失败。
屏幕中包含以下主题:
- 数据库在备份期间未运行
- 检查数据库是否处于活动状态且正在运行
- 归档模式设置为 NOARCHIVELOG
- 检查并设置归档模式
- 停滞的数据库归档程序进程和备份故障
- 临时表空间错误
- RMAN 配置和备份故障
- 不应更改的 RMAN 配置设置
- RMAN 保留策略和备份故障
- 配置 RMAN 保留策略设置
- 对象存储 Wallet 文件丢失和备份故障
- 确认对象存储 Wallet 文件存在且具有正确的权限
数据库在备份期间未运行
备份正在进行时,数据库必须处于活动状态且正在运行(最好是在所有节点上)。
检查数据库是否处于活动状态且正在运行
使用以下命令检查数据库的状态,并确保解决可能使数据库处于不当状态的任何问题:
srvctl status database -d <db_unique_name> -verbose
系统将返回包含数据库实例状态的消息。实例状态必须为打开,备份才能成功。如果数据库未在运行,请使用以下命令启动它:
srvctl start database -d <db_unique_name> -o open
如果数据库已装载但未处于 Open 状态,请使用以下命令访问 SQL*Plus 命令提示符并将状态设置为 Open :
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 数据库,在启用归档日志模式时,一个实例必须处于挂载状态。要为 RAC 数据库启用归档日志模式,请执行以下步骤:
-
关闭所有数据库实例。
srvctl stop database -d -
启动一个处于装载状态的数据库实例。
srvctl start instance -d <db_unique_name> -i <instance_name> -o mount -
访问 SQL*Plus 命令提示符。
sqlplus / as sysdba -
启用归档日志模式下并退出。
alter database archivelog;exit; -
停止数据库。
srvctl stop instance -d <db_unique_name> -i <instance_name> -
重新启动所有数据库实例。
srvctl start database -d <db_unqiue_name> -
在 SQL*Plus 命令提示符下,确认归档模式已设置为
ARCHIVELOG。select log_mode from v$database;
停滞的数据库归档程序进程和备份故障
当数据库实例具有停滞的归档程序进程时,备份可能会失败。例如,当快速恢复区 (FRA) 已满时,可能会发生这种情况。您可以使用以下命令检查此条件。
srvctl status database -db <db_unique_name> -v
如果该命令返回以下输出,则必须先解决停滞的归档程序进程问题,然后备份才能成功:
Instance <instance_identifier> is running on node *<node_identifier>. Instance status: Stuck Archiver
有关解决停滞归档程序进程的信息,请参阅 ORA-00257:Archiver Error(文档 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 保留策略设置
-
使用以下命令查找数据库 ID:
dbcli list-databases -
使用以下命令查找数据库的
BackupConfigId值:dbcli describe-database -i <database_id> -
将保留策略配置更新为
RECOVERY WINDOW OF 30 DAYS:dbcli update-backupconfig -i <backup_config_id> --recoverywindow 30
对象存储 Wallet 文件丢失和备份故障
当对象存储 wallet 文件丢失时,RMAN 备份将失败。需要 wallet 文件才能启用与对象存储的连接。
确认对象存储 Wallet 文件存在且具有正确的权限
-
使用以下命令查找数据库 ID:
dbcli list-databases -
使用以下命令查找数据库的
BackupConfigId值:dbcli describe-database -i <database_id> -
使用以下命令查找数据库的
BackupLocation值:dbcli describe-backupconfig <backup_config_id> -
使用以下命令查找备份配置文件 (
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 -
通过检查存储在
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 -
确认
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 位置规范不正确
- 检查 TDE Wallet 位置规范
- 使用 SQL*Plus 启动数据库时未设置 ORACLE_UNQNAME 环境变量
- 插入数据库添加了配置错误的主加密密钥
- 检查与 TDE Wallet 相关的配置
- 缺少 TDE Wallet 文件
- 缺少自动登录 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。
要检查主加密密钥状态并创建主密钥,请执行以下操作:
-
查看
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 -
确认 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 NOPDB 无法在受限模式下打开(
RESTRICTED列必须显示NO)。如果 PDB 当前处于受限模式,请查看 PDB_PLUG_IN_VIOLATIONS 视图中的信息并解决问题,然后再继续。有关 PDB_PLUG_IN_VIOLATIONS 视图和受限状态的更多信息,请查看 Oracle Database 版本的可插入数据库文档。 -
运行以下
DBCLI命令将状态更改为OPEN:sudo su -dbcli list-databasedbcli update-tdekey -i <database_ID> -n <PDB_name> -p显示的
update-tdekey命令将提示您输入管理员密码。 -
通过查询步骤 1 中所示的
v$encryption_wallet视图,确认 wallet 的状态已从 OPEN_NO_MASTER_KEY 更改为 OPEN。
检查与 TDE Wallet 相关的配置
与 TDE wallet 相关的多个配置参数可能会导致备份失败。
-
使用以下命令检查环境的数据库唯一名称参数 (ORACLE_UNQNAME) 是否已正确设置:
srvctl getenv database -d <db_unique_name>例如:
srvctl getenv database -d orclbkp_iadxyz输出:
orclbkp_iadxyz: ORACLE_UNQNAME=orclbkp_iadxyz TZ=UTC -
检查
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))) -
通过检查
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 sysdbaalter 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 联机
-
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 ... -
列出
commonstore目录的内容以确认已挂载该目录ls -ltr /opt/oracle/dcs/commonstore -
如果 STATE_DETAILS 值为
unmounted,请按以下示例中所示挂载文件系统:srvctl start filesystem -volume commonstore -diskgroup data -
确认更改已成功,如以下示例中所示:
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 -
列出
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 联系。
有关如何注册数据库的说明,请参阅以下主题:
- 在数据库系统上注册数据库从 OCI 经典对象存储中恢复数据库
- 《Oracle Database CLI Reference 》中的数据库命令
获取其他帮助
如果您无法使用本主题中的信息解决问题,请按照以下过程收集相关的数据库和诊断信息。收集此信息后,请与 Oracle 技术支持联系。
屏幕中包含以下主题:
收集数据库信息以用于问题报表
使用以下命令收集有关数据库的详细信息。记录每个命令的输出以供参考:
dbcli list-databases
dbcli describe-database -i <database_id>
dbcli describe-component
收集有关失败作业的诊断信息
-
以 root 用户身份登录到主机并导航到
/opt/oracle/dcs/bin/目录。 -
运行以下两个命令以生成有关失败作业的信息:
dbcli list-jobsdbcli describe-job -i <job_ID> -j第二个命令中的 <job_ID> 应为从第一个命令报告的最新失败作业的 ID。
-
运行诊断收集器脚本以创建包含 Oracle Support Services 诊断信息的 zip 文件。
diagcollector.py此命令在
/tmp目录中创建名为diagLogs -<timestamp>.zip的文件。
收集 DCS 代理日志文件
要收集 DCS 代理日志文件,请执行以下操作:
- 以 opc 用户身份登录。
-
运行以下命令:
sudo /opt/oracle/dcs/bin/diagcollector.py系统将返回一条消息,指示代理日志在指定目录的 zip 文件中可用。例如:
Logs are being collected to: /tmp/dcsdiag/diagLogs-1234567890.zip
收集 TDE 配置详细信息
-
运行
srvctl getenv database -d <db_unique_name>命令并记录输出以供参考。 -
记录视图
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 -
记录
ls -ltr <wrl_parameter>命令输出的输出。例如: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