View a markdown version of this page

Esecuzione di controlli preliminari per l'aggiornamento delle versioni secondarie in Amazon RDS per Oracle - Amazon Relational Database Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esecuzione di controlli preliminari per l'aggiornamento delle versioni secondarie in Amazon RDS per Oracle

Prima che Amazon RDS for Oracle esegua l'aggiornamento di una versione DB secondaria, verifica che l'istanza DB sia in uno stato tale da consentire il completamento dell'aggiornamento. Se un controllo rileva un problema, l'aggiornamento non può procedere finché non lo risolvi.

Puoi eseguire questi controlli tu stesso in qualsiasi momento senza avviare un aggiornamento. In questo modo, è possibile individuare e risolvere i problemi prima della finestra di manutenzione. Per eseguire i controlli, utilizza la procedura Amazon RDS rdsadmin.rdsadmin_precheck_tasks.precheck_minor_upgrade. Il precheck è di sola lettura. Non modifica i tuoi dati o la tua configurazione.

La procedura restituisce un ID attività. Il precheck scrive i risultati in un file di registro denominato dbtask-task_id.log nella directory BDUMP. Per scaricare il file di registro, vedere Download di un file di log di database.

Nota

Esegui il controllo preliminare sull'istanza DB primaria. L'esecuzione dei controlli preliminari su una replica di lettura non è supportata.

Esecuzione di un controllo preliminare per l'aggiornamento di una versione secondaria

Per verificare se l'istanza DB è pronta per un aggiornamento della versione secondaria del database, esegui la procedura rdsadmin.rdsadmin_precheck_tasks.precheck_minor_upgrade. La procedura non richiede parametri. La seguente query avvia il controllo preliminare e restituisce l'ID dell'attività.

SQL> SELECT rdsadmin.rdsadmin_precheck_tasks.precheck_minor_upgrade() AS task_id FROM DUAL; TASK_ID ------------------ 1784924903020-9

È inoltre possibile memorizzare l'ID dell'attività in una variabile del client SQL e utilizzare la variabile in altre istruzioni.

SQL> VAR task_id VARCHAR2(80); SQL> EXEC :task_id := rdsadmin.rdsadmin_precheck_tasks.precheck_minor_upgrade(); PL/SQL procedure successfully completed.

Il precheck viene eseguito in background. È terminato quando viene visualizzata l'ultima riga del registro The task finished successfully. o The task failed.

Visualizzazione dei risultati del controllo preliminare

Per leggere il file di registro, esegui la procedura Amazon RDS rdsadmin.rds_file_util.read_text_file. Includi l'ID dell'attività nel nome del file. L'esempio seguente mostra un controllo preliminare in cui nessun controllo ha rilevato un problema.

SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')); TEXT ------------------------------------------------------------------------------------------------------------------------- 2026-08-28 18:30:20.461 UTC [INFO ] Starting minor version upgrade precheck... 2026-08-28 18:30:20.461 UTC [INFO ] NOTE: This precheck validates against the current engine version's known checks. Target-version-specific checks (e.g., autoupgrade) are not included. 2026-08-28 18:30:20.470 UTC [INFO ] CHECK: FreeStorageSpace - PASSED 2026-08-28 18:30:20.515 UTC [INFO ] CHECK: SystemTablespace - PASSED 2026-08-28 18:30:20.523 UTC [INFO ] CHECK: AuditTablespace - PASSED 2026-08-28 18:30:20.541 UTC [INFO ] CHECK: RedoApplyLag - SKIPPED: the DB instance has no read replicas 2026-08-28 18:30:20.612 UTC [INFO ] CHECK: MdsysUser - PASSED 2026-08-28 18:30:20.688 UTC [INFO ] CHECK: ConflictingSynonyms - PASSED 2026-08-28 18:30:20.731 UTC [INFO ] CHECK: WorkspaceManager - PASSED 2026-08-28 18:30:20.790 UTC [INFO ] CHECK: SchemaVersionRegistry - PASSED 2026-08-28 18:30:20.846 UTC [INFO ] CHECK: XmlDbSchema - PASSED 2026-08-28 18:30:20.903 UTC [INFO ] CHECK: ApexStatus - PASSED 2026-08-28 18:30:20.955 UTC [INFO ] CHECK: CtxsysSequences - PASSED 2026-08-28 18:30:21.304 UTC [INFO ] CHECK: InvalidSystemObjects - PASSED 2026-08-28 18:30:21.549 UTC [INFO ] CHECK: InvalidTriggers - PASSED 2026-08-28 18:30:21.601 UTC [INFO ] CHECK: PendingDistributedTransactions - PASSED 2026-08-28 18:30:21.602 UTC [INFO ] Summary: 13 passed, 1 skipped, 0 warnings, 0 errors, 0 blockers 2026-08-28 18:30:21.602 UTC [INFO ] Result: PASSED 2026-08-28 18:30:21.602 UTC [INFO ] The task finished successfully.

Per elencare i file nella directory BDUMP, eseguite la seguente query.

SELECT * FROM table(rdsadmin.rds_file_util.listdir('BDUMP')) order by mtime;

Per ulteriori informazioni sulla procedura rdsadmin.rds_file_util.read_text_file, vedi Lettura dei file in una directory di istanze database.

Interpretazione dei risultati del controllo preliminare

Il registro ne ha uno CHECK: riga per ogni controllo, seguita da una Summary: riga e a Result: linea. I controlli eseguiti dipendono dalla versione del motore, dall'architettura del database e dalla configurazione dell'istanza DB. Ogni controllo riporta uno dei seguenti risultati:

PASSED

Il controllo non ha rilevato alcun problema.

FAILED [BLOCKER]

Il controllo ha rilevato un problema che è necessario risolvere prima dell'aggiornamento della versione secondaria del DB. La riga descrive il problema e cosa fare.

WARN

La verifica ha rilevato qualcosa che dovresti esaminare. Un avviso non blocca l'aggiornamento.

SKIPPED

Il controllo non si applica alla tua istanza DB. La riga indica il motivo.

ERROR

Il controllo non è riuscito a finire. Esegui nuovamente il controllo preliminare.

Ogni controllo viene eseguito, anche quando un controllo precedente ha esito negativo, quindi una sola esecuzione riporta tutti i problemi rilevati dal controllo preliminare. Eventuali resoconti di controllo FAILED [BLOCKER] o ERROR, il registro mostra Result: FAILED. Altrimenti, si vede Result: PASSED.

L'esempio seguente mostra un controllo preliminare che ha rilevato un problema.

SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')); TEXT ------------------------------------------------------------------------------------------------------------------------- 2026-08-28 18:57:39.105 UTC [INFO ] Starting minor version upgrade precheck... 2026-08-28 18:57:39.105 UTC [INFO ] NOTE: This precheck validates against the current engine version's known checks. Target-version-specific checks (e.g., autoupgrade) are not included. 2026-08-28 18:57:39.112 UTC [INFO ] CHECK: FreeStorageSpace - PASSED 2026-08-28 18:57:39.125 UTC [INFO ] CHECK: SystemTablespace - PASSED 2026-08-28 18:57:39.133 UTC [INFO ] CHECK: AuditTablespace - PASSED 2026-08-28 18:57:39.150 UTC [INFO ] CHECK: RedoApplyLag - SKIPPED: the DB instance has no read replicas 2026-08-28 18:57:39.221 UTC [INFO ] CHECK: MdsysUser - PASSED 2026-08-28 18:57:39.297 UTC [INFO ] CHECK: ConflictingSynonyms - PASSED 2026-08-28 18:57:39.340 UTC [INFO ] CHECK: WorkspaceManager - PASSED 2026-08-28 18:57:39.399 UTC [INFO ] CHECK: SchemaVersionRegistry - PASSED 2026-08-28 18:57:39.455 UTC [INFO ] CHECK: XmlDbSchema - PASSED 2026-08-28 18:57:39.512 UTC [INFO ] CHECK: ApexStatus - PASSED 2026-08-28 18:57:39.564 UTC [INFO ] CHECK: CtxsysSequences - PASSED 2026-08-28 18:57:39.913 UTC [INFO ] CHECK: InvalidSystemObjects - PASSED 2026-08-28 18:57:40.097 UTC [ERROR] CHECK: InvalidTriggers - FAILED [BLOCKER]: The DB instance has triggers that aren't valid. Fix or disable them. 2026-08-28 18:57:40.151 UTC [INFO ] CHECK: PendingDistributedTransactions - PASSED 2026-08-28 18:57:40.152 UTC [INFO ] Summary: 12 passed, 1 skipped, 0 warnings, 0 errors, 1 blocker 2026-08-28 18:57:40.152 UTC [INFO ] RDS can't upgrade the DB instance. Resolve the blockers listed above, and then try again. 2026-08-28 18:57:40.152 UTC [INFO ] Result: FAILED 2026-08-28 18:57:40.152 UTC [INFO ] The task failed.

Risolvete ogni problema segnalato dal log, quindi eseguite nuovamente il controllo preliminare per confermare che l'istanza DB abbia esito positivo.

Cosa controlla il controllo preliminare

Nella tabella seguente sono elencati tutti i controlli e le condizioni che ne determinano l'esito negativo. Quando un controllo ha esito negativo, la riga corrispondente nel registro descrive il problema e come risolverlo.

Verifica Fallisce quando
FreeStorageSpace L'istanza DB ha meno di 768 MB di spazio di archiviazione gratuito.
SystemTablespace L' SYSTEM o SYSAUX il tablespace ha meno di 300 MB di spazio libero o non è estensibile automaticamente. Per un CDB, il precheck controlla ogni contenitore.
AuditTablespace Il tablespace di controllo ha meno di 300 MB di spazio libero o non è estensibile automaticamente.
RedoApplyLag Il ritardo di ripetizione dell'applicazione di una replica in lettura è superiore a 5 minuti. Ignorata se l'istanza DB non ha repliche di lettura.
MdsysUser Il MDSYS l'utente non lo è Oracle-maintained.
ConflictingSynonyms I sinonimi utilizzano nomi riservati dalla nuova versione di Oracle.
WorkspaceManager Workspace Manager (WMSYSgli oggetti esistono.
SchemaVersionRegistry Uno o più SCHEMA_VERSION_REGISTRY le visualizzazioni non sono valide.
XmlDbSchema Uno o più oggetti dello schema DB XML non sono validi.
ApexStatus Il componente APEX non è in un VALID stato.
CtxsysSequences Il CTXSYS lo schema non ha le 3 sequenze di testo Oracle (DR_ID_SEQ, MESG_ID_SEQ, THS_SEQ). Ho saltato per un CDB.
InvalidSystemObjects Oracle-maintained gli oggetti non sono validi.
InvalidTriggers I trigger non sono validi.
PendingDistributedTransactions Le transazioni distribuite non sono risolte.

Quando eseguire il controllo preliminare

Alcune condizioni cambiano nel tempo, ad esempio lo spazio di archiviazione gratuito e il ritardo di lettura della replica. Esegui il controllo preliminare poco prima dell'aggiornamento. Se l'istanza DB utilizza aggiornamenti automatici delle versioni secondarie, esegui il controllo preliminare dopo aver ricevuto la notifica di manutenzione in sospeso e prima della finestra di manutenzione.

Se apporti una modifica che influisce su una condizione verificata, esegui nuovamente il controllo preliminare. Ad esempio, eseguilo nuovamente dopo aver aggiunto spazio di archiviazione, modificato un tablespace, eliminato o ricompilato oggetti o risolto transazioni distribuite. Le modifiche che non influiscono su queste condizioni non modificano il risultato. Ad esempio, l'esecuzione di un backup o la modifica della classe dell'istanza DB non modifica il risultato.

Nota

Il precheck esegue i controlli per la versione corrente del motore. Non include i controlli che dipendono dalla versione a cui si esegue l'aggiornamento.