備份失敗疑難排解
資料庫備份可能會因為各種原因而失敗。一般而言,備份會失敗,因為資料庫主機無法存取物件存放區,或是主機上發生問題或資料庫組態有問題。
本文包含的資訊可協助您判斷失敗原因並修正問題。根據錯誤條件,資訊會組織成數個區段。
如果您已經知道原因,您可以跳至具有建議解決方案的主題。否則,請使用識別失敗原因主題開始作業。
本文涵蓋下列主題:
提示:您也可以建立序列主控台連線,以單一使用者模式對系統進行疑難排解。如需在 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 程式 (如果其狀態為停止 / 等待 ),以解決備份失敗。
涵蓋的主題如下:
重新啟動資料庫服務代理程式
注意:使用 OL6 時,請使用 initctl 而非 systemctl。
-
從命令提示中,檢查代理程式的狀態:
systemctl status initdcsagent -
如果代理程式處於停止 / 等待狀態,請嘗試重新啟動代理程式:
systemctl start initdcsagent -
再次檢查代理程式的狀態,確認代理程式的狀態為開始 / 執行:
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 使用者。如需詳細資訊,請參閱管理使用者證明資料中的使用認證權杖。
-
使用您在上一個步驟中建立的使用者,使用下列命令驗證主機可以存取物件存放區。
curl -v -X HEAD -u <user_ID>:'<auth_token>' https://swiftobjectstorage.<region_name>.oraclecloud.com/v1/<object_storage_namespace>- 如需正確使用區域的詳細資訊,請參閱物件儲存常見問題。
- 如需有關物件儲存命名空間的詳細資訊,請參閱瞭解物件儲存命名空間。
- 如果您無法連線至物件存放區,請參閱使用主控台備份資料庫以瞭解如何設定物件存放區連線。
主機議題
涵蓋的主題如下:
資料庫主機上的一或多個下列條件可能導致備份失敗:
Oracle 設定檔中的互動式命令
如果互動式命令 (例如 oraenv) 或任何可能傳回錯誤或警告訊息的命令) 已新增至網格或 oracle 使用者的 .bash_profile 檔案中,則資料庫服務作業 (例如自動備份) 可能會中斷且無法完成。檢查 .bash_profile 檔案中的這些命令,然後將它們移除。
檔案系統已滿
備份作業需要主機檔案系統上 /u01 目錄的空間。使用主機上的 df -h 命令來檢查備份可用的空間。如果檔案系統的空間不足,您可以移除舊的記錄檔或追蹤檔來釋出空間。
Oracle Database Cloud Backup 模組的版本不正確
您的系統可能沒有所需的備份模組版本 (opc_installer.jar)。請參閱無法在資料庫系統中使用受管理備份,瞭解此已知問題。若要修正此問題,您可以依照該段落中的程序進行,或直接使用最新的組合更新來更新資料庫系統和資料庫。
網站設定檔變更 (glogin.sql)
自訂網站設定檔 ($ORACLE_HOME/sqlplus/admin/glogin.sql) 可能會導致受管理備份在 OCI 中失敗。請參閱 SQL*Plus 組態。特別是互動式命令可能會導致備份失敗。Oracle 建議您不要修改 OCI 中代管資料庫的這個檔案。
資料庫問題
資料庫狀態或組態不正確可能會導致備份失敗。
涵蓋的主題如下:
- 備份期間未執行資料庫
- 檢查資料庫是否在作用中並執行中
- 存檔模式設為 NOARCHIVELOG
- 檢查並設定存檔模式
- 停滯資料庫存檔器處理作業和備份失敗
- 暫時表格空間錯誤
- RMAN 組態與備份失敗
- 不應更改的 RMAN 組態設定值
- RMAN 保留原則與備份失敗
- 設定 RMAN 保留原則設定
- 遺失物件存放區公事包檔案和備份失敗
- 確認物件存放區公事包檔案存在且具備正確的權限
備份期間未執行資料庫
備份進行時,資料庫必須為作用中且在執行中 (最好在所有節點上)。
檢查資料庫是否在作用中並執行中
使用下列命令來檢查資料庫的狀態,並確定已解決可能讓資料庫處於不適當狀態的任何問題:
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,請以掛載狀態 (而非開啟狀態) 啟動資料庫,然後在 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:存檔器錯誤 (文件 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
遺失物件存放區公事包檔案和備份失敗
當物件存放區公事包檔案遺失時,RMAN 備份會失敗。必須要有公事包檔案,才能連線至物件存放區。
確認物件存放區公事包檔案存在且具備正確的權限
-
使用下列命令尋找資料庫 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參數中的值,尋找備份組態參數檔中公事包檔案的檔案路徑。若要這麼做,請瀏覽至包含備份組態參數檔的目錄,然後使用下列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 公事包問題
涵蓋的主題如下:
- 不正確的 TDE 公事包位置規格
- 檢查 TDE 公事包位置規格
- 使用 SQL*Plus 啟動資料庫時,未設定 ORACLE_UNQNAME 環境變數
- 已使用設定不正確的主要加密金鑰新增可插拔資料庫
- 檢查與 TDE 公事包相關的組態
- 遺漏 TDE 公事包檔案
- 遺漏自動登入公事包檔案
不正確的 TDE 公事包位置規格
若要讓備份作業正常運作,$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)))
注意:在此公事包位置項目中,$ORACLE_UNQNAME 是環境變數,不應以實際值取代。
檢查 TDE 公事包位置規格
使用 cat 命令來檢查 TDE 公事包位置規格。舉例而言:
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 環境變數,則公事包不會正確開啟。
若要修正此問題,請使用 srvctl 公用程式啟動資料庫:
srvctl start database -d <db_unique_name>
已使用設定不正確的主要加密金鑰新增可插拔資料庫
對於支援 PDB 層次金鑰存放區的 Oracle Database 版本,每個 PDB 都有自己的主要加密金鑰。此加密金鑰儲存在所有容器使用的單一金鑰存放區中。建立或插入新的 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 NO無法以限制模式開啟 PDB (
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命令會提示您輸入管理員密碼。 -
查詢
v$encryption_wallet視觀表 (如步驟 1 所示),確認公事包的狀態已從 OPEN_NO_MASTER_KEY 變更為 OPEN。
檢查與 TDE 公事包相關的組態
與 TDE 公事包相關的數個組態參數可能會導致備份失敗。
-
使用下列命令檢查環境的資料庫唯一名稱參數 (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設定值,以確認檔案的 ENCRYPTION_WALLET_LOCATION 參數具有正確的 DIRECTORY 值。使用以下命令: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視觀表,確認公事包狀態為開啟,且公事包類型為自動登入。舉例而言: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對於可插拔資料庫 (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 公事包檔案
TDE 公事包檔案 (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 公事包檔案的檔案權限應為八進位值 "700" (-rwx------),而此檔案的擁有者應為 oinstall 作業系統群組的一部分。
遺漏自動登入公事包檔案
自動登入公事包檔案 (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
自動登入公事包檔案應具有八進位值為 "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。
如需有關如何註冊資料庫的說明,請參閱下列主題:
- 在 Recover a Database from the OCI Classic Object Store 中在資料庫系統上註冊資料庫
- Oracle Database CLI Reference 中的 Database Commands
取得其他說明
如果您無法使用本主題中的資訊來解決問題,請遵循以下程序來收集相關的資料庫和診斷資訊。在您收集此資訊後,請聯絡 Oracle Support 。
涵蓋的主題如下:
收集用於問題報表的資料庫資訊
使用下列命令收集資料庫的詳細資訊。記錄每個指令的輸出以供參考:
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第二個命令中的 <jobID> 應該是第一個命令所報告之最新失敗工作的 ID。
-
執行診斷收集器命令檔,以建立含有 Oracle Support Services 診斷資訊的壓縮檔。
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