Risoluzione dei problemi per Amazon RDS for Db2 - 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à.

Risoluzione dei problemi per Amazon RDS for Db2

Il seguente contenuto può aiutarti a risolvere i problemi che riscontri per Db2. RDS

Per ulteriori informazioni sulla RDS risoluzione dei problemi generali di Amazon, consultaRisoluzione dei problemi per Amazon RDS.

Errore di I/O del file

Quando si utilizza il LOAD comando, è possibile che si verifichi un errore di I/O del file. Ad esempio, si esegue il LOAD comando seguente:

db2 "call sysproc.admin_cmd('load from "DB2REMOTE://s3test//public/datapump/t6.del" of del lobs from "DB2REMOTE://s3test/public/datapump/" modified by lobsinfile MESSAGES ON SERVER insert INTO RDSDB.t6 nonrecoverable ')"

Il LOAD comando restituisce il seguente messaggio:

Result set 1 -------------- ROWS_READ ROWS_SKIPPED ROWS_LOADED ROWS_REJECTED ROWS_DELETED ROWS_COMMITTED ROWS_PARTITIONED NUM_AGENTINFO_ENTRIES MSG_RETRIEVAL MSG_REMOVAL -------------------- -------------------- -------------------- -------------------- -------------------- -------------------- -------------------- --------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - - - - - - - - SELECT SQLCODE, MSG FROM TABLE(SYSPROC.ADMIN_GET_MSGS('1594987316_285548770')) AS MSG CALL SYSPROC.ADMIN_REMOVE_MSGS('1594987316_285548770') 1 record(s) selected. Return Status = 0 SQL20397W Routine "SYSPROC.ADMIN_CMD" execution has completed, but at least one error, "SQL1652", was encountered during the execution. More information is available. SQLSTATE=01H52

Per visualizzare il messaggio di errore, esegui il SQL comando come suggerito nella risposta precedente. SELECT SQLCODE, MSG FROM TABLE(SYSPROC.ADMIN_GET_MSGS('1594987316_285548770')) AS MSGrestituisce il seguente messaggio:

SQLCODE MSG --------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- SQL2025N An I/O error occurred. Error code “438”. Media on which this error occurred: “DB2REMOTE://s3test//public/datapump/t6.del” SQL3500W The utility is beginning the LOAD phase at time “07/05/2024 21:21:48.082954” SQL1652N File I/O error occurred

I log di diagnostica Db2 contengono un file di registro simile al seguente:

2024-07-05-21.20.09.440609+000 I1191321E864 LEVEL: Error PID : 2710 TID : 139619509200640 PROC : db2sysc 0 INSTANCE: rdsdb NODE : 000 DB : NTP APPHDL : 0-12180 APPID: xxx.xx.x.xxx.xxxxx.xxxxxxxxxxxx UOWID : 5 ACTID: 1 AUTHID : ADMIN HOSTNAME: ip-xx-xx-x-xx EDUID : 147 EDUNAME: db2lmr 0 FUNCTION: DB2 UDB, oper system services, sqloS3Client_GetObjectInfo, probe:219 MESSAGE : ZRC=0x870F01B6=-2029059658=SQLO_FAILED "An unexpected error is encountered" DATA #1 : String, 29 bytes S3:HeadObject request failed. DATA #2 : signed integer, 4 bytes 99 DATA #3 : String, 0 bytes Object not dumped: Address: 0x00007EFC08A9AE38 Size: 0 Reason: Zero-length data DATA #4 : String, 33 bytes curlCode: 28, Timeout was reached

Questo errore di I/O del file potrebbe derivare da diversi scenari. Ad esempio, l'istanza DB RDS for Db2 e il bucket Amazon S3 potrebbero non utilizzare VPC lo stesso o trovarsi nello stesso posto. Regione AWS Indipendentemente dallo scenario, la soluzione è la stessa: è necessario creare un endpoint VPC gateway e quindi aggiungere regole in uscita al gruppo di sicurezza.

Fase 1: creare un endpoint VPC gateway per Amazon S3

Quando crei RDS per la prima volta un'istanza DB per Db2, Amazon RDS crea l'istanza DB con tre sottoreti private, un gruppo di sicurezza e nessun accesso pubblico. Il gruppo di sicurezza impedisce a qualsiasi traffico S3 di lasciare la sottorete privata.

Per consentire il traffico tra l'istanza DB RDS for Db2 e S3, devi creare un endpoint gateway che si connetta a S3. Quando crei l'endpoint, assicurati di selezionare la tabella di routing che desideri associare a questo endpoint.

Nota

Se durante la creazione dell'VPCendpoint si verifica un errore che indica che la tabella di routing selezionata ha già una route, effettuate una delle seguenti opzioni:

Tabella di routing selezionata durante la creazione dell'endpoint del VPC gateway.

Per ulteriori informazioni, consulta Creare un endpoint gateway nella Amazon VPC User Guide.

Passaggio 2: aggiungi regole in uscita al gruppo di sicurezza

Questo passaggio presuppone che tu abbia creato un endpoint gateway in. Fase 1: creare un endpoint VPC gateway per Amazon S3 In questo passaggio, aggiungi regole in uscita a una sottorete privata nel gruppo di sicurezza del tuo. VPC Queste regole in uscita consentono HTTP il traffico. HTTPS

Per il valore Destinazione, apri il menu contestuale (fai clic con il pulsante destro del mouse) per Cerca e, in Elenchi di prefissi, scegli il prefisso dell'endpoint gateway che hai creato. Il formato del prefisso ècom.amazonaws.Regione AWS.s3, ad esempio,. com.amazonaws.us-west-2.s3

Regole in uscita HTTP e HTTPS traffico verso S3.

Per ulteriori informazioni, consulta le regole dei gruppi di sicurezza nella Amazon VPC User Guide.

Risoluzione degli errori nelle procedure memorizzate

Questo argomento descrive vari errori restituiti durante la chiamata delle stored procedure e come risolverli.

Categoria Errori delle procedure memorizzate

Database

errori rdsadmin.restore_database

errori rdsadmin.restore_database

Quando si chiama la stored procedure possono verificarsi i seguenti errori: rdsadmin.restore_database

Errore Messaggio di errore

Insufficient disk space

Aborting task. Reason Restoring your database failed because of insufficient disk space. Increase the storage for your DB instance and rerun the rdsadmin.restore_database stored procedure.

Internal error

Caught exception during executing task id 104, Aborting task. Reason Internal Error

Non-fenced routines not allowed

Caught exception during executing task id 2, Aborting task. Reason Non fenced routines are not allowed. Please delete the routines and retry the restore.

Tablespaces not restored

Reason SQL0970N The system attempted to write to a read-only file. Reason SQL2563W The Restore process has completed successfully. However one or more table spaces from the backup were not restored.

Spazio su disco insufficiente

Il seguente messaggio di errore indica che l'istanza DB dispone di spazio su disco insufficiente per ripristinare il database:

Aborting task. Reason Restoring your database failed because of insufficient disk space. Increase the storage for your DB instance and rerun the rdsadmin.restore_database stored procedure.

Lo spazio libero sull'istanza DB deve essere più del doppio delle dimensioni dell'immagine di backup. Se l'immagine di backup è compressa, lo spazio libero sull'istanza DB deve essere più del triplo delle dimensioni dell'immagine di backup. Per ulteriori informazioni, consulta Aumento della capacità di storage dell'istanza database.

Errore interno

Il seguente messaggio di errore indica che la stored procedure ha rilevato un errore interno:

Caught exception during executing task id 104, Aborting task. Reason Internal Error

Contatta il supporto AWS.

Routine non recintate non consentite

Il seguente messaggio di errore indica che il database contiene routine non recintate:

Caught exception during executing task id 2, Aborting task. Reason Non fenced routines are not allowed. Please delete the routines and retry the restore.

RDSper Db2 non supporta routine non recintate. Rimuovi le routine non recintate dal database di origine, quindi richiama. rdsadmin.restore_database Per ulteriori informazioni, consulta Routine non recintate.

Tablespace non ripristinati

Il seguente messaggio di errore indica che RDS for Db2 ha ripristinato correttamente il database, ma non è stato possibile ripristinare uno o più tablespace:

Reason SQL0970N The system attempted to write to a read-only file. Reason SQL2563W The Restore process has completed successfully. However one or more table spaces from the backup were not restored.

RDSper Db2 non supporta l'archiviazione non automatica. Converti la memoria non automatica in una memoria automatica e poi richiama. rdsadmin.restore_database Per ulteriori informazioni, vedere Conversione di un database di archiviazione non automatico per l'utilizzo della memorizzazione automatica in IBM Db2 documentazione.

I database con SMS archiviazione non automatica richiedono il ripristino manuale. Se il database ha una SMS memorizzazione non automatica, contatta l'AWS assistenza.

Per informazioni sullo storage non automatico e sulle migrazioni una tantum, consulta. tablespace di archiviazione non automatici durante la migrazione