オラクルデータベースの基本

表領域設計ミスが引き起こす致命的トラブルとは

Oracleデータベースで「表領域」は論理構造と物理構造の橋渡しをする重要な要素です。しかし、設計段階での見落としや誤った判断によって、あとから以下のような深刻な問題が発生することがあります。性能劣化(SQLが遅い、セッション競合)ディスク...
オラクルデータベースの基本

【Oracle設計】マスタテーブルの設計とキャッシュ戦略

Oracleのマスタテーブルは、更新頻度は低くても、高頻度で参照されるため、性能に大きく影響します。特に、バッファキャッシュにどれだけ効率よく保持できるかが、トランザクション処理性能に直結します。この記事では、マスタテーブルの設計と合わせて...
オラクルデータベースの基本

【Oracle設計】将来の大容量に備えるパーティションテーブル設計

あなたのテーブルは将来、どこまで膨れ上がるでしょうか?初期は数万件だったテーブルが、数年で数千万件・数億件となり、SQLの遅延、インデックス肥大化、DELETEの遅さ、保守不能――。こうしたリスクを防ぐ最も有効な手段の一つが、パーティション...
オプティマイザ統計情報/実行計画

【Oracle設計】NULLを許容する列とNOT NULL制約の明確化

Oracleのテーブル設計において、「この列はNULLを許容するのか?しないのか?」という判断は、データ品質・アプリの堅牢性・SQLパフォーマンスに直結する極めて重要なテーマです。ところが現場では、「とりあえず全部NULL可にしておこう」「...
オラクルデータベースの基本

テーブルのメンテナンス完全ガイド

Oracleでテーブルを長期間運用していると、パフォーマンスの低下やストレージの無駄遣いが発生します。原因は次のような問題です。大量のDMLによる断片化統計情報の陳腐化削除済みデータの領域が解放されていないこれらは、定期的なテーブルのメンテ...
Oracle Master Bronze

Oracle SQL DELETE入門:安全な削除手順と実行例【19c】

要約oracle で行を削除する基本は DELETE。誤削除を避けるには、まず同じ条件で SELECT COUNT(*) を実行→SAVEPOINT→DELETE→確認→COMMIT/ROLLBACK の順に進めます。本稿は delete ...
Oracle Master Bronze

Oracle SQL UPDATE基礎から中級:安全な書き方

Oracle SQLのUPDATEは“WHEREの防御”が命。本記事は、oracle 環境で update を安全に使うための超基礎から、初心者がつまずきやすい罠の回避、そして中級者向けのワンポイント(索引の効かせ方・確認手順)までを、コピ...
Oracle Master Bronze

別の表からデータを移行INSERT … SELECT解説

Oracle で別の表を参照してデータを一度に移す・加工して取り込むなら insert select を使用すると便利です。本記事では select insert の正しい書き方、性能チューニング、ロックとログの注意点を、Oracle Da...
Oracle Master Bronze

Oracle SQL INSERT 徹底解説

データベースに新しい行(レコード)を入れる基本操作が oracle insert です。本記事では insert oracle の正しい使い方を、やさしい言葉と“そのまま動く実行例”で解説します。ユーザー作成 → 表(テーブル)作成 → I...
オプティマイザ統計情報/実行計画

索引(インデックス)のメンテナンス方法まとめ

Oracleデータベースで性能を維持するうえで、索引の定期的なメンテナンスは非常に重要です。索引は検索性能を高める一方、以下のような課題を持っています。✅ 更新による断片化✅ 統計情報の陳腐化✅ 不要な索引の放置この記事では、Oracleに...
Oracle Master Bronze

Oracle Master Bronze 1Z0-085(19c)対策:完全オリジナル模擬問題のご案内

本記事は、noteで公開中の「Oracle Master Bronze 模擬問題集(1Z0-085/19c)」の紹介と、無料サンプル問題の掲載です。まずは本ページのサンプル(本文のみ)で手触りを確認し、続き(全41問+正答・要点・一部テキス...
Oracle Master Silver

Oracle SQLのCOALESCE完全ガイド:NVLとの違い・使いどころ・落とし穴まで(図解と実行例つき)

結論COALESCE(expr1, expr2, …) は「左から順にNULLでない最初の値」を返す、SQL標準の関数。NVL の上位互換的に使える場面が多く、複数候補をスマートに書ける。ただし 型の暗黙変換・索引(インデックス)利用・空文...
Oracle Master Bronze

Oracle Master受験チケットをお得に買う方法はある?結論:条件が合うなら“ポイント還元”で実質負担を下げてお得に準備できます

受験直前のあなたへ。「どこで受験チケット(バウチャー)を買うのが一番ラクでお得?」「いつまでに使えばいい?」「領収書は出せる?」——この記事は、申込直前層(Bronze / Silver DBA / Gold 受験予定者)の疑問を比較+手順...
SQL

【Oracle設計実務】索引(インデックス)を作るべき理由と、作りすぎを避けるための設計ポイント

Oracleにおけるパフォーマンス改善といえば「索引(インデックス)」の活用が定番です。しかし現場では以下のような誤解も多く存在します。「WHERE句に出てくる列にはとりあえず全部インデックスを貼れば良い」「遅いならインデックスを増やせば解...
オラクルデータベースの基本

【Oracle実務設計】なぜテーブル名・列名・データにマルチバイト文字を使うべきではないのか

Oracleデータベースを使って業務システムを設計する際、こんな疑問を持ったことはありませんか?「テーブル名や列名に日本語を使えば、内容がわかりやすくなるのでは?」「商品名や売上履歴など、日本語のまま使えた方が親切では?」実際、Oracle...
ADR(自動診断リポジトリ)

トレースファイルの命名規則を理解しよう|初心者向け解説

Oracle Databaseでは、障害解析やパフォーマンス調査のためにトレースファイル(trace file)が自動または手動で生成されます。本記事では、そのトレースファイルの命名規則について解説し、どのようにファイル名から内容を推測でき...
テーブル

Oracle トリガーの有効化・無効化と確認方法

Oracleで業務データを守るために活用されるトリガー(Trigger)。しかし、開発やメンテナンス中に一時的に無効化したい場面もあります。本記事では、トリガーの無効化・再有効化の方法に加え、有効/無効の状態確認方法(DBA_TRIGGER...
SQL

OracleでDROP操作を安全に制御!

重要なテーブルを誤ってDROPしてしまう…。そんな悲劇を防ぎつつ、操作ログも残したいというニーズに応えるのが「DDLトリガー+自律トランザクション」の組み合わせです。この記事では、ログ記録を別スキーマに逃がす構成でORA-600などのリスク...
SQL

OracleでDELETE操作をブロックするトリガー活用術

重要な業務テーブルに対してうっかり DELETE してしまう…。その一瞬のミスが、取り返しのつかない損失を生むこともあります。本記事では、Oracleのトリガーを用いてDELETE操作を確実にブロックする方法と、UPDATE・INSERTな...
SQL

Oracleトリガー活用術②

前回の記事では、Oracleユーザー USER_A がスキーマ内で利用できるDMLトリガーとBEFORE INSERTトリガーを紹介しました。今回はその続編として、USER_A が作成可能なスキーマレベルの以下の2つのトリガーを紹介します:...