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のセットアップと重要な設定変更の流れを解説しました。開発環境構築の参考になれば幸いです。本番環境ではセキュリティ設定の見直しをお忘れなく!

相关推荐
分布式存储与RustFS20 小时前
MinIO 官方 Docker 镜像被移除:依赖它的项目该怎么办
docker·云原生·devops·对象存储·minio·分布式存储
这个DBA有点耶20 小时前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G20 小时前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备20 小时前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远21 小时前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
玉&心1 天前
通过Arthas在线诊断K8S中的内存及JVM等使用情况
docker·k8s·arthas
xing-xing1 天前
Docker容器中Nginx站点根目录网页配置访问
nginx·docker
2601_962218611 天前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法
guo_wen_qiang1 天前
上传本地镜像到harbor中
docker·容器·持续部署
张洛闻Eren1 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github