Ispirer Migration and Modernization Toolkit est capable de convertir des schémas de base de données (DDL), des données et la logique métier d'Oracle vers HiRBD et peut être personnalisé selon les demandes de votre projet de migration.
Cette démo montre comment Ispirer MnMTK migre une base de données depuis Oracle vers HiRDB:
VIDEO
Pourquoi Ispirer MnMTK pour migrer d'Oracle vers HiRDB?
Effectuez votre migration avec Ispirer Systems et profitez donc des avantages suivants que vous offre notre outil:
Automatisation jusqu'à 100% au cours des trois étapes - Cohérence et Intégration :
1ère étape: Schéma de base de données/DDL, logique métier côté serveur (PL/SQL procédures stockées, paquets, triggers etc)
2ème étape: Transfert des données et validation
3ème étape: Code d'application frontal et requêtes/scripts SQL
Personnalisation rapide : individualisation et optimisation de la converson (1-3 jours ouvrables en moyenne)
Engagement pré-vente : nous démontrons une conversion complète au cours de l'évaluation avant que vous preniez une décision
Prix Raisonnable : nous offrons une tarification souple
Conversion Optimisée : en tant que résultat vous obtenez un code intelligent et maintenable, sans aucun middleware à utiliser après la conversion
Paramètres de conversion
L'outil migre les objets et les propriétés de base de données suivants vers HiRDB:
Conversion des Tables
Conversion des Procédures Stockées, Fonctions et Triggers
Conversion des block PL/SQL stockés
Conversion des Packages stockés
Conversion des Index
Conversion des Fonctions
Conversion des Commentaires
Nous vous proposons d'avoir un regard plus profond sur les paramètres de la conversion d'Oracle vers HiRDB.
Conversion des Tables
Conversion des définitions des colonnes - les types de données, les valeurs par défaut
Conversion des contraintes d'Intégrité - clés primaires et étrangères, contraintes uniques et de validation
Conversion des partitions et options
Oracle:
CREATE TABLE hanbai
(
data_date NUMBER ( 8 ) NOT NULL ,
mise_no CHAR ( 6 ) NOT NULL ,
nou_gen_kin NUMBER ( 15 , 2 ) ,
kep_kaisu NUMBER ( 9 ) DEFAULT 10
)
PCTFREE 05
PARTITION BY RANGE ( data_date)
( PARTITION d19970101 VALUES LESS THAN ( 19970102 )
TABLESPACE TBS_USIA_10000K) ;
HiRDB:
CREATE TABLE hanbai
(
data_date INT NOT NULL ,
mise_no MCHAR( 6 ) NOT NULL ,
nou_gen_kin DEC ( 15 , 2 ) ,
kep_kaisu INT DEFAULT 10
)
IN ( ( TBS_USIA_10000K) data_date < 19970102 )
PCTFREE = 05;
Conversion des Procédures Stockées, Fonctions et Triggers :
Conversion de la syntaxe et des instructions de base (Curseurs, Loops, Exceptions, instructions DML etc)
Conversion des variables %TYPE et %ROWTYPE
Paramètres IN, OUT, INOUT
Oracle:
CREATE TABLE t4 ( c1 FLOAT , c2 TIMESTAMP , c3 INT ) ;
CREATE TABLE t5 ( c1 FLOAT , c2 TIMESTAMP , c3 INT ) ;
CREATE OR REPLACE PROCEDURE cur1_proc( CNT FLOAT )
IS
CURSOR cur1 IS SELECT c1, c2 FROM t4;
cur1_rec cur1%ROWTYPE;
BEGIN
OPEN cur1;
LOOP
FETCH cur1 INTO cur1_rec;
EXIT WHEN SQL%NOTFOUND;
INSERT INTO t5 ( c1, c2)
VALUES ( cur1_rec. c1, cur1_rec. c2 ) ;
END LOOP;
CLOSE cur1;
END ;
HiRDB:
CREATE TABLE t4 ( c1 FLOAT , c2 TIMESTAMP , c3 INT ) ;
CREATE TABLE t5 ( c1 FLOAT , c2 TIMESTAMP , c3 INT ) ;
CREATE PROCEDURE cur1_proc( IN CNT FLOAT )
BEGIN
DECLARE cur1 CURSOR FOR SELECT c1, c2 FROM t4;
DECLARE SWV_CUR1_REC_C1 FLOAT ;
DECLARE SWV_CUR1_REC_C2 TIMESTAMP ;
OPEN cur1;
SWL_Label: WHILE 1 = 1 DO
FETCH cur1 INTO SWV_CUR1_REC_C1, SWV_CUR1_REC_C2;
IF SQLCODE = 100 THEN
leave SWL_Label;
END IF ;
INSERT INTO t5( c1, c2)
VALUES ( SWV_CUR1_REC_C1, SWV_CUR1_REC_C2) ;
END WHILE SWL_Label;
CLOSE cur1;
END ;
END_PROC;
Conversion des blocks PL/SQL stockés:
Conversion des blocks PL/SQL vers les procédures stockées
Conversion de la syntaxe et des instructions de base
Conversion des variables %TYPE et %ROWTYPE
Oracle:
DECLARE
i NUMBER ;
BEGIN
FOR i IN 0 .. 681 LOOP
INSERT INTO msgcode_range VALUES ( i) ;
END LOOP;
END ;
HiRDB:
CREATE PROCEDURE proc1( )
BEGIN
DECLARE i FLOAT ;
SET i = 0 ;
WHILE ( i <= 681 ) DO
INSERT INTO msgcode_range VALUES ( i) ;
SET i = i+ 1 ;
END WHILE;
END ;
END_PROC;
Conversion des Packages stockés:
Chaque procédure stockée issue du corps de package d'Oracle est convertie vers une procédure stockée séparée de HiRDB
Ispirer MnMTK convertit les variables de package vers les variables INOUT dans le corps des procédures
Conversion de la syntaxe et des instructions de base
Conversion des variables %TYPE et %ROWTYPE
Oracle:
CREATE OR REPLACE PACKAGE package1
AS CNT FLOAT ;
PROCEDURE proc1( INPARAM1 IN DATE ) ;
PROCEDURE proc2;
END package1;
/
CREATE OR REPLACE PACKAGE BODY package1
AS
PROCEDURE proc1( INPARAM1 IN DATE )
AS
BEGIN
CNT := CNT+ 1 ;
END proc1;
PROCEDURE proc2
AS
BEGIN
CNT := CNT+ 2 ;
END proc2;
END package1;
/
HiRDB:
CREATE PROCEDURE PACKAGE1_PROC1( INOUT CNT FLOAT ,
IN INPARAM1 TIMESTAMP )
BEGIN
SET CNT = CNT+ 1 ;
END ;
END_PROC;
CREATE PROCEDURE PACKAGE1_PROC2( INOUT CNT FLOAT )
BEGIN
SET CNT = CNT+ 2 ;
END ;
END_PROC;
Conversion des Index :
Conversion des options des Index
Oracle:
CREATE INDEX IX1
ON HANBAI_D ( mise_no, shohin )
PCTFREE 05
TABLESPACE TBS_USIA_IX_10000K
LOCAL ;
HiRDB:
CREATE INDEX IX1
ON HANBAI_D
( mise_no, shohin)
IN ( TBS_USIA_IX_10000K)
PCTFREE = 05;
Conversion des fonctions :
Conversion des fonctions générales vers les équivalents en HiRDB
Conversion des formats de l'Heure et du Nombre
Ispirer MnMTK convertit les fonctions en fonction du type d'argument
Oracle:
CREATE TABLE hanbai_t ( c1 DATE , c2 NUMBER ) ;
SELECT trunc( c1, 'YEAR' ) , trunc( c2) FROM hanbai_t;
SELECT to_timestamp( '2012-06-14' , 'RRRR-MM-DD HH24' ) FROM t;
HiRDB:
CREATE TABLE hanbai_t ( c1 TIMESTAMP , c2 FLOAT ) ;
SELECT truncyear( c1) , trunc( c2) FROM hanbai_t;
SELECT timestamp_format( '2012-06-14' , 'YYYY-MM-DD HH' ) FROM t;
Conversion des Commentaires:
Oracle:
-- comment1
REM comment2
REMARK comment3
HiRDB:
/*comment1*/
/*comment2*/
/*comment3*/
Contactez-nous pour en savoir plus.