Verifica di una migrazione

Questa pagina descrive come verificare che la migrazione dei dati sia completa e accurata. Come minimo, devi eseguire istruzioni SQL per verificare che le tabelle esistano nel database Cloud SQL migrato. Per un confronto più preciso dei dati tra il database di origine e quello di destinazione, puoi provare a utilizzare lo strumento open source Data Validation Tool.

Verificare i dati di destinazione con le istruzioni SQL

Puoi eseguire istruzioni SQL per verificare che le tabelle esistano nel database Cloud SQL migrato. Segui questi passaggi:

  1. Connettiti all'istanza Cloud SQL per PostgreSQL con uno strumento in cui puoi eseguire comandi SQL sui database migrati.

    Per ulteriori informazioni sulla connessione alle istanze Cloud SQL, consulta Opzioni di connessione nella documentazione di Cloud SQL.

  2. Esegui i comandi SQL per verificare i dati migrati. Ad esempio:

    • Elenca tutte le tabelle nel database:
      SELECT * FROM pg_catalog.pg_tables;
    • Verifica i contenuti della tabella:
      SELECT * FROM TABLE_NAME';

Verificare i dati con lo strumento Data Validation Tool

Lo Data Validation Tool open source consente di eseguire confronti di dati molto precisi tra due database, ma richiede la creazione di connessione di rete ai database di origine e di destinazione.

I passaggi seguenti mostrano un esempio minimo:

  1. Esegui il deployment o utilizza una macchina virtuale con accesso sia all'origine sia alla destinazione.

  2. Nella macchina virtuale, crea una cartella in cui installare il Data Validation Tool.

  3. Vai a questa cartella.

  4. Utilizza pip per installare Data Validation Tool.

    pip install google-pso-data-validator
    
  5. Crea connessioni al database Oracle di origine e al database Cloud SQL per PostgreSQL di destinazione:

    data-validation connections add -c source Oracle --host 'ip-address' --port port --user username --password pswd --database database-name
    data-validation connections add -c target Postgres --host 'ip-address' --port port --user username --password pswd --database database-name
    

    Ad esempio:

    data-validation connections add -c source Oracle --host '10.10.10.11' --port 1521 --user system --password pswd --database XE
    data-validation connections add -c target Postgres --host '10.10.10.12' --port 5432 --user postgres --password pswd --database postgres
    
  6. Crea o genera un elenco di tabelle per confrontare i dati tra i database di origine e di destinazione:

    export TABLES_LIST=$(data-validation find-tables --source-conn source --target-conn target --allowed-schemas schema-name)
    

    Ad esempio:

    export TABLES_LIST=$(data-validation find-tables --source-conn source --target-conn target --allowed-schemas public)
    
  7. Esegui la convalida completa su tutte le tabelle:

    data-validation validate column --source-conn source --target-conn target --tables-list "${TABLES_LIST}"
    

Ti consigliamo di eseguire questa convalida durante la replica per garantire una coerenza relativa. Le query di tabelle di grandi dimensioni potrebbero richiedere troppo tempo per essere eseguite durante una piccola finestra di promozione. In questi casi, utilizza lo strumento Data Validation Tool per aggiungere filtri per ridurre il tempo di esecuzione o preparare l'elenco delle tabelle in modo da includere un sottoinsieme di tabelle per la convalida finale.