View a markdown version of this page

Execução de verificações prévias à atualização de versão secundária no Amazon RDS para Oracle - Amazon Relational Database Service

Execução de verificações prévias à atualização de versão secundária no Amazon RDS para Oracle

Antes de realizar uma atualização de versão secundária do banco de dados, o Amazon RDS para Oracle verifica se a instância de banco de dados está em um estado que permite concluir a atualização. Se uma verificação identificar um problema, não será possível prosseguir com a atualização até que ele seja corrigido.

É possível executar essas verificações a qualquer momento, sem iniciar uma atualização. Dessa forma, é possível identificar e corrigir problemas antes da janela de manutenção. Para executar as verificações, use o procedimento rdsadmin.rdsadmin_precheck_tasks.precheck_minor_upgrade do Amazon RDS. A verificação prévia é somente leitura. Ela não altera os dados nem a configuração.

O procedimento retorna um ID de tarefa. A verificação prévia grava os resultados em um arquivo de log chamado dbtask-task_id.log, no diretório BDUMP. Para baixar o arquivo de log, consulte Como baixar um arquivo de log de banco de dados.

nota

Execute a verificação prévia na instância de banco de dados primária. Não há suporte para a execução de verificações prévias em uma réplica de leitura.

Execução de uma verificação prévia à atualização de versão secundária

Para verificar se a instância de banco de dados está pronta para uma atualização de versão secundária do banco de dados, execute o procedimento rdsadmin.rdsadmin_precheck_tasks.precheck_minor_upgrade. O procedimento não recebe parâmetros. A consulta a seguir inicia a verificação prévia e retorna o ID da tarefa.

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

Também é possível armazenar o ID da tarefa em uma variável do cliente SQL e usar essa variável em outras instruções.

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

A verificação prévia é executada em segundo plano. Ela é concluída quando a última linha do log é The task finished successfully. ou The task failed.

Visualização dos resultados da verificação prévia

Para ler o arquivo de log, execute o procedimento rdsadmin.rds_file_util.read_text_file do Amazon RDS. Inclua o ID da tarefa no nome do arquivo. O exemplo a seguir mostra uma verificação prévia na qual nenhuma verificação identificou problemas.

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.

Para listar os arquivos no diretório BDUMP, execute a consulta a seguir.

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

Consulte mais informações sobre o procedimento rdsadmin.rds_file_util.read_text_file em Leitura de arquivos no diretório de uma instância de banco de dados.

Interpretação dos resultados da verificação prévia

O log contém uma linha CHECK: para cada verificação, seguida por uma linha Summary: e uma linha Result:. As verificações executadas dependem da versão do mecanismo, da arquitetura do banco de dados e da configuração da instância de banco de dados. Cada verificação apresenta um dos seguintes resultados.

PASSED

A verificação não identificou problemas.

FAILED [BLOCKER]

A verificação identificou um problema que precisa ser corrigido antes da atualização de versão secundária do banco de dados. A linha descreve o problema e o que fazer para corrigi-lo.

WARN

A verificação identificou algo que deve ser analisado. Um aviso não bloqueia a atualização.

SKIPPED

A verificação não se aplica à instância de banco de dados. A linha informa o motivo.

ERROR

Não foi possível concluir a verificação. Execute novamente a verificação prévia.

Todas as verificações são executadas, mesmo quando uma verificação anterior falha, de modo que uma única execução relata todos os problemas identificados pela verificação prévia. Se alguma verificação retornar FAILED [BLOCKER] ou ERROR, o log exibirá Result: FAILED. Caso contrário, exibirá Result: PASSED.

O exemplo a seguir mostra uma verificação prévia que identificou um 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.

Corrija cada problema relatado no log e, em seguida, execute novamente a verificação prévia para confirmar que a instância de banco de dados foi aprovada.

O que a verificação prévia verifica

A tabela a seguir lista cada verificação e a condição que faz com que ela falhe. Quando uma verificação falha, a linha correspondente no log descreve o problema e como corrigi-lo.

Verificar Falha quando
FreeStorageSpace A instância de banco de dados tem menos de 768 MB de armazenamento livre.
SystemTablespace O espaço livre na tablespace SYSTEM ou SYSAUX é inferior a 300 MB, ou a tablespace não permite extensão automática. Para um CDB, a verificação prévia verifica cada contêiner.
AuditTablespace O espaço livre na tablespace de auditoria é inferior a 300 MB, ou a tablespace não permite extensão automática.
RedoApplyLag O atraso na aplicação de redo de uma réplica de leitura é superior a cinco minutos. Ignorada se a instância de banco de dados não tiver réplicas de leitura.
MdsysUser O usuário MDSYS não é mantido pela Oracle.
ConflictingSynonyms Os sinônimos usam nomes reservados pela nova versão do Oracle.
WorkspaceManager Existem objetos do Workspace Manager (WMSYS).
SchemaVersionRegistry Uma ou mais visualizações SCHEMA_VERSION_REGISTRY são inválidas.
XmlDbSchema Um ou mais objetos de esquema do XML DB são inválidos.
ApexStatus O componente APEX não está no estado VALID.
CtxsysSequences O esquema CTXSYS não contém as três sequências do Oracle Text (DR_ID_SEQ, MESG_ID_SEQ, THS_SEQ). Ignorada para um CDB.
InvalidSystemObjects Os objetos mantidos pela Oracle são inválidos.
InvalidTriggers Os gatilhos são inválidos.
PendingDistributedTransactions Há transações distribuídas não resolvidas.

Quando executar a verificação prévia

Algumas condições mudam com o tempo, como o armazenamento livre e o atraso das réplicas de leitura. Execute a verificação prévia pouco antes de fazer a atualização. Se a instância de banco de dados usar atualizações automáticas de versões secundárias, execute a verificação prévia após receber a notificação de manutenção pendente e antes da janela de manutenção.

Se você fizer uma alteração que afete uma condição verificada, execute a verificação prévia novamente. Por exemplo, execute-a novamente após adicionar armazenamento, alterar uma tablespace, excluir ou recompilar objetos ou resolver transações distribuídas. Alterações que não afetam essas condições não alteram o resultado. Por exemplo, fazer um backup ou alterar a classe da instância de banco de dados não altera o resultado.

nota

A verificação prévia executa as verificações para a versão atual do mecanismo. Ela não inclui verificações que dependem da versão para a qual você está fazendo a atualização.