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

SQL Server と Oracle における DELETE 文の構文差異

データベース管理において、重複レコードの削除はよくある要件である。特に、同一カード番号・金額・店舗で30秒以内に発生した取引を重複とみなすようなケースでは、DELETE 文の書き方がデータベースエンジンによって異なる。 環境情報 本例では以下の SQL Server バージョンを使用している: Microsoft SQL Server 2012 (SP1) - 11.0.3128.0 (X64) 重複レコードの特定条 ...

6月7日 19:45 投稿

MyBatisの動的SQLでNULL値を含むフィールドの検索を解決する方法

課題 MyBatisの動的SQLを用いて、データベース(Oracle)からフィールド値にNULLが含まれるデータを検索する方法を解決します。 要件 フロントエンドから複数の値が渡され、その中に空値(NULL)が含まれる場合、バックエンドはそのフィールドがNULLのデータも検索結果に含める必要があります。 リスト形式のパラメータによる問題点 フロントエンドから複数選択された値が ...

6月7日 19:25 投稿

Oracle RAC環境におけるライブラリキャッシュロック競合の影響と特定方法

RAC環境におけるロック競合の課題 Oracle RAC(Real Application Clusters)環境、特にOLTPとOLAPが混在するシステムでは、リソース管理が適切でない場合、パフォーマンスの低下を招くことがあります。その中でも特に深刻な問題の一つが、オブジェクトロックに起因するシステム停滞です。 例えば、あるPL/SQLパッケージが長時間のセッションで実行中に、別のセッションが ...

6月2日 19:33 投稿

Linux上でOracleのSCNを手動で進める方法

Oracleデータベースでは、システムチェンジナンバー(SCN, System Change Number)がデータベースの一貫性と回復性を保証する重要なメカニズムとして機能します。テストやデータ修復の目的で、一部の高度なユーザーはoradebugツールを使用してSCNを手動で変更することが考えられます。ただし、これは非常にリスクの高い操作であり、特定の状況下でのみ使用され、バージョン ...

5月31日 20:57 投稿