Ispirer MnMTK puede convirtir procedimientos almacenados, funciones, triggers, vistas, esquema de base de datos (DDL) y datos de Oracle a HiRDB.
Descripción de Migración de Oracle a HiRDB
La herramienta migra los siguientes objetos de base de datos y propiedades de Oracle a HiRDB:
- Conversión de tablas
- Conversión de procedimientos almacenados, funciones y triggers
- Conversión de bloque almacenado PL/SQL
- Conversión paquetes almacenados
- Conversión de índices
- Conversión de funciones
- Conversión de comentarios
La herramienta migra los siguientes objetos de base de datos y propiedades de Oracle a HiRDB.
Conversión de Tablas
- Conversión de definiciones de columnas - tipos de datos, valores por defecto
- Conversión de restricciones de integridad - claves primarias y externas, restricciones únicas y de verificación
- Conversión de particiones y opciones
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;
Conversión de Procedimientos Almacenados, Funciones y Triggers:
- Conversión de sentencias básicas y sintaxis (Cursors, Loops, Exceptions, sentencias DML, etc.)
- Conversión de variables %TYPE y %ROWTYPE
- Parámetros 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;
Conversión de bloque PL/SQL almacenado:
- Conversión de bloque PL/SQL a procedimiento almacenado
- Conversión de sentencias básicas y sintaxis
- Conversión de variables %TYPE y %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;
Conversión de Paquetes Almacenados:
- Cada procedimiento almacenado de paquete de Oracle se convierte a un procedimiento almacenado separado en HiRDB
- Ispirer MnMTK convierte varibables de paquete a variables INOUT en el cuerpo de procedimiento
- Conversión de sentencias básicas y sintaxis
- Conversión de variables %TYPE y %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;
Conversión de Índices:
- Conversión de opciones de índice
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;
Conversión de Funciones:
- Conversión de equivalentes de funciones principales a HiRDB
- Conversión de formatos de hora y número
- Ispirer MnMTK convierte funciones dependiendo de los tipos de argumento
Oracle:
CREATE TABLE hanbai_t (c1 DATE, c2 NUMBER); SELECT trunc(c1, 'YEAR'), trunc(c2) FROM hanbai_t; SELECT to_timestamp('2012-06-14RRRR-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).
Por qué Ispirer MnMTK
Ispirer MnMTK y nuestro soporte garantizan un bajo costo y automatización de casi el 100% de la migración.
- Automatización de ~ 100% - Para todas las tareas de migración: DDL, lógica de negocio de servidor, sintaxis SQL en las aplicaciones front-end y scripts. Características Clave
- Rápida Personalización - Correcciones dentro de 1-2 días hábiles
- Pre-Venta Cooperación - Nosotros realizamos la conversión completa durante la evaluación antes de que usted tome una decisión. Proceso de Cooperación
- Bajo Costo - Ofrecemos precios flexibles
- Conversión Optimizada - El código inteligente y fácil de mantener, sin ningún middleware de Ispirer utilizado después de la conversión
Lea más acerca de los Beneficios Clave de Ispirer MnMTK.
Si Usted tiene algunas preguntas o desea obtener más información, siempre puede ponerse en contacto con nosotros.
|