OracleからHiRDBへの移行
データベース移行ツールIspirer ToolkitはOracleからHiRDB向けに変換することができます。このツールは ストアドプロシージャ、ファンクション、トリガ、ビューおよびスキーマの移行に役に立ちます。私たちはビジネスを成長させる自動化 されたデータベースとアプリケーション移行ソリューションの価値をお客様に お届けしています。
OracleからHiRDBへの移行の概要
このツールキットは以下のようなデータベースオブジェクトや属性をOracleからHiRDBへ移行します:
- テーブルの変換
- ストアドプロシージャ、ファンクションおよびトリガの変換
- ストアドPL/SQLブロックの変換
- ストアドパッケージの変換
- インデックスの変換
- ファンクションの変換
- コメントの変換
OracleからHiRDBへの移行機能についてより詳しくご紹介します。
テーブルの変換
- カラム定義の変換 - データタイプ、デフォルト値
- 整合性制約の変換 - プライマリと外部キー、ユニークとチェック制約
- 区画およびオプションの変換
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;
ストアドプロシージャ、ファンクションおよびトリガの変換:
- 基本ステートメントおよび構文 (カーソル、ループ、DMLステートメント、
例外等) の変換
- %TYPEおよび%ROWTYPE変数の変換
- 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;
ストアドPL/SQLブロックの変換:
- PL/SQLブロックからストアドプロシージャへの変換
- 基本ステートメントおよび構文の変換
- %TYPEおよび%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;
ストアドパッケージの変換:
- Oracleパッケージ本体の各ストアドプロシージャからHiRDB の個別ストアドプロシージャに変換
- パッケージの変数をプロシージャ本体 のINOUT変数に変換
- 基本ステートメントおよび構文の変換
- %TYPEおよび%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;
インデックスの変換:
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;
ファンクションの変換:
- 主なファンクションの変換
- 時間および数字の形式の変換
- 引数タイプに応じファンクションの変換
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;
コメントの変換:
Oracle:
-- comment1 REM comment2 REMARK comment3
HiRDB:
/*comment1*/ /*comment2*/ /*comment3*/
Ispirer Toolkitは埋め込みSQLがあるプロジェクトをHiRDB向けに変換することができます。 例えば、Oracle埋め込みSQLのPro*CobolおよびPro*Cファイルを変換することができます。詳しくは以下のリンクを参照ください:
OracleからHiRDBへの移行に関するIspirer Toolkit ツールの特徴
- SQLスクリプトの迅速で便利な変換 - DDLステートメント、SQLダンプ、SQLクエリ等、既存のSQLスクリプトの変換をすぐに始められます
- データベースに接続し変換を実行 - Ispirer Toolkit は Oracleに接続し
データベース全体または特定のデータベースオブジェクトやスキーマを抽出し変換することができます
- HiRDB構文の SQL スクリプトの生成
- 移行作業の自動化を助けるコマンドラインサポート
- 移行の検証 -ツールはテーブルやローの数の比較や、全てまたは特定のカラム(プライマリキーまたはOrder句で指定)のデータ検証を実行することが
できます
Ispirer Toolkit についてもっと知りたい場合は、主な利点をご覧ください。
詳細はお問い合わせください。
|