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 投稿