Oracleデータディクショナリの核心ビューとその活用方法
Oracleデータベースの内部構造を理解し、効率的な管理・診断を行うには、データディクショナリビューの正確な使い分けが不可欠です。これらはシステムが自動生成するメタデータの集約であり、ユーザー権限に応じて3つの主要なプレフィックスで分類されます: USER_(自身が所有するオブジェクト)、ALL_(自身がアクセス可能なオブジェクト)、DBA_(全データベースオブジ ...
8月8日 07:42 投稿
OracleデータベースのV$SHARED_POOL_RESERVED動的パフォーマンスビュー解説
V$SHARED_POOL_RESERVED の概要と目的
V$SHARED_POOL_RESERVED は Oracle データベースにおける動的パフォーマンスビューの一つで、共有プール内に設けられた「予約領域(Reserved Area)」のメモリ使用状況を監視するための情報を提供します。
この領域は、比較的大きなメモリ要求(例:大規模なPL/SQLブロックや複雑なSQL文)を処理するために確保されており、主な目的 ...
8月8日 04:13 投稿
Oracleデータベース管理のための主要SQLクエリ
テーブルスペースの利用状況
テーブルスペースの総容量と使用率を確認するためのクエリです。
SELECT ts.tablespace_name,
ROUND(SUM(df.bytes) / 1024 / 1024 / 1024, 2) AS total_size_gb,
ROUND(SUM(df.bytes) / 1024 / 1024 / 1024 - SUM(fs.bytes) / 1024 / 1024 / 1024, 2) AS used_size_gb,
ROUND(SUM(fs.bytes) / 1024 / 1024 / 1024, 2) AS ...
8月2日 00:47 投稿
Oracle SQLのパフォーマンスチューニング:不要なテーブルスキャンを排除する
環境:aix 7.1, oracle12.1.0.2 cdb
最適化前のSQL
select *
from (select row_.*, rownum rownum_
from (select '弱いカバレッジ' as question_type,
city as city_name,
district as county_name,
cell_id,
'LTE' as network_type
from (se ...
8月1日 21:51 投稿
Oracle DatabaseにおけるVARCHAR2型の4000バイト制限と文字列長セマンティクスの詳細
Oracle DatabaseのVARCHAR2データ型は可変長文字列を扱うための基本的な型ですが、その定義と挙動には「バイト単位」と「文字単位」という2つの異なる長さセマンティクスが存在します。公式ドキュメントによると、VARCHAR2列を作成する際には最大長をバイトまたは文字数で指定しますが、データ型としての物理的な上限は常に4000バイトです。例えば、VARCHAR2(4000 CHAR)と ...
7月26日 16:28 投稿
Oracle対応版XXL-JOBスケジューリングフレームワーク
特徴
XXL-JOBは軽量かつ拡張性の高い分散タススケジューリングプラットフォームで、迅速な開発と簡単な学習が可能です。オープンソースとして複数の企業で製品環境で使用されており、すぐに利用できます。このフレームワークは非常に使いやすいですが、私の業務環境ではOracleデータベースを使用しているため、本来MySQL向けに設計されているXXL-JOBをいくつかのカスタマ ...
7月26日 00:57 投稿
Oracleデータベースの制約状態と設計ベストプラクティス
Oracleデータベースにおける制約(Constraint)には、いくつかの状態設定項目があり、これらが混同されがちです。主な項目は以下の通りです:
ENABLE/DISABLE - 制約の有効/無効状態
VALIDATE/INVALIDATE - 既存データの検証状態
DEFERRABLE/NOT DEFERRABLE - 制約チェックの遅延可否
これらの状態設定の違いを明確にするために、具体的な実験を通じて確認してみましょう ...
7月18日 01:11 投稿
Oracleデータベースにおける単一テーブル操作と関数活用
単一テーブルクエリ基本構造
SELECT [DISTINCT] 列名|式|集約関数() [AS] [別名]
FROM テーブル名[別名]|DUAL
[WHERE 条件式]
[GROUP BY グループ化列]
[HAVING グループ条件]
[ORDER BY 列|数値|別名|式 [ASC|DESC] [NULLS FIRST|NULLS LAST]];
SELECT句の操作
-- DISTINCTは後続の全ての列に適用
SELECT * FROM employees;
SELECT employee_id, last_name, job_id FROM ...
7月14日 03:06 投稿
Oracleデータファイル名の特殊文字を修正する手法
Oracleデータベースのデータファイル名に末尾のスペースが含まれていたため、通常のSQLコマンドでリネームが不可能な状況が発生しました。以下は、この問題を解決するための実際の手順です。
SQLコマンドによるリネームの失敗
ALTER TABLESPACE ... RENAME DATAFILE コマンドを使用してファイル名を修正しようとしましたが、OSレベルでファイルが見つからないというエラ ...
7月4日 21:59 投稿
SQL Server および Oracle のスキーマ情報取得手法
SQL Server スキーマ取得
全データベース取得
USE MASTER
DECLARE @policy_enabled BIT
SET @policy_enabled = (
SELECT CONVERT(BIT, current_value)
FROM msdb.dbo.syspolicy_configuration
WHERE name = 'Enabled'
)
SELECT
db.name AS [DBName],
'Server[@Name=' + QUOTENAME(CAST(SERVERPROPERTY(N'Servername') AS SYSNAME), '''') + ']' +
'/Databa ...
7月3日 23:58 投稿