ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
Oracle 全体構成図(俯瞰)
┌─────────────────────────── サーバ(OS)───────────────────────────┐
│ │
│ ┌── インスタンス (Instance) ──┐ ┌── データベース (Database)──┐│
│ │ │ │ ││
│ │ SGA (System Global Area) │ │ データファイル(*.dbf) ││
│ │ - Database Buffer Cache │ │ - SYSTEM / SYSAUX ││
│ │ - Redo Log Buffer │◄──►│ - UNDO / TEMP / USERS ││
│ │ - Shared Pool │ │ REDO ログ(*.log) × 多重化 ││
│ │ - Large Pool / Java Pool │ │ 制御ファイル(control*.ctl) ││
│ │ │ │ アーカイブログ(arch_*) ││
│ │ バックグラウンドプロセス │ │ パスワードファイル / SPFILE ││
│ │ DBWR / LGWR / SMON / │ │ ││
│ │ PMON / CKPT / ARCn / RVWR │ └─────────────────────────────┘│
│ └─────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────┘
↑
クライアント接続 (リスナー経由)
インスタンスとデータベースの分離(Oracle 独特)
他の DB(MySQL / PostgreSQL)では「DB プロセス = DB」ですが、Oracle は明確に分離されています:
| 用語 | 実体 | 説明 |
|---|---|---|
| インスタンス | メモリ + プロセス | 停止できる。STARTUP/SHUTDOWN で生成/破棄 |
| データベース | ファイル群 | OS 上に永続。インスタンス停止しても消えない |
| マウント | 結合状態 | インスタンスがデータベースを認識 |
| オープン | 使用可能状態 | ユーザがクエリ可能 |
| RAC(Real Application Clusters) | 複数インスタンス + 1 データベース | ★複数ノードで 1 つの DB を共有 |
主要バックグラウンドプロセス
| プロセス | 役割 |
|---|---|
DBWR (DBWn) | Buffer Cache の変更ブロックをデータファイルに書き出し |
LGWR | REDO Log Buffer の変更ログを REDO ログファイルに書き出し |
CKPT | チェックポイントを制御ファイル/データファイルヘッダに記録 |
SMON | System Monitor — インスタンス起動時のクラッシュリカバリ |
PMON | Process Monitor — 異常終了したユーザプロセスのクリーンアップ |
ARCn | REDO ログを Archived Log としてコピー(ARCHIVELOG モード時) |
RECO | 分散トランザクションのリカバリ |
SGA(System Global Area)の中身
-- SGA の構成を確認
SELECT * FROM v$sga;
-- Fixed Size, Variable Size, Database Buffers, Redo Buffers
-- 詳細
SELECT * FROM v$sgastat;
-- SGA 内のコンポーネント
SELECT component, current_size FROM v$sga_dynamic_components;
-- shared pool
-- large pool
-- java pool
-- streams pool
-- DEFAULT buffer cache
-- KEEP / RECYCLE buffer cache
データベースを構成するファイル群
| ファイル | 役割 | 多重化 |
|---|---|---|
データファイル (*.dbf) | テーブル/インデックスの実体 | RAID/ASM |
制御ファイル (control*.ctl) | DB 物理構造のメタ情報 | ★必須多重化(3つ推奨) |
REDO ログ (redo*.log) | 変更履歴(リカバリ用) | ★必須多重化 + グループ化 |
アーカイブログ (arch_*) | REDO のバックアップ | RMAN で管理 |
| パスワードファイル | SYSDBA 接続認証 | — |
| パラメータファイル (SPFILE/PFILE) | インスタンス設定 | — |
論理構造: Tablespace → Segment → Extent → Block
Tablespace (例: USERS)
├─ Segment (テーブル / インデックス 1 個)
│ ├─ Extent (連続したブロックの塊)
│ │ ├─ Block (Oracle の最小 I/O 単位、デフォルト 8KB)
│ │ ├─ Block
│ │ └─ Block
│ └─ Extent
└─ Segment
物理:
Tablespace は 1 つ以上の Data File で構成
1 つの Data File は 1 つの Tablespace に所属-- Tablespace 一覧
SELECT tablespace_name, status, contents
FROM dba_tablespaces;
-- 各 Tablespace のサイズと使用率
SELECT tablespace_name,
ROUND(bytes/1024/1024, 1) AS total_mb,
ROUND(maxbytes/1024/1024, 1) AS max_mb
FROM dba_data_files;
-- Tablespace 作成
CREATE TABLESPACE users_ts
DATAFILE '/u01/app/oracle/oradata/users01.dbf' SIZE 100M
AUTOEXTEND ON NEXT 50M MAXSIZE 10G;
-- Segment 確認
SELECT segment_name, segment_type, tablespace_name, bytes
FROM user_segments;
マルチテナント (CDB / PDB) — Oracle 12c 以降
従来 1 サーバ = 1 DB だったのを、コンテナ DB (CDB) の中に複数のプラガブル DB (PDB) をホストできるように変更:
┌── CDB(Container Database)──────────────────────┐
│ │
│ ┌── ROOT (CDB$ROOT) ──────────────────────┐ │
│ │ 共通ユーザ・OS / SYS スキーマ │ │
│ └─────────────────────────────────────────┘ │
│ │
│ ┌── PDB$SEED ──────────────────────────────┐ │
│ │ 新規 PDB 作成用のテンプレート │ │
│ └─────────────────────────────────────────┘ │
│ │
│ ┌── PDB1 ─────┐ ┌── PDB2 ─────┐ ┌── PDB3 ┐ │
│ │ 業務 A │ │ 業務 B │ │ 業務 C │ │
│ │ 独自スキーマ│ │ 独自スキーマ│ │ ... │ │
│ └─────────────┘ └─────────────┘ └────────┘ │
└──────────────────────────────────────────────────┘-- 現在の接続コンテナ確認
SHOW CON_NAME;
-- PDB 一覧
SELECT name, open_mode FROM v$pdbs;
-- PDB 切替
ALTER SESSION SET CONTAINER = PDB1;
-- PDB 起動
ALTER PLUGGABLE DATABASE PDB1 OPEN;
-- 19c 以降は無償でも 3 PDB まで作成可能(21c で 32 PDB に拡張)
-- それ以上は Enterprise Edition + Multitenant オプション必要
起動の 4 段階
| 段階 | 状態 | 説明 |
|---|---|---|
| SHUTDOWN | 停止 | インスタンスもファイルもアクセスなし |
| NOMOUNT | インスタンス起動 | SGA/プロセス作成。CREATE DATABASE 用 |
| MOUNT | 制御ファイル読込 | リカバリ・名前変更可能 |
| OPEN | 使用可能 | 通常のクエリ可能 |
-- 起動
STARTUP NOMOUNT;
ALTER DATABASE MOUNT;
ALTER DATABASE OPEN;
-- まとめて
STARTUP; -- 通常起動(OPEN まで)
-- 読み取り専用
STARTUP MOUNT;
ALTER DATABASE OPEN READ ONLY;
-- 停止
SHUTDOWN IMMEDIATE; -- 推奨。トランザクション中断 + ロールバック
SHUTDOWN ABORT; -- 緊急。次回起動でクラッシュリカバリ
FAQ
Q: インスタンスとデータベース、どちらが「DB」?
A: 厳密にはデータベース=ファイル群、インスタンス=プロセス+メモリ。両方揃わないと使えない。日常会話では「DB」で両方を指す。
Q: PostgreSQL や MySQL の「データベース」と Oracle の「スキーマ」、どちらが対応?
A: Oracle の「スキーマ」≒ MySQL/PostgreSQL の「データベース」。Oracle の「データベース」は MySQL の「インスタンス」に近い概念。
Q: 19c 以降、Non-CDB(昔の単一 DB)は使えない?
A: 21c で Non-CDB は完全廃止。必ず CDB / PDB 構成。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?