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

相关推荐
布局呆星6 小时前
SQLite数据库的介绍与使用
数据库·python
2401_838472516 小时前
用Python和Twilio构建短信通知系统
jvm·数据库·python
石头wang6 小时前
oracle jdbc 依赖以及对dbeaver的性能影响,如何选择oracle驱动, oracle jdbc 驱动
数据库·oracle
weixin_452159556 小时前
如何从Python初学者进阶为专家?
jvm·数据库·python
2301_790300967 小时前
用Python读取和处理NASA公开API数据
jvm·数据库·python
万象.7 小时前
redis持久化:AOF和RDB
数据库·redis·缓存
好好沉淀7 小时前
Docker开发笔记(详解)
运维·docker·容器
tod1137 小时前
力扣高频 SQL 50 题阶段总结(四)
开发语言·数据库·sql·算法·leetcode
!chen8 小时前
Redis快速实现布隆过滤器
数据库·redis·缓存
2301_790300968 小时前
数据分析与科学计算
jvm·数据库·python