Le aree di lavoro di conversione ti consentono di risolvere i problemi di conversione, modificare gli oggetti con l'editor interattivo e applicare lo schema convertito al database di destinazione. Questa pagina fornisce una panoramica di tutte le azioni che puoi eseguire con gli spazi di lavoro per le conversioni.
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 Aree di lavoro della conversione e seleziona la tua area di lavoro.
- Nella scheda Oracle, accanto all'oggetto da rimuovere, selezionare > Rimuovi. Altro
- Nella finestra di dialogo di conferma Rimuovi oggetto, fai clic su Rimuovi.
- Aggiorna lo schema convertito. Fai clic su
Puoi esaminare lo schema convertito nella scheda Bozza Cloud SQL per PostgreSQL.
Converti origine.
Ora Database Migration Service analizza le modifiche e genera lo schema PostgreSQL aggiornato.
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 Aree di lavoro della conversione e seleziona la tua area di lavoro.
- 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 pulsante Filtra oggetti per ridurre il numero di oggetti visualizzati. Consulta Filtrare gli oggetti nella visualizzazione dello schema di origine
- Fai clic su Aggiungi oggetti.
- Aggiorna lo schema convertito. Fai clic su
Puoi esaminare lo schema convertito nella scheda Bozza Cloud SQL per PostgreSQL.
Converti origine.
Ora Database Migration Service analizza le modifiche e genera lo schema PostgreSQL aggiornato.
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 i mapping personalizzati esistenti nell'area di lavoro di conversione, a meno che tu non scelga esplicitamente di rimuovere i mapping personalizzati.
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 Aree di lavoro della conversione e seleziona la tua area di lavoro.
- Fai clic su > Esegui di nuovo il pull dello snapshot dello schema di origine. Modifica configurazione
- 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.
- Aggiorna lo schema convertito. Fai clic su
Puoi esaminare lo schema convertito nella scheda Bozza Cloud SQL per PostgreSQL.
Converti origine.
Ora Database Migration Service analizza le modifiche e genera lo schema PostgreSQL aggiornato.
Utilizzare le mappature delle conversioni personalizzate
Puoi personalizzare la logica di conversione con un file di mappatura delle conversioni. Il file di mappatura delle conversioni è un file di testo contenente istruzioni precise (chiamate direttive di conversione) su come gli oggetti Oracle devono essere convertiti in oggetti PostgreSQL.
Scrivere un file di mappatura personalizzato
Per scrivere i file di mappatura personalizzati:
Esamina l'elenco delle istruzioni di conversione supportate.
Utilizza il file di configurazione di esempio come punto di riferimento.
Scrivi le mappature delle conversioni personalizzate in un editor di testo e caricale nella tua area di lavoro della conversione.
Aggiungere file di mappatura personalizzati
Per aggiungere un file di mappatura delle conversioni personalizzate alla tua area di lavoro:
- Nella console Google Cloud, vai a Aree di lavoro della conversione e seleziona la tua area di lavoro.
- Nella pagina dell'editor delle conversioni, seleziona > Personalizza la mappatura con un file di configurazione. Modifica configurazione
- Nella casella File di configurazione, fai clic su Sfoglia e utilizza il selettore dei file di sistema per selezionare il file di configurazione.
- Fai clic su > Crea mappatura. Aggiungi file
Rimuovere i file di mapping personalizzato
Per rimuovere un file di mappatura delle conversioni personalizzate dallo spazio di lavoro:
- Nella console Google Cloud, vai a Aree di lavoro della conversione e seleziona la tua area di lavoro.
- Nella pagina dell'editor delle conversioni, seleziona > Rimuovi mappatura personalizzata. Modifica configurazione
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 di modifica 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 Aree di lavoro della 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 dei 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.
Risolvere i problemi relativi agli oggetti supportati dall'editor integrato
Per risolvere i problemi riscontrati con gli oggetti non supportati nell'editor dell'area di lavoro, esegui una delle seguenti operazioni:
-
Esamina i risultati della conversione e identifica i possibili problemi.
Puoi utilizzare la console Google Cloud per esaminare singoli oggetti o l'interfaccia a riga di comando gcloud per esaminare tutti gli oggetti collettivamente.
- Nella scheda Cloud SQL per PostgreSQL, utilizza l'editor SQL per aggiornare il codice generato.
- Testa lo schema per verificare che Database Migration Service possa applicare correttamente il codice al database di destinazione.
Risolvere i problemi relativi agli oggetti non supportati dall'editor integrato
Per risolvere i problemi riscontrati con gli oggetti non supportati nell'editor dell'area di lavoro, esegui una delle seguenti operazioni:
- Aggiorna gli oggetti difettosi nell'origine
- Per alcuni problemi, potrebbe essere necessario modificare l'istruzione Oracle
direttamente nel database di origine. Procedi nel seguente modo:
- Aggiorna lo schema e il codice direttamente nel database di origine.
- Estrai le origini aggiornate in Database Migration Service.
- Converti di nuovo le origini e controlla se i problemi persistono.
- Fornire mappature aggiuntive con un file di mappatura delle conversioni
-
Puoi utilizzare un file di mappatura delle conversioni per fornire definizioni precise su come Database Migration Service deve convertire determinati oggetti PostgreSQL. Per utilizzare un file di mappatura delle conversioni:
- Prova a rimuovere l'oggetto dalla scheda Origini
- Database Migration Service ti consente di convertire . Per sbloccare il processo di conversione, puoi decidere di esaminare più da vicino l'oggetto con problemi in un secondo momento. Rimuovi l'oggetto dalla scheda Origini.
Testa lo schema nella destinazione
Prima di applicare lo schema al database di destinazione, puoi eseguire un'esecuzione di prova per verificare in modo proattivo la presenza di eventuali problemi. Per eseguire il test, Database Migration Service crea un database temporário. L'esecuzione del test non influisce sull'istanza Cloud SQL di destinazione.
Assicurati che l'utente dedicato alla migrazione disponga dell'autorizzazione
CREATEDB
. Per saperne di più, consulta Creare e configurare l'istanza Cloud SQL di destinazione.Nella console Google Cloud, vai a Aree di lavoro della 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 > Test (consigliato).
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 pulsante Filtra oggetti 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 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. L'applicazione dello schema nella destinazione non altera i dati nel database di origine.
Nella console Google Cloud, vai a Aree di lavoro della 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 pulsante Filtra oggetti 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 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 Aree di lavoro della 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 contengono spesso 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 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:
