Verifica di una migrazione

Questa pagina descrive 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 di convalida dei dati open source.

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 la sezione Opzioni di connessione nella documentazione di Cloud SQL.

  2. Esegui 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';

Verificare i dati con lo strumento di convalida dei dati

Lo strumento di convalida dei dati open source consente di eseguire confronti 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 lo strumento di convalida dei dati.

  3. Vai a questa cartella.

  4. Utilizza pip per installare lo strumento di convalida dei dati.

    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. L'esecuzione di query su tabelle di grandi dimensioni potrebbe richiedere troppo tempo durante una piccola finestra di promozione. 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.