DockerでOracle Database 23ai FreeをセットアップしMAX_STRING_SIZEを拡張する手順

DockerでOracle Database 23c FreeをセットアップしMAX_STRING_SIZEを拡張する手順

はじめに

Oracle Database 23ai FreeをDocker環境でセットアップし、拡張文字列サイズ(MAX_STRING_SIZE=EXTENDED)の設定とPDB操作を行う手順を解説します。開発環境構築時の参考にしてください。

環境準備

ディレクトリ作成

データ永続化用のディレクトリを作成(権限設定は開発環境用):

bash 复制代码
mkdir -p /u01/data/free/
chmod 777 /u01/data/free/  # 本番環境では適切な権限設定を推奨

Dockerコンテナ起動

Oracle Database 23c Freeのコンテナを起動:

bash 复制代码
docker run -d --name oracle-db \
  -p 1521:1521 \
  -e ORACLE_PDB=FREEPDB1 \
  -e ORACLE_PWD=<任意のパスワード> \
  -v /u01/data/free/:/opt/oracle/oradata \
  container-registry.oracle.com/database/free:23.7.0.0-amd64

データベース設定変更

コンテナ内でSQL*Plus起動

bash 复制代码
docker exec -it oracle-db bash
sqlplus / as sysdba

PDB操作と文字列サイズ拡張

sql 复制代码
-- PDB状態確認
SHOW PDBS;

-- PDBをアップグレードモードで再オープン
ALTER PLUGGABLE DATABASE FREEPDB1 CLOSE;
ALTER PLUGGABLE DATABASE FREEPDB1 OPEN UPGRADE;

-- コンテナ切り替え
ALTER SESSION SET CONTAINER=FREEPDB1;

-- 文字列サイズ拡張設定
ALTER SYSTEM SET MAX_STRING_SIZE=EXTENDED;

-- 変更適用スクリプト実行
@?/rdbms/admin/utl32k.sql

-- 通常モードで再起動
ALTER PLUGGABLE DATABASE FREEPDB1 CLOSE;
ALTER PLUGGABLE DATABASE FREEPDB1 OPEN;

設定検証

sql 复制代码
-- 拡張文字列サイズでのテーブル作成テスト
CREATE TABLE large_text_table (
    large_text_column VARCHAR2(20000)
);

DROP TABLE large_text_table;

管理者ユーザー作成

sql 复制代码
-- DBA権限付与
CREATE USER admin IDENTIFIED BY <パスワード>;
GRANT DBA TO admin;
GRANT EXECUTE ON CTX_DDL TO admin;  -- Text検索機能利用の場合

注意事項

  1. データ永続化のためボリュームマウントを実施
  2. MAX_STRING_SIZE変更はデータベース作成直後のみ可能
  3. 本番環境では権限設定を見直し(777は開発用)
  4. パスワードは強固なものを設定

まとめ

Dockerを使ったOracle Databaseのセットアップと重要な設定変更の流れを解説しました。開発環境構築の参考になれば幸いです。本番環境ではセキュリティ設定の見直しをお忘れなく!

相关推荐
NineData9 小时前
NineData智能数据管理平台新功能发布|2026年1-2月
数据库·sql·数据分析
IvorySQL10 小时前
双星闪耀温哥华:IvorySQL 社区两项议题入选 PGConf.dev 2026
数据库·postgresql·开源
阿虎儿12 小时前
Docker安装(非sudo用户可用)
docker
ma_king13 小时前
入门 java 和 数据库
java·数据库·后端
jiayou6416 小时前
KingbaseES 实战:审计追踪配置与运维实践
数据库
NineData1 天前
NineData 迁移评估功能正式上线
数据库·dba
NineData1 天前
数据库迁移总踩坑?用 NineData 迁移评估,提前识别所有兼容性风险
数据库·程序员·云计算
赵渝强老师1 天前
【赵渝强老师】PostgreSQL中表的碎片
数据库·postgresql
全栈老石2 天前
拆解低代码引擎核心:元数据驱动的"万能表"架构
数据库·低代码
fetasty2 天前
rustfs加picgo图床搭建
docker