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

相关推荐
cui_ruicheng2 小时前
MySQL(四):数据类型与字段设计
数据库·mysql
皮皮学姐分享-ppx3 小时前
政府绿色采购数据库(2015-2024.3)
大数据·网络·数据库·人工智能·制造
闪电悠米4 小时前
黑马点评-Redis 消息队列-03_stream_consumer_group
开发语言·数据库·redis·分布式·缓存·junit·lua
DIY源码阁5 小时前
JavaSwing航班订票管理系统 - MySQL版
数据库·mysql
正经教主6 小时前
【docker基础】第五课:Docker网络详解
运维·docker·容器
浪客灿心6 小时前
项目篇:模块设计与实现
数据库·c++
鹤鸣的日常7 小时前
前端运行时动态环境变量方案
前端·react.js·docker·前端框架·vue·gitlab
流星白龙8 小时前
【MySQL高阶】26.事务(1)
数据库·mysql
三十..8 小时前
Redis 核心原理与高可用架构实践
运维·数据库·redis
这个DBA有点耶9 小时前
索引优化深潜(下):索引合并、ICP 与索引设计的实战法则
数据库·mysql·架构