設計

ASM

Oracle RACとOracle Restartの違いを徹底解説|構成・仕組み・選定基準まで実務レベルで理解

Oracle Databaseの高可用性(HA)を実現する構成として、「Oracle RAC(Real Application Clusters)」と「Oracle Restart」の2つが存在します。両者はGrid Infrastruct...
RAC

【Oracle RAC】構築時にノードが落ちる原因を詳細調査した話(CRS-1719とメモリ枯渇の真実)

「自宅のPCで検証用に Oracle RAC(Real Application Clusters)を構築してみたい」。 エンジニアなら一度は抱く野望ですが、その道のりは決して平坦ではありません。特に個人のPC環境では、リソース(CPU、メモ...
ASM

Oracle RACに変更する前に知っておくべき注意点|シングル構成からの移行で起こる違いとは?

現在、Oracleのシングルインスタンス構成やRestart構成で運用しているシステムを、より高可用性なOracle RAC(Real Application Clusters)構成に移行しようか悩んでいる方も多いのではないでしょうか。Or...
オラクルデータベースの基本

【Oracle設計】メモリ設計ミスの影響と、なぜ適切な設計が不可欠なのか

Oracleデータベースの安定運用において、メモリ設計は最重要項目の1つです。適切なメモリが確保されていれば、データアクセスの多くがキャッシュで処理され、SQLは高速に応答します。一方、メモリ設計が不十分だった場合、どんなにインデックスやS...
オラクルデータベースの基本

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

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

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

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

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

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

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

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

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

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