Risoluzione dei problemi dei sistemi di infrastruttura Exadata Cloud

Questi argomenti trattano alcuni problemi comuni che potresti incontrare e come affrontarli.

Problemi noti per l'infrastruttura Exadata Cloud

Questioni generali note.

Ridimensionamento non in linea CPU non riuscito

Descrizione: il ridimensionamento non in linea della CPU non riesce con il seguente errore:
** CPU Scale Update **An error occurred during module execution. Please refer to the log file for more information

Causa: dopo il provisioning di un cluster VM, il file /var/opt/oracle/cprops/cprops.ini generato automaticamente dal database as a service (DBaaS) non viene aggiornato con i parametri common_dcs_agent_bindHost e common_dcs_agent_port e pertanto la scalabilità non in linea della CPU non riesce.

Azione: come utente root, aggiungere manualmente le seguenti voci nel file /var/opt/oracle/cprops/cprops.ini.
common_dcs_agent_bindHost=<IP_Address>
common_dcs_agent_port=7070
Nota

Il valore common_dcs_agent_port è sempre 7070.
Eseguire il comando seguente per ottenere l'indirizzo IP:
netstat -tunlp | grep 7070
Ad esempio:
netstat -tunlp | grep 7070
tcp 0 0 <IP address 1>:7070 0.0.0.0:* LISTEN 42092/java
tcp 0 0 <IP address 2>:7070 0.0.0.0:* LISTEN 42092/java

È possibile specificare uno dei due indirizzi IP, <IP address 1> o <IP address 2>, per il parametro common_dcs_agent_bindHost.

Non è possibile aggiungere una VM a un cluster VM

Descrizione: quando si aggiunge una VM a un cluster VM, è possibile che si verifichi il seguente problema:
[FATAL] [INS-32156] Installer has detected that there are non-readable files in oracle home.
CAUSE: Following files are non-readable, due to insufficient permission oracle.ahf/data/scaqak03dv0104/diag/tfa/tfactl/user_root/tfa_client.trc
ACTION: Ensure the above files are readable by grid.

Causa: l'Installer ha rilevato un file di trace non leggibile, oracle.ahf/data/scaqak03dv0104/diag/tfa/tfactl/user_root/tfa_client.trc creato da Autonomous Health Framework (AHF) nella Oracle home che causa l'errore di aggiunta di una VM cluster.

AHF eseguito come root ha creato un file trc con proprietà root, che l'utente grid non è in grado di leggere.

Azione: prima di aggiungere VM a un cluster VM, assicurarsi che i file di trace AHF siano leggibili dall'utente grid. Per risolvere il problema dell'autorizzazione, eseguire i comandi seguenti come root su tutte le VM cluster VM esistenti:
chown grid:oinstall /u01/app/19.0.0.0/grid/srvm/admin/logging.properties
chown -R grid:oinstall /u01/app/19.0.0.0/grid/oracle.ahf*
chown -R grid:oinstall /u01/app/grid/oracle.ahf*

Risolvere i problemi relativi alla connettività di rete

Per determinare se un cluster VM è configurato in modo appropriato per accedere alla rete di servizi OCI (Oracle Cloud Infrastructure), è necessario eseguire i passi riportati di seguito su ogni virtual machine nel cluster VM.

Controllo della convalida per la connettività di Identity and Access Management:

  • ssh a una virtual machine nel cluster VM ExaDB-D come utente opc.
  • Eseguire il comando: curl https://identity.<region>.oci.oraclecloud.com here <region> corrisponde all'area OCI in cui è distribuito il cluster VM. Se il cluster VM viene distribuito nell'area Ashburn, è necessario utilizzare "us-ashburn-1" per <region>. Il comando curl sarà ora simile a curl https://identity.us-ashburn-1.oci.oraclecloud.com.
  • Se la rete cloud virtuale (VCN) è configurata in modo appropriato per l'accesso alla rete di servizi OCI, riceverai una risposta immediata simile alla
    {
     "code" : "NotAuthorizedOrNotFound",
     "message" : "Authorization failed or requested resource not found."
    } 
  • La sessione ssh verrà sospesa e alla fine si verificherà il timeout se la rete non è configurata per l'accesso ai servizi OCI
  • A seconda dell'impostazione della VCN, dovrai seguire i passi descritti nella sezione delle azioni riportata di seguito per configurare l'accesso alla rete di servizi OCI.

Controllo della convalida per la connettività del servizio di storage degli oggetti (OSS):

  • ssh in una virtual machine nel cluster VM ExaDB-D come utente opc.
  • Eseguire il comando: curl https://objectstorage.<region>.oraclecloud.com, here <region> corrisponde all'area OCI in cui è distribuito il cluster VM. Se il cluster VM viene distribuito nell'area Ashburn, è necessario utilizzare "us-ashburn-1" per <region>. Il comando curl ora avrà l'aspetto di curl https://objectstorage.us-ashburn-1.oraclecloud.com .
  • Se la rete cloud virtuale (VCN) è configurata in modo appropriato per l'accesso alla rete di servizi OCI, riceverai una risposta immediata simile alla
    {
     "code" : "NotAuthorizedOrNotFound",
     "message" : "Authorization failed or requested resource not found."
    }
  • La sessione ssh verrà sospesa e alla fine si verificherà il timeout se la rete non è configurata per l'accesso ai servizi OCI
  • A seconda dell'impostazione della VCN, dovrai seguire i passi descritti nella sezione delle azioni riportata di seguito per configurare l'accesso alla rete di servizi OCI.

Azione:

Dopo aver configurato la VCN per raggiungere la rete dei servizi OCI seguendo le istruzioni riportate sopra, eseguire i passi riportati in entrambe le sezioni Controllo della convalida per assicurarsi di aver stabilito la connettività alla rete dei servizi OCI dal cluster VM.

Informazioni aggiuntive:

Puoi trovare le istruzioni per aggiornare un gateway di servizi qui (https://docs.oracle.com/en-us/iaas/Content/Network/Tasks/servicegateway.htm#switch_label)

Errori di backup in Exadata Database Service on Dedicated Infrastructure

Se il backup gestito da Exadata non viene completato correttamente, è possibile utilizzare le procedure riportate in questo argomento per risolvere i problemi e risolverli.

Le cause più comuni di errore del backup sono le seguenti:

  • L'host non può accedere allo storage degli oggetti
  • La configurazione del database sull'host non è corretta

Le informazioni riportate di seguito sono organizzate in base alla condizione di errore. Se si conosce già la causa, è possibile passare alla sezione con la soluzione suggerita. In caso contrario, utilizzare la procedura descritta in Determinazione del problema per iniziare.

Determinazione del problema

Nella console, un backup del database non riuscito visualizza uno stato Non riuscito oppure si blocca nello stato Backup in corso o Creazione.

Se il messaggio di errore non contiene informazioni sufficienti per indirizzare l'utente a una soluzione, è possibile raccogliere ulteriori informazioni utilizzando dbaascli e visualizzando i file di log. Quindi, fare riferimento alla sezione applicabile in questo argomento per una soluzione.

I backup del database possono non riuscire durante la fase di configurazione RMAN o durante un job di backup RMAN in esecuzione. I task di configurazione RMAN includono la convalida della connettività di destinazione del backup, l'installazione del modulo di backup e le modifiche alla configurazione RMAN. I file di log esaminati dipendono dalla fase in cui si verifica l'errore.

  1. Accedere all'host come utente oracle.
  2. Controllare il file di log applicabile:
    • Per identificare l'ID job di un backup automatico, utilizzare il comando dbaascli database backup --dbname <dbname> --showHistory. Viene visualizzata la cronologia di tutti i job di backup, inclusi i relativi ID job corrispondenti.
    • I log dei job sono disponibili in /var/opt/oracle/log/dtrs/jobs/, denominati utilizzando il formato <job_id>.log. Se un job non riesce, nella stessa posizione viene generato anche un log di debug corrispondente <job_id>.debug.
    • È possibile trovare i log di esecuzione dei comandi RMAN corrispondenti per le operazioni di backup, recupero e configurazione nella directory /var/opt/oracle/log/<dbname>/dtrs/rman/bkup.
Nota

Assicurarsi di rivedere i file di log su tutti i nodi di calcolo del sistema DB Exadata.

Problemi relativi all'agente del servizio di database

Il tuo database Oracle Cloud Infrastructure utilizza un framework agente per consentirti di gestire il tuo database attraverso la piattaforma cloud. Utilizzare quanto segue per controllare e riavviare il file dbcsagent.

A volte può essere necessario riavviare il programma dbcsagent se il relativo stato è stop/waiting per risolvere un errore di backup. Visualizzare il file /opt/oracle/dcs/log/dcs-agent.log per identificare i problemi con l'agente.

  1. Da un prompt dei comandi, controllare lo stato dell'agente:
    systemctl status dbcsagent.service
  2. Se l'agente si trova nello stato stop/waiting, provare a riavviare l'agente:
    systemctl start dbcsagent.service
  3. Controllare di nuovo lo stato dell'agente per verificare che abbia lo stato stop/running:
    systemctl status dbcsagent.service

Problemi di connettività dell'area di memorizzazione degli oggetti

Il backup del database in Oracle Cloud Infrastructure Object Storage richiede che l'host possa connettersi all'endpoint Swift applicabile.

Sebbene Oracle controlli le credenziali utente Swift effettive per il bucket di storage per i backup gestiti, la verifica della connettività generale allo storage degli oggetti nella tua area è un buon indicatore del fatto che la connettività dell'area di memorizzazione degli oggetti non è il problema. È possibile testare questa connettività utilizzando un altro utente Swift.

  1. Creare un utente Swift nella tenancy. Vedere Utilizzo dei token di autenticazione.
  2. Con l'utente creato nel passo precedente, utilizzare il comando seguente per verificare che l'host possa accedere all'area di memorizzazione degli oggetti.
    curl -v -X HEAD -u <user_ID>:'<auth_token>' https://swiftobjectstorage.<region_name>.oraclecloud.com/v1/<object_storage_namespace>
    Consulta le domande frequenti sullo storage degli oggetti per conoscere l'area corretta da utilizzare. Per informazioni sullo spazio di nomi dello storage degli oggetti, vedere Informazioni sugli spazi di nomi dello storage degli oggetti.
  3. Se non è possibile connettersi all'area di memorizzazione degli oggetti, fare riferimento all'argomento Prerequisiti per i backup in Exadata Cloud Service per informazioni sulla configurazione della connettività dell'area di memorizzazione degli oggetti.

Problemi dell'host

Una o più delle seguenti condizioni nell'host del database possono causare l'errore dei backup:

Se un comando interattivo come oraenv o qualsiasi comando che potrebbe restituire un messaggio di errore o di avvertenza è stato aggiunto al file .bash_profile per l'utente Grid o oracle, le operazioni del servizio di database, ad esempio i backup automatici, possono essere interrotte e non possono essere completate. Controllare la presenza di questi comandi nel file .bash_profile e rimuoverli.

Le operazioni di backup richiedono spazio nella directory /u01 del file system host. Utilizzare il comando df -h sull'host per controllare lo spazio disponibile per i backup. Se lo spazio disponibile nel file system è insufficiente, è possibile rimuovere i vecchi file di log o di trace per liberare spazio.

Il sistema potrebbe non avere la versione richiesta del modulo di backup (opc_installer.jar). Per i dettagli su questo problema noto, vedere Impossibile utilizzare i backup gestiti nel sistema DB. Per risolvere il problema, puoi seguire la procedura descritta in quella sezione o semplicemente aggiornare il sistema DB e il database con la patch bundle più recente.

La personalizzazione del file del profilo del sito ( $ORACLE_HOME/sqlplus/admin/glogin.sql ) può causare il guasto dei backup gestiti in Oracle Cloud Infrastructure. In particolare, i comandi interattivi possono causare errori di backup. Oracle consiglia di non modificare questo file per i database ospitati in Oracle Cloud Infrastructure.

Problemi relativi al database

Uno stato o una configurazione del database errata può causare backup non riusciti.

Il database deve essere attivo e in esecuzione (idealmente su tutti i nodi) mentre il backup è in corso.

Utilizzare il seguente comando per controllare lo stato del database e assicurarsi che vengano risolti eventuali problemi che potrebbero aver messo il database in uno stato non corretto:
srvctl status database -d <db_unique_name> -verbose
Il sistema restituisce un messaggio che include lo stato dell'istanza del database. Affinché il backup riesca, lo stato dell'istanza deve essere Open. Se il database non è in esecuzione, utilizzare il seguente comando per avviarlo:
srvctl start database -d <db_unique_name> -o open
Se il database è installato ma non ha lo stato Open, utilizzare i seguenti comandi per accedere al prompt dei comandi di SQL*Plus e impostare lo stato su Open:
sqlplus / as sysdba
alter database open;

Quando si esegue il provisioning di un nuovo database, la modalità di archiviazione è impostata su ARCHIVELOG per impostazione predefinita. Questa è la modalità di archiviazione necessaria per le operazioni di backup. Controllare l'impostazione della modalità di archiviazione per il database e modificarla in ARCHIVELOG, se applicabile.

Aprire un prompt dei comandi SQL*Plus e immettere il comando riportato di seguito.
select log_mode from v$database;
Se è necessario impostare la modalità di archiviazione su ARCHIVELOG, avviare il database in stato MOUNT (e non OPEN) e utilizzare il seguente comando al prompt dei comandi di SQL*Plus:
alter database archivelog;

Verificare che il parametro db_recovery_file_dest punti a +RECO e che il parametro log_archive_dest_1 sia impostato su USE_DB_RECOVERY_FILE_DEST.

Per i database RAC, l'istanza deve avere lo stato MOUNT quando si abilita la modalità log di archiviazione. Per abilitare la modalità log di archiviazione per un database RAC, attenersi alla procedura riportata di seguito.

  1. chiudere tutte le istanze di database:
    srvctl stop database -d
  2. Avviare una delle istanze di database in stato di accesso:
    srvctl start instance -d <db_unique_name> -i <instance_name> -o mount
  3. Accedere al prompt dei comandi di SQL*Plus:
    sqlplus / as sysdba
  4. Abilitare la modalità Log di archivio:
    alter database archivelog; 
    exit;
  5. Arresta il database:
    srvctl stop instance -d <db_unique_name> -i <instance_name>
  6. Riavvia tutte le istanze di database:
    srvctl start database -d <db_unqiue_name>
  7. Al prompt dei comandi di SQL*Plus, confermare che la modalità di archiviazione sia impostata su: ARCHIVELOG:
    select log_mode from v$database;
I backup possono non riuscire quando l'istanza di database ha un processo di archiviazione bloccato. Ad esempio, ciò può verificarsi quando l'area di recupero flash (FRA) è piena. È possibile verificare la presenza di questa condizione utilizzando il comando srvctl status database -db <db_unique_name> -v. Se il comando restituisce il seguente output, è necessario risolvere il problema del processo di archiviazione bloccato prima che i backup possano avere esito positivo:
Instance <instance_identifier> is running on node *<node_identifier>. Instance status: Stuck Archiver

Fare riferimento a ORA-00257: Errore dell'archivio (ID documento 2014425.1) per informazioni sulla risoluzione di un processo dell'archiviatore bloccato.

Dopo aver risolto il processo bloccato, il comando deve restituire il seguente output:
Instance <instance_identifier> is running on node *<node_identifier>. Instance status: Open

Se lo stato dell'istanza non cambia dopo aver risolto il problema di base con il dispositivo o la risorsa piena o non disponibile, provare a riavviare il database utilizzando il comando srvctl per aggiornare lo stato del database nel clusterware.

La modifica di determinati parametri di configurazione RMAN può causare errori di backup in Oracle Cloud Infrastructure. Per controllare la configurazione RMAN, utilizzare il comando show all al prompt della riga di comando RMAN.

Per i dettagli su RMAN, vedere la lista di parametri riportata di seguito. Le impostazioni di configurazione non devono essere modificate per i database in Oracle Cloud Infrastructure.


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' PARMS  'SBT_LIBRARY=/var/opt/oracle/dbaas_acfs/<db_name>/opc/libopc.so, ENV=(OPC_PFILE=/var/opt/oracle/dbaas_acfs/<db_name>/opc/opc<db_name>.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;

I backup RMAN non riescono quando un file wallet dell'area di memorizzazione degli oggetti viene perso. Il file wallet è necessario per abilitare la connettività all'area di memorizzazione degli oggetti.

  1. Recupera il nome del database con l'errore di backup utilizzando SQL*Plus:
    show parameter db_name
  2. Determinare il percorso del file dei parametri di configurazione del backup che contiene le informazioni sul wallet RMAN nella riga di comando di Linux:

    locate opc_<database_name>.ora
    Ad esempio:
    
    find / -name "opctestdb30.ora" -print /var/opt/oracle/dbaas_acfs/testdb30/opc/opctestdb30.ora
  3. Trovare il percorso del file wallet nel file dei parametri di configurazione del backup ispezionando il valore memorizzato nel parametro OPC_WALLET. A tale scopo, andare alla directory contenente il file dei parametri di configurazione di backup e utilizzare il comando cat seguente:
    cat opc<database_name>.ora
    Ad esempio:
    
    cd /var/opt/oracle/dbaas_acfs/testdb30/opc/
    ls -altr *.ora
    opctestdb30.ora
    cat opctestdb30.ora
    OPC_HOST=https://swiftobjectstorage.us-phoenix-1.oraclecloud.com/v1/dbbackupphx
    OPC_WALLET='LOCATION=file:/var/opt/oracle/dbaas_acfs/testdb30/opc/opc_wallet CREDENTIAL_ALIAS=alias_opc'
    OPC_CONTAINER=bUG3TFsSi8QzjWfuTxqqExample
    _OPC_DEFERRED_DELETE=false
  4. Verificare che il file cwallet.sso esista nella directory specificata nel parametro OPC_WALLET e verificare che il file disponga delle autorizzazioni corrette. Le autorizzazioni del file devono avere il valore ottale "600" (-rw-------). Utilizzare il seguente comando:

    ls -ltr /var/opt/oracle/dbaas_acfs/<database_name>/opc/opc_wallet
    Ad esempio:
    
    ls -altr /var/opt/oracle/dbaas_acfs/testdb30/opc/opc_wallet
    -rw------- 1 oracle oinstall 0 Oct 29 01:59 cwallet.sso.lck
    -rw------- 1 oracle oinstall 111231 Oct 29 01:59 cwallet.sso
    

Errori di wallet e backup TDE

Impara a identificare la causa principale del wallet TDE e degli errori di backup.

Per il funzionamento delle operazioni di backup, il file $ORACLE_HOME/network/admin/sqlnet.ora deve contenere il parametro ENCRYPTION_WALLET_LOCATION formattato nel modo seguente:
ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/var/opt/oracle/dbaas_acfs/<database_name>/tde_wallet)))
Utilizzare il comando cat per controllare la specifica della posizione del wallet TDE. Ad esempio:
$ cat $ORACLE_HOME/network/admin/sqlnet.ora 
ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/var/opt/oracle/dbaas_acfs/<database_name>/tde_wallet)))

I backup del database non riescono se il wallet TDE non si trova nello stato corretto. Questo problema può essere causato dagli scenari riportati di seguito.

Se il database è stato avviato utilizzando SQL*Plus e la variabile di ambiente ORACLE_UNQNAME non è stata impostata, il wallet non viene aperto correttamente.

Per risolvere il problema, avviare il database utilizzando la utility srvctl:
srvctl start database -d <db_unique_name>

In un ambiente multi-tenant per le versioni di Oracle Database che supportano il keystore a livello di PDB, ogni PDB dispone della propria chiave di cifratura master. Per i database Oracle 18c, questa chiave di cifratura viene memorizzata in un singolo keystore utilizzato da tutti i contenitori. Oracle Database 19c non supporta un keystore a livello di PDB. Dopo aver creato o collegato un nuovo PDB, è necessario creare e attivare una chiave di cifratura master. In caso contrario, la colonna STATUS nella vista v$encryption_wallet mostra il valore OPEN_NO_MASTER_KEY.

Per verificare lo stato della chiave di cifratura master e creare una chiave master, effettuare le operazioni riportate di seguito.

  1. Rivedere la colonna STATUS nella vista v$encryption_wallet, come mostrato nell'esempio riportato di seguito.
    
    SQL> alter session set container=pdb2;
    Session altered.
    
    SQL> select WRL_TYPE,WRL_PARAMETER,STATUS,WALLET_TYPE from v$encryption_wallet;
    
    WRL_TYPE   WRL_PARAMETER                                   STATUS             WALLET_TYPE
    ---------- ----------------------------------------------- ------------------ -----------
    FILE       /var/opt/oracle/dbaas_acfs/testdb30/tde_wallet/ OPEN_NO_MASTER_KEY AUTOLOGIN
  2. Verificare che il PDB sia in modalità di apertura READ WRITE e che non sia limitato, come mostrato nell'esempio riportato di seguito.
    
    SQL> 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

    Impossibile aprire il PDB in modalità limitata (la colonna RESTRICTED deve mostrare NO). Se il PDB è attualmente in modalità limitata, rivedere le informazioni nella vista PDB_PLUG_IN_VIOLATIONS e risolvere il problema prima di continuare. Per ulteriori informazioni sulla vista PDB_PLUG_IN_VIOLATIONS e sullo stato limitato, consultare il manuale Oracle Multitenant Administrator's Guide su pluggable database per la versione di Oracle Database in uso.

  3. Creare e attivare una chiave di cifratura master per il PDB:

    • Impostare il contenitore sul PDB:
      ALTER SESSION SET CONTAINER = <pdb>;
    • Creare e attivare una chiave di cifratura master nel PDB eseguendo il comando seguente:
      ADMINISTER KEY MANAGEMENT SET KEY USING TAG '<tag>' 
      FORCE KEYSTORE IDENTIFIED BY <keystore-password> WITH BACKUP USING '<backup_identifier>';

    Tenere presente quanto riportato di seguito.

    • La clausola USING TAG è facoltativa e può essere utilizzata per associare una tag alla nuova chiave di cifratura principale.
    • La clausola WITH BACKUP è facoltativa e può essere utilizzata per creare un backup del keystore prima di creare la nuova chiave di cifratura master.

    È anche possibile utilizzare i comandi dbaascli dbaascli tde status e dbaascli tde rotate masterkey per individuare e gestire le chiavi.

  4. Verificare che lo stato del wallet sia stato modificato da OPEN_NO_MASTER_KEY in OPEN eseguendo una query sulla vista v$encryption_wallet come mostrato nel passo 1.

I parametri di configurazione correlati al wallet TDE possono causare l'errore dei backup.

Verificare che lo stato del wallet sia open e che il tipo di wallet sia auto login controllando la vista v$encryption_wallet. Ad esempio:

SQL> select status, wrl_parameter,wallet_type from v$encryption_wallet;

STATUS  WRL_PARAMETER                                  WALLET_TYPE
------- ---------------------------------------------- --------------
OPEN   /var/opt/oracle/dbaas_acfs/testdb30/tde_wallet/ AUTOLOGIN
Per i pluggable database (PDB), assicurarsi di passare al contenitore appropriato prima di eseguire una query sulla vista v$encryption_wallet. Ad esempio:

$ sqlplus / as sysdba

SQL> alter session set container=pdb1;

Session altered.

SQL> select WRL_TYPE,WRL_PARAMETER,STATUS,WALLET_TYPE from v$encryption_wallet;

WRL_TYPE  WRL_PARAMETER                                   STATUS   WALLET_TYPE
--------- ----------------------------------------------- -------- -----------
FILE      /var/opt/oracle/dbaas_acfs/testdb30/tde_wallet/ OPEN     AUTOLOGIN
Il file wallet TDE (ewallet.p12) può causare il guasto dei backup in caso di mancanza oppure se dispone di autorizzazioni o proprietà del file system incompatibili. Controllare il file come mostrato nell'esempio seguente come utente root:
# ls -altr /var/opt/oracle/dbaas_acfs/<database_name>/tde_wallet/ewallet.p12
total 76
-rw------ 1 oracle oinstall 5467 Oct 1 20:17 ewallet.p12

Il file wallet TDE deve disporre delle autorizzazioni file con il valore ottale "600" (-rw-------) e il proprietario di questo file deve far parte del gruppo di sistemi operativi oinstall.

Il file wallet di login automatico (cwallet.sso) può causare il guasto dei backup in caso di mancanza o se dispone di autorizzazioni o proprietà del file system incompatibili. Controllare il file come mostrato nell'esempio seguente come utente root:

# ls -altr /var/opt/oracle/dbaas_acfs/<database_name>/tde_wallet/cwallet.sso
total 76
-rw------ 1 oracle oinstall 5512 Oct 1 20:18 cwallet.sso

Il file wallet di login automatico deve disporre delle autorizzazioni file con il valore ottale "600" (-rw-------) e il proprietario di questo file deve far parte del gruppo di sistemi operativi oinstall.

Risoluzione dei problemi relativi a Oracle Data Guard

Scopri come identificare e risolvere i problemi di Oracle Data Guard.

Durante la risoluzione dei problemi di Oracle Data Guard, devi prima determinare se il problema si verifica durante l'impostazione e l'inizializzazione di Data Guard o durante l'operazione Data Guard, quando vengono immessi i comandi del ciclo di vita. I passi per identificare e risolvere i problemi sono diversi, a seconda dello scenario in cui vengono utilizzati.

Sono disponibili tre operazioni del ciclo di vita: switchover, failover e reinstalla. Il broker Data Guard viene utilizzato per tutti questi comandi. L'interfaccia della riga di comando del broker (dgmgrl) è lo strumento principale utilizzato per identificare e risolvere i problemi. Sebbene sia possibile utilizzare i file di log per identificare le cause principali, dgmgrl è più veloce e facile da usare per controllare e identificare un problema.

L'impostazione e l'abilitazione di Data Guard comporta più passi. I file di log vengono creati per ogni passo. Se una qualsiasi delle operazioni non riesce, esaminare il file di log pertinente per identificare e risolvere il problema.

  • Convalida del cluster VM cloud primario e del database
  • Convalida del cluster VM cloud in standby
  • Ricreazione e copia dei file nel database di standby (passwordfile e wallet)
  • Creazione di Data Guard tramite la rete (comando RMAN Duplicate)
  • Configurazione del broker Data Guard
  • Finalizzazione dell'impostazione

Risoluzione dei problemi di Data Guard mediante i file di log

Gli strumenti utilizzati per identificare il problema e le posizioni dei file di log pertinenti sono diversi, a seconda dello scenario in cui vengono utilizzati.

Attenersi alle procedure riportate di seguito per raccogliere i file di log pertinenti per analizzare i problemi. Se non si riesce a risolvere il problema dopo aver analizzato i file di log, contattare My Oracle Support.

Nota

Quando si preparano i file raccolti per il Supporto Oracle, raggrupparli in un archivio compresso, ad esempio un file ZIP.

In ogni nodo di calcolo associato alla configurazione Data Guard, raccogliere i file di log relativi al problema riscontrato.

  • I file di log dell'area intermedia di abilitazione (ad esempio quelli che documentano l'operazione Crea database in standby) e i log per il sistema primario o in standby corrispondente.
  • File di log ID job di abilitazione. Esempio: 23.
  • Posizioni dei file di log di abilitazione per fase di abilitazione e sistema Exadata (primario o in standby).
  • File di log dei nomi del database (db_name o db_unique_name, a seconda del percorso del file).
Nota

Controllare tutti i nodi dei sistemi Exadata primari e in standby corrispondenti. I comandi eseguiti su un sistema potrebbero essere stati eseguiti su uno qualsiasi dei relativi nodi.

Il programma di distribuzione Data Guard (DGdeployer) è il processo che esegue la configurazione. Quando si configura il database primario, viene creato il file /var/opt/oracle/log/<dbname>/dgdeployer/dgdeployer.log.

Questo log deve contenere la causa principale di un errore di configurazione del database primario.

  • Il log principale della utility della riga di comando dbaasapi è: /var/opt/oracle/log/dbaasapi/db/dg/<job_ID>.log. Cercare le voci che contengono dg_api.
  • Un log in standby della utility della riga di comando dbaasapi è: /var/opt/oracle/log/dbaasapi/db/dg/<job_ID>.log. In questo log cercare le voci che contengono dg_api.
  • L'altro log in standby è: /var/opt/oracle/log/<dbname>/dgcc/dgcc.log. Questo log è il log di configurazione di Data Guard.
  • OCE (Oracle Cloud Deployment Engine) crea il file /var/opt/oracle/log/<dbname>/ocde/ocde.log. Questo log deve contenere la causa di un errore nella creazione del database di standby.
  • L'utility della riga di comando dbaasapi crea il file var/opt/oracle/log/dbaasapi/db/dg/<job_ID>.log. Cercare le voci che contengono dg_api.
  • Il file di log della configurazione Data Guard è /var/opt/oracle/log/<dbname>/dgcc/dgcc.log.
  • DGdeployer è il processo che esegue la configurazione. Viene creato il file /var/opt/oracle/log/<dbname>/dgdeployer/dgdeployer.log seguente. Questo log deve contenere la causa principale di un errore nella configurazione del database in standby.
  • L'utility della riga di comando dbaasapi crea il file /var/opt/oracle/log/dbaasapi/db/dg/<job_ID>.log. Cercare le voci che contengono dg_api.
  • Il log di configurazione Data Guard è /var/opt/oracle/log/<dbname>/dgcc/dgcc.log.

DGdeployer è il processo che esegue la configurazione. Durante la configurazione di Data Guard, crea il file /var/opt/oracle/log/<dbname>/dgdeployer/dgdeployer.log. Questo log deve contenere la causa principale di un errore di configurazione del database primario.

In ogni nodo dei siti primario e in standby, raccogliere i file di log per il nome del database correlato (db_name).

Nota

Controllare tutti i nodi nei sistemi Exadata primari e in standby. Un'operazione di gestione del ciclo di vita può influire sia sui sistemi primari che su quelli in standby.
  • Alert database: /u02/app/oracle/diag/rdbms/<dbname>/<dbinstance>/trace/alert_<dbinstance>.log
  • Log del broker Data Guard: /u02/app/oracle/diag/rdbms/<dbname>/<dbinstance>/trace/drc<dbinstance>.log
  • File di log degli strumenti cloud per Data Guard: /var/opt/oracle/log/<dbname>/odg/odg.log

Risoluzione dei problemi del processo di impostazione di Data Guard

I seguenti errori potrebbero verificarsi nei diversi passi del processo di impostazione di Data Guard. Mentre alcuni errori vengono visualizzati all'interno della console, la maggior parte delle cause principali può essere trovata nei file di log

La password immessa per l'abilitazione di Data Guard non corrisponde alla password amministratore primario per l'utente SYS. Questo errore si verifica durante la fase Convalida principale dell'abilitazione.

Impossibile eseguire il database. Questo errore si verifica durante la fase Convalida principale dell'abilitazione. Controllare con srvctl e sql sull'host per verificare che il database sia attivo e in esecuzione su tutti i nodi.

Impossibile configurare il database primario. Comandi Data Guard non validi o la riconfigurazione del listener non riuscita può causare questo errore.

Impossibile creare il wallet TDE. Impossibile preparare i file del keystore (wallet) TDE (Transparent Database Encryption) Oracle per il trasporto nel sito in standby. Questo errore si verifica durante la fase di abilitazione della creazione del wallet TDE. Uno dei seguenti elementi può causare errori in questa fase:

  • Impossibile accedere ai file del wallet TDE
  • I comandi di abilitazione non sono stati in grado di creare un archivio contenente i file wallet

Procedura di risoluzione dei problemi:

  1. Assicurarsi che il cluster sia accessibile. Per controllare lo stato di un cluster, eseguire il comando riportato di seguito.
    crsctl check cluster -all
  2. Se il cluster è inattivo, eseguire il comando seguente per riavviarlo:
    crsctl start crs -wait
  3. Se questo errore si verifica quando il cluster è accessibile, controllare i log per creare il wallet TDE (fase di abilitazione) per determinare la causa e la risoluzione dell'errore.

È probabile che l'archivio contenente il wallet TDE non sia stato trasmesso al sito in standby. Ripetere di solito risolve il problema.

  • I siti primario e in standby potrebbero non essere in grado di comunicare tra loro per configurare il database in standby. Questi errori si verificano durante la fase di configurazione del database in standby dell'abilitazione. In questa fase, le configurazioni vengono eseguite sul database di standby, incluso il duplicato rman del database primario. Per risolvere questo problema:
    1. Verificare lo stato di connettività per i siti primario e in standby.
    2. Accertarsi che l'host possa comunicare dalla porta 1521 a tutte le porte. Controllare l'impostazione della rete, inclusi i gruppi di sicurezza di rete (NSG), gli elenchi di sicurezza di rete e l'impostazione del peering VCN remoto (se applicabile). Il modo migliore per eseguire il test della comunicazione tra l'host e altri nodi è accedere ai database utilizzando SQL*PLUS dal database primario al database in standby e dal database in standby al database primario.
  • È possibile che i VIP o i listener SCAN non siano in esecuzione. Utilizzare il test precedente per identificare il problema.

Cause possibili:

  • È possibile che i VIP o i listener SCAN non siano in esecuzione. È possibile confermare questo problema utilizzando i comandi riportati di seguito su qualsiasi nodo cluster.
    • [grid@exa1-****** ~]$ srvctl status
                  scan
    • [grid@exa1-****** ~]$ srvctl status
                    scan_listener
  • I database potrebbero non essere raggiungibili. È possibile confermare questo problema tentando di connettersi utilizzando un alias Oracle Net esistente.

Procedura di risoluzione dei problemi:

  1. In qualità di utente del sistema operativo oracle, verificare l'esistenza di un alias Oracle Net per il container database (CDB). Cercare un alias in $ORACLE_HOME/network/admin/<dbname>/tnsnames.ora.

    L'esempio seguente mostra una voce per un container database denominato db12c:

    cat $ORACLE_HOME/network/admin/db12c/tnsnames.ora 
    DB12C = (DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = exa1-*****-scan.********.******.******.com)(PORT = 1521)) 
    (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = db12c.********.******.******.com) 
    (FAILOVER_MODE = (TYPE = select) (METHOD = basic))))
  2. Verificare che sia possibile utilizzare l'alias per connettersi al database. Ad esempio, come sysdba, immettere il seguente comando:
    sqlplus sys@db12c

Una possibile causa di questo errore è che le password utente di sistema o di sistema di Oracle Database per il database e il wallet TDE potrebbero non essere uguali. Per confrontare le password:

  1. Connettersi al database come utente SYS e controllare lo stato TDE in
    V$ENCRYPTION_WALLET
    .
  2. Connettersi al database come utente di sistema e controllare lo stato TDE in
    V$ENCRYPTION_WALLET
    .
  3. Aggiornare le password applicabili in modo che corrispondano. Accedere all'host del sistema come opc ed eseguire i comandi indicati di seguito.
    1. Per modificare la password SYS:
      sudo dbaascli database changepassword --dbname <database_name>
    2. Per modificare la password del wallet TDE:
      sudo dbaascli tde changepassword --dbname <database_name>

Per possibili cause e risoluzioni dei problemi del wallet TDE, vedere Errori di wallet e backup TDE.

Quando vengono eseguiti i comandi di switchover, failover e reinstate, possono verificarsi più messaggi di errore. Per questi messaggi di errore, fare riferimento alla documentazione di Oracle Database.

Nota

Oracle consiglia di utilizzare l'interfaccia della riga di comando del broker Data Guard (dgmgrl) per convalidare le configurazioni.

  1. In qualità di utente Oracle, connettersi al database primario o in standby con dgmgrl e verificare la configurazione e il database:
    dgmgrl sys/<pwd>@<database>
    DGMGRL> VALIDATE CONFIGURATION VERBOSE
    DGMGRL> VALIDATE DATABASE VERBOSE <PRIMARY>
    DGMGRL> VALIDATE DATABASE VERBOSE <STANDBY>
  2. Consultare la documentazione di Oracle Database per verificare la presenza del rispettivo messaggio di errore. Ad esempio:
    • ORA-16766: l'applicazione dei redo è arrestata.
    • ORA-16853: il ritardo di applicazione ha superato la soglia.
    • ORA-16664: impossibile ricevere il risultato da un membro (sotto il database di standby).
    • ORA-12541: TNS: nessun listener (sotto il database primario)

Per la causa e la risoluzione, esaminare gli errori in Messaggi di errore del database.

Errori di applicazione delle patch nei sistemi dell'infrastruttura Exadata Cloud

Le operazioni di applicazione delle patch possono non riuscire per vari motivi. In genere, un'operazione non riesce perché un nodo di database è inattivo, lo spazio disponibile nel file system è insufficiente oppure la virtual machine non è in grado di accedere all'area di memorizzazione degli oggetti.

Determinazione del problema

Nella console è possibile identificare un'operazione di applicazione delle patch non riuscita visualizzando la cronologia delle patch di un sistema dell'infrastruttura Exadata Cloud o di un singolo database.

Una patch non applicata correttamente visualizza lo stato Failed e include una breve descrizione dell'errore che ha causato l'errore. Se il messaggio di errore non contiene informazioni sufficienti per indirizzare l'utente a una soluzione, è possibile utilizzare l'interfaccia CLI del database e i file di log per raccogliere più dati. Quindi, fare riferimento alla sezione applicabile in questo argomento per una soluzione.

Risoluzione dei problemi e diagnosi

Identifica i problemi più comuni che possono verificarsi durante il processo di applicazione delle patch di qualsiasi componente dell'infrastruttura Exadata Cloud.

Problemi VM del database server

Una o più delle seguenti condizioni nella VM del database server possono causare l'errore delle operazioni di applicazione delle patch.

Problemi di connettività VM del database server

Gli strumenti cloud si basano sulla configurazione di rete e connettività corretta tra le virtual machine di un determinato cluster VM. Se la configurazione non è impostata correttamente, si potrebbero verificare errori in tutte le operazioni che richiedono l'elaborazione cross-node. Un esempio potrebbe non essere possibile scaricare i file richiesti per applicare una determinata patch.

In base al caso, è possibile eseguire le azioni riportate di seguito.

  • Verificare che la configurazione DNS sia corretta in modo che gli indirizzi delle virtual machine pertinenti siano risolvibili all'interno del cluster VM.
  • Consultare i log pertinenti di Cloud Tooling come indicato nella sezione Ottenere ulteriore assistenza e contattare il Supporto Oracle per ulteriore assistenza.
Problemi di Oracle Grid Infrastructure

Una o più delle seguenti condizioni in Oracle Grid Infrastructure possono impedire l'esecuzione delle operazioni di applicazione delle patch.

Oracle Grid Infrastructure è inattivo

Oracle Clusterware consente ai server di comunicare tra loro in modo da poter funzionare come unità collettiva. Per completare le operazioni di applicazione delle patch, è necessario che il programma software del cluster sia attivo e in esecuzione nel cluster VM. A volte potrebbe essere necessario riavviare Oracle Clusterware per risolvere un errore di applicazione delle patch.

In questi casi, verificare lo stato di Oracle Grid Infrastructure come indicato di seguito.
./crsctl check cluster
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
Se Oracle Grid Infrastructure è inattivo, riavviare eseguendo i comandi riportati di seguito.
crsctl start cluster -all
crsctl check cluster
Problemi dei database Oracle

Uno stato del database non corretto può causare errori di applicazione delle patch.

Oracle Database non disponibile

Il database deve essere attivo e in esecuzione su tutti i nodi attivi in modo da poter completare correttamente le operazioni di applicazione delle patch nel cluster.

Utilizzare il seguente comando per controllare lo stato del database e assicurarsi che vengano risolti eventuali problemi che potrebbero aver messo il database in uno stato non corretto:
srvctl status database -d db_unique_name -verbose

Il sistema restituisce un messaggio che include lo stato dell'istanza di database. Affinché l'operazione di applicazione delle patch riesca, lo stato dell'istanza deve essere Apri.

Se il database non è in esecuzione, utilizzare il seguente comando per avviarlo:
srvctl start database -d db_unique_name -o open

Ottenere ulteriore assistenza

Se non si è riusciti a risolvere il problema utilizzando le informazioni riportate in questo argomento, attenersi alle procedure riportate di seguito per raccogliere le informazioni relative al database e alla diagnostica. Dopo aver raccolto queste informazioni, contattare il Supporto Oracle.

Argomenti correlati

Raccolta dei log di Cloud Tooling

Utilizzare i file di log pertinenti che potrebbero aiutare il Supporto Oracle a ulteriori indagini e a risolvere un determinato problema.

Log DBAASCLI

/var/opt/oracle/log/dbaascli
  • dbaascli.log

Raccolta di Oracle Diagnostics

Per raccogliere le informazioni e i log di diagnostica Oracle pertinenti, eseguire il comando dbaascli diag collect.

Per ulteriori informazioni sull'uso di questa utility, vedere DBAAS Tooling: Using dbaascli to Collect Cloud Tooling Logs and Perform a Cloud Tooling Health Check.

Impossibile riavviare il database in standby dopo lo switchover nell'impostazione di Oracle Data Guard di Oracle Database 11g

Descrizione: dopo l'esecuzione dello switchover, il nuovo database di standby (vecchio database primario) rimane chiuso e non viene riavviato.

Azione: dopo aver eseguito lo switchover, effettuare le operazioni riportate di seguito.

  1. Riavviare il database di standby utilizzando il comando srvctl start database -db <standby dbname>.
  2. Ricaricare il listener come utente grid su tutti i nodi del cluster primario e in standby.
    • Per ricaricare il listener utilizzando High Availability, scaricare e applicare la patch 25075940 alla home Grid, quindi eseguire lsnrctl reload -with_ha.
    • Per ricaricare il listener, eseguire lsrnctl reload.

Dopo aver ricaricato il listener, verificare che i servizi <dbname>_DGMGRL vengano caricati nel listener utilizzando il comando lsnrctl status.

Per scaricare la patch 25075940

  1. Accedere a My Oracle Support.
  2. Fare clic su Patch e aggiornamenti.
  3. Selezionare Numero bug dall'elenco a discesa Nome/numero o numero bug (semplice).
  4. Immettere il numero di bug 34741066, quindi fare clic su Cerca.
  5. Fare clic sul nome della patch più recente nei risultati della ricerca.

    Si verrà reindirizzati alla pagina Patch 34741066: LSNRCTL RELOAD -WITH_HA FAILED TO READ THE STATIC ENTRY IN LISTENER.ORA.

  6. Fare clic su Scarica.

Errore intermittente nella creazione del PDB quando più PDB vengono creati in parallelo

Descrizione: la creazione del PDB potrebbe non riuscire per il subset di PDB quando vengono creati più PDB in parallelo.

Causa: la creazione del PDB potrebbe notare l'errore seguente in modo intermittente.
ORA-03113: end-of-file on communication channel

Azione: riprovare la creazione del PDB non riuscita.