ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
Oracle Database のエディション
| エディション | 価格 | 用途 | 制限 |
|---|---|---|---|
| 23ai Free(旧 XE) | 無料 | 学習・小規模本番 | CPU 2、メモリ 2GB、ユーザーデータ 12GB |
| Standard Edition 2 (SE2) | 有償 | 中規模本番 | RAC ノード 2、CPU 16 |
| Enterprise Edition (EE) | 有償 | 大規模・基幹 | 制限なし、オプション課金 |
| Cloud Free Tier (ATP/ADW) | 無料 | クラウドお試し | 2 OCPU × 20GB ストレージ Always Free |
最速セットアップ: Docker で 23ai Free
# Oracle Container Registry にログイン(無料アカウント必要)
docker login container-registry.oracle.com
# Pull
docker pull container-registry.oracle.com/database/free:latest
# 起動(SYS パスワードは初回コンテナログから取得 or 環境変数で指定)
docker run -d --name oracle-free \
-p 1521:1521 \
-e ORACLE_PWD=Oracle123 \
-e ORACLE_CHARACTERSET=AL32UTF8 \
-v oracle-data:/opt/oracle/oradata \
container-registry.oracle.com/database/free:latest
# 起動完了まで数分。ログで確認
docker logs -f oracle-free | grep -i "DATABASE IS READY"
# 接続
docker exec -it oracle-free sqlplus sys/Oracle123@FREE as sysdba
# PDB へ接続
docker exec -it oracle-free sqlplus system/Oracle123@FREEPDB1
Linux にインストール
Oracle Linux + RPM(最も公式に近い)
# Oracle Linux 8/9 想定。EPEL と Preinstall RPM を入れる
sudo dnf install -y oracle-database-preinstall-23ai
# 公式 RPM をダウンロード(公式サイトから事前取得)
sudo dnf install -y ./oracle-database-free-23ai-1.0-1.el8.x86_64.rpm
# DB 構成(パスワード入力プロンプトあり)
sudo /etc/init.d/oracle-free-23ai configure
# 環境変数(.bash_profile に追記)
export ORACLE_HOME=/opt/oracle/product/23ai/dbhomeFree
export ORACLE_SID=FREE
export PATH=$ORACLE_HOME/bin:$PATH
# 起動・停止
sudo systemctl start oracle-free-23ai
sudo systemctl stop oracle-free-23ai
sudo systemctl status oracle-free-23ai
Ubuntu でインストール
Ubuntu は公式 RPM が無いため、Docker で立てるのが推奨です。どうしてもバイナリで入れたい場合は alien で RPM 変換しますが、サポート対象外になります。
Windows にインストール
- Oracle 公式サイトから Oracle Database 23ai Free for Windows をダウンロード
- ZIP を展開して
setup.exeを管理者で実行 - インストール中に SYS / SYSTEM / PDBADMIN パスワードを設定
- サービス OracleServiceFREE が自動起動
- 環境変数
ORACLE_HOME/ORACLE_SIDがインストーラーで設定される
# サービス確認
Get-Service Oracle*
# SQL*Plus で接続
sqlplus sys/your_password@FREE as sysdba
sqlplus system/your_password@FREEPDB1
# リスナー
lsnrctl status
lsnrctl start
lsnrctl stop
CDB と PDB(マルチテナント)
Oracle 12c から導入され 23ai では必須の構成です:
- CDB (Container Database): 親 DB。
CDB$ROOT内に共通ユーザーやメタデータを持つ - PDB (Pluggable Database): 子 DB。アプリ用のスキーマはここに作る。プラグアンプラグで移動可能
-- CDB に SYSDBA で接続
sqlplus / as sysdba
-- 現在のコンテナを確認
SHOW CON_NAME;
-- PDB 一覧
SHOW PDBS;
-- NAME OPEN MODE
-- PDB$SEED READ ONLY
-- FREEPDB1 READ WRITE
-- PDB を起動
ALTER PLUGGABLE DATABASE FREEPDB1 OPEN;
-- PDB に切り替え
ALTER SESSION SET CONTAINER = FREEPDB1;
-- アプリ用ユーザー作成(PDB 内で)
CREATE USER appuser IDENTIFIED BY AppPass123;
GRANT CONNECT, RESOURCE TO appuser;
GRANT UNLIMITED TABLESPACE TO appuser;
-- PDB 自動起動を有効化
ALTER PLUGGABLE DATABASE FREEPDB1 SAVE STATE;
tnsnames.ora と listener.ora
Oracle クライアントはネット・サービス名を使って接続します。設定ファイルの場所:
# Linux
$ORACLE_HOME/network/admin/tnsnames.ora
$ORACLE_HOME/network/admin/listener.ora
# Windows
%ORACLE_HOME%\network\admin\tnsnames.ora
# 環境変数で別場所を指す
export TNS_ADMIN=/etc/oracle# tnsnames.ora — クライアント側
FREE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = FREE)
)
)
FREEPDB1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = FREEPDB1)
)
)# listener.ora — サーバ側
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = FREE)
(ORACLE_HOME = /opt/oracle/product/23ai/dbhomeFree)
(SID_NAME = FREE)
)
)# リスナー起動・状態確認
lsnrctl start
lsnrctl status
lsnrctl stop
# 接続テスト(Easy Connect 形式: host:port/service)
sqlplus appuser/AppPass123@localhost:1521/FREEPDB1
# tnsping で名前解決確認
tnsping FREEPDB1
SQL*Plus の基本
-- 接続
sqlplus / as sysdba -- OS 認証
sqlplus system/password@FREE -- TNS
sqlplus system/password@//localhost:1521/FREE -- Easy Connect
-- フォーマット改善
SET LINESIZE 200
SET PAGESIZE 50
COLUMN owner FORMAT A20
COLUMN table_name FORMAT A30
-- 自分のテーブル一覧
SELECT table_name FROM user_tables;
-- 接続中ユーザー / DB
SHOW USER;
SHOW CON_NAME;
SELECT name FROM v$database;
-- 終了
EXIT
SQL Developer(GUI クライアント)
Oracle 公式の無料 GUI。Windows / Mac / Linux で動作:
- oracle.com から SQL Developer をダウンロード
- JDK 同梱版を選ぶと別途 Java 不要
- 「新規接続」でホスト名・ポート・サービス名・ユーザー・パスワードを入力
- 接続テスト → 成功すれば「接続」
Oracle Cloud Free Tier (Autonomous Database)
クレジットカード登録は必要ですが、Always Free で 2 つの ADB(Autonomous Database)が永続無料:
- Oracle Cloud にサインアップ
- コンソール → Oracle Database → Autonomous Database → Create
- Workload Type: ATP(Transaction Processing)または ADW(Data Warehouse)
- Always Free を選択
- ADMIN パスワード設定 → 数分でプロビジョニング完了
- 「DB 接続」からWallet(mTLS 用 zip)をダウンロード → クライアントに配置
初期化パラメータの確認・変更
-- 全パラメータ
SHOW PARAMETERS;
-- 特定のパラメータ
SHOW PARAMETER sga;
SHOW PARAMETER processes;
-- 動的変更(メモリ上のみ)
ALTER SYSTEM SET processes = 300 SCOPE = MEMORY;
-- spfile に保存(次回起動後も有効)
ALTER SYSTEM SET sga_target = 2G SCOPE = SPFILE;
-- 両方
ALTER SYSTEM SET open_cursors = 500 SCOPE = BOTH;
-- 再起動を伴うパラメータ変更後
SHUTDOWN IMMEDIATE
STARTUP
FAQ
Q: XE と Free の違いは?
A: Oracle 21c までは XE、23ai 以降は Free という名称に変更されました。中身はほぼ同じ無料エディションです。
Q: Docker と直接インストール、どちらが良い?
A: 学習 & 開発用なら Docker が圧倒的に楽。本番運用は Oracle Linux + RPM を推奨。
Q: ORA-12541: TNS:no listener が出る
A: リスナーが停止しています。lsnrctl start で起動してください。Docker の場合はコンテナ起動完了前に接続している可能性も。
Q: PDB に接続できない
A: PDB が MOUNTED 状態の可能性。ALTER PLUGGABLE DATABASE pdbname OPEN; で開いてください。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子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
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 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
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 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
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?