SQL Server と Oracle 間の高並列データ転送設計(初期案と改良版)

システム要件:SQL Server の一時テーブル sqlservertemp_table に格納された COMPANY, OGB04, OGA01, OGA03 フィールドを、事前にリンク済みの Oracle インスタンス ds へ転送し、Oracle 側での条件付き検索を効率化する。 初期実装手順 Oracle 側にグローバル一時テーブルを作成 CREATE GLOBAL TEMPORARY TABLE param_buffer ( COMPANY VARCHAR2(50), OGB04 ...

6月27日 01:27 投稿

OracleのLEFT JOINを使用したクエリでCASE WHENが正しく評価されない問題

問題の概要 OracleでLEFT JOINを使用して関連付けたテーブルに対し、CASE WHEN式を用いた条件分岐が期待通りに動作しない場合があります。本稿では、具体的なクエリ例を基にこの現象について説明します。 問題のあるクエリ例 以下のクエリは、現金移動テーブル(RP_CASH_MOVEMENT)と台帳アイテムテーブル(RP_LEDGER_ITEM)をLEFT JOINで結合し、集計結果を判定してい ...

6月25日 18:33 投稿

OracleのRETURNING INTO句の使い方

1. 概要 RETURNING...INTO...句は、INSERT、UPDATE、またはDELETEステートメントと組み合わせて使用されます。これらのステートメントによって影響を受けた行の特定の列の値をPL/SQL変数に代入するために使用されます。これはSELECT...INTO...ステートメントに似ています。INSERT、UPDATE、DELETEの各ステートメントでRETURNING...INTO...が返す結果は異なります。 DELETE ...

6月24日 20:03 投稿

Oracle定期タスクの実装方法

1.ログ用テーブル作成 CREATE TABLE SAMPLE_LOG(RECORD_TIME DATE); 2.PL/SQLプロシージャ定義 CREATE OR REPLACE PROCEDURE LOG_INSERT_PROC AS BEGIN INSERT INTO SAMPLE_LOG VALUES (SYSDATE); END; 3.DBMS_JOBによる定期実行設定 DECLARE JOB_ID NUMBER; BEGIN dbms_job.submit( JOB_ID, -- ジョブ識別子 'LOG_INSERT_PROC;', ...

6月24日 18:12 投稿

Oracleにおける統計情報の役割とANALYZE・DBMS_STATSの活用ガイド

統計情報の概要と最適化の仕組み Oracle Databaseでクエリのパフォーマンスを最大限に引き出すには、コストベース最適化(CBO)を適切に機能させる必要があります。CBOはテーブルやインデックスの統計情報を参照し、実行コストが最小となる「実行計画」を選択します。 統計情報の収集には、主にANALYZEコマンドとDBMS_STATSパッケージの2つの手法が用いられます。かつて利 ...

6月21日 16:55 投稿

Oracleのリスナーとホワイトリスト

Oracleのリスナーとホワイトリスト リスナーの基本概念と設定: 経験から言うと、データベースのSIDとグローバルデータベース名は分けておくのが良い。設定時に混同しないようにするためだ。サーバ側とクライアント側の両方を設定する必要がある場合、両方の設定方法は同じだ。 Oracleリスナーは何をするのか?サーバ側に設置され、サーバベースのネットワークサービスで ...

6月20日 22:28 投稿

Oracleにおける文字列抽出の完全ガイド

Oracleでの文字列抽出手法の総合的なまとめ substr関数:文字列の一部を抽出する 構文:SUBSTR(文字列, 開始位置, [長さ]) 文字列:抽出元となる元の文字列です。 開始位置:抽出の開始位置で、1から数えます。負の値の場合は文字列末尾から数えます。 長さ:省略可能で、抽出する文字数を指定します。 例: SELECT SUBSTR('Hello SQL!', 1) FROM dual -- 全文字列を抽 ...

6月16日 16:30 投稿

Windows環境でOracleデータベースを再構築する最小構成手順

LinuxではOracleを別サーバーへ丸ごと移行する際、データベースを安全に停止した後、OSユーザー/グループを作り、環境変数を書き換え、$ORACLE_BASE 以下をコピーすれば再起動できる。Windowsでも同様に「OS再インストール後に最小手順で復旧」できるか検証した。 前提条件 OS再インストール前に D:\OracleBase 以下のディレクトリは丸ごと残してある バージョンは 11gR ...

6月15日 18:44 投稿

impdp での ORA-29913: ODCIEXTTABLEOPEN コールアウト実行エラーの解決

エクスポートプロセスとログ Export: Release 11.2.0.3.0 - Production on Thu Jan 21 11:13:33 2016 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, ...

6月14日 21:36 投稿

Oracleデータベースにおける新しいユーザー作成とビュー参照権限の付与手順

Oracleデータベースで新しいユーザーを作成し、他のユーザーが作成したビューを参照できるようにする方法について説明します。 実装背景 医療情報システム(HIS)と外部システムを連携させる際、特定の外部システムがデータベーステーブル全体ではなく、特定のビューのみにアクセスする必要がありました。 この場合、HISのデータベースはOracleを使用しており、既存のユー ...

6月12日 22:43 投稿