Guida passo per passo. Migrazione di database usando Wizard, Studio e Commander. Basata sulla migrazione da Oracle a PostrgreSQL (Greenplum) Versione 1.0 Copyright 1999-2013 Ispirer Systems Ltd. Ispirer e SQLWays are sono i marchi registrati di Ispirer Systems Ltd. Tutti gli altri nomi di prodotti possono essere i marchi registrati delle aziende corrispondenti. Tutti i diriitti riservati. www.ispirer.it
Contenuti SQLWays Wizard Pagina di benvenuto...3 Scegliere un database di partenza...3 Scegliere un database di destinazione...4 Specificare oggeti di database o query...5 Specificare DDL(Data Definition Language) e Opzioni di Dati...6 Specificare Opzioni di file di Export...9 Specificare Opzioni di Import...10 Rivedere le selezioni...11 Stato di migrazione...11 SQLWays Studio SQLWays Commander Direttorio di Export I file Log...16 I file Batch (solo per SQLWays Wizard)...17 File DDL e File di Dati...18
SQLWays Wizard SQLWays Wizard è stato creato con lo scopo di convertire i vari database usando la connessione ODBC. Questo tool possiede varie opzioni che vi aiutano a fare il tuning del vostro progetto di migrazione per rispondere ai vostri bisogni per quanto possibile. Pagina di benvenuto Questo è lo schermo di benvenuto che potete vedere appena lanciate SQLWays Wizard. In questa pagina c'è l'opzione che si chiama Select a Project Directory or Create a New Project ("Scegliere un direttorio del progetto o creare un progetto nuovo"). Tutta l'informazione della vostra conversione corrente, per esempio, il mapping di tipo di dato, il mapping di nomi di oggetti, ecc. viene mantenuta in una cartella che è specificata in questa opzione. Dopo che la prima conversione viene completata potete specificare il progetto esistente, dunque tutte le opzioni saranno restituite automaticamente. Scegliere un database di partenza Se premete Next > ("Avanti") potete vedere la pagina come quella seguente:
In questa pagina si deve specificare User (Utente) o System DSN che corrispondono a un database di partenza. Premendo il bottone New... ("Nuovo...") potete creare un DSN nuovo per connettersi al database. Potete anche scegliere un file DSN se mantenete gli impostazioni della connessione ODBC in un file. Dovete anche specificare il nome dell'utente e il password per la connessione al database. Un checkbox Save Password ("Ricordare il password") è necessario per ricordare il password per la prossima sessione se avete pianificato di usare il progetto corrente più di una volta. Se premete Next> ("Avanti") SQLWays prova di connettersi al database di partenza e leggere l'informazione su oggetti che si trovano lì. Scegliete un database di destinazione Prima di tutto bisogna specificare un database di destinazione dalla lista a cascata. Si può anche specificare una versione del database di destinazione. Alcune conversioni si distinguono secondo la versione specificata. Tutto il resto dell'informazione è necessario per la connessione al darabase quando inizia l'importo degli oggetti convertati. HOST - è un nome del server dove si trova il database di destinazione. PORT è un porto che viene usato per la connessione al database. Il nome dell'utente e il password credenziali che sono necessarie per entrare al database di destinazione. Quando premete il bottone Advanced... potete vedere lo schermo seguente:
In Bin directory si deve specificare la via che porta al database di destinazione. Quindi, il nostro tool lavora con il database di partenza usando la connessione ODBC e con i database di destinazione usando i loro tool nativi. Nella maggior parte dei casi il nostro tool può identificare la via verso un tool nativo da solo dal Registro (Registry) del vostro sistema. Consigliamo a voi di specificare questa via in anticipo. Tutte le altre opzioni su questa pagina sono specifiche per ogni database, però sono molto semplici. Questa è l'opzione principale su questa pagina. Specificare oggeti di database o query Su questa pagina a sinistra potete vedere tutti gli oggetti che esistono in un database di partenza, come per esempio tabelle, viste, stored procedure, ecc. A destra potete vedere gli oggetti da convertire. Se all'inizio avete specificato il progetto esistente di SQLWays, gli oggetti scelti durante la sessione precedente saranno descritti automaticamente nel campo destro. Su questa pagina potete anche specificare un filtro per descrivere gli oggeti particolari necessari solo per questo progetto. Si trova sotto il bottone *.*.
In questo campo potete aggiungere alcuni filtri per oggetti diversi di database. Per aggiungere un filtro premete il bottone Add ("Aggiungere"), per eliminare il bottone Remove ("Eliminare"). Se un filtro viene aggiunto nel campo sinistro, vedrete gli oggeti che corrispondono a un filtro scelto da voi, quindi si può scegliere gli oggetti da convertire tra loro. Specificare DDL(Data Definition Language) e Opzioni di Dati Su questa pagina potete specificare opzioni per gli scelti oggetti per accordare la conversione ai vostri bisogni. In questa Guida solo alcune di loro sono descritti, quelli che sono usate più spesso. La prima opzione, che vorremmo descrivere, si chiama Omit schema names in SQL scripts ("Omettere i nomi di schema negli script SQL"). Questa opzione ha 3 valori: Yes, No, Default. Se viene scelta l'opzione Yes ("Si"), i nomi dello schema saranno esclusi da ogni apparenza negli script risulti (da stored procedure, funzioni, nomi di tabelle, ecc. ). Se viene scelta l'opzione No, un nome dello schema sarà lasciato prima del nome di un oggetto o aggiunto il nome default dello schema (solo per MSSQL Server). Se viene scelta l'opzione Default, il comportamento dipende da un database di destinazione. Se l'opzione Omit schema names in SQL scripts ("Omettere i nomi di schema negli script SQL") è specificata con No o Default, l'altra opzione sarà disponibile Change schema name to ("Cambiare il nome dello schema a"). Questa opzione cambia tutti i nomi dello schema verso uno schema particolare che viene specificata in una casella di testo. Ancora una opzione utile si chiama Generate DROP TABLE statement ("Generare un'istruzione DROP TABLE"). Questa opzione non viene scelta per l'impostazione predefinita. Se si sceglie questa opzione, per ogni tabella in un database convertata viene aggiunta un'istruzione drop. Questo è utile se non siete sicuri se questa tabella esiste o no, oppure se volete importare ancora una volta il DDL di una tabella. Ora clicchiamo la scheda Object Names ("Nomi di oggetti").
In questa scheda fermate la vostra attenzione sull'opzione Replace reserved words ("Spostare parole riservate"). Il nostro tool può trattare le situazioni quando una parola in un database di partenza non è riservata e in un database di destinazione invece è riservata. In questo caso una parola viene delimitata con virgolette. Usando l'opzione Replace reserved words ("Spostare parole riservate") potete cambiare questo comportamento e specificare, per esempio, r_%rword%, quindi tutte le parole reservate in questo caso saranno precedute con r_. Ora scegliamo Tables ("Tabelle") nel campo sinistro. Potete vedere le stesse opzioni che vedete nell'immagine qui sotto. In SQLWays abbiamo due tipi di mapping. Il primo è Global Data Type mapping e il secondo è Local Data Type mapping. Se scegliete Tables ("Tabelle") nel campo sinistro potete cambiare Global Data Type mapping. La conversione di ogni tipo può essere cambiata per tutta la conversione. Per vedere Local Data Type mapping avete bisogno di scegliere una delle tabelle come in un'immagine qui sotto e cliccare la scheda DDL options.
Potete vedere la lista di colonne con i tipi di dato corrispondenti. In questa scheda possiamo cambiare la conversione di ogni colonna, oppure perfino escludere una colonna dalla conversione. Per favore, prestate la vostra attenzione sul fatto, che i cambiamenti di Local Data Type mapping hanno la priorità sui cambiamenti di Global Data Type mapping. Potete anche cambiare i nomi di colonne se cambierete Data Type Mapping dalla lista a cascata per Column Name Mapping come nell'immagine qui sotto. Tornate a Tables ("Tabelle") e scegliete la scheda Data Options ("Opzioni di dati"). Qui potete vedere alcune opzioni addizionali che corrispondono alla migrazione di dati. L'opzione maggiore qui si chiama Export Data. Questa opzione è utile se non volete convertire e trasferire i dati. Se l'opzione unchecked data non sarà convertata, solo DDL sarà convertato.
C'è un'altra opzione Generate DDL ( potete vederla nell'immagine qui sotto) che permette di migrare solo i dati senza la conversione di istruzioni DDL. Questa è l'opzione più importane su questa pagina. Specificare Opzioni di file di Export La prima opzione è Export Directory. Questa opzione contiene la via verso la cartella dove i file generati da SQLWays saranno messi dopo la conversione. Questo è utile per l'importazione di file verso un database di destinazione. Potete cominciare l'importazione da questo direttorio quandunque.
La prossima opzione utile si chiama Run in trace mode. Questa opzione genera l'informazione addizionale sulla conversione in un file sqlways.trc (questo file è utile per i nostri sviluppatori) e aggiunge il codice sorgente commentato di un oggetto convertato in un file risultante. La prossima opzione Divide data file into parts" ("Dividere i file di dati a parti"). Questa opzione è utile se un file di dati generato è troppo grande per mantenerlo nel sistema operativo, quindi si può dividerlo in due parti. Per esempio, possiamo dividere un file di dati grande che fin dal principio contiene alcuni G di dati, al numero di file appropriato con le dimensioni di 100M. Specificare Opzioni di Import Questa pagina corrisponde alle opzioni di importazione. Qui potete specificare dove viene effetuata l'importazione, il sistema operativo del computer remoto (se l'importazione viene effetuata direttamente nel sistema remoto) o la sequenza della migrazione. Esaminiamo ogni opzione di questa pagina più profondamente.. La prima opzione è Import to local or remote target database will be executed from the local system ("L'importazione verso il database di destinazione locale o remoto sarà eseguita dal sistema locale"). Si usa questa opzione se c'è bisogno di migrare DDLs e dati direttamente dalla vostra macchina locale verso il database di destinazione. Questa opzione è un'impostazione predefinita. Insieme con questa opzione potete provare l'opzione Start import automatically ("Avviare l'importazione automaticamente"). Se avete scelto questa opzione, l'importazione inizia subito dopo l'esportazione e la conversione di tutti gli oggetti scelti da voi. La prossima opzione Import will be executed directly on a remote system (transfer of export files required) ("L'importazione sarà effettuata direttamente sul sistema remoto (trasferimento di file di export è necessario)"). Si deve scegliere questa opzione se volete avviare l'importazione da un'altra macchina. In questo caso potete scegliere il sistema operativo della macchina remota, se è il sistema UNIX si deve specificare la via verso shell. Anche in questo caso dovete specificare la via verso il direttorio di esportazione nel sistema remoto, dove i file convertati sono trasferiti. Potete anche specificare il direttorio LOB. Attenzione se avete deciso di avviare l'importazione dalla macchina remota dovete trasferire a mano i file convertati su questa macchina.
Rivedere le selezioni Su questa pagina potete vedere l'informazione sommaria riguardo alla vostra conversione prima di avviare l'esportazione. Dopo che premerete il bottone Next ("Avanti"), l'esportazione inizierà. Stato di migrazione Su questa pagina potete vedere lo stato della conversione e i risultati subito dopo l'esportazione. Se avete scelto l'opzione Start import automatically ("Avviare l'importazione automaticamente") potete anche controllare lo stato dell'importazione. Se no, cliccate il bottone Start Import ("Iniziare l'importazione") per avviare l'importazione a mano. Il bottone View Export... ("Vedere l'esportazione") apre la cartella dell'esportazione con i file convertati. Il bottone View Report... ("Vedere il report") apre un rapporto breve nel vostro browser per vedere i risultati della conversione. Il bottone Send to Support... ("Mandare al Supporto") genera un esempio della lettera q con i file allegati sqlways.log e sqlways_imp.log che si può mandare al nostro Team del Supporto.
SQLWays Studio Si usa questo tool per la conversione degli script. Generalmente il tool viene usato per la conversione di singoli script a controllare i risultati della conversione. In Studio potete aprire i file esistenti o creare i file nuovi per la Conversione Veloce e copiare alcune istruzioni, procedure o qualcos'altro in un file vuoto. Per convertire in SQLWays Studio, prima di tutto, avete bisogno di specificare i database di partenza e di destinazione dalla lista a cascata corrispondente: Si deve mettere uno script sorgente nel campo sinistro e quello di destinazione apparirà a destra. Premi il bottone per avviare la conversione. Nel campo abbasso potete vedere l'intero processo della conversione e i risultati (riuscita o no). Si può trovare l'informazione utile in questo campo. Prima di tutto, la prima ordine vi dimostra quale riga di comando è stata usata per effettuare la conversiione. Ogni script convertato ha il suo stato che dimostra che è convertato normalmente o con qualche sbaglio. E finalmente - l'informazione totale. Per esempio, se convertiamo uno script dall'immagine qui sopra, riceveremo l'informazione totale seguente sulla conversione:
Total: 1 script(s), 1 Ok, 0 Failed, 8 line(s), 4 sec Significa che abbiamo uno script in questa sessione che è stato convertato regolarmente. Lo script contiene 8 linee e è stato convertato in 4 seconde. Ancora una caratteristica utile in Studio è quella che potete convertire una istruzione sola selezionata da voi. Per esempio, scegliamo solo un'istruzione SELECT dalla procedure convertata e SQLWays studio converterà solo questa istruzione. Insomma, di solito il tool Studio viene usato per la conversione di singoli script per garantire il controllo veloce di risultati della conversione a un cliente.
SQLWays Commander Si usa questo tool per convertire un set di script, una cartella oppure tutti e due. Opzioni della conversione sono impostati nello stesso modo come in Studio. Si deve specificare i database di partenza e di destinazione e avviare la conversione. La caratteristica principale di questo tool è quella che si può convertire anche i file multipli. Possiamo scegliere uno, due o più file in qualunque ordine e premere il bottone per iniziare la conversione. Prestate la vostra attenzione sul fatto che i file sorgenti si trovano sempre nel campo sinistro. Il campo destro di solito lavora come una cartella dove si trovano i risultati della conversione. Quando premete il bottone per iniziare la conversione, appare la finestra seguente: Qui confermiamo i database di partenza e di destinazione e anche una cartella di destinazione. Dopo che la conversione sarà finita, potete cliccare sul risultato per controllarlo. Sarà aperto come un file di testo in un campo appropriato. Potete vedere il file sorgente nello stesso modo.
Convertiamo tutta la cartella nello stesso modo come convertiamo uno script. Si deve soltanto scegliere la cartella e avviare la conversione. La finestra della conferma avrà in questo caso solo una opzione addizionale - una maschera file. In questa opzione potete specificare quale maschera deve essere applicata dal nostro tool per scegliere i file appropriati per la conversione. Per esempio, se vogliamo convertire tutti i file dobbiamo specificare una maschera *.*, ma se vogliamo convertire tutti i file con l'estensione sql, dobbiamo specificare una maschera *.sql. Allora, lo scopo maggiore di SQLWays Commander è convertire i file multipli o una cartella con un filtro nel modo di una maschera.
Direttorio di Export Dopo la migrazione in una cartella di esportazione ci sarannò generati molti file con estensioni e missioni diverse. Questi file sono molto utili per il controllo di risultati dell'esportazione e importazione. In questo capitolo descriveremo il loro significato. Dopo la fase dell'esportazione è finita, in una cartella di esportazione riceverete i file divisi tra i gruppi seguenti: i file Log, i file batch, i file ddl e i file di dati. I file Log In questo gruppo avrete tre file (se farete i passi requisiti). Il primo file sqlways.log Questo file contiene l'informazione generale sulla fase di esportazione. In questo file si può ricevere l'informazione seguente: La versione di SQLWays usata per la conversione, la riga di comando usata per avviare la conversione, l'informazione sugli errori se sono apparsi durante la conversione e l'informazione generale sulla fase di esportazione. Consigliamo a controllare i file log dopo ogni esportazione per identificare se ci sono degli errori oppure no. Il prossimo file sqlways_imp.log. Questo file contiene l'informazione sulla fase di importazione e viene creato dopo la fase corrispondente.
In questo file potete trovare l'informazione seguente: Versione di SQLWays usata per la migrazione; l'informazione su ogni convertato oggetto e su errori se c'erano degli errori durante la migrazione. Il terzo file sqlways.trc Questo file contiene l'informazione dettagliata sulla fase di esportazione. Questo file viene generato soltanto se l'opzione Run in Trace mode sulla pagina Specify Export File Options e stata scelta. L'informazione da questo file è molto utile per il team di nostri sviluppatori per identificare le questioni complicate nel nostro tool. I file Batch (solo per SQLWays Wizard) Se l'opzione Generate import scripts sulla pagina Choose a Target Database viene scelta, dopo la conversione nel direttorio di esportazione i file batch saranno generati che hanno i comandi appropriati per importare ogni oggetto. Allo stesso tempo, sarà creato un file batch generale con il nome sqlways_all.bat che avvia tutti gli altri file. Per esempio, qui sotto potete vedere uno dei file batch che contiene un comando per avviare un file sql con un'istruzione di una procedure create. Per iniziare l'importazione di tutti gli oggetti a mano potete avviare un file sqlways_all.bat. Il file avvierà l'importazione di tutti gli oggetti specificati.
Potete iniziare sia l'esportazione che l'importazione da una cartella di Export. Per farlo si deve soltanto avviare un file sqlways_exp_imp.bat I file DDL e i File di Dati I file DDL e i file di dati sono i file più importanti per l'importazione. Possono avere tre estensioni diverse *.sql, *.ldi (solo per SQLWays Wizard), *.txt (solo per SQLWays Wizard). I file SQL contengono la definizione di istruzioni SQL che vengono eseguite durante l'importazione. Se l'opzione Run in trace mode è scelta insieme con istruzioni SQL, un'istruzione sorgente SQL viene generata come un commento. In questo caso potete comparare un'istruzione di partenza con un'istruzione di destinazione e controllare se la conversione funziona bene. Per esempio, qui sotto l'immagine dimostra un'istruzione di procedure Create con la sorgente commentata: Un file LDI contiene un comando per iniziare il caricamento di dati su un database di destinazione. Per esempio, dall'immagine qui sotto potete vedere un comando che avvia il caricamento di dati verso un database PostgreSQL DB. I file TXT contengono i dati che vengono trasferiti verso un database di destinazione con l'aiuto di un comando da un file *.ldi.