Verifica di una migrazione

In questa pagina viene descritto come verificare che i dati di cui è stata eseguita la migrazione siano completi e accurati. 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.

Verifica i dati di destinazione con istruzioni SQL

Puoi eseguire istruzioni SQL per verificare che le tabelle esistano nel database Cloud SQL di cui è stata eseguita la migrazione. Segui questi passaggi:

  1. Connettiti all'istanza Cloud SQL per PostgreSQL con uno strumento in cui puoi eseguire comandi SQL sui database di cui è stata eseguita la migrazione.

    Per saperne di più sulla connessione alle istanze Cloud SQL, consulta Opzioni di connessione nella documentazione di Cloud SQL.

  2. Esegui i comandi SQL per verificare i dati di cui è stata eseguita la migrazione. Ad esempio:

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

Verifica i dati con Data Validation Tool

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

I seguenti passaggi mostrano un esempio minimo:

  1. Esegui il deployment o utilizza una macchina virtuale con accesso sia all'origine che 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 lo strumento 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 su tabelle di grandi dimensioni potrebbero richiedere troppo tempo per l'esecuzione durante una finestra di promozione ridotta. In questi casi, utilizza lo strumento di convalida dei dati 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.