• 710 likes • 1.26k Views
Migrare da Oracle a SQL Server con SSMA. Agenda. La migrazione di database Perché migrare Le parti coinvolte Sfide, criticità e rischi di una migrazione manuale Migrare usando SSMA - benefici Processo di migrazione. La migrazione di database. Migrazione : Schema Dati.
E N D
Agenda • La migrazione di database • Perché migrare • Le parti coinvolte • Sfide, criticità e rischi di una migrazione manuale • Migrare usando SSMA - benefici • Processo di migrazione
La migrazione di database Migrazione: Schema Dati Re-host di un database da un RDBMS a un altro TRASFORMAZIONE: SQL statements Stored procedures Triggers Viste Record Cursori Sequenze User-defined functions Packaged functions Tabelle Indici Constraints Defaults SQL Server Oracle
PL/SQL T-SQL La migrazione di database Applicazione SQL Server Oracle
Oracle e SQL Server • Alcune differenze • Diverso modello di gestione delle transazioni • Data types diversi • Gestione eccezioni (solo SQL Server 2000) • Packages e package objects • Sequenze (Oracle) vs. identities (MSSQL)
Perchè migrare • Total cost of ownership (TCO) • Tempi e costi di produzione ridotti • Standardizzazione e consolidamento • Feature più robuste • Manuntenzione facilitata • Upgrade da un sistema “legacy”
Le parti coinvolte in una migrazione • SQL Statements • Stored Procedures • Triggers • Functions • Views • Constraints, indici e defaults • Data types • Gestione delle eccezioni • Data migration
Sfide • Implementazioni basate su cursori • Oracle system packages • Gestione delle eccezioni • Mostrare result set • Concatenare stringhe • Gestire SQL dinamico • Implementare trigger
Rischi di una migrazione manuale • Con una migrazione manuale si va incontro ai seguenti rischi da mettere in conto: • Mesi di lavoro • Può spesso costare più di 100K $ • Test: L’applicazione convertita alla fine funziona veramente ? • Le logiche di business e l’integrazione delle applicazioni sono spesso difficoltose da migrare • E le performance ? • Le operazioni critiche da un punto di vista del core business sono intaccate ?
Installazione • SSMA-V2-Setup
Installazione • Installazione delle estensioni per: • Oracle • SQL Server
Estensioni • Installing system database scripts... • Creating database with default parameters and server... • Changing null password for 'ssma' to inputted ... • Registering extended stored procedures... • Creating of all objects in database SYSDB for CONTEXT_INFO... • Creating package variables procedures... • Creating of all objects in database SYSDB for exception handling support... • Creating of all objects in database SYSDB for support of NULL statement... • Creating of all objects in database SYSDB for sequence handling support... • Installing scripts to emulate Oracle date/time manipulation functions... • Installing scripts to emulate Oracle mathematical functions...
Estensioni • Installing scripts to emulate Oracle miscellaneous functions... • Installing scripts to emulate Oracle string manipulation functions... • Creating of all objects in database SYSDB for implementation of package UTL_FILE... • Creating of all objects in database SYSDB for implementation utility routines... • Creating test platform database with default parameters and server... • Changing null password for 'dbtest' to inputted ... • Creating test platform database objects... • Installing MS SQL Server Server-Side Components ... • Setting Globalization Registry Key for server NBDIMAURO ... • Installing Extensions Library file for x86 architecture • Extract: SQLServerConverterExtensions.dll... 100% • Installation was successful.
Microsoft SSMA Suite completa di strumenti di migrazione • Valutazione • Migrazione • Test • Riduce clamorosamente i tempi di porting/conversione/migrazione • É prodotto da Microsoft • Download gatuito
Microsoft SSMA • Compatibilità • Oracle 8, Oracle 8i, Oracle 9i, Oracle 10g • SQL Server 2000, SQL Server 2005 • Prerequisiti • Windows 2000, XP, 2003 • Java runtime environment 1.4.2
Obiettivi • Ridurre i rischi di migrazione • Assicurare una migrazione corretta • Assicurare che i database migrati siano effettivamente funzionanti con le applicazioni • Assicurare che il nuovo database funzioni allo stesso modo o meglio del DB originale • Ridurre tempi e costi • Automatizzare parzialmente o completamente ampie porzioni di un progetto di conversione con SSMA
Processo di migrazione Assessment progetto Migrazione schema Migrazione dati Migrazione logica business Test codice migrato Migrazione applicazione Test e integrazione Performance tuning
Installazione e configurazione Extension Pack Extension Pack Connessione source Caricamento oggetti DB Generazione assessment reports Stima tempi Conversione oggetti Salvataggio script Migrazione dati Connessione target Esecuzione script salvati Test Redirect applicazione su DB target J2SE 1.4.2 Microsoft SSMA
Uno sguardo a SSMA Source DB - Object panel Source DB - Code panel Source panel Target DB - Code panel Target DB - Object panel Target panel
Menu • File e Tools:
Opzioni • Generate ROWID column • Genera nello schema di uscita una colonna rowid. Riduce notevolmente la percentuale di conversione di Trigger e Sp • Allow sequence-to-identity conversion • Trasforma sequence in colonne identity. Rappresenta la strada da preferire laddove percorribile • Allow insertion to IDENTITY columns • Se selezionato permette l’inserimento in colonne di tipo identity. Verificare compatibilità con la logica business
Opzioni • Show system sequences • Mostra le dialog per accedere alle sequenze di sistema. Abilitato soltanto se “Insert into identity” è attivo • Convert transaction processing statements • Abilita/disabilita la conversione di comandi SQL per le transazioni • Convert exceptions • Abilita o disabilita la conversione per la gestione di eccezioni
View – Zebra mode • Evidenzia con colori entità correlate
Processo di migrazione Assessment progetto Migrazione schema Migrazione dati Migrazione logica business Test codice migrato Migrazione applicazione Test e integrazione Performance tuning
Assessment di migrazione • Benefici • Integrato in SSMA • Valutazione della complessita della migrazione • Valutazione dei tempi di migrazione • Mostra la percentuale di oggetti immediatamente convertibili • I report possono essere salvati • Comprendere il tool di assessment • Creazione di report
Assessment di migrazione • Permette di valutare: • Numero totale di righe di codice. • Numero totale di statement SELECT, INSERT, DELETE e UPDATE • Numero totale di CURSORI, RECORD, e ECCEZIONI. • Numero totale e percentuale di componenti convertibili automaticamente. • Stima complessità migrazione. • Stima dei tempi necessari per migrare manualmente.
Assessment di migrazione • Comprendere il report di assessment • Total Objects • Numero totale di oggetti nel database. • Person Hours (tot) • Stima in ore per una conversione manuale • Complexity • Complessità del lavoro di traduzione • All (tot) • Numero complessivo di oggetti statement SELECT, INSERT, DELETE e UPDATE • SELECT (Conv%) • Percentuale di comandi SELECT che verranno convertiti automaticamente
Assessment di migrazione • Comprendere il report di assessment • Record Type Decl (Tot) • Numero complessivo di tipologie di dichiarazioni di record • Record Type Decl (Conv%) • Numero complessivo di dichiarazioni record convertibili automaticamente • Record Var Decl (Tot) • Numero complessivo di variabili record dichiarate • Record Var Decl (Conv%) • Numero complessivo di variabili record convertibili automaticamente
Assessment di migrazione • Comprendere il report di assessment • Record Var Uses (Tot) • Numero di variabili record dichiarate ed utilizzate • Record Var Uses Conv%) • Numero di variabili record convertibili automaticamente • Pragma • Numero di statment pragma • Rownum • Numero di statement rownum • Exception Handler • Numero di exception handlers • Unparsed (Tot)
Salvare il report • ... In formato csv
Opzioni • Generate expanded HTML database report • È il default. Genera il report in formato HTML esaustivo • Report directory • La cartella di output del report • Queries list • Informazioni statistiche ed altro
Processo di migrazione Assessment progetto Migrazione schema Migrazione dati Migrazione logica business Test codice migrato Migrazione applicazione Test e integrazione Performance tuning
Migrazione di schemi • È un processo suddiviso in due fasi: • Generazione degli script di creazione degli oggetti dello schema • Gli script creano tabelle e oggetti correlati • I tipi di dati corrispondenti vengono individuati cercando di evitare errori di troncamento delle informazioni • Deployment delle script • Sincronizzazione del database con SSMA • Gli script possono essere utilizzati direttamente con i tool di SQL Server
Migrazione di schemi • Conversione da PL/SQL a T-SQL • Tipi di dati diversi • Operatori diversi • Sintassi diverse • Oggetti diversi • Microsoft SSMA può: • Convertire • Emulare • Segnalare con dei warning
Code Panels View • SQL View
Code Panels View • Columns View
Code Panels View • Parsed SQL View • Con formattazione / indentazione
Code Panels View • Zebra Parsed SQL View • Relazioni tra src e dst evidenziate con colori !
Parameters View • Interfaccia dei parametri
Processo di migrazione Assessment progetto Migrazione schema Migrazione dati Migrazione logica business Test codice migrato Migrazione applicazione Test e integrazione Performance tuning