Questo documento spiega come utilizzare diverse aree di lavoro di conversione in Database Migration Service.
Utilizzare gli spazi di lavoro di conversione con l'editor integrato
Un'area di lavoro di conversione consente di trasformare lo schema e gli oggetti del database di origine in un formato compatibile per il tuo database di destinazione. L'area di lavoro ti consente di esaminare, modificare e applicare la struttura generale delle conversioni, ma non altera i dati nel database di origine.
Converti lo schema e il codice di origine
Quando configuri uno spazio di lavoro, Database Migration Service esegue il recupero iniziale dello schema e degli oggetti di codice del database di origine, dopodiché selezioni quelli da convertire (puoi aggiungere altri oggetti in un secondo momento). Questi oggetti ora vengono visualizzati nella scheda Oracle. Il riquadro Bozza Cloud SQL per PostgreSQL mostra lo schema e il codice PostgreSQL risultanti generati da Database Migration Service.
A questo punto, Database Migration Service mostra gli oggetti post-conversione previsti, non gli oggetti effettivi nell'istanza di destinazione.
Nella console Google Cloud , vai a Spazi di lavoro di conversione.
Nell'elenco degli spazi di lavoro della conversione disponibili, seleziona quello con cui vuoi lavorare.
Viene visualizzato l'editor dello spazio di lavoro della conversione.
(Facoltativo) Carica un file di configurazione Ora2Pg per fornire mappature aggiuntive per l'SQL generato:
Fai clic su Modifica configurazione > Personalizza la mappatura con un file di configurazione.
Nella casella File di configurazione Ora2Pg, fai clic su Sfoglia e utilizza il selettore file di sistema per selezionare il file di configurazione.
Fai clic su Aggiungi file > Genera.
(Facoltativo) Se hai già uno schema e un codice convertiti, ma vuoi aggiustare manualmente il codice SQL generato prima di eseguire di nuovo la conversione, svolgi i seguenti passaggi:
Nel riquadro Oracle, seleziona l'oggetto per cui vuoi modificare il codice SQL generato.
Vai alla scheda SQL ed esamina le istruzioni.
Modifica gli script in base alle esigenze del tuo scenario e fai clic su Salva.
Al termine di tutte le modifiche, fai clic su Converti origine.
Nella finestra di dialogo di conferma, fai clic su Converti.
Rimuovi gli oggetti dallo schema di origine
Rimuovi gli oggetti dallo schema di origine per escluderli dalla conversione. Se necessario, puoi aggiungere gli oggetti rimossi in un secondo momento.
Nella console Google Cloud , vai a Spazi di lavoro di conversione.
Nell'elenco degli spazi di lavoro della conversione disponibili, seleziona quello con cui vuoi lavorare.
Viene visualizzato l'editor dello spazio di lavoro della conversione.
Nella scheda Oracle, accanto all'oggetto da rimuovere, seleziona > Rimuovi.
AltroNella finestra di dialogo di conferma Rimuovi oggetto, fai clic su Rimuovi.
Esegui di nuovo la conversione dell'origine in modo che rifletta gli aggiornamenti nella scheda Bozza Cloud SQL per PostgreSQL.
Aggiungere oggetti allo schema di origine
Puoi aggiungere oggetti rimossi in precedenza dallo schema di origine per aggiungerli alla conversione.
Nella console Google Cloud , vai a Spazi di lavoro di conversione.
Nell'elenco degli spazi di lavoro della conversione disponibili, seleziona quello con cui vuoi lavorare.
Viene visualizzato l'editor dello spazio di lavoro della conversione.
Nella scheda Oracle, fai clic su
Aggiungi oggetti.Nella sezione Aggiungi oggetti, utilizza l'elenco di origine per selezionare tutte le entità da aggiungere allo schema di origine.
Puoi utilizzare il campo Filtro per ridurre il numero di oggetti visualizzati. Consulta Filtrare gli oggetti nella visualizzazione dello schema di origine.
Fai clic su Aggiungi oggetti.
Esegui di nuovo la conversione dell'origine in modo che rifletta gli aggiornamenti nella scheda Bozza di Cloud SQL per PostgreSQL.
Esegui il pull dello snapshot dello schema e del codice di origine
Puoi estrarre lo schema e il codice dal database di origine nell'area di lavoro di conversione in qualsiasi momento. L'estrazione dell'origine ti offre l'opportunità di aggiungere nuovi oggetti o di aggiornare quelli esistenti nella conversione.
L'estrazione dello schema e del codice del database aggiornato non reimposta le eventuali mappature aggiuntive esistenti nello spazio di lavoro di conversione dai file di configurazione Ora2Pg, a meno che non scelga esplicitamente di rimuovere le mappature personalizzate.
Inoltre, il recupero del codice sorgente non sostituisce le modifiche SQL agli oggetti del codice. Puoi reimpostare queste modifiche direttamente a livello di oggetto.
Nella console Google Cloud , vai a Spazi di lavoro di conversione.
Fai clic su Modifica configurazione > Esegui di nuovo il pull dello snapshot dello schema di origine.
Nella finestra di dialogo:
- (Facoltativo) Seleziona Reimposta mapping personalizzato per rimuovere le mappature personalizzate e le modifiche DDL esistenti.
- Fai clic su Esegui il pull dello snapshot dello schema.
Database Migration Service estrae il nuovo snapshot dal database di origine. Al termine dell'operazione, converti di nuovo la sorgente.
Esamina i risultati della conversione
Dopo aver eseguito la conversione dell'origine, puoi esaminare i risultati della conversione e i possibili problemi per ogni singolo oggetto convertito nell'area editor dell'area di lavoro. Puoi anche utilizzare Google Cloud CLI per salvare tutti i risultati e i problemi in blocco in un file di testo.
Console
Nella console Google Cloud , vai a Spazi di lavoro di conversione.
Fai clic sul nome visualizzato dello spazio di lavoro per le conversioni con cui vuoi lavorare.
Viene visualizzato l'editor dello spazio di lavoro della conversione.
Seleziona la scheda Oracle e individua l'oggetto per cui vuoi esaminare i risultati di conversione nella tabella della visualizzazione ad albero.
Seleziona l'oggetto. Utilizza le schede SQL e Problemi di conversione per esaminare la conversione.
gcloud
Con Google Cloud CLI puoi stampare tutti i risultati o i problemi di conversione sul terminale. Reindirizza l'output a un file per rivedere più facilmente gli oggetti collettivamente.
Visualizzare un elenco di risultati di conversione
gcloud CLI mostra i risultati della conversione nel terminale sotto forma di istruzioni Data Definition Language (DDL). Per salvare i risultati della conversione in un file, esegui il seguente comando:
gcloud database-migration conversion-workspaces describe-ddls \
CONVERSION_WORKSPACE_ID \
--region=REGION_ID \
> OUTPUT_FILE_PATH
Sostituisci:
CONVERSION_WORKSPACE_ID
con l'identificatore dell'area di lavoro della conversione. Per informazioni su come recuperare gli identificatori dello spazio di lavoro della conversione, consulta Visualizzare i dettagli dello spazio di lavoro della conversione.REGION_ID
con il nome della regione in cui si trova lo spazio di lavoro della conversione.OUTPUT_FILE_PATH
con il percorso del file di testo in cui vuoi salvare l'output.Esempio:
gcloud database-migration conversion-workspaces describe-issues \ my-conversion-workspace \ --region=us-central1 \ > ./my-conversion-issues.txt
Risultato:
I risultati della conversione dello schema vengono salvati in un formato di testo in cui la prima riga è
DDLs
e le righe successive sono occupate da istruzioni SQL:DDLs CREATE SCHEMA IF NOT EXISTS "SCHEMA1"; ALTER TABLE "SCHEMA1"."EMPLOYEES" ADD CONSTRAINT PK_ID PRIMARY KEY ("ID"); CREATE OR REPLACE FUNCTION mockschema.func_test_datatype(str1 VARCHAR(65000)) RETURNS DECIMAL LANGUAGE plpgsql AS $$ DECLARE str2 VARCHAR(100); BEGIN SELECT employees.first_name INTO STRICT STR2 FROM mockschema.employees WHERE employees.employee_id = CAST(FUNC_TEST_DATATYPE.str1 as DECIMAL) ; RAISE NOTICE '%', concat('Input : ', FUNC_TEST_DATATYPE.str1, ' Output : ', str2); RETURN 0; END; $$; CREATE OR REPLACE PROCEDURE greetings AS BEGIN dbms_output.put_line('Hello World!'); END; CREATE SYNONYM TABLE "SCHEMA1"."SYNONYM1" ON "SCHEMA1"."EMPLOYEES"; CREATE OR REPLACE VIEW "SCHEMA1"."VIEW1" AS SELECT * FROM JOBS;
Visualizzare un elenco di problemi di conversione
Per salvare i problemi di conversione in un file, esegui il seguente comando:
gcloud database-migration conversion-workspaces describe-issues \
CONVERSION_WORKSPACE_ID \
--region=REGION_ID \
> OUTPUT_FILE_PATH
Sostituisci:
-
CONVERSION_WORKSPACE_ID
con l'identificatore dell'area di lavoro della conversione. Per informazioni su come recuperare gli identificatori dello spazio di lavoro della conversione, consulta Visualizzare i dettagli dello spazio di lavoro della conversione. -
REGION_ID
con il nome della regione in cui si trova lo spazio di lavoro della conversione. -
OUTPUT_FILE_PATH
con il percorso del file di testo in cui vuoi salvare l'output.
Esempio:
gcloud database-migration conversion-workspaces describe-issues \
my-conversion-workspace \
--region=us-central1 \
> ./my-conversion-issues.txt
Risultato:
Tutti i problemi di conversione contenuti nello spazio di lavoro vengono salvati in un formato di testo in cui la prima riga contiene le intestazioni delle colonne e ogni riga successiva contiene un problema di conversione distinto:
PARENT NAME ENTITY_TYPE ISSUE_TYPE ISSUE_SEVERITY ISSUE_CODE ISSUE_MESSAGE
SCHEMA1 EMPLOYEES TABLE DDL ERROR 500 unable to parse DDL.
SCHEMA1 EMPLOYEES TABLE CONVERT WARNING 206 no conversion done.
SCHEMA1 STORED_PROCEDURE1 STORED_PROCEDURE DDL ERROR 500 invalid DDL.
SCHEMA1 SYNONYM1 SYNONYM CONVERT WARNING 206 synonym warning message.
Risolvi i problemi di conversione
Database Migration Service potrebbe non essere in grado di convertire automaticamente l'intera origine.
Per la maggior parte degli oggetti Oracle, puoi utilizzare l'editor di conversione direttamente in Database Migration Service per modificare il codice SQL generato. Per altri, potresti dover modificare l'oggetto direttamente nel database di origine e poi eseguire nuovamente il pull dello snapshot di origine.
Per un elenco completo degli oggetti che Database Migration Service supporta per la modifica direttamente nell'area di lavoro di conversione, consulta Oggetti Oracle modificabili.
Per risolvere i problemi di conversione riscontrati con gli oggetti che supportano l'editing in tempo reale:
Esamina i risultati della conversione e identifica i possibili problemi.
Puoi utilizzare la console Google Cloud per esaminare singoli oggetti o gcloud CLI per esaminare tutti gli oggetti collettivamente.
Nella scheda Bozza di Cloud SQL per PostgreSQL, utilizza l'editor SQL per aggiornare il codice generato.
Esegui il test dell'applicazione per verificare che Database Migration Service possa applicare correttamente il codice al database di destinazione.
Per risolvere i problemi di conversione riscontrati con gli oggetti non supportati nell'editor dell'area di lavoro, esegui una delle seguenti operazioni:
Aggiorna l'origine:
- Aggiorna lo schema e il codice direttamente nel database di origine.
- Esegui il pull delle origini aggiornate in Database Migration Service.
- Riconverti le origini e controlla se i problemi persistono.
Fornisci mappature aggiuntive utilizzando lo strumento di configurazione Ora2Pg:
- Configura Ora2Pg e crea un file di mappatura per l'oggetto difettoso.
- Aggiungi il file di configurazione allo spazio di lavoro. Consulta Modificare gli spazi di lavoro della conversione.
Prova a rimuovere l'oggetto dalla scheda Origini e a eseguire di nuovo la conversione dello schema.
Modifica il codice direttamente nell'istanza di destinazione. Assicurati di non aggiornare gli oggetti che possono influire sulle mappature.
Testa l'applicazione nella destinazione
Prima di applicare lo schema al database di destinazione, puoi eseguire un'applicazione di test che non influisce sull'istanza Cloud SQL di destinazione. Il test dell'applicazione dello schema può aiutarti a verificare in modo proattivo la presenza di possibili problemi.
Nella console Google Cloud , vai a Spazi di lavoro di conversione.
Fai clic sul nome visualizzato dello spazio di lavoro per le conversioni con cui vuoi lavorare.
Viene visualizzato l'editor dello spazio di lavoro della conversione.
Fai clic su Applica alla destinazione > Esegui test (opzione consigliata).
Viene visualizzata la procedura guidata per l'applicazione dello schema al database di destinazione.
Nella sezione Definisci destinazione, seleziona il profilo di connessione che fa riferimento al database di destinazione.
Fai clic su Definisci e continua.
Nella sezione Seleziona gli oggetti ed esegui il test dell'applicazione, seleziona gli schemi delle entità di database che vuoi testare per il database di destinazione.
Puoi utilizzare il campo Filtro per ridurre il numero di oggetti visualizzati. Consulta Filtrare gli oggetti nella visualizzazione dello schema di origine.
Fai clic su Testa applicazione.
Puoi esaminare lo stato della richiesta nella scheda Bozza Cloud SQL per PostgreSQL.
Applica lo schema alla destinazione
Quando lo schema che vuoi utilizzare nel database di destinazione viene convertito in base ai tuoi requisiti e mapping, puoi applicare i risultati al database di destinazione.
Nella console Google Cloud , vai a Spazi di lavoro di conversione.
Fai clic sul nome visualizzato dello spazio di lavoro per le conversioni con cui vuoi lavorare.
Viene visualizzato l'editor dello spazio di lavoro della conversione.
Fai clic su Applica alla destinazione > Applica.
Viene visualizzata la procedura guidata per l'applicazione dello schema al database di destinazione.
Nella sezione Definisci destinazione, seleziona il profilo di connessione che fa riferimento al database di destinazione.
Fai clic su Definisci e continua.
Nella sezione Esamina gli oggetti e applica la conversione alla destinazione, seleziona gli schemi delle entità di database che vuoi creare nel database di destinazione.
Puoi utilizzare il campo Filtro per ridurre il numero di oggetti visualizzati. Consulta Filtrare gli oggetti nella visualizzazione dello schema di origine.
Fai clic su Applica alla destinazione.
Puoi esaminare lo stato della richiesta nella scheda Bozza Cloud SQL per PostgreSQL.
Creare un job di migrazione dall'editor di conversione
Puoi creare un job di migrazione che utilizza lo spazio di lavoro delle conversioni direttamente dall'interfaccia di Editor delle conversioni.
Nella console Google Cloud , vai a Spazi di lavoro di conversione.
Fai clic sul nome visualizzato dello spazio di lavoro per le conversioni con cui vuoi lavorare.
Viene visualizzato l'editor dello spazio di lavoro della conversione.
Fai clic su Crea job di migrazione.
Procedi con i passaggi standard del job di migrazione, come descritto in Creare un job di migrazione.
Filtrare gli oggetti nella visualizzazione dello schema di origine
Gli schemi di database spesso contengono migliaia di oggetti, il che rende difficile eseguire la conversione in parti. Quando aggiungi oggetti dall'istantanea dello schema alla visualizzazione dello schema di origine, puoi utilizzare i filtri per limitare il numero di oggetti visualizzati. I filtri ti consentono di aggiungere oggetti in modo più granulare e di concentrarti sulla conversione di un sottoinsieme selezionato dello schema.
Utilizza la visualizzazione filtrata quando aggiungi oggetti alla visualizzazione dello schema di origine:
Nel campo Filtro, utilizza uno dei seguenti metodi di filtro:
Nell'elenco Proprietà, seleziona una delle seguenti opzioni suggerite automaticamente:
- Nome oggetto per filtrare gli oggetti in base a un nome, ad esempio
ADMIN
. - Tipo di oggetto per filtrare gli oggetti in base a diversi tipi, ad esempio Funzione o Tabella.
- Stato conversione per filtrare gli oggetti in base allo stato di conversione, ad esempio Azione richiesta o Nessun problema.
Puoi combinare le proprietà filtro con gli operatori logici.
- Nome oggetto per filtrare gli oggetti in base a un nome, ad esempio
Inserisci la query. Ad esempio:
type=table
.Per ulteriori informazioni sulla sintassi di filtro, consulta la sezione Sintassi di filtro supportata.
Seleziona gli oggetti da aggiungere alla visualizzazione dello schema di origine.
Sintassi di filtro supportata
Puoi filtrare gli oggetti per nome con una ricerca di testo libero di base o utilizzare una proprietà type
dedicata.
Entrambi gli approcci supportano la specifica formale dell'API Google per i filtri,
il che significa che puoi utilizzare letterali con caratteri jolly, nonché operatori di confronto e logici.
- Filtro del testo libero
-
Utilizza il testo libero per filtrare gli oggetti in base al nome. Questo approccio è sensibile alle maiuscole e supporta i caratteri jolly.
Esempio:
La query
*JOB*
utilizza i caratteri jolly per cercare le entità che contengono la sottostringaJOB
. La visualizzazione filtrata restituisce alcune tabelle e una stored procedure: - Filtra utilizzando la proprietà
type
-
Puoi filtrare gli oggetti in base a tutti i tipi standard supportati in Database Migration Service.
La proprietà
type
supporta i seguenti valori letterali con gli operatori di uguaglianza (=
) e di disuguaglianza (!=
):database
,schema
,table
,column
,index
,sequence
,stored_procedure
,function
,view
,synonym
,materialized_view
,udt
,constraint
,database_package
,trigger
eevent_trigger
.Esempio:
Il filtro
type=table
restituisce solo le tabelle presenti nel tuo schema:
Combinare le condizioni di filtro
Puoi specificare più condizioni combinandole con operatori logici.
Ad esempio, per cercare esclusivamente tabelle i cui nomi contengono le sottostringhe JOB
o EMPLOYEE
, utilizza questa query:
type=table AND (*JOB* OR *EMPLOYEE*)
Di conseguenza, il filtro mostra tutte le tabelle corrispondenti:
Utilizzare gli spazi di lavoro di conversione legacy
Le aree di lavoro di conversione legacy sono aree di lavoro di sola lettura che servono ad accoppiare i file di configurazione Ora2Pg con un profilo di connessione.
Converti lo schema di origine
Per le aree di lavoro legacy, puoi convertire lo schema utilizzando lo strumento di migrazione Ora2Pg direttamente nel database di origine. La conversione dello schema viene gestita al di fuori di Database Migration Service. Consulta Prepararsi alla conversione dello schema.
Database Migration Service esegue la conversione dello schema di origine quando crei l'area di lavoro di conversione precedente. Se vuoi aggiornare le mappature, ricrea l'area di lavoro precedente con il file di configurazione aggiornato.
Applica alla destinazione
Dopo aver creato il file di configurazione Ora2Pg e l'area di lavoro, devi applicare autonomamente il codice generato direttamente al database di destinazione. Se devi modificare la conversione, modifica il file di configurazione Ora2Pg e ricrea l'area di lavoro legacy con nuove impostazioni.