PowerPoint プレゼンテーション

Size: px
Start display at page:

Download "PowerPoint プレゼンテーション"

Transcription

1 Oracle から DB2 10 への移行 - DB2 の機能 ツール および移行ポイント 年 1 月 日本アイ ビー エム株式会社 本資料掲載事項は ある特定の環境 使用状況においての正確性が IBM によって確認されていますが すべての環境において同様の結果が得られる保証はありません これらの技術を自身の環境に適用する際には 自己の責任において十分な検証と確認を実施いただくことをお奨めいたします 1

2 内容 DB2とOracleの用語 Oracleからの移行を容易にするDB2の機能 移行ロードマップ 移行ツール Oracleからの移行ポイント 当資料は DB2 V10.1 for Linux, UNIX, and Windows Fix Pack 1 の環境に基づいています 2

3 DB2 と Oracle の用語 3

4 DB2 と Oracle の用語 設計 Oracle インスタンスオンラインREDOログアーカイブ ログ非アーカイブ ログ モードデータ ファイル SYSTEM 表スペース表スペースエクステントデータ ブロックセグメントパーティション表マテリアライズ ビューグローバル索引ローカル索引データ ディクショナリー DB2 インスタンスまたはデータベース マネージャーアクティブ ログアーカイブ ログ循環ロギングコンテナー SYSCATSPACE 表スペース表スペースエクステントデータ ページストレージ オブジェクトパーティション表マテリアライズ照会表 (MQT) 非パーティション索引パーティション索引システム カタログ 4

5 DB2 と Oracle の用語 設定 / メモリー アプリ使用機能 運用 Oracle ORACLE_SID 環境変数 init.ora および Server Parameter File (SPFILE) System Global Area (SGA) Program Global Area (PGA) User Global Area (UGA) データ バッファー キャッシュラージ プールライブラリー キャッシュデータ ディクショナリー キャッシュグローバル一時表カーソル共有データベース リンク DUAL 表 Oracle Call Interface (OCI) セッションバインド変数動的なパフォーマンス ビューアラート ログ bdump ディレクトリー startup nomount DB2 DB2INSTANCE 環境変数データベース マネージャー構成ファイルおよびデータベース構成ファイルインスタンス共有メモリーおよびデータベース共有メモリーアプリケーション共有メモリーおよびエージェント専用メモリーアプリケーション グローバル メモリーバッファー プールユーティリティー ヒープパッケージ キャッシュカタログ キャッシュグローバル一時表ステートメント コンセントレーターニックネーム DUAL 表コール レベル インターフェース (CLI) セッション データベース接続パラメータ マーカースナップショット モニター SQL 管理ビュー管理通知ログ診断ログ (db2diag.log) db2start 5

6 Oracle からの移行を容易にする DB2 の機能 6

7 移行における課題 Transact-SQL Oracle の SQL および PL/SQL DB2 の SQL/PL (SQL/PSM に基づく ) アプリケーションが 選択した RDBMS に特化している 異なる RDBMS へ移行するにはコードの大幅な書き直しが必要 既存スキルを活用できない DB2 は これらの問題を解決するための機能を提供しており その拡張を継続的に行っている 7

8 Oracle の各機能に対応する DB2 の機能 Oracle データ タイプ データ ディクショナリー SQL 基本的な DDL データベース リンク マテリアライズド ビュー 同時実行制御 PL/SQL 言語 PL/SQL パッケージ JDBC Pro*C OCI C 言語の API Oracle Forms SQL*Plus SQL*Loader RAC DB2 互換フィーチャー 互換フィーチャー SQL ツール Federation( フェデレーション ) マテリアライズ照会表 CDC 同時実行制御 (Currently Committed) 互換フィーチャー 互換フィーチャー JDBC 組み込み SQL( 互換フィーチャー付 ) DB2CI(Oracle 互換 ) CLI が DB2 本来の C 言語用 API だが DB2CI も Oracle 互換 API として提供 パートナー製品の使用 (Java Forms) CLPPlus IMPORT, LOAD, INGEST ユーティリティ DB2 purescale InfoSphere Change Data Capture 8

9 互換フィーチャーの設定 : DB2_COMPATIBILITY_VECTOR レジストリ変数 この変数をセットすることで 他 DB との互換フィーチャーを有効にする db2set コマンドでセット ビットごとに互換フィーチャーが定義 例 : 1 ビット目 : ROWNUM 疑似列 2 ビット目 : DUAL 表 有効化するビットを1にして16 進数 (HEX) で表す または予約ワードをセット 予約ワード ORA Oracle 互換フィーチャーを最大限に活用 SYB Sybase 互換フィーチャーを最大限に活用 MYS MySQL 互換フィーチャーを最大限に活用 例 db2set DB2_COMPATIBILITY_VECTOR=FFFF db2set DB2_COMPATIBILITY_VECTOR=ORA (ORAは20FFFと同じ) 設定を変えたら DB2 インスタンスの再起動を行う $ db2stop $ db2start 9

10 DB2_COMPATIBILITY_VECTOR で設定可能な互換フィーチャー ビット位置互換性フィーチャーコメント 1 (0x01) ROWNUM ROW_NUMBER() OVER() の同義語 2 (0x02) DUAL DUAL ダミー表を使用可能化 3 (0x04) 外部結合演算子外部結合演算子 ( + 記号 ) のサポートを使用可能化 4 (0x08) 階層照会 CONNECT BY 節を使用した階層照会のサポート 5 (0x10) NUMBER NUMBER データ タイプおよび関連した数値処理のサポート 6 (0x20) VARCHAR2 VARCHAR2 型と NVARCHAR2 データ タイプおよび関連した文字ストリング処理 7 (0x40) DATE DATE データ タイプを TIMESTAMP(0) データ タイプとして変換処理可能 8 (0x80) TRUNCATE TABLE TRUNCATE ステートメントの代替セマンティック 9 (0x100) 文字リテラル CHAR データ タイプまたは GRAPHIC データ タイプ (VARCHAR データ タイプまたは VARGRAPHIC データ タイプの代替 ) 10 (0x200) コレクションのメソッド 配列での演算を実行するためのメソッド (first last next および previous など ) を使用可能化 配列内の特定のエレメントを参照するときに大括弧の代わりに小括弧を使用可能化 例 : array1(i) は array1 のエレメント i を参照する (0x400) データ ディクショナリー互換ビュー データ ディクショナリー互換ビューはデータベースの作成時に作成 12 (0x800) PL/SQL コンパイル PL/SQL ステートメントのコンパイルおよび実行の可能化 13 (0x1000) インセンシティブ カーソル SELECT ステートメントが明示的に FOR UPDATE を指定しない場合 WITH RETURN で定義されたカーソルがインセンシティブになる 14 (0x2000) INOUT パラメーター INOUT パラメーター宣言に対する DEFAULT の指定 17 (0x10000) SQL データ アクセス レベルの強制実行時にルーチンが SQL データ アクセス レベルを強制可能 18 (0x20000) Oracle データベース リンク構文 Oracle データベース リンク構文を有効にする データベース作成前に設定必要 参照 URL:

11 互換フィーチャー例 以下の互換フィーチャーを有効にする ビット 5 (0x10): Oracle NUMBER 互換 ビット 6 (0x20): Oracle VARCHAR2 互換 ビット 7 (0x40): Oracle DATE 互換 ビット 11(0x400): Oracle データ ディクショナリー互換ビュー 0x10 + 0x20 + 0x40 + 0x400 = 0x470 設定はDB2インスタンスを再起動して有効になる その後 データベースを作成する $ db2set DB2_COMPATIBILITY_VECTOR=470 $ db2stop $ db2start $ db2sample -name oradb サンプルDBを作成 データ タイプ互換の確認 データ タイプ互換の場合 DB 構成情報で確認可能 $ db2 get db cfg for oradb NUMBER データ タイプの互換性 VARCHAR2 データ タイプの互換性データ タイプ DATE の TIMESTAMP(0) への互換性 = ON = ON = ON 11

12 Oracle データ ディクショナリー互換ビューの確認 Oracle データ ディクショナリー互換ビューの例 接続ユーザーが作成した表情報の取得 select * from user_tables 接続ユーザーが作成したビュー情報の取得 select * from user_views 参照 URL DB2 が提供しているカタログ ビューも引き続き使用可能 接続ユーザーが作成した表名 ( スキーマ名. 表名 ) の取得 select tabschema, tabname from syscat.tables where type='t' and owner=current user 接続ユーザーが作成したビュー名とビュー定義の取得 select viewschema, viewname, text from syscat.views where owner=current user 参照 URL 12

13 互換フィーチャーの追加設定 互換フィーチャーの追加設定前 $ db2 -td/ Oracle 特有の外部結合演算子 db2 => select lastname,deptname from employee e, department d where e.workdept(+)=d.deptno/ SQL0104N "(+" に続いて予期しないトークン ")" が見つかりました 予期されたトークンに "(" が含まれている可能性があります SQLSTATE=42601 db2 => set serveroutput on/ DB20000I SET SERVEROUTPUT コマンドが正常に完了しました db2 => declare i number; PL/SQL begin i := 10; dbms_output.put_line('i=' i); end; / DB21034E コマンドが 有効なコマンド行プロセッサー コマンドでないため SQL ステートメントとして処理されました SQL 処理中に 次のエラーが返されました SQL0104N "BEGIN-OF-STATEMENT" に続いて予期しないトークン "declare i number; begin i := 10;" が見つかりました 予期されたトークンに "<values>" が含まれている可能性があります LINE NUMBER=1. SQLSTATE=

14 互換フィーチャーの追加設定 すべての互換フィーチャーをオンに設定変更して 既存のデータベースにアクセス $ db2set DB2_COMPATIBILITY_VECTOR=ORA $ db2stop $ db2start $ db2 connect to oradb $ db2 -td/ Oracle 特有の外部結合演算子 すべての互換フィーチャーをオンに設定した後の動作 db2 => select lastname,deptname from employee e, department d where e.workdept(+)=d.deptno/ LASTNAME DEPTNAME HAAS SPIFFY COMPUTER SERVICE DIV. - BRANCH OFFICE I2 - BRANCH OFFICE J2 48 レコードが選択されました これは右外部結合 DB2 本来の書き方は次のようになる (SQL92 の規約に基づく ) db2 => select lastname,deptname from employee e right outer join department d on e.workdept=d.deptno/ 14

15 互換フィーチャーの追加設定 すべての互換フィーチャーをオンに設定した後の動作 db2 => set serveroutput on/ DB20000I SET SERVEROUTPUT コマンドが正常に完了しました db2 => declare i number; begin i := 10; dbms_output.put_line('i=' i); end; / DB20000I SQL コマンドが正常に完了しました PL/SQL (Oracle 互換フィーチャー ) i=10 db2 => begin declare i integer; set i = 10; call dbms_output.put_line('i=' i); end / DB20000I SQL コマンドが正常に完了しました SQL PL (DB2 本来の機能も引き続き利用可能 ) i=10 15

16 PL/SQL 互換フィーチャー ネイティブ PL/SQL サポート : DB2 エンジンに PL/SQL コンパイラーも同梱 エミュレーションなし (PL/SQL と SQL PL を同じレベルで実行可能 ) ソース レベルのデバッグおよびプロファイル エディター PL/SQL も SQL PL もアーキテクチャーは同じ PL/SQL コンパイラー SQL PL コンパイラー Data Studio DB2 サーバー デバッガー SURE (SQL Unified Runtime Engine) プロファイラー データベース 16

17 DB2 10 の組み込みパッケージ フィーチャー DBMS_ALERT DBMS_DDL DBMS_JOB DBMS_LOB DBMS_OUTPUT DBMS_PIPE DBMS_SQL DBMS_UTILITY MONREPORT UTL_DIR UTL_FILE 説明 クロス セッション セマフォー DDL オブジェクトの難読化 ジョブ スケジューラー 管理のプロシージャー LOB を操作する機能 画面出力によるデバッグ および簡単なレポート作成 クロス セッション データ パイプ 動的 SQL を実行するためのプロシージャー セット さまざまな関数およびプロシージャー データのモニターとテキスト レポートの生成 ディレクトリーの別名を維持するためのルーチン サーバー サイドの I/O API UTL_MAIL E メール送信機能 (SMTP は DB 構成情報定義を利用 ) UTL_SMTP SMTP を指定した E メール送信機能 参照 URL 17

18 NUMBER データ タイプのサポート NUMBER データ タイプは以下のように変換される Oracle DB2 数値のタイプ NUMBER のみ指定 DECFLOAT(16) 浮動小数点 NUMBER( 最大桁数 ) DECIMAL( 最大桁数 ) 整数 NUMBER( 最大桁数, 小数点以下桁数 ) DECIMAL( 最大桁数, 小数点以下桁数 ) 固定小数点 値が 16 桁を超える場合 DECFLOAT(34) へ変更する 例 db2 => create table t1 (n1 number, n2 number(10), n3 number(20, 5)); db2 => describe table t1; データ タイデータ 列の スケ 列名 プ スキーマタイプ名 長さ ール NULL N1 SYSIBM DECFLOAT 8 0 はい N2 SYSIBM DECIMAL 10 0 はい N3 SYSIBM DECIMAL 20 5 はい db2 => insert into t1 values (10, 100, ), (200, 2000, ); db2 => select * from t1; N1 N2 N

19 端数の丸め込み方法 DECFLT_ROUNDING データベース構成パラメーターで設定 DB2の場合 デフォルトは ROUND_HALF_EVEN 最も近い値に丸める 正確に等間隔の場合 末尾が偶数になるように丸める 例 : db2 => create table t2 (n1 number, n2 number(5,2)); db2 => insert into t2 values ( , ); N1 N が付くと切り上げの方が近くなる db2 => delete from t2; db2 => insert into t2 values ( , ); N1 N Oracle の場合 四捨五入 (ROUND_HALF_UP) Oracle と同じ 四捨五入にする場合 update db cfg for [DB 名 ] using DECFLT_ROUNDING ROUND_HALF_UP 参照 URL 19

20 振る舞いが変わる主な機能 (VARCHAR2) VARCHAR データ タイプに自動変換 この互換フィーチャーをオンにすると VARCHAR データ タイプの振る舞いが変わる VARCHAR2 互換なし VARCHAR2 互換 空文字 ('') とNULLの区別 区別する 区別なし ( 空文字はNULLに変換される ) 非 NULL 制約空文字の挿入可空文字を挿入できない 文字列の比較 文字列末尾の空白の違いは無視して比較 文字列末尾の空白が違うものは違う文字として扱う 20

21 振る舞いが変わる主な機能 (VARCHAR2) 例 VARCHAR2 互換なし create table t3 (c1 int, c2 varchar(10) not null); insert into t3 values (1, 'hello'); insert into t3 values (2, 'hello '); VARCHAR2 としてもよい (VARCHAR に自動変換 ) VARCHAR2 互換 create table t3 (c1 int, c2 varchar(10) not null); insert into t3 values (1, 'hello'); insert into t3 values (2, 'hello '); select * from t3 where c2='hello'; C1 C 文字列末尾の空白文字の違いを無視 1 hello 2 hello select * from t3 where c2='hello'; C1 C hello insert into t3 values (3, ''); DB20000I SQL コマンドが正常に完了しました select * from t3; C1 C hello 2 hello 3 非 NULL 制約でも空文字の挿入可 insert into t3 values (3, ''); SQL0407N NULL 値の NOT NULL 列 "TBSPACEID=3, TABLEID=7, COLNO=1" への代入は許されていません SQLSTATE=23502 空文字は NULL に変換される 21

22 振る舞いが変わる主な機能 (DATE) Oracle の DATE 型は時間を保持 ( 時分秒 ) DB2 の DATE 型は時間を保持しない この互換フィーチャーをオンにすると 以下のような振る舞いとなる DATE 互換なし DATE 互換 DATE 型の列 DATE 型のまま TIMESTAMP(0) に変換 CURRENT DATE 特殊レジスター DATE 値を戻す 日付の演算 + 1 day などと記述 (1 日加算 ) 以下の表記は DATE 型ではエラーとなる (TIMESTAMP 型で使用可能 ) - 2 hour (2 時間減算 ) + 3 minute (3 分加算 ) TIMESTAMP(0) 値を戻す + 1 で 1 日加算 - 2/24 で 2 時間減算 + 3/24/60 で 3 分加算 22

23 振る舞いが変わる主な機能 (DATE) 例 : DATE 互換なし create table t4 (c1 int, c2 date); select colname,typename,scale from syscat.columns where tabname='t4'; COLNAME TYPENAME SCALE C1 INTEGER 0 C2 DATE 0 insert into t4 values (1, ' '); insert into t4 values (2, ' '); select * from t4; C1 C 時間は削除 ( 無視 ) されて挿入される select to_char(c2,'yyyy/mm/dd HH24:MI:SS') from t4; /08/25 00:00: /09/05 00:00:00 select current date - 5 day from sysibm.sysdummy1;

24 振る舞いが変わる主な機能 (DATE) 例 : DATE 互換 create table t4 (c1 int, c2 date); select colname,typename,scale from syscat.columns where tabname='t4'; COLNAME TYPENAME SCALE C1 INTEGER 0 C2 TIMESTAMP 0 insert into t4 values (1, ' '); insert into t4 values (2, ' '); select * from t4; C1 C select to_char(c2,'yyyy/mm/dd HH24:MI:SS') from t4; /08/25 00:00: /09/05 10:20:30 select current date /24 from dual;

25 同時実行制御 分離レベル ISO 分離レベル DB2 Oracle SERIALIZABLE REPEATABLE READ (RR) SERIALIZABLE REPEATABLE READ READ STABILITY (RS) なし READ COMMITTED (*) 青字がデフォルト CURSOR STABILITY (CS) Currently Committed 機能 (CUR_COMMIT=ON OFF) READ UNCOMMITTED UNCOMMITTED READ (UR) なし READ COMMITTED DB2 の分離レベル CS では Currently Committed の設定が可能 DB 構成パラメータ CUR_COMMIT で設定 デフォルトは ON db2 get db cfg for [DB 名 ] CS 分離レベルで現在コミット済みの結果を戻す (CUR_COMMIT) = ON 25

26 同時実行制御 Oracle の READ COMMITTED データの読み取り SQL 文発行時点のコミット済みデータを取得 UNDO セグメントを使って実現 ( ログと UNDO セグメントの両方に書き込み ) 別のトランザクションがデータを更新中でも それがコミットされるのを待たない SQL 文発行後にコミットされたデータは読まない SCN = システム変更番号 TRN1 UPDATE UPDATE COMMIT SCN=32 SCN=102 SCN=64 A B C C D D E F UNDO セグメント C D SCN=76 SCN=100 TRN2 SELECT 26 読んだデータは最新とは限らないが 参照処理のロック待機は発生しない UNDO セグメントを使って実現 ( ログと UNDO セグメントの両方に書き込み )

27 同時実行制御 DB2 の Currently Committed データを読み取る際 最新のコミット済みデータを取得し 別のトランザクションがデータを更新中でも それがコミットされるのを待たない ログのみを使って実現 TRN1 UPDATE UPDATE A B C C D D E トランザクションログ ( ログバッファー ) C D TRN2 SELECT F 読むデータは常に最新で 参照処理のロック待機も発生しないログのみを使って実現 27

28 データベース リンク マテリアライズド ビューの移行 Oracle の代表的な DB 連携 データベース リンク リアルタイムの外部 Oracle への仮想アクセス Oracle Oracle SQL DBLINK Oracle Oracle マテリアライズド ビュー トリガー ベースのテーブルの差分レプリケーション Oracle Oracle SQL マテリアライス ト ヒ ュー 差分トリガー 28

29 データベース リンク マテリアライズド ビューの移行 フェデレーションと InfoSphere Change Data Capture が解決! フェデレーション リアルタイムに外部の多様な DB への仮想アクセス DB2 Oracle SQL フェデレーション DB2 SQL Server さまざまなデータソースをサポート ( 含非 RDB データ ) InfoSphere Change Data Capture ログベースのテーブルの差分レプリケーション DB2 Oracle CDC CDC ログベースで高速 軽量 SQL ログ 29

30 フェデレーション機能によるニックネーム アクセス リモートの表やビュー ストアードプロシージャの仮想オブジェクト ローカル オブジェクトのように操作 リアルタイムの参照 更新が可能 マルチソースの Join が可能 ニックネームは実体をもたない仮想的な表 多種多様なデータソースを表のイメージでアクセス ユーザー アプリケーション SELECT * FROM ORAEMP WHERE DB2 ニックネーム Oracle ソース表 DB Fix Pack 1 で以下の構文もサポート (Oracle 互換フィーチャー :0x20000) DB2ADMIN.ORAEMP ORACLE.SCOTT.EMP SELECT * FROM SCOTT.EMP@ORACLE WHERE CREATE NICKNAME ORAEMP FOR ORACLE. SCOTT.EMP 30

31 IBM InfoSphere Change Data Capture Point 1 Point 2 Point 3 高速 軽量 低負荷な差分レプリケーション データベースのログから差分データを抽出 幅広い DB プラットフォームのサポート Oracle, DB2 for LUW, isereis, z/os, SQL Server, Sybase, Teradata, Netezza, MQ, JMS, BEA など 簡単な操作 non プログラミング GUI による容易な定義や操作 モニタリング機能と構成 データベース DB2, Oracle, Microsoft SQL Server 等 データベースログ CDC ソース側エンジン TCP/IP CDC ターゲット側エンジン Information Server DataStage メッセージ キュー フラット ファイル 31

32 SQL*Loader の移行 データを取り込むためのツール DB2 では 従来から LOAD, IMPORT ユーティリティを提供 LOAD データベース コンテナー ( ストレージ ) に フォーマット済みページを直接書き込む ( 処理が高速なので大量のデータ挿入に向いている ) 参照整合性制約等のチェックは 別途 SET INTEGRITY コマンドを発行する必要がある ( それまでロードした表にアクセスできない ) トリガーは起動しない 等の制約がある IMPORT INSERT 文で実現 尐量のデータ挿入に向いている 参照 URL DB2 10 から さらに INGEST ユーティリティを提供 INGEST コマンド処理中も アプリケーションからのデータ アクセスが可能 INSERT/REPLACE の他に UPDATE/DELETE/MERGE が可能 ( 簡易 ETL 処理が可能 ) 再開可能なエラー発生時 最後にコミットした時点から再開が可能 継続的なデータ挿入や 簡単な ETL 処理を行いたい場合に向いている 参照 URL 32

33 Oracle の SQL*Loader と DB2 の LOAD SQL*Loader のコントロール ファイル 固定長フォーマットをロードするコントロールファイルの例 固定長フォーマットの場合 POSITION() 指定を METHOD L を用いた指定に変更する Oracle SQL*Loader コントロールファイル LOAD DATA INFILE '/home/ora_usr/accounts.dat' INTO TABLE accounts ( acct_id POSITION(0001:0003) NUMBER,dept_code POSITION(0004:0006) CHAR,acct_desc POSITION(0009:0100) VARCHAR2,max_employees POSITION(0101:0103) NUMBER,current_employees POSITION(0104:0106) NUMBER,num_projects POSITION(0107:0107) NUMBER ) DB2 Load コマンド LOAD FROM '/home/ora_usr/accounts.dat' OF ASC METHOD L ( , , , , ) INSERT INTO accounts ( acct_id,dept_code,acct_desc,max_employees,current_employees ); 33

34 Oracle の SQL*Loader と DB2 の LOAD 可変長データの場合のコントロールファイル 可変長データの場合のコマンド比較 ロードするデータファイル (accounts.dat) 101,"ACT","Major Bank Co.",30,11,4 301,"ACT","Large Telco Inc.",30,0,4 101,"IT","Huge Software Co.",50,0,4 203,"MKT","Basic Insurance Co.",15,0,3 Oracle SQL*Loader コントロールファイル INFILE '/home/ora_usr/accounts.dat' INTO TABLE accounts FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"' ( acct_id,dept_code,acct_desc,max_employees,current_employees,num_projects ) DB2 Load コマンド LOAD FROM '/home/ora_usr/accounts.dat' OF DEL MODIFIED BY CHARDEL"" COLDEL, METHOD P (1, 2, 3, 4, 5 ) INSERT INTO accounts ( acct_id,dept_code,acct_desc,max_employees,current_employees ); 34

35 INGEST ユーティリティ シンプルな ETL (Extract, Transform, Load) が実現可能 例 1: 基本的なシンタックス INGEST FROM FILE my_file.txt FORMAT DELIMITED INSERT INTO my_table; 例 2: 固定長データの取り込み INGEST FROM FILE my_file.txt FORMAT POSITIONAL( $field1 POSITION(1:8) INTEGER EXTERNAL, $field2 POSITION(10:19) DATE yyyy-mm-dd, $field3 POSITION(25:34) CHAR(10)) INSERT INTO my_tablevalues($field1, $field2, $field3); 例 3: 取り込んだデータを変換して挿入 INGEST FROM FILE my_file.txt FORMAT DELIMITED BY ' ( $prod_id CHAR(8), $description CHAR(32), $price DECIMAL(5,2) EXTERNAL, $sales_tax DECIMAL(4,2) EXTERNAL, $shipping DECIMAL(3,2) EXTERNAL ) INSERT INTO my_table(prod_id, description, total_price) VALUES($prod_id, $description, $price + $sales_tax + $shipping); 35

36 INGEST ユーティリティ UPDATE/MERGE/DELETE 等も可能 例 4: キーが一致するレコードの更新 INGEST FROM FILE myfile.txt FORMAT DELIMITED ( $key1 INTEGER EXTERNAL, $key2 INTEGER EXTERNAL, $data1 CHAR(8), $data2 CHAR(32), $data3 DECIMAL(5,2) EXTERNAL ) UPDATE my_table SET (data1, data2, data3) = ($data1, $data2, $data3) WHERE (key1 = $key1) AND (key2 = $key2); 例 5: キーが一致するレコードがあったら更新 なかったら挿入 INGEST FROM FILE myfile.txt FORMAT DELIMITED ( $key1 INTEGER EXTERNAL, $key2 INTEGER EXTERNAL, $data1 CHAR(8), $data2 CHAR(32), $data3 DECIMAL(5,2) EXTERNAL ) MERGE INTO my_table ON (key1 = $key1) AND (key2 = $key2) WHEN MATCHED THEN UPDATE SET (data1, data2, data3) = ($data1, $data2, $data3) WHEN NOT MATCHED THEN INSERT VALUES($key1, $key2, $data1, $data2, $data3); 36

37 INGEST ユーティリティ ( リカバリー機能 ) エラー時の処理 o 事前にリスタート表を作成 db2 "CALL SYSPROC.SYSINSTALLOBJECTS('INGEST', 'C', NULL, NULL)" o 以下のコマンドが失敗したら INGEST FROM FILE my_file.txt FORMAT DELIMITED ( $field1 INTEGER EXTERNAL, $field2 DATE 'mm/dd/yyyy', $field3 CHAR(32) ) このDB 内でユニークな名前を付ける RESTART NEW 'ingestjob001' INSERT INTO my_table VALUES($field1, $field2, $field3); o 次のコマンドで再開可能 (CONTINUE の代わりに TERMINATE で再開中止 ) INGEST FROM FILE my_file.txt FORMAT DELIMITED ( $field1 INTEGER EXTERNAL, $field2 DATE 'mm/dd/yyyy', $field3 CHAR(32) ) RESTART CONTINUE 'ingestjob001' INSERT INTO my_table VALUES($field1, $field2, $field3); 37

38 INGEST ユーティリティ アーキテクチャー 3 つのフェーズから構成 Transporter, Formatter, Flusher マルチスレッドによる並列処理 (Formatter, Flusher は INGEST SET コマンドでスレッド数指定 ) DPF 最適化 データが保存されるパーティションに直接データを投入 その他の機能 処理状況を表示するモニターコマンド (INGEST LIST, INGEST GET STATS) コミットのタイミング等 各種設定 (INGEST SET) Transporter Formatter Flusher SQL 1 つまたは複数のファイル / パイプ Transporter Formatter Formatter Formatter Flusher Flusher SQL SQL DB2 マルチスレッド モデル (1 つの INGEST コマンド単位 ) 38

39 移行ロードマップ 39

40 移行ロードマップ アセスメント & PoC データベース移行 アプリケーション移行 機能検証 1. アセスメント & PoC 移行対象となる環境についての調査 理解 移行ポイントと作業量の見積もり 主に机上による変更点の洗い出し ( ポーティング アセスメント ) オプション : 一部分を実際に移行して検証 (PoC: Proof of Concept) ツール正確迅速 2. データベース移行 データベース オブジェクト ( 表や PL/SQL など ) の移行 データの移行 3. アプリケーション移行 アプリケーションを DB2 用に移行 4. 機能検証 一連のテストを実施 ツール 自動化 最小限の変更 テスト 40

41 移行ツール 41

42 新しい移行ツール : Database Conversion Workbench (DCW) 従来の MEET ツール IDMT(IBM Data Movement Tool) ツールを統合 IBM Data Studio にプラグイン 2012 年 12 月現在 DCW 1.0 がリリース 移行ツールの利用効果 移行計画の精度向上 移行の一部自動化による移行コスト削減 42

43 DCW の機能 DCW 1.0 の主な機能 DCW Task Launcher 統合ヘルプ環境 各処理手順をステップ バイ ステップで提供 DDL Extraction Oracle のデータベースから DDL 定義を抽出 Compatibility Evaluation and Code Conversion 互換率 非互換ポイントの提示と 一部シンタックスの自動変換 Split DDL 1 つの DDL ファイルをオブジェクト タイプごとに整理して分割 Package Visualizer オブジェクト間の関係をグラフ表示 Data Movement ソース データベースからデータを抽出し ターゲット データベースにロード 43

44 DCW を使用した移行の流れ DDL Oracle オブジェクト定義情報 データ DDL Extraction Split DDL Oracle DDL 変換された DDL 分割された DDL Package Visualizer Compatibility Evaluation and Code Conversion Data Movement Database Conversion Workbench (DCW) DCW Task Launcher DB2 for LUW 44

45 DCW プロジェクト 最初に DCW プロジェクトを作成する 45

46 DCW Task Launcher Task Launcher で処理したい内容を選択してゆくと ウィザードが表示される 46

47 DDL Extraction 以下のステップで DCW プロジェクトに DDL ファイルが生成される 1. Extract DDL by creating a custom extraction script DDL を抽出するためのスクリプトを生成して実行 (.out ファイルの生成 ) 2. Import a DDL file DCW プロジェクトに抽出した DDL ファイル (.out) をインポート (.sql ファイルに変換される ) DDL を抽出するためのスクリプト生成 スクリプトの実行 > sqlplus DDL ファイルのインポート 47

48 Compatibility Evaluation and Code Conversion (1/2) 互換率 非互換ポイントの提示と 一部シンタックスの自動変換 自動変換された DDL PL/SQL ( 一部手動変換 ) 48 互換率 非互換ポイントの暗号化されたレポート (askdcw@ca.ibm.com に暗号解除依頼のメール送付 )

49 Compatibility Evaluation and Code Conversion (2/2) 暗号解除されたレポート 49

50 Split DDL 1 つの DDL ファイルをオブジェクト タイプごとに整理して分割 50

51 Package Visualizer (1/2) オブジェクト間の関係をグラフ表示 1 以下の設定を事前に行う Database connected mode をチェック ( データベースに接続して情報を取得 ) Database configuration( データベース接続設定 ) Offline mode は DCW1.0 では未サポート 2 DB Objects Explorer ビューを表示 51

52 Package Visualizer (2/2) 3 DB Objects Explorer ビューで 参照したいオブジェクトをダブルクリック 52

53 Data Movement (1/3) 事前にターゲット データベースに DDL を登録しておき ソース データベースからデータを抽出し ターゲット データベースにロード 1 ターゲット データベースに DDL を登録 53

54 Data Movement (2/3) 2 ソース データベースのデータをフラット ファイルに抽出 または パイプ経由で直接ターゲット データベースにロード 54

55 Data Movement (3/3) 3 ソース データベースのデータをフラット ファイルに抽出した場合 フラット ファイルのデータをターゲット データベースにロード 55

56 Oracle からの移行ポイント 主な移行ポイントについて述べており すべての移行ポイントを網羅している訳ではありません また Oracle 互換フィーチャーの使用 (DB2_COMPATIBILITY_VECTOR=ORA) を前提としています 56

57 CREATE TABLE の PCTFREE オプション PCTFREE は データの更新時にサイズが増えることを考慮し 挿入時に空きスペースをあらかじめ確保しておくために利用する DB2 では ALTER TABLE 文で PCTFREE の値をセットしてから データをロードするか データの再編成 (reorg) を行う 例 alter table t1 pctfree 10; load from data.del of del insert into t1; set integrity for t1 immediate checked; ( ) set integrity コマンドは 参照整合性制約等のチェックが必要な場合発行する 57

58 Oracle のファンクション索引の移行 Oracle のファンクション索引の移行のポイント ファンクション索引に利用しているファンクションの結果を格納する列を表に追加する 追加する列のデータ タイプはファンクションの戻りのデータ タイプに合わせる ファンクション索引の代わりに 追加した列に対して索引を作成する generated always as を用い データの挿入 / 変更時に自動更新されるようにする implicitly hidden を指定して列を隠してもよい 隠しても SELECT 文で明示的に列名を指定すると参照可能 隠さないと INSERT 文で各列名を明示的に指定しないとデータが挿入できなくなる ファンクションを利用して参照する SQL 文の修正は不要 (DB2 が自動的に索引を選択 ) 例 : SUBSTR2(C2, 2, 3) で検索する場合 select.. from where SUBSTR2(C2, 2, 3)='xxx' 表作成時に定義する場合 create table [ 表名 ] (, c2 varchar(20), c2_substr varchar(3) generated always as (substr2(c2, 2, 3)) implicitly hidden); 上記 追加する列名を C2_SUBSTR としたが 他の列名と異なるなら何でもよい 表が定義されており 列を追加する場合 ( 以下の 3 つのステップを実行する ) set integrity for [ 表名 ] off; alter table [ 表名 ] add column c2_substr varchar(3) generated always as (substr2(c2, 2, 3)) implicitly hidden; set integrity for [ 表名 ] immediate checked force generated; 列名を表に追加したら その列に索引を作成する create index xxx on [ 表名 ] (c2_substr); 58

59 VIEW 定義内での ORDER BY の使用 VIEW 定義内で ORDER BY を使用している場合 以下のように変換する Oracle create view v1 as select from t1 order by c1 DB2 create view v1 as select * from (select from t1 order by c1) 59

60 ORDER BY xx ASC DESC NULLS FIRST LAST ORDER BY で NULL の扱いを指定している場合 以下のように変換する Oracle select from t1 order by c1 nulls first DB2 select from t1 order by row_number() over (order by c1 nulls first) DESC NULLS LAST 等も同様に動作 60

61 SELECT 文の FOR UPDATE の移行 Oracle で SELECT 文に FOR UPDATE を付加している場合 DB2 では WITH RS を付ける 複数の表が対象の場合は WITH RS USE AND KEEP UPDATE LOCKS に変換する Oracle select from t1 where for update; DB2 select from t1 where for update with rs; select from t1, t2 where with rs use and keep update locks; 61

62 SELECT 文の NOWAIT の移行 Oracle で SELECT 文に NOWAIT を付加している場合 DB2 では SELECT 文の前に TIMEOUT 設定を変える "SET CURRENT LOCK TIMEOUT" ステートメントを発行し SELECT 文の発行後に 設定を元に戻す Oracle select from t1 where for update nowait; DB2 set current lock timeout not wait; select from t1 where for update with rs; set current lock timeout null; set 文は 発行したセッションでのみ設定が変更されるので 他のセッションへの影響なし タイムアウト時の動作 タイムアウトすると トランザクションがロールバックされる ( デフォルトの動作 ) 発行した SELECT 文のみエラーとする場合 以下の設定を行う db2set DB2LOCK_TO_RB=STATEMENT DB2 インスタンス レベルでの設定となるため 影響範囲がインスタンス全体に渡る 62

63 DB2 のロック タイムアウト設定 デフォルトは DB 構成パラメーター LOCKTIMEOUT の値が使用される $ db2 get db cfg for [DB 名 ] ロック タイムアウト ( 秒 ) (LOCKTIMEOUT) = -1-1 はデフォルトでロック タイムアウトなし SET CURRENT LOCK TIMEOUT ステートメントには 待ち時間をセットすることも可能 参照 URL: SET CURRENT TIMEOUT 63

64 LENGTH / LENGTHB 関数の移行 Oracle の LENGTH/LENGTHB 関数の仕様 Oracle の関数名 LENGTH(' 文字列 ') LENGTHB(' 文字列 ') 仕様 文字列の文字数を返す 文字列のバイト数を返す DB2 への移行時 以下のように変換する Oracle の関数名 LENGTH(' 文字列 ') LENGTHB(' 文字列 ') DB2 の関数名 LENGTH(' 文字列 ', CODEUNITS32) LENGTH(' 文字列 ') または LENGTH(' 文字列 ', OCTETS) 64

65 SUBSTR / INSTR 関数の移行 DB2 への移行時 以下のように変換する Oracle の関数名 SUBSTR( ) INSTR(' 文字列 ', ' 検索文字列 ') INSTR(' 文字列 ', ' 検索文字列 ', x) INSTR(' 文字列 ', ' 検索文字列 ', x, y) DB2 の関数名 SUBSTR2( ) または SUBSTRING(' 文字列 ', x, y, CODEUNITS32) INSTR(' 文字列 ', ' 検索文字列 ', 1, 1, CODEUNITS32) INSTR(' 文字列 ', ' 検索文字列 ', x, 1, CODEUNITS32) INSTR(' 文字列 ', ' 検索文字列 ', x, y, CODEUNITS32) SUBSTR2( ) は CODEUNITS16 で処理 (JIS 第 3,4 水準を使用していなければ CODEUNITS16 でも問題なし ) SUBSTRB / INSTRB 関数は Oracle と同じなので 変換不要 65

66 TO_CHAR 関数の移行 数値 日付等を文字列の指定の書式にフォーマットする 数値フォーマットの FM 等 異なる点があるので確認が必要 (FM は以下のように変換する ) 例 Oracle の例 Oracle の TO_CHAR DB2 の例 ( 最初の例は Oracle と同じなので変換不要 ) 結果 TO_CHAR( , '9,999,999.99') ' -1,234.56' TO_CHAR( , 'FM9,999,999.99') DB2 の TO_CHAR '-1,234.56' 結果 TO_CHAR( , '9,999,999.99') ' -1,234.56' TRIM(TO_CHAR( , '9,999,999.99')) '-1,234.56' 参照 URL: VARCHAR_FORMAT 関数 (= TO_CHAR 関数 ) 66

67 SYSTIMESTAMP の移行 Oracle の SYSTIMESTAMP は CURRENT TIMESTAMP に置き換える Oracle の使用例 select TO_CHAR(SYSTIMESTAMP, 'YYYY/MM/DD HH24:MI:SS') from dual; DB2 への変換 select TO_CHAR(CURRENT TIMESTAMP, 'YYYY/MM/DD HH24:MI:SS') from dual; SYSDATE は DB2 でも使用可能 (CURRENT DATE と同じ ) 67

68 DBMS_APPLICATION_INFO および V$SESSION の移行 (1/2) クライアント情報を付加して セッション ( アプリケーション ) 情報と関連付ける DB2 では 以下の情報を付加できる ApplicationName, ClientAccountingInformation, ClientHostname, ClientUser Java での付加 Connection オブジェクトの setclientinfo メソッドの利用 DataSource ds = (DataSource)ctx.lookup("java:/comp/env/jdbc/xxx"); Connection con = ds.getconnection(); con.setclientinfo("clientuser", "User1"); con.setclientinfo("applicationname", "My Java Application1"); 参照 URL プロシージャーでの付加 WLM_SET_CLIENT_INFO プロシージャーの利用 db2 => call WLM_SET_CLIENT_INFO('User2', null, 'My CLP2', null, null); リターン状況 = 0 参照 URL 68

69 DBMS_APPLICATION_INFO および V$SESSION の移行 (2/2) アプリケーション情報の取得 SYSIBMADM.SNAPAPPL_INFO 管理ビューの利用 db2 => select agent_id, substr(appl_name,1,20) appl_name, substr(appl_id,1,30) appl_id, substr(tpmon_client_userid,1,10) tpmon_client_userid, substr(tpmon_client_app,1,25) tpmon_client_app from sysibmadm.snapappl_info; AGENT_ID APPL_NAME APPL_ID TPMON_CLIENT_USERID TPMON_CLIENT_ APP db2bp.exe *LOCAL.DB db2bp.exe *LOCAL.DB User2 My CLP2 317 db2fw1 *LOCAL.DB db2jcc_application User1 My Java Appli cation1 316 db2fw0 *LOCAL.DB db2 => list application; Auth Id Application Appl. Application Id DB # of Name Handle Name Agents MOHKAWA db2bp.exe 344 *LOCAL.DB SAMPLE 1 MOHKAWA db2bp.exe 311 *LOCAL.DB SAMPLE 1 MOHKAWA db2jcc_applica SAMPLE 1 69

70 PL/SQL: ブロック内での型宣言 DB2 10 で対応されたので変換の必要なし (DB2 9.7 までは PL/SQL のパッケージ定義で宣言 ) 例 : Oracle & DB2 create or replace function func1(i in number) return varchar2 is type type1 is record ( c1 number, c2 varchar2(10)); type arr_type1 is table of type1 index by binary_integer; type arr_type2 is varray(5) of varchar(10); t1_arr arr_type1; t2_arr arr_type2; begin t1_arr(1).c1 := i; t1_arr(1).c2 := 'hello'; t1_arr(2).c1 := i + 1; t1_arr(2).c2 := 'ciao'; t2_arr(1) := 'cava'; t2_arr(2) := 'ola'; return t1_arr(1).c2 t1_arr(1).c1 ', ' t1_arr(2).c2 t1_arr(2).c1 ', ' t2_arr(1) ', ' t2_arr(2); end; 70

71 PL/SQL: ブロック内での FUNCTION 宣言 ブロック内でのFUNCTION 宣言は PROCEDURE 宣言に書き換える (DB2 10で対応 DB2 9.7 までは PL/SQL のパッケージに変換 ) 例 : Oracle create or replace function func1(i in number) return number is function sub1 (j in number) return number is begin return j + 100; end; begin return sub1(i); end; DB2 create or replace function func1(i in number) return number is i2 number; procedure sub1 (j in number, j2 out number) is begin j2 := j + 100; end; begin sub1(i, i2); return i2; end; 71

72 PL/SQL: CURSOR の宣言 Oracle では CURSOR 定義内で その FUNCTION/PROCEDURE で宣言したパラメータが使用可能 FUNCTION xxx( ) RETURN xxx IS p1 VARCHAR2; CURSOR c1(a1 VARCHAR2, a2 VARCHAR2) IS SELECT FROM WHERE xxx = p1 and yyy = a1 and zzz = a2; DB2 DB2 の場合 CURSOR 定義内で使用できる変数は そこに渡された引数のみ 上記の場合 p1 変数を使用することはできない 以下のようなエラーとなる SQL0206N 使用されているコンテキストで "P1" は無効です p1 変数も使用する場合 以下のように 引数として渡す FUNCTION xxx( ) RETURN xxx IS p1 VARCHAR2; CURSOR c1(a1 VARCHAR2, a2 VARCHAR2, p1 VARCHAR2) IS SELECT FROM WHERE xxx = p1 and yyy = a1 and zzz = a2; 72

73 PL/SQL: RETURNING INTO における BULK COLLECT の利用 RETURNING INTO は DELETE/INSERT/UPDATE により削除 / 挿入 / 更新された行を戻す Oracle では BULK COLLECT と組み合わせることで複数行を得ることができる DB2 では NEW TABLE 関数 ( )(INSERT/UPDATE 時 ) OLD TABLE 関数 (DELETE 時 ) を利用 トリガー使用時 トリガー処理後のデータを得る場合 FINAL TABLE 関数を利用 Oracle declare type t1row is record ( n number, c varchar2(10) ); type t1row_array is varray(10) of t1row; rows t1row_array; begin update t1 set c2='hello' where c1>=100 returning c1,c2 bulk collect into rows;... end; 73 DB2 declare type t1row is record ( n number, c varchar2(10) ); type t1row_array is varray(10) of t1row; rows t1row_array; begin select c1,c2 bulk collect into rows from new table(update t1 set c2='hello' where c1>=100);... end;

74 PL/SQL: ROLLBACK 時の CURSOR の保持 DB2 では ROLLBACK すると CURSOR はクローズされる (COMMIT では保持される ) ROLLBACK 後も CURSOR を保持したい場合は 以下のように SAVEPOINT を利用する Oracle <<cur1_loop>> loop fetch cur1 into x1, x2 exit when cur1%notfound; rc := 0; begin exception when then rc := -1; end; if rc!= 0 then rollback; goto cur1_loop; end if; commit; end loop cur1_loop; close cur1; DB2 <<cur1_loop>> loop fetch cur1 into x1, x2; exit when cur1%notfound; savepoint sp1 on rollback retain cursors; rc := 0; begin exception when then rc := -1; end; if rc!= 0 then rollback to savepoint sp1; goto cur1_loop; end if; commit; end loop cur1_loop; close cur1; 74

75 PL/SQL: DBMS_SQL パッケージ DEFINE_COLUMN / COLUMN_VALUE プロシージャー 使用するデータタイプに応じたプロシージャーに書き換える 例 : DBMS_SQL.DEFINE_COLUMN_VARCHAR(cur, 1, c1, 16); DBMS_SQL.COLUMN_VALUE_VARCHAR(cur, 1, c1); DBMS_SQL.xxx_TABLE タイプ ( 例 : DBMS_SQL.VARCHAR2_TABLE) DB2 では 暗黙的に定義されていないので 使用前に以下のような定義を行う TYPE VARCHAR2_TABLE IS TABLE OF VARCHAR2(2000) INDEX BY BINARY_INTEGER; 75

76 JDBC の移行 DB2 JDBC ドライバーが含まれる JAR ファイルを CLASSPATH 環境変数に追加 sqllib/java ディレクトリー下にある以下のファイルのうち 1 つを追加 db2jcc4.jar(jdbc 4.0 以降の機能 および JDBC 3.0 以前の機能をサポート ) db2jcc.jar (JDBC 3.0 以前の機能のみサポート ) JDBC ドライバー クラス名および接続 URL の変更 Oracle JDBC ドライバー クラス名 : oracle.jdbc.oracledriver 接続 URL フォーマット ( ユーザー名 / パスワードなし ) jdbc:oracle:thin:@[ ホスト名 ]:[ ポート番号 ]:[SID] 接続 URL フォーマット ( ユーザー名 / パスワード付 ) jdbc:oracle:thin:[ ユーザー名 ]/[ パスワード ]@[ ホスト名 ]:[ ポート番号 ]:[SID] DB2 JDBC ドライバー クラス名 : com.ibm.db2.jcc.db2driver 接続 URL フォーマット ( ユーザー名 / パスワードなし ) jdbc:db2://[ ホスト名 ]:[ ポート番号 ]/[DB 名 ] 接続 URL フォーマット ( ユーザー名 / パスワード付 ) jdbc:db2://[ ホスト名 ]:[ ポート番号 ]/[DB 名 ]:user=[ ユーザー名 ];password=[ パスワード ]; 76

77 Pro*C の移行 SQL 文をプログラムに埋め込む プリコンパイラーを使用して C 言語に変換 プログラム例 EXEC SQL BEGIN DECLARE SECTION; char user[20], password[20], dbname[9]; int c1; char c2[11]; EXEC SQL END DECLARE SECTION; strcpy(user, "scott"); strcpy(password, "xxx"); strcpy(dbname, "orcl"); /* データベースへの接続 */ EXEC SQL CONNECT :user IDENTIFIED BY :password USING :dbname; /* カーソル宣言 */ EXEC SQL DECLARE cur CURSOR FOR SELECT C1, C2 FROM T1; /* カーソルのオープン */ EXEC SQL OPEN cur; for (;;) { /* レコードの取得 ( フェッチ ) */ EXEC SQL FETCH cur INTO :c1, :c2; if (sqlca.sqlcode == 1403) break; printf("%d %s n", c1, c2); } 77 /* カーソルのクローズ */ EXEC SQL CLOSE cur; /* コミットして切断 */ EXEC SQL COMMIT WORK RELEASE;

78 Pro*C の移行 ( 組み込み SQL) DB2 では組み込み SQL が Oracle の Pro*C に相当 SQL 文の実行形式 DB2 と Oracle ともに 1 つの静的 SQL( ) 実行方法と 4 つの動的 SQL 実行方法がある ( ) 静的 SQL については次ページ参照 組み込み SQL の仕様 (Pro*C との違い ) データベースに接続して プリコンパイルを行う ( 埋め込まれた SQL 文の検証 ) プログラム実行前に そのパッケージ ( ) をデータベースにバインドしておく パッケージ ( ) のバインド 埋め込まれた静的 SQL 文の実行計画 ( アクセス プラン ) の生成と保持 プログラム実行時は 保持されたアクセス プランに基づいて実行 ( バインド時のオプションにより 動的 SQL のように扱うこともできる ) Oracle のパッケージとは意味が違うので要注意 互換フィーチャー プリコンパイル オプション COMPATIBILITY_MODE ORA をセットする 典型的なプリコンパイル シンタックス prep prog1.sqc bindfile package using prog1 compatibility_mode ora 参照 URL: 移行の互換フィーチャーの使用可能化 78

79 組み込み SQL プログラムと静的 SQL 静的 SQL は SQL 文を直接プログラムに書く ( 動的 SQL は変数に SQL 文をセットする ) DB2 の静的 SQL バインド またはリバインドした時に SQL 文の実行計画 ( アクセス プラン ) が生成され データベースに作成されたパッケージ オブジェクトに保持される 実行時は パッケージに保存されているアクセス プランに従って実行される アクセス プランを動的に作成する必要なし 組み込み SQL プログラム開発 実行の流れ (C 言語用の場合 ) 組み込み SQL プログラム (xxx.sqc) プリコンパイル (DB2 PRECOMIILE ) C 言語用プログラム (xxx.c) バインド ファイル (xxx.bnd) コンパイルバインドリバインド 実行形式プログラム 静的 SQL のアクセス プランの生成 再生成 79 パッケージ ( 静的 SQL のアクセス プランを含む )

80 組み込み SQL プログラムにおけるマクロ マクロの使用 ( 例 : #ifdef の使用, 配列の要素数をラベルで定義 ) DB2 も Oracle もサポート DB2 は別のコンパイラのプリプロセッサを利用 ( オプションで指定 ) prep prog1.sqc bindfile package using prog1 preprocessor "xlc -P -DDB2=1" COMPATIBILITY_MODE ORA AIX のコンパイラ xlc を使用した場合の例 マクロ使用例 ( 含エラーメッセージ取得 API の違い ) #ifdef ORA sqlglm(emsg, &buf_len, &emsg_len); printf("%.*s n", emsg_len, emsg); #elif DB2 sqlaintp(emsg, sizeof(emsg), 0, &sqlca); printf("%s n", emsg); #endif 80

81 Pro*C プログラム DB2 の組み込み SQL プログラムに移行 SQL の実行形式 静的 SQL:DB2 と Oracle でほぼ同じ 例 EXEC SQL DECLARE cur CURSOR FOR SELECT C1, C2 FROM T1; EXEC SQL OPEN cur; EXEC SQL FETCH cur INTO :c1, :c2; 動的 SQL 方法 1: DB2 と Oracle でほぼ同じ SQL 文の実行 EXEC SQL EXECUTE IMMEDIATE :sql; 方法 2: DB2 と Oracle でほぼ同じ SQL 文の実行 ( 入力ホスト変数をセット可能 ) EXEC SQL PREPARE stmt FROM :sql; EXEC SQL EXECUTE stmt USING :p1, :p2; 方法 3: DB2 と Oracle でほぼ同じ SQL 文の実行 ( 入力ホスト変数をセット可能 結果列の値を取得可能 ) EXEC SQL PREPARE stmt FROM :sql; EXEC SQL DECLARE cur CURSOR FOR stmt; EXEC SQL OPEN cur USING :p1, :p2; EXEC SQL FETCH cur INTO :c1, :c2; 方法 4: 入力ホスト変数の数 結果の列数等が動的に構成可能 指定は SQLDA 構造体を使用 SQLDA 構造体が DB2 と Oracle で違う 81

82 Pro*C: プログラムの変換例 プログラム例 /* データベースへの接続 */ EXEC SQL CONNECT :user IDENTIFIED BY :password USING :dbname; /* カーソル宣言 */ EXEC SQL DECLARE cur CURSOR FOR SELECT C1, C2 FROM T1; /* カーソルのオープン */ EXEC SQL OPEN cur; for (;;) { /* レコードの取得 ( フェッチ ) */ EXEC SQL FETCH cur INTO :c1, :c2; #ifdef ORA if (sqlca.sqlcode == 1403) { #elif DB2 if (sqlca.sqlcode == 100) { #endif break; } printf("%d %s n", c1, c2); } プリコンパイラーオプション COMPATIBILITY_MODE ORA で対応 DB2 本来のシンタックスは EXEC SQL CONNECT TO :dbname USER :user USING :password; この例では 2 箇所の書き換えが必要 82 /* カーソルのクローズ */ EXEC SQL CLOSE cur; /* コミットして切断 */ #ifdef ORA EXEC SQL COMMIT WORK RELEASE; #elif DB2 EXEC SQL COMMIT; EXEC SQL CONNECT RESET; #endif

83 Pro*C: VARCHAR 構造体について (char 型の利用との違い )(1/2) VARCHAR param[x] は Oracle 互換モードで 以下の構造体に変換され Oracle の Pro*C プログラムがそのまま利用できる VARCHAR 型で DB2 サーバーとデータをやり取りする場合 この変数を使用して SQL 文で戻されるデータを受けると arr に文字列の値 (NULL ターミネーターなし ) len にその長さがセットされる この変数に値をセットして DB2 サーバーとやり取りする場合も 上記のようにセットする char 型で DB2 サーバーとデータをやり取りする場合 char 型の変数を使用して SQL 文で戻されるデータを受けると 文字列の値を NULL ターミネーター付きでセットする NULL ターミネーターがセットされるため 1 バイト余計に変数の領域を確保する 例 (T1 表の定義 : create table t1 (c1 int, c2 varchar2(10))) 83 struct { short len; char arr[x]; } param; int c1; VARCHAR c2_1[10]; char c2_2[10+1]; EXEC SQL DECLARE cur CURSOR FOR SELECT C1, C2, C2 FROM T1; EXEC SQL FETCH cur INTO :c1, :c2_1, :c2_2; printf("c2_1=%.*s n", c2_1.len, c2_1.arr); NULLターミネートされない printf("c2_2=%s n", c2_2); NULLターミネートされる

84 Pro*C: VARCHAR 構造体について (char 型の利用との違い )(2/2) Oracleの場合 列のデータ タイプがVARCHAR2であっても C 言語のchar 型でデータを受信すると 値は固定長となり 足りない文字はスペースが入り NULLターミネーターが付く ( 必ず文字列の長さが列のデータ タイプの長さとなり NULLターミネーターが付く ) OracleのPro*Cプログラム Oracle char 型でデータを取得すると "hello " "ciao " VARCHAR2(10) 'hello' 'ciao ' DB2 の場合 列のデータ タイプが VARCHAR(VARCHAR2) なら C 言語の char 型でデータを受信すると その値がそのままセットされ NULL ターミネーターが付く DB2 の組み込み SQL プログラム char 型でデータを取得すると "hello" "ciao " DB2 VARCHAR2(10) 'hello' 'ciao ' 84

85 Pro*C: 構造体を用いたデータ取得 (NULL チェック方法 ) Oracle, DB2 ともに 複数の列のデータを C 言語の構造体で取得することが可能 NULL かどうかチェックするためのインジケータの指定方法が異なる 85 Oracle EXEC SQL BEGIN DECLARE SECTION; char user[20], password[20], dbname[9]; typedef struct { int c1; char c2[11]; } T1; T1 t1; typedef struct { short c1; short c2; } T1_IND; T1_IND t1_ind; EXEC SQL END DECLARE SECTION; EXEC SQL DECLARE cur CURSOR FOR SELECT C1, C2 FROM T1; EXEC SQL FETCH cur INTO :t1 :t1_ind; if (t1_ind.c1 == -1) { /* C1 が NULL の場合の処理 */ } if (t1_ind.c2 == -1) { /* C2 が NULL の場合の処理 */ } DB2 EXEC SQL BEGIN DECLARE SECTION; char user[20], password[20], dbname[9]; typedef struct { int c1; char c2[11]; } T1; T1 t1; short t1_ind[2]; EXEC SQL END DECLARE SECTION; EXEC SQL DECLARE cur CURSOR FOR SELECT C1, C2 FROM T1; EXEC SQL FETCH cur INTO :t1 :t1_ind; if (t1_ind[0] == -1) { /* C1がNULLの場合の処理 */ } if (t1_ind[1] == -1) { /* C2がNULLの場合の処理 */ }

86 Pro*C: FETCH INTO のデータなし処理 データなしのエラー番号が違う (Oracleの場合:1403, DB2の場合 :100) DB2では以下のようなプログラムになる while (1) { EXEC SQL FETCH ; if (sqlca.sqlcode == 100) { break; } sqlca.sqlcode は SQLCODE と置き換えることも可能例 : if (SQLCODE == 100) { EXEC SQL WHENEVER NOT FOUND DO BREAK 文で抜けることも可能 終了したら EXEC SQL WHENEVER NOT FOUND CONTINUE を発行する EXEC SQL WHENEVER SQLERROR GOTO SqlErrorTerminate; EXEC SQL WHENEVER NOT FOUND DO BREAK; while (1) { EXEC SQL FETCH ; } EXEC SQL WHENEVER NOT FOUND CONTINUE; EXEC SQL WHENEVER SQLERROR CONTINUE; 86

87 Pro*C: ストアード プロシージャー呼び出し DB2 では EXEC SQL CALL 文で対応 無名ブロック (begin end) を使用する場合 動的 SQL にする Oracle の例 以下のようにプロシージャーの第 1,3 引数を入力, 第 2,4 引数を出力とする EXEC SQL EXECUTE begin proc1(:in1, :out1, :in2, :out2); end; END-EXEC; DB2: EXEC SQL CALL 文で対応する場合 EXEC SQL CALL proc1(:in1, :out1, :in2, :out2); 動的 SQL 内の : 変数は? としてもよい DB2: 無名ブロックを使用する場合例 : char stmt[256]; begin proc1(?,?,?,?); end; strcpy(stmt, "begin proc1(:in1, :out1, :in2, :out2); end;"); EXEC SQL PREPARE sql FROM :stmt; EXEC SQL EXECUTE sql into :in1, :out1, :in2, :out2 using :in1, :out1, :in2, out2; 引数が入力か出力かに関係なく 順に定義する 87

88 IBM Corporation All Rights Reserved. ワークショップ セッション および資料は IBM またはセッション発表者によって準備され それぞれ独自の見解を反映したものです それらは情報提供の目的のみで提供されており いかなる参加者に対しても法律的またはその他の指導や助言を意図したものではなく またそのような結果を生むものでもありません 本プレゼンテーションに含まれている情報については 完全性と正確性を帰するよう努力しましたが 現状のまま 提供され 明示または暗示にかかわらずいかなる保証も伴わないものとします 本プレゼンテーションまたはその他の資料の使用によって あるいはその他の関連によって いかなる損害が生じた場合も IBM は責任を負わないものとします 本プレゼンテーションに含まれている内容は IBM またはそのサプライヤーやライセンス交付者からいかなる保証または表明を引きだすことを意図したものでも IBM ソフトウェアの使用を規定する適用ライセンス契約の条項を変更することを意図したものでもなく またそのような結果を生むものでもありません 本プレゼンテーションで IBM 製品 プログラム またはサービスに言及していても IBM が営業活動を行っているすべての国でそれらが使用可能であることを暗示するものではありません 本プレゼンテーションで言及している製品リリース日付や製品機能は 市場機会またはその他の要因に基づいて IBM 独自の決定権をもっていつでも変更できるものとし いかなる方法においても将来の製品または機能が使用可能になると確約することを意図したものではありません 本資料に含まれている内容は 参加者が開始する活動によって特定の販売 売上高の向上 またはその他の結果が生じると述べる または暗示することを意図したものでも またそのような結果を生むものでもありません パフォーマンスは 管理された環境において標準的な IBM ベンチマークを使用した測定と予測に基づいています ユーザーが経験する実際のスループットやパフォーマンスは ユーザーのジョブ ストリームにおけるマルチプログラミングの量 入出力構成 ストレージ構成 および処理されるワークロードなどの考慮事項を含む 数多くの要因に応じて変化します したがって 個々のユーザーがここで述べられているものと同様の結果を得られると確約するものではありません 記述されているすべてのお客様事例は それらのお客様がどのように IBM 製品を使用したか またそれらのお客様が達成した結果の実例として示されたものです 実際の環境コストおよびパフォーマンス特性は お客様ごとに異なる場合があります 以下は International Business Machines Corporation の米国およびその他の国における商標 IBM の全商標のリストについては をご覧ください AIX, CICS, CICSPlex, DB2, DB2 Universal Database, i5/os, IBM, the IBM logo, IMS, iseries, Lotus, OMEGAMON, OS/390, Parallel Sysplex, purexml, Rational, RCAF, Redbooks, Sametime, Smart SOA, System i, System i5, System z, Tivoli, WebSphere, z/os. Java およびすべての Java 関連の商標およびロゴは Sun Microsystems, Inc. の米国およびその他の国における商標 Microsoft, Windows, Windows NT および Windows ロゴは Microsoft Corporation の米国およびその他の国における商標 Intel, Intel ロゴ, Intel Inside, Intel Inside ロゴ, Intel Centrino, Intel Centrino ロゴ, Celeron, Intel Xeon, Intel SpeedStep, Itanium, Pentium は Intel Corporation または子会社の米国およびその他の国における商標または登録商標 UNIX は The Open Group の米国およびその他の国における登録商標 Linux は Linus Torvalds の米国およびその他の国における商標 その他の会社名 製品名およびサービス名等はそれぞれ各社の商標 88

Microsoft Word - Lab5d-DB2組み込みSQL.doc

Microsoft Word - Lab5d-DB2組み込みSQL.doc [Lab 5d] DB2 でのアプリケーション開発 ( 組み込み SQL) 2011 年 06 月日本アイ ビー エム株式会社 Contents CONTENTS...2 1. はじめに...3 2. 内容...3 3. DB2 組み込み SQL への移行...3 3.1 準備...4 3.2 エラー処理用プログラムに関する処理...5 3.3 メインプログラムに関する処理...7 3.4 実行プログラムの生成...11

More information

Microsoft PowerPoint - 第5章補足-DB2組み込みSQL.ppt

Microsoft PowerPoint - 第5章補足-DB2組み込みSQL.ppt 開発編第 5 章補足 DB2 組み込み SQL 本書に含まれている情報は 正式な IBM のテストを受けていません また 明記にしろ 暗黙的にしろ なんらの保証もなしに配布されるものです この情報の使用またはこれらの技術の実施は いずれも 使用先の責任において行われるべきものであり それらを評価し 実際に使用する環境に統合する使用先の判断に依存しています それぞれの項目は

More information

IBM Presentations: Smart Planet Template

IBM Presentations: Smart Planet Template Nutanix Tips 冗長性設計のヒント 2018 年 12 月 7 日 日本アイ ビー エム株式会社 システムズ ハードウェア事業本部 Power Systems テクニカル セールス 1 Nutanix システムの冗長性の設計 耐障害性に関して 以下の 2 点を決定します Redundancy Factor ノードが何台ダウンしてもクラスターが稼動し続けるか? Replication Factor

More information

[Lab 2]Oracleからの移行を促進する新機能

[Lab 2]Oracleからの移行を促進する新機能 [Lab 2] Oracle からの移行を促進する新機能 Contents CONTENTS... 2 1. はじめに... 3 2. 内容... 3 3. レジストリ変数の設定とデータベースの作成... 3 3.1 レジストリ変数なしでのデータベースの作成... 3 3.2 レジストリ変数ありでのデータベースの作成... 4 3.3 データタイプの互換性パラメーターの確認... 5 4. ORACLE

More information

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String 目次 1.SqlCtl クラスリファレンス 2 (1)Connect() メソッド 2 (2)DisConnect() メソッド 3 (3)Commit() メソッド 3 (4)Rollback() メソッド 4 2.SqlStm クラスリファレンス 5 (1)Prepare() メソッド 5 (2)Execute() メソッド 6 (3)Release() メソッド 6 (4)Immediate()

More information

IBM Rational Software Delivery Platform v7.0 What's

IBM Rational Software Delivery Platform v7.0 What's IBM Rational Software Delivery Platform V7.0 デスクトップ製品 V7.0 リリースの全体像および製品共通の新機能 2006 年 12 月 15 日 当資料は 2006/12/15 時点の情報に基づいて作成されていますが 事前の予告なく変更される場合があります IBM Tivoli WebSphere ClearCase ClearQuest Rational

More information

第 2 章 PL/SQL の基本記述 この章では PL/SQL プログラムの基本的な記述方法について説明します 1. 宣言部 2. 実行部 3. 例外処理部

第 2 章 PL/SQL の基本記述 この章では PL/SQL プログラムの基本的な記述方法について説明します 1. 宣言部 2. 実行部 3. 例外処理部 はじめに コース概要と目的 Oracle 独自の手続き型言語である PL/SQL について説明します PL/SQL の基本構文 ストアド サブプログラム トリガーの作成方法 またストアド サブプログラムの管理について習得することを目的としています 受講対象者 これから PL/SQL を使用してアプリケーション開発をされる方 前提条件 SQL トレーニング コースを受講された方 もしくは 同等の知識をお持ちの方

More information

内容 Visual Studio サーバーエクスプローラで学ぶ SQL とデータベース操作... 1 サーバーエクスプローラ... 4 データ接続... 4 データベース操作のサブメニューコンテキスト... 5 データベースのプロパティ... 6 SQL Server... 6 Microsoft

内容 Visual Studio サーバーエクスプローラで学ぶ SQL とデータベース操作... 1 サーバーエクスプローラ... 4 データ接続... 4 データベース操作のサブメニューコンテキスト... 5 データベースのプロパティ... 6 SQL Server... 6 Microsoft Visual Studio サーバーエクスプローラで学ぶ SQL とデータベース操作 Access 2007 と SQL Server Express を使用 SQL 文は SQL Server 主体で解説 Access 版ノースウィンドウデータベースを使用 DBMS プログラム サーバーエクスプローラ SQL 文 実行結果 データベース エンジン データベース SQL 文とは 1 度のコマンドで必要なデータを効率よく取得するための技術といえます

More information

Oracle 入門 ~ 研修受講後のスキルアップサポート ~ 対応バージョン :Oracle 10gR1 ~ 12cR1 本資料は アシスト Oracle 研修をご受講いただいたお客様からのご質問や 研修ではご案内できなかった情報などを FAQ にまとめたものです 研修受講後のスキルアップの一助とし

Oracle 入門 ~ 研修受講後のスキルアップサポート ~ 対応バージョン :Oracle 10gR1 ~ 12cR1 本資料は アシスト Oracle 研修をご受講いただいたお客様からのご質問や 研修ではご案内できなかった情報などを FAQ にまとめたものです 研修受講後のスキルアップの一助とし Oracle 入門 ~ 研修受講後のスキルアップサポート ~ 対応バージョン :Oracle 10gR1 ~ 12cR1 本資料は アシスト Oracle 研修をご受講いただいたお客様からのご質問や 研修ではご案内できなかった情報などを FAQ にまとめたものです 研修受講後のスキルアップの一助として 是非お役立てください ご利用上の注意事項は最後のページにまとめられております ご確認のうえ ご利用ください

More information

DumpCollection IT Exam Training online / Bootcamp PDF and Testing Engine, study and practice

DumpCollection IT Exam Training online / Bootcamp   PDF and Testing Engine, study and practice DumpCollection IT Exam Training online / Bootcamp http://www.dumpcollection.com PDF and Testing Engine, study and practice Exam : 1z0-144 日本語 (JPN) Title : Oracle Database 11g: Program with PL/SQL Vendor

More information

untitled

untitled Project Zero Web Web Oriented Architecture(WOA) HVSC. Beta Works 2 3 Ajax Asynchronous + JavaScript + XML JavaScript (XMLHttpRequest) XML, JSON XHTML HTML CSS Document Object Model (DOM) ( ) ( ) Web Web

More information

COBOL Standard Edition COBOL SQL アクセスのご紹介 2017 年 3 本電気株式会社 次 COBOL SQLアクセスとは P.4 COBOL85 SQLEXTENSIONからの移 P.10 製品情報 P.13 COBOL SQL アクセスとは 製品概要 COBOL ソース中の埋め込み SQL によるデータベースアクセスが可能に 業界標準 ODBC(Open DataBase

More information

IBM i とクラウドのつなぎ 本アイ ビー エム株式会社 Power Systems テクニカル セールス 菅 丈

IBM i とクラウドのつなぎ 本アイ ビー エム株式会社 Power Systems テクニカル セールス 菅 丈 IBM i とクラウドのつなぎ 本アイ ビー エム株式会社 Power Systems テクニカル セールス 菅 丈 IBM i Bluemix 基幹システム IBM i IBM i の進化は ビジネス要件の変遷とともに 予測できない変化 将来を見据えたテクノロジーへの対応 IBM ロゴ変 の歴史 1886 1891 1911 1924 1947 1956 1972-Now IBM i は資産継承と最新テクノロジーを両

More information

第2章 Oracleからの移行を促進する新機能

第2章 Oracleからの移行を促進する新機能 第 2 章 Oracle からの移行を促進する新機能 本書に含まれている情報は 正式な IBM のテストを受けていません また 明記にしろ 暗黙的にしろ なんらの保証もなしに配布されるものです この情報の使用またはこれらの技術の実施は いずれも 使用先の責任において行われるべきものであり それらを評価し 実際に使用する環境に統合する使用先の判断に依存しています それぞれの項目は ある特定の状態において正確であることが

More information

Microsoft Word - Android_SQLite講座_画面800×1280

Microsoft Word - Android_SQLite講座_画面800×1280 Page 24 11 SQLite の概要 Android にはリレーショナルデータベースである SQLite が標準で掲載されています リレーショナルデータベースは データを表の形で扱うことができるデータベースです リレーショナルデータベースには SQL と呼ばれる言語によって簡単にデータの操作や問い合わせができようになっています SQLite は クライアントサーバ形式ではなく端末の中で処理が完結します

More information

Microsoft Word - Lab6.doc

Microsoft Word - Lab6.doc I Oracle からのアプリケーションの移行ハンズオン (Lab6 Lab6) 日本アイアイ ビービー エムエム株式会社 Contents CONTENTS...2 1. はじめに...3 2. 内容...3 3. SELECT 文を実行実行する JAVA プログラム...3 3.1 ソースコードの確認...3 3.2 ソースコードの編集...4 3.3 プログラムのコンパイル...5 3.4 プログラムの実行...6

More information

Oracle SQL Developer Data Modeler

Oracle SQL Developer Data Modeler Oracle SQL Developer Data Modeler テクニカル レビュー - 2009 年 6 月 アジェンダ テクニカル レビューおよび機能レビュー 開発者の生産性に重点 Oracle SQL Developer Data Modeler の概要 対象 テクノロジー 機能のレビュー パッケージの更新 Oracle SQL Developer

More information

標準化 補足資料

標準化 補足資料 高度専門データベース技術 SQL99 補足資料 ( 株 ) アイテック情報技術教育研究部 2012 年 2 月 14 日 ( はじめに ) この補足資料は,SQL99(ISO/IEC9075-2,JIS X3005-2) の必須機能 (Core SQL) のうち, SQL92に対し機能拡張が行われた部分で, 高度専門データベース技術 ( 以下, DB 技術 という ) に記載のないものについて記述する

More information

PGECons技術ドキュメントテンプレート Ver.3

PGECons技術ドキュメントテンプレート Ver.3 エンタープライズ コンソーシアム技術部会 WG#2 ストアドプロシージャ移行調査編 製作者担当企業名クオリカ株式会社 2013 Enterprise Consortium 改訂履歴 版 改訂日 変更内容 1.0 2013/03/25 新規作成 ライセンス 本作品は CC-BY ライセンスによって許諾されています ライセンスの内容を知りたい方は http://creativecommons.org/licenses/by/2.1/jp/

More information

IBM Presentations: Smart Planet Template

IBM Presentations: Smart Planet Template IBM DB2 Web Query for i ipad / iphone アプリ Mobile Faves 簡易利用ガイド日本アイ ビー エム株式会社システム製品テクニカル セールス Power Systems テクニカル セールス 2012 年 1 月版 特記事項 当資料で解説される項目の更に詳細な説明は 製品から提供されるマニュアル オンライン ヘルプ Web 上の情報を参照してください 当資料は

More information

Microsoft Word - J-jdev_dba_db_developers.doc

Microsoft Word - J-jdev_dba_db_developers.doc Oracle JDeveloper 2006 1 : Oracle Oracle JDeveloper 2 Oracle JDeveloper :... 2... 4... 4... 4... 5... 6 SQL... 7... 8... 8 SQL... 10 PL/SQL... 11 PL/SQL... 11 Code Editor PL/SQL... 12 Navigator Structure...

More information

Freelance Graphics - Œ³‚è1

Freelance Graphics - Œ³‚è1 SQL ステートメント Level ISOLATION お断り : 当資料は DB2 UDB V7.2(UNIX,PC) をベースに作成されています < 第 1.00 版 >2001 年 6 月 1 ( 内容 ) とはロックの範囲と ISOLATION レベル ISOLATION レベルの設定ロックのモードアクセス パス & 処理内容とロック モードの関係 SQL ステートメント Level ISOLATIO

More information

untitled

untitled cibm() Information Management DB2 UDB V8.2 SQL cibm() Information Management 2 DB2 UDB V8.2 SQL cibm() Information Management 3 DB2 UDB V8.2 SQL cibm() Information Management 4 cibm() Information Management

More information

( 目次 ) 1. はじめに 開発環境の準備 仮想ディレクトリーの作成 ASP.NET のWeb アプリケーション開発環境準備 データベースの作成 データベースの追加 テーブルの作成

( 目次 ) 1. はじめに 開発環境の準備 仮想ディレクトリーの作成 ASP.NET のWeb アプリケーション開発環境準備 データベースの作成 データベースの追加 テーブルの作成 KDDI ホスティングサービス (G120, G200) ブック ASP.NET 利用ガイド ( ご参考資料 ) rev.1.0 KDDI 株式会社 1 ( 目次 ) 1. はじめに... 3 2. 開発環境の準備... 3 2.1 仮想ディレクトリーの作成... 3 2.2 ASP.NET のWeb アプリケーション開発環境準備... 7 3. データベースの作成...10 3.1 データベースの追加...10

More information

ストラドプロシージャの呼び出し方

ストラドプロシージャの呼び出し方 Release10.5 Oracle DataServer Informix MS SQL NXJ SQL JDBC Java JDBC NXJ : NXJ JDBC / NXJ EXEC SQL [USING CONNECTION ] CALL [.][.] ([])

More information

3/7 マイグレーション開発方針 顧客名 0 作成者 根岸正 < プログラム移行方針 > システム名称 A-VX システムマイグレーション作成日 2015/09/01 < COBOL 資産のプログラム移行 > COBOLソース ( メインとCOPYLIB) を入力としてSCC 言語変換ツールにてVB

3/7 マイグレーション開発方針 顧客名 0 作成者 根岸正 < プログラム移行方針 > システム名称 A-VX システムマイグレーション作成日 2015/09/01 < COBOL 資産のプログラム移行 > COBOLソース ( メインとCOPYLIB) を入力としてSCC 言語変換ツールにてVB 3/7 マイグレーション開発方針 顧客名 0 作成者 根岸正 < プログラム移行方針 > システム名称 A-VX システムマイグレーション作成日 2015/09/01 < COBOL 資産のプログラム移行 > COBOLソース ( メインとCOPYLIB) を入力としてSCC 言語変換ツールにてVB.netソリューションを作成します言語変換後にSDK( ソフトウェア開発キット ) にてデバッグおよびビルドにて実行可能アプリケーションを作成します

More information

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ

Oracle Un お問合せ : Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよ Oracle Un お問合せ : 0120- Oracle Data Integrator 11g: データ統合設定と管理 期間 ( 標準日数 ):5 コースの概要 Oracle Data Integratorは すべてのデータ統合要件 ( 大量の高パフォーマンス バッチ ローブンの統合プロセスおよびSOA 対応データ サービスへ ) を網羅する総合的なデータ統合プラットフォームです Oracle

More information

1,.,,,., RDBM, SQL. OSS,, SQL,,.

1,.,,,., RDBM, SQL. OSS,, SQL,,. 1,.,,,., RDBM, SQL. OSS,, SQL,,. 3 10 10 OSS RDBMS SQL 11 10.1 OSS RDBMS............................ 11 10.1.1 PostgreSQL................................. 11 10.1.2 MySQL...................................

More information

メール全文検索アプリケーション Sylph-Searcher のご紹介 SRA OSS, Inc. 日本支社技術部チーフエンジニア Sylpheed 開発者 山本博之 Copyright 2007 SRA OSS, Inc. Japan All right

メール全文検索アプリケーション Sylph-Searcher のご紹介 SRA OSS, Inc. 日本支社技術部チーフエンジニア Sylpheed 開発者 山本博之 Copyright 2007 SRA OSS, Inc. Japan All right メール全文検索アプリケーション Sylph-Searcher のご紹介 SRA OSS, Inc. 日本支社技術部チーフエンジニア Sylpheed 開発者 山本博之 yamamoto@sraoss.co.jp Sylph-Searcher とは Sylpheed 向け電子メール全文検索アプリケーション PostgreSQL 8.2の全文検索機能を利用 Linux/Unix Windows 2000

More information

セットアップカード

セットアップカード NEC COBOL SQL アクセス Client Runtime Ver1.0 COBOL SQL アクセス Client Runtime Ver1.0 (1 年間保守付 ) COBOL SQL アクセス Client Runtime Ver1.0 (1 年間時間延長保守付 ) セットアップカード ごあいさつ このたびは COBOL SQL アクセス Client Runtime Ver1.0 (

More information

Oracle SQL Developerの移行機能を使用したOracle Databaseへの移行

Oracle SQL Developerの移行機能を使用したOracle Databaseへの移行 < ここに画像を挿入 > Oracle SQL Developer の移行機能を使用した Oracle Database への移行 以下の事項は 弊社の一般的な製品の方向性に関する概要を説明するものです また 情報提供を唯一の目的とするものであり いかなる契約にも組み込むことはできません 以下の事項は マテリアルやコード 機能を提供することをコミットメント ( 確約 ) するものではないため 購買決定を行う際の判断材料になさらないで下さい

More information

1 SQL Server SQL Oracle SQL SQL* Plus PL/SQL 2 SQL Server SQL Server SQL Oracle SQL SQL*Plus SQL Server GUI 1-1 osql 1-1 Transact- SQL SELECTFROM 058

1 SQL Server SQL Oracle SQL SQL* Plus PL/SQL 2 SQL Server SQL Server SQL Oracle SQL SQL*Plus SQL Server GUI 1-1 osql 1-1 Transact- SQL SELECTFROM 058 1 SQL Server SQL Oracle SQL SQL* Plus PL/SQL 2 SQL Server SQL Server SQL Oracle SQL SQL*Plus SQL Server GUI 1-1 osql 1-1 Transact- SQL SELECTFROM 058 2 Excel 1 SQL 1 SQL Server sp_executesql Oracle SQL

More information

PowerPoint Presentation

PowerPoint Presentation Webデザイン特別プログラムデータベース実習編 3 MySQL 演習, phpmyadmin 静岡理工科大学総合情報学部幸谷智紀 http://na-inet.jp/ RDB の基礎の基礎 RDB(Relational DataBase) はデータを集合として扱う データの取り扱いはテーブル (= 集合 ) の演算 ( 和集合, 積集合 ) と同じ データベースには複数のテーブルを作ることができる

More information

NEC COBOL SQL アクセス Server Runtime V1.0 COBOL SQL アクセス Server Runtime V1.0 (1 年間保守付 ) COBOL SQL アクセス Server Runtime V1.0 (1 年間時間延長保守付 ) セットアップカード SL438

NEC COBOL SQL アクセス Server Runtime V1.0 COBOL SQL アクセス Server Runtime V1.0 (1 年間保守付 ) COBOL SQL アクセス Server Runtime V1.0 (1 年間時間延長保守付 ) セットアップカード SL438 NEC COBOL SQL アクセス Server Runtime V1.0 COBOL SQL アクセス Server Runtime V1.0 (1 年間保守付 ) COBOL SQL アクセス Server Runtime V1.0 (1 年間時間延長保守付 ) セットアップカード SL438730U01-1 ごあいさつ このたびは COBOL SQL アクセス Server Runtime

More information

Oracle Database Connect 2017 JPOUG

Oracle Database Connect 2017 JPOUG Oracle Database Connect 2017 / JPOUG 異なるデータベース間の SQL 比較と Oracle Database 12c の新機能 Noriyoshi Shinoda March 8, 2017 自己紹介篠田典良 ( しのだのりよし ) 所属 日本ヒューレット パッカード株式会社テクノロジーコンサルティング事業統括 現在の業務 Oracle Database をはじめ

More information

Oracle9i Application Server for Windows NT/2000 リリース・ノート追加情報 リリース

Oracle9i Application Server for Windows NT/2000 リリース・ノート追加情報 リリース Oracle9i Application Server for Windows NT/2000 リリース ノート追加情報 リリース 1.0.2.1 2001 年 5 月 部品番号 : J03818-01 原典情報 : Oracle9i Application Server Release Notes Addendum, Release 1.0.2.1 for Windows NT/2000 (A88731-02)

More information

Micro Focus Enterprise Developer チュートリアル メインフレーム COBOL 開発 : MQ メッセージ連携 1. 目的 本チュートリアルでは CICS から入力したメッセージを MQ へ連携する方法の習得を目的としています 2. 前提 使用した OS : Red H

Micro Focus Enterprise Developer チュートリアル メインフレーム COBOL 開発 : MQ メッセージ連携 1. 目的 本チュートリアルでは CICS から入力したメッセージを MQ へ連携する方法の習得を目的としています 2. 前提 使用した OS : Red H Micro Focus Enterprise Developer チュートリアル 1. 目的 本チュートリアルでは CICS から入力したメッセージを MQ へ連携する方法の習得を目的としています 2. 前提 使用した OS : Red Hat Enterprise Linux Server release 6.5 x64 使用した WebSphere MQ : IBM WebSphere MQ 7.5.0.1

More information

Microsoft PowerPoint - 3-Forms-Others.ppt

Microsoft PowerPoint - 3-Forms-Others.ppt 3 Form Builder その他の新機能 Oracle Developer R6.0 新機能 3-1 CONTENTS PL/SQL8 サポート 項目の色 フォントの直接設定 階層ツリー コントロール 戻り値を含む DML 実行時の動作 Forms でのパスワード管理 3-2 ここでは 2 章で触れなかった Form Builder のその他の新機能に付いて紹介します Oracle Developer

More information

PowerPoint Presentation

PowerPoint Presentation 上級プログラミング 2( 第 5 回 ) 工学部情報工学科 木村昌臣 今日のテーマ データベース入門 データベースシステムの用意の仕方 データベースを作ってみる データベースを使ってみる データベースプログラミング JDBCを使った検索プログラム JDBCを使った更新プログラム データベース入門 今回の説明は Windows 環境を前提としているため Linux など他のプラットフォーム上で作業を行う場合は

More information

Caché SQL に関するよくある質問

Caché SQL に関するよくある質問 Caché SQL に関するよく ある質問 Version 5.1 2006-03-14 InterSystems Corporation 1 Memorial Drive Cambridge MA 02142 www.intersystems.com Caché SQL に関するよくある質問 Caché Version 5.1 2006-03-14 Copyright 2006 InterSystems

More information

9 WEB監視

9  WEB監視 2018/10/31 02:15 1/8 9 WEB 監視 9 WEB 監視 9.1 目標 Zabbix ウェブ監視は以下を目標に開発されています : ウェブアプリケーションのパフォーマンスの監視 ウェブアプリケーションの可用性の監視 HTTPとHTTPSのサポート 複数ステップで構成される複雑なシナリオ (HTTP 要求 ) のサポート 2010/08/08 08:16 Kumi 9.2 概要 Zabbix

More information

PL/SQLからのオペレーティング・システム・コマンドの実行

PL/SQLからのオペレーティング・システム・コマンドの実行 PL/SQL からのオペレーティング システム コマンドの実行 Oracle ホワイト ペーパー 2008 年 7 月 注 : 本書は オラクルの一般的な製品の方向性を示すことが目的です また 情報提供を唯一の目的とするものであり いかなる契約にも組み込むことはできません 下記の事項は マテリアルやコード 機能の提供を確約するものではなく また 購買を決定する際の判断材料とはなりえません オラクルの製品に関して記載されている機能の開発

More information

今さら聞けない!? Oracle入門 ~前編~

今さら聞けない!? Oracle入門 ~前編~ Oracle Direct Seminar 今さら聞けない!? Oracle 入門 ~ 前編 ~ 日本オラクル株式会社 Agenda 1. Oracle の基本動作 2. Oracle のファイル群 3. Oracle のプロセス群と専用メモリ領域 4. データベース内部動作 今さら聞けない!? オラクル入門 ~ 後編 ~ 4. データベース内部動作

More information

<4D F736F F F696E74202D2091E6358FCD B8F88979D B F2E707074>

<4D F736F F F696E74202D2091E6358FCD B8F88979D B F2E707074> 第 5 章エラー処理コーディング お断り : 当資料は DB2 Universal Database for Linux, UNIX and Windows V8.2 をベースに作成されています この章で学ぶこと エラーハンドリングとは? SQL プロシージャで使用可能なエラーハンドリング手法 SQLCODE と SQLSTATE シグナル 条件ハンドラー ロギング エラーハンドリング実装時の注意点

More information

AIX yumの設定

AIX yumの設定 AIX yum の設定 本アイ ビー エム株式会社 Power Systems テクニカルセールス 2016 年 11 8 rev 1.0 IBM Corporation 2016. All Rights Reserved. ワークショップ セッション および資料は IBM またはセッション発表者によって準備され それぞれ独 の 解を反映したものです それらは情報提供の 的のみで提供されており いかなる参加者に対しても法律的またはその他の指導や助

More information

Microsoft Windows向けOracle Database 12cでのOracleホーム・ユーザーの導入

Microsoft Windows向けOracle Database 12cでのOracleホーム・ユーザーの導入 Oracle ホワイト ペーパー 2013 年 7 月 Microsoft Windows 向け Oracle Database 12c での Oracle ホーム ユーザーの導入 はじめに Oracle Database 12c Release 1(12.1) 以降では Microsoft Windows 上のOracle Databaseで インストール時に指定したOracleホーム ユーザーの使用がサポートされています

More information

データベースアクセス

データベースアクセス データベースアクセスコンポーネント 1. 概要 データベースアクセスコンポーネントとは SQL データベースにアクセスして SQL 文を実行することによりデータベース検索を行う機能を提供するコンポーネントです また データベースアクセスコンポーネントでは データベースの構成情報 接続情報 エラー情報等を取得することも可能です データベースアクセスコンポーネントは アプリケーションビルダーのメニューから以下のように選びます

More information

プレポスト【問題】

プレポスト【問題】 コース名 : サーブレット /JSP/JDBC プログラミング ~Eclipse による開発 ~ 受講日 氏名 1 JDBC の説明として 間違っているものを 1 つ選びなさい 1. JDBC を使用してデータベースへアクセスするときには JDBC API が必要である 2. JDBC API は java.lang パッケージとして提供されている 3. JDBC には JDBC API JDBC

More information

COBOL Standard Edition COBOL GUI のご紹介 2017 年 3 本電気株式会社 次 COBOL GUIとは P.4 画 機能との機能差分 P.11 画 のGUI 化例 P.14 COBOL85 View Generatorからの移 P.18 製品情報 P.21 COBOL GUI とは 製品概要 続き型 COBOL プログラム同様の記述で GUI プログラム開発が可能に

More information

Exam : 1z0-882 日本語 (JPN) Title : Oracle Certified Professional, MySQL 5.6 Developer Vendor : Oracle Version : DEMO 1 / 4 Get Latest & Valid 1z0-882-JP

Exam : 1z0-882 日本語 (JPN) Title : Oracle Certified Professional, MySQL 5.6 Developer Vendor : Oracle Version : DEMO 1 / 4 Get Latest & Valid 1z0-882-JP itexamdump 최고이자최신인 IT 인증시험덤프 http://www.itexamdump.com 일년무료업데이트서비스제공 Exam : 1z0-882 日本語 (JPN) Title : Oracle Certified Professional, MySQL 5.6 Developer Vendor : Oracle Version : DEMO 1 / 4 Get Latest

More information

intra-mart Accel Platform

intra-mart Accel Platform セットアップガイド (WebSphere 編 ) 第 4 版 2014-01-01 1 目次 intra-mart Accel Platform 改訂情報 はじめに 本書の目的 前提条件 対象読者 各種インストール 設定変更 intra-mart Accel Platform 構成ファイルの作成 WebSphereの設定 Java VM 引数の設定 トランザクション タイムアウトの設定 データベース接続の設定

More information

问题集 ITEXAMPASS 1 年で無料進級することに提供する

问题集 ITEXAMPASS   1 年で無料進級することに提供する 问题集 ITEXAMPASS https://www.itexampass.jp 1 年で無料進級することに提供する Exam : 70-762 Title : Developing SQL Databases Version : DEMO 1 / 10 1. ドラッグドロップ注 : この質問は 同じシナリオを使用する一連の質問の一部です あなたの便宜のために シナリオは各質問で繰り返されます 各質問は異なる目標と答えの選択を提示しますが

More information

Microsoft PowerPoint pptx

Microsoft PowerPoint pptx データベース 第 11 回 (2009 年 11 月 27 日 ) テーブル結合と集計 ( 演習 ) 第 11 回のテーマ 前回より シラバスから離れ 進捗状況に合わせて全体構成を変更しています テーマ1: テーブルの結合 テーマ 2: 結合した結果からの様々な検索 テーマ3: 集計の方法 今日学ぶべきことがら Select 文のさまざまな表現 Natural join sum(*) orrder

More information

<4D F736F F F696E74202D2091E682528FCD2D4F C6582A982E782CC88DA8D7382F091A B782E990568B40945C2E707074>

<4D F736F F F696E74202D2091E682528FCD2D4F C6582A982E782CC88DA8D7382F091A B782E990568B40945C2E707074> 第 3 章 Oracle からの移行を促進する新機能 本書に含まれている情報は 正式な IBM のテストを受けていません また 明記にしろ 暗黙的にしろ なんらの保証もなしに配布されるものです この情報の使用またはこれらの技術の実施は いずれも 使用先の責任において行われるべきものであり それらを評価し 実際に使用する環境に統合する使用先の判断に依存しています それぞれの項目は

More information

Chapter Two

Chapter Two Database 第 8 回 :SQL 言語 ( データベース操作 ) 上智大学理工学部情報理工学科 高岡詠子 No reproduction or republication without written permission. 許可のない転載 再発行を禁止します 1 Schedule 日程 内容 第 1 回 10 月 6 日 ガイダンス, データベースとは? 第 2 回 10 月 13 日 三層スキーマ,

More information

Oracle Database 10g Release 2を使用したデータベース・パフォーマンス

Oracle Database 10g Release 2を使用したデータベース・パフォーマンス Oracle Database 10g Release 2 2005 9 Oracle Database 10g Release 2... 3... 3... 3 Automatic Workload Repository AWR... 3 Automatic Database Diagnostic Monitor ADDM... 4 Automatic SQL Tuning SQL... 4 SQL

More information

PL/SQL プログラミング Ⅱ ~ 研修受講後のスキルアップサポート ~ 対応バージョン :Oracle 10gR1 ~ 12cR1 本資料は アシスト Oracle 研修をご受講いただいたお客様からのご質問や 研修ではご案内できなかった情報などを FAQ にまとめたものです 研修受講後のスキルア

PL/SQL プログラミング Ⅱ ~ 研修受講後のスキルアップサポート ~ 対応バージョン :Oracle 10gR1 ~ 12cR1 本資料は アシスト Oracle 研修をご受講いただいたお客様からのご質問や 研修ではご案内できなかった情報などを FAQ にまとめたものです 研修受講後のスキルア PL/SQL プログラミング Ⅱ ~ 研修受講後のスキルアップサポート ~ 対応バージョン :Oracle 10gR1 ~ 12cR1 本資料は アシスト Oracle 研修をご受講いただいたお客様からのご質問や 研修ではご案内できなかった情報などを FAQ にまとめたものです 研修受講後のスキルアップの一助として 是非お役立てください ご利用上の注意事項は最後のページにまとめられております ご確認のうえ

More information

スライド 1

スライド 1 Tivoli Access Manager for Enterprise Single Sign-On v8.1 Unofficial Installation Guide 2010 SRCHACK.ORG 本資料について IBM のシングルサインオン製品 Tivoli Access Manager for Enterprise Single Sign-On v8.1 の導入手順を srchack.org

More information

結合演算 ( 復習 ) データベース論 (9) R 社員番号 氏名麻生太郎安部晋三与謝野馨森喜朗 部門経理課営業課総務課営業課 S 部門経理課営業課総務課 電話 問合せ言語と SQL(2) R S 社員番号

結合演算 ( 復習 ) データベース論 (9) R 社員番号 氏名麻生太郎安部晋三与謝野馨森喜朗 部門経理課営業課総務課営業課 S 部門経理課営業課総務課 電話 問合せ言語と SQL(2) R S 社員番号 結合演算 ( 復習 ) データベース論 (9) R 社員番号 046 064 011 011 氏名麻生太郎安部晋三与謝野馨森喜朗 部門総務課 S 部門総務課 電話 45 4567 問合せ言語と SQL(2) R S 社員番号 046 064 011 011 氏名麻生太郎安部晋三与謝野馨森喜朗 部門総務課 電話 45 4567 DB-9 4 結合演算 結合演算 ( 例題演習 ) R 社員番号 046

More information

~~~~~~~~~~~~~~~~~~ wait Call CPU time 1, latch: library cache 7, latch: library cache lock 4, job scheduler co

~~~~~~~~~~~~~~~~~~ wait Call CPU time 1, latch: library cache 7, latch: library cache lock 4, job scheduler co 072 DB Magazine 2007 September ~~~~~~~~~~~~~~~~~~ wait Call CPU time 1,055 34.7 latch: library cache 7,278 750 103 24.7 latch: library cache lock 4,194 465 111 15.3 job scheduler coordinator slave wait

More information

eYACHO 管理者ガイド

eYACHO 管理者ガイド eyacho 管理者ガイド 第 1 版 - ios は Cisco の米国およびその他の国における商標または登録商標であり ライセンスに基づき使用されています - Apple ipad は Apple Inc. の商標です - Microsoft, Excel および Internet Explorer は 米国 Microsoft Corporation の 米国およびその他の国における登録商標または商標です

More information

スライド 1

スライド 1 IBM ホスト アクセスのためのツールを集めたソリューション パッケージ Solution Package for Host Access Solution Package for Host Access は 以下の IBM 製品を使用した IBM ホスト システムへのアクセスやホストと PC クライアントとの連携をサポートするソリューションを提供します Host Access Client Package

More information

クエリの作成が楽になるUDF

クエリの作成が楽になるUDF トレジャーデータサービス by IDCF 活用マニュアル 目次 (1) UDF の概要 概要 特長 P1 [ 日付を選択 ] (2) UDF の紹介 TIME 関連 UDF 1 TD_TIME_FORMAT P2 2 TD_TIME_RANGE 3 TD_SCHEDULED_TIME 4 TD_TIME_ADD 5 TD_TIME_PARSE 6 TD_DATE_TRUNC その他 UDF 7 TD_SESSIONIZE

More information

第4章 DB2運用の基本

第4章 DB2運用の基本 第 4 章 DB2 運用の基本 本書に含まれている情報は 正式な IBM のテストを受けていません また 明記にしろ 暗黙的にしろ なんらの保証もなしに配布されるものです この情報の使用またはこれらの技術の実施は いずれも 使用先の責任において行われるべきものであり それらを評価し 実際に使用する環境に統合する使用先の判断に依存しています それぞれの項目は ある特定の状態において正確であることが IBM

More information

5 Q. 結果セットを 1 行飛ばしに FETCH することはできますか A. できません Oracle は必ず結果セットを上から 1 行ずつ FETCH します 6 Q. カーソルを一度にいくつまでオープンできますか A. 初期化パラメータ OPEN_CURSORS で指定したの値までカーソルをオ

5 Q. 結果セットを 1 行飛ばしに FETCH することはできますか A. できません Oracle は必ず結果セットを上から 1 行ずつ FETCH します 6 Q. カーソルを一度にいくつまでオープンできますか A. 初期化パラメータ OPEN_CURSORS で指定したの値までカーソルをオ PL/SQL プログラミング Ⅰ ~ 研修受講後のスキルアップサポート ~ 対応バージョン :Oracle 10gR1 ~ 12cR1 本資料は アシスト Oracle 研修をご受講いただいたお客様からのご質問や 研修ではご案内できなかった情報などを FAQ にまとめたものです 研修受講後のスキルアップの一助として 是非お役立てください ご利用上の注意事項は最後のページにまとめられております ご確認のうえ

More information

( ハイブリット型データベース環境 ) プロトタイプ検証結果 第二版 有限会社ツインズ Twinz Co., Ltd 年 7 月 3 日 /15

( ハイブリット型データベース環境 ) プロトタイプ検証結果 第二版 有限会社ツインズ Twinz Co., Ltd 年 7 月 3 日 /15 HDB@ONE ( ハイブリット型データベース環境 ) プロトタイプ検証結果 第二版 有限会社ツインズ Twinz Co., Ltd. 2011 年 7 月 3 日 2011-07-3 1/15 1.HDB@ONE( ハイブリット型データベース環境 ) について HDB@ONE は異なるプラットフォーム上の異なるデータベースをレプリケーションをとることにより あたかも単一のデータベースのように扱うことを可能にした新しいデータベース

More information

使用する前に

使用する前に この章では Cisco Secure ACS リリース 5.5 以降から Cisco ISE リリース 2.4 システムへのデー タ移行に使用される Cisco Secure ACS to Cisco ISE Migration Tool について説明します 移行の概要 1 ページ Cisco Secure ACS から データ移行 1 ページ Cisco Secure ACS to Cisco ISE

More information

プレポスト【解説】

プレポスト【解説】 コース名 : シェルの機能とプログラミング ~UNIX/Linux の効率的使用を目指して ~ 1 UNIX および Linux の主な構成要素は シェル コマンド カーネルです プロセスとは コマンドやプログラムを実行する単位のことなので プロセスに関する記述は誤りです UNIX および Linux のユーザーインターフェースは シェル です コマンドを解釈するという機能から コマンドインタープリタであるともいえます

More information

橡実践Oracle Objects for OLE

橡実践Oracle Objects for OLE THE Database FOR Network Computing 2 1. 2 1-1. PL/SQL 2 1-2. 9 1-3. PL/SQL 11 2. 14 3. 16 3-1. NUMBER 16 3-2. CHAR/VARCHAR2 18 3-3. DATE 18 4. 23 4-1. 23 4-2. / 24 26 1. COPYTOCLIPBOARD 26 III. 28 1.

More information

mySQLの利用

mySQLの利用 MySQL の利用 インストール インストール時に特に注意点は無い 本稿記述時のバージョンは 6.5.4 で有る (2017 年 11 月現在では 6.10.4 で https://dev.mysql.com/downloads/connector/net/6.10.html よりダウンロード出来る ) 参照設定 インストールが終了すれば Visual Studio で参照の設定を行う 参照の設定画面で

More information

— intra-mart Accel Platform セットアップガイド (WebSphere編)   第7版  

— intra-mart Accel Platform セットアップガイド (WebSphere編)   第7版   Copyright 2013 NTT DATA INTRAMART CORPORATION 1 Top 目次 intra-mart Accel Platform セットアップガイド (WebSphere 編 ) 第 7 版 2016-12-01 改訂情報はじめに本書の目的前提条件対象読者各種インストール 設定変更 intra-mart Accel Platform 構成ファイルの作成 WebSphereの設定

More information

第 2 章 問合せの基本操作 この章では データベースから情報を検索する際に使用する SELECT コマンド および SELECT コマンドと 同時に使用する句について説明します 1. 問合せとは 2. 基本的な問合せ 3. 列の別名 4. 重複行を一意にする 5. 検索行の絞込み 6. 文字パター

第 2 章 問合せの基本操作 この章では データベースから情報を検索する際に使用する SELECT コマンド および SELECT コマンドと 同時に使用する句について説明します 1. 問合せとは 2. 基本的な問合せ 3. 列の別名 4. 重複行を一意にする 5. 検索行の絞込み 6. 文字パター はじめに コース概要と目的 データベース処理に使用する SQL の基本構文と使用方法について説明します 受講対象者 SQL を使用してアプリケーション開発される方 管理者となられる方 前提条件 Oracle 概要 コースを受講された方 もしくは同等の知識をお持ちの方 テキスト内の記述について 構文 [ ] 省略可能 { A B } A または B のどちらかを選択 n _ 数値の指定 デフォルト値

More information

IBM FormWave for WebSphere

IBM FormWave for WebSphere IBM FormWave for WebSphere バージョン 6.1.2 フィックス パック 1 リリースノート 2010 年 04 月公開 本版は IBM FormWave for WebSphere バージョン 6.1.2 に適用されます Copyright International Business Machines Corporation 1999-2010. All rights reserved.

More information

ユーティリティ 管理番号 内容 対象バージョン 157 管理情報バッチ登録コマンド (utliupdt) のメッセージ出力に対し リダイレクトまたはパイプを使用すると メッセージが途中までしか出 力されないことがある 267 転送集計コマンド (utllogcnt) でファイル ID とホスト名の組

ユーティリティ 管理番号 内容 対象バージョン 157 管理情報バッチ登録コマンド (utliupdt) のメッセージ出力に対し リダイレクトまたはパイプを使用すると メッセージが途中までしか出 力されないことがある 267 転送集計コマンド (utllogcnt) でファイル ID とホスト名の組 レベルアップ詳細情報 < 製品一覧 > 製品名 バージョン HULFT BB クライアント for Windows Type BB1 6.3.0 HULFT BB クライアント for Windows Type BB2 6.3.0 < 対応 OS> Windows2000, WindowsXP, WindowsServer2003 < 追加機能一覧 > HULFT BB クライアント 管理番号 内容

More information

リレーショナルデータベース入門 SRA OSS, Inc. 日本支社 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 1

リレーショナルデータベース入門 SRA OSS, Inc. 日本支社 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 1 リレーショナルデータベース入門 SRA OSS, Inc. 日本支社 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 1 データベース とは? データ (Data) の基地 (Base) 実世界のデータを管理するいれもの 例えば 電話帳辞書メーラー検索エンジン もデータベースである Copyright 2008 SRA OSS, Inc.

More information

KeyWeb Creator 概要 What s KeyWeb Creator? 動的なホームページを作成するためのツール!! 従来の Web ページ DB を利用した Web ページ <HTML> <HEAD> <TITLE>show_book</TITLE> </HEAD> <BODY> <DI

KeyWeb Creator 概要 What s KeyWeb Creator? 動的なホームページを作成するためのツール!! 従来の Web ページ DB を利用した Web ページ <HTML> <HEAD> <TITLE>show_book</TITLE> </HEAD> <BODY> <DI KeyWeb Creator R3.0 Beta 日本オラクル株式会社システム製品マーケティング部 1 KeyWeb Creator 概要 What s KeyWeb Creator? 動的なホームページを作成するためのツール!! 従来の Web ページ DB を利用した Web ページ show_book

More information

KTest

KTest KTest Exam : C2010-569J Title : IBM Tivoli Workload Scheduler V8.6 Implementation Version : DEMO 1 / 5 1. そのスクリプトは EWAS が RDBMS にアクセスするために使用するポートを更新することができますか? A. changehostproperties B. changetraceproperties

More information

ストアドプロシージャ移行調査編

ストアドプロシージャ移行調査編 エンタープライズ コンソーシアム技術部会 WG#2 ストアドプロシージャ移行調査編 製作者担当企業名株式会社インフォメーションクリエーティブクオリカ株式会社 2014 Enterprise Consortium 改訂履歴 版 改訂日 変更内容 1.0 2013/03/25 新規作成 2.0 2014/03/26 2013 年度活動成果の追加 2.1 2017/06/26 4.2. トランザクション制御

More information

eラーニング資料 e ラーニングの制作目標 データベース編 41 ページデータベースの基本となる概要を以下に示す この内容のコースで eラーニングコンテンツを作成予定 データベース管理 コンピュータで行われる基本的なデータに対する処理は 次の 4 種類です 新しいデータを追加する 既存のデータを探索

eラーニング資料 e ラーニングの制作目標 データベース編 41 ページデータベースの基本となる概要を以下に示す この内容のコースで eラーニングコンテンツを作成予定 データベース管理 コンピュータで行われる基本的なデータに対する処理は 次の 4 種類です 新しいデータを追加する 既存のデータを探索 eラーニング資料 e ラーニングの制作目標 データベース編 41 ページデータベースの基本となる概要を以下に示す この内容のコースで eラーニングコンテンツを作成予定 データベース管理 コンピュータで行われる基本的なデータに対する処理は 次の 4 種類です 新しいデータを追加する 既存のデータを探索する 違うデータに変更する 要らなくなったデータを削除する 各システムごとに障害対策も含めて 正確にこのようなデータ処理のプログラムを作ることは大変なことです

More information

インテル® Parallel Studio XE 2019 Composer Edition for Fortran Windows : インストール・ガイド

インテル® Parallel Studio XE 2019 Composer Edition for Fortran Windows : インストール・ガイド インテル Parallel Studio XE 2019 Composer Edition for Fortran Windows インストール ガイド エクセルソフト株式会社 Version 1.0.0-20180918 目次 1. はじめに....................................................................................

More information

iNFUSE インフューズ

iNFUSE インフューズ はじめての DataMagic セゾン情報システムズ HULFT 事業部 目的と学習内容 この動画では次の内容をご紹介していきます DataMagicとは システムデータ連携の課題と解決ポイント DataMagicの機能一覧のご紹介 DataMagicの導入事例 DataMagic 技術コラムのご紹介 All Rights Reserved SAISON INFORMATION SYSTEMS CO.,LTD.

More information

Oracle Cloud Adapter for Oracle RightNow Cloud Service

Oracle Cloud Adapter for Oracle RightNow Cloud Service Oracle Cloud Adapter for Oracle RightNow Cloud Service Oracle Cloud Adapter for Oracle RightNow Cloud Service を使用すると RightNow Cloud Service をシームレスに接続および統合できるため Service Cloud プラットフォームを拡張して信頼性のある優れたカスタマ

More information

Microsoft Word - tutorial3-dbreverse.docx

Microsoft Word - tutorial3-dbreverse.docx 株式会社チェンジビジョン使用バージョン :astah* 6.0, 6.1 [ ] サンプル サポート対象外 目次 DB リバースを使ってみよう ( サンプル サポート対象外 ) 2 ご利用の前に 2 予備知識 2 データベースの環境設定をしてみよう 2 astah* データベースリバースコンポーネントを使用してみよう 5 作成した asta ファイルを astah* professional で開いてみよう

More information

Oracle Data Pumpのパラレル機能

Oracle Data Pumpのパラレル機能 Oracle Data Pump のパラレル機能 Carol Palmer オラクル社 Principal Product Manager はじめに Oracle Database 10g 上の Oracle Data Pump により 異なるデータベース間のデータとメタデータを高速で移動できます Data Pump の最も便利な機能の 1 つは エクスポート ジョブとインポート ジョブをパラレルに実行しパフォーマンスを高める機能です

More information

Oracle Enterprise Managerシステム監視プラグイン・インストレーション・ガイドfor Juniper Networks NetScreen Firewall, 10gリリース2(10.2)

Oracle Enterprise Managerシステム監視プラグイン・インストレーション・ガイドfor Juniper Networks NetScreen Firewall, 10gリリース2(10.2) Oracle Enterprise Manager システム監視プラグイン インストレーション ガイド for Juniper Networks NetScreen Firewall 10g リリース 2(10.2) 部品番号 : B28468-01 原典情報 : B28041-01 Oracle Enterprise Manager System Monitoring Plug-in Installation

More information

インテル(R) Visual Fortran コンパイラ 10.0

インテル(R) Visual Fortran コンパイラ 10.0 インテル (R) Visual Fortran コンパイラー 10.0 日本語版スペシャル エディション 入門ガイド 目次 概要インテル (R) Visual Fortran コンパイラーの設定はじめに検証用ソースファイル適切なインストールの確認コンパイラーの起動 ( コマンドライン ) コンパイル ( 最適化オプションなし ) 実行 / プログラムの検証コンパイル ( 最適化オプションあり ) 実行

More information

PowerPoint Presentation

PowerPoint Presentation MySQL Workbench を使ったデータベース開発 日本オラクル株式会社山崎由章 / MySQL Senior Sales Consultant, Asia Pacific and Japan 1 Copyright 2013, Oracle and/or its affiliates. All rights reserved. 以下の事項は 弊社の一般的な製品の方向性に関する概要を説明するものです

More information

IBM API Connect 開発者ポータル構成ガイド 1章

IBM API Connect 開発者ポータル構成ガイド 1章 IBM API Connect 開発者ポータル構成ガイド 1. 開発者ポータルの一般的な構成 2016/10/01 日本アイ ビー エム株式会社 はじめに 当資料の位置づけ 当資料は API Connect の開発者ポータルの主要なカスタマイズ方法についてまとめたものです V5.0.1 を前提としています 注意事項 当資料に含まれる情報は可能な限り正確を期しておりますが 当資料に記載された内容に関して何ら保証するものではありません

More information

Oracle Application Expressの機能の最大活用-インタラクティブ・レポート

Oracle Application Expressの機能の最大活用-インタラクティブ・レポート Building Dynamic Actions in Oracle Application Express 4.0 動的アクション (Dynamic Actions) Copyright(c) 2010, Oracle. All rights reserved. Copyright(c) 2010, Oracle. All rights reserved. 2 / 44 Building Dynamic

More information

プレポスト【問題】

プレポスト【問題】 1/5 ページ プレポスト データベース基礎 受講日程受講番号氏名 1 データベースの特徴で間違っているものを選びなさい 1. データの一元管理が可能 2. データの重複が少ない 3. プログラムとの関係が1 対 1 4. データの整合性の確保 2 ANSI/SPARC による 3 層スキーマについて正しいものを選びなさい 1. 外部スキーマ : プログラムに必要な部分のデータ構造を定義概念スキーマ

More information

はじめに コース概要と目的 Oracle を使用した開発 管理を行う上でのファースト ステップとして リレーショナル データベース管理ソフトウェアである Oracle の役割 基本機能 基本アーキテクチャを幅広く理解することを目的としています 受講対象者 これから Oracle を使用する方 データ

はじめに コース概要と目的 Oracle を使用した開発 管理を行う上でのファースト ステップとして リレーショナル データベース管理ソフトウェアである Oracle の役割 基本機能 基本アーキテクチャを幅広く理解することを目的としています 受講対象者 これから Oracle を使用する方 データ はじめに コース概要と目的 Oracle を使用した開発 管理を行う上でのファースト ステップとして リレーショナル データベース管理ソフトウェアである Oracle の役割 基本機能 基本アーキテクチャを幅広く理解することを目的としています 受講対象者 これから Oracle を使用する方 データベース入門者の方 前提条件 コンピュータの基本操作 ( マウス操作やキーボード操作 ) と基本用語 (

More information

ユーザ デバイス プロファイルの ファイル形式

ユーザ デバイス プロファイルの ファイル形式 CHAPTER 34 CSV データファイルの作成にテキストエディタを使用する場合 デバイスフィールドと回線フィールドを CSV データファイル内で識別するファイル形式を使用する必要があります このファイル形式には次のオプションがあります Default User Device Profile: ユーザデバイスプロファイルのデバイスフィールドと回線フィールドの事前決定済みの組み合せを含む Simple

More information

改版履歴 版数 改版日付 改版内容 /03/14 新規作成 2013/03まで製品サイトで公開していた WebSAM DeploymentManager Ver6.1 SQL Server 2012 製品版のデータベース構築手順書 ( 第 1 版 ) を本 書に統合しました 2

改版履歴 版数 改版日付 改版内容 /03/14 新規作成 2013/03まで製品サイトで公開していた WebSAM DeploymentManager Ver6.1 SQL Server 2012 製品版のデータベース構築手順書 ( 第 1 版 ) を本 書に統合しました 2 第 1 版 改版履歴 版数 改版日付 改版内容 1 2013/03/14 新規作成 2013/03まで製品サイトで公開していた WebSAM DeploymentManager Ver6.1 SQL Server 2012 製品版のデータベース構築手順書 ( 第 1 版 ) を本 書に統合しました 2 目次 1. 使用しているデータベース (DPMDBI インスタンス ) を SQL Server

More information

Oracle DatabaseとIPv6 Statement of Direction

Oracle DatabaseとIPv6 Statement of Direction Oracle ホワイト ペーパー 2017 年 10 月 Oracle Database と IPv6 Statement of Direction 免責事項 下記事項は 弊社の一般的な製品の方向性に関する概要を説明するものです また 情報提供を唯一の目的とするものであり いかなる契約にも組み込むことはできません マテリアルやコード 機能の提供をコミットメント ( 確約 ) するものではなく 購買を決定する際の判断材料になさらないで下さい

More information

ORACLE TUNING PACK 11G

ORACLE TUNING PACK 11G 注 : 本書は情報提供のみを目的としています 下記の事項は マテリアルやコード 機能の提供を確約するものではなく また 購買を決定する際の判断材料とはなりえません 本書に記載されている機能の開発 リリースおよび時期については 弊社の裁量により決定いたします ORACLE TUNING PACK 11G 主な機能 SQL Tuning Advisor Automatic SQL Tuning Advisor

More information

Microsoft Word - sample_adv-programming.docx

Microsoft Word - sample_adv-programming.docx サンプル問題 以下のサンプル問題は包括的ではなく 必ずしも試験を構成するすべての種類の問題を表すとは限りません 問題は 個人が認定試験を受ける準備ができているかどうかを評価するためのものではありません SAS Advanced Programming for SAS 9 問題 1 次の SAS データセット ONE と TWO があります proc sql; select one.*, sales

More information

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~ .NET プログラマー早期育成ドリル VB 編 付録文法早見表 本資料は UUM01W:.NET プログラマー早期育成ドリル VB 編コードリーディング もしくは UUM02W:.NET プログラマー早期育成ドリル VB 編コードライティング を ご購入頂いた方にのみ提供される資料です 資料内容の転載はご遠慮下さい VB プログラミング文法早見表 < 基本文法 > 名前空間の定義 Namespace

More information

目次 更新履歴... 1 はじめに... 3 レコードセット?... 3 準備... 5 SQL でデータを取得する... 6 データのループ処理... 7 列の値を取得する... 7 対象行を変更する (MoveFirst, MoveNext, MovePrevious, MoveLast)...

目次 更新履歴... 1 はじめに... 3 レコードセット?... 3 準備... 5 SQL でデータを取得する... 6 データのループ処理... 7 列の値を取得する... 7 対象行を変更する (MoveFirst, MoveNext, MovePrevious, MoveLast)... レコードセット (ADODB.Recordset) の使い方 作成日 : 2018/02/05 作成者 : 西村 更新履歴 更新日 更新概要 作業者 2018/02/05 新規作成 西村 1 目次 更新履歴... 1 はじめに... 3 レコードセット?... 3 準備... 5 SQL でデータを取得する... 6 データのループ処理... 7 列の値を取得する... 7 対象行を変更する (MoveFirst,

More information

第 1 版

第 1 版 第 1 版 改版履歴 版数改版日付改版内容 1 2011/06/10 新規作成 2 目次 1. SQL Server 2005 Express から SQL Server 2008 R2 製品版へのアップグレード... 5 1.1..NET Framework 3.5 SP1 と Microsoft Windows Installer 4.5 のインストール... 5 1.2. SQL Server

More information

橡j_Oracle_whitepaper.PDF

橡j_Oracle_whitepaper.PDF Pervasive-Oracle 1 1 Pervasive Software Pervasive-Oracle / Pervasive Oracle Pervasive-Oracle ISV Pervasive-Oracle Pervasive.SQL Oracle 2 Pervasive-Oracle Pervasive-Oracle Pervasive.SQL Oracle Open Database

More information