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

相关推荐
Elastic 中国社区官方博客3 分钟前
Elasticsearch:使用阿里云 AI 服务进行嵌入和重新排名
大数据·数据库·人工智能·elasticsearch·搜索引擎·阿里云·云计算
encoding-console1 小时前
Centos7部署k8s(单master节点安装)
docker·云原生·容器·kubernetes·部署·集群·centos7
m0_672656541 小时前
如何把图片或者图片地址存到 MySQL 数据库中以及如何将这些图片数据通过 JSP 显示在网页中
java·数据库·mysql
reddingtons2 小时前
在 Ubuntu 下通过 Docker 部署 Caddy 和 PHP-FPM 服务器
服务器·ubuntu·docker
mengweijin2 小时前
华为 Open Gauss 数据库在 Spring Boot 中使用 Flyway
数据库·spring boot·华为·flyway·gauss
Dav_20992 小时前
DAV_postgresql_3-schema
数据库
裁二尺秋风2 小时前
MongoDB—(一主、一从、一仲裁)副本集搭建
数据库·mongodb
"Wild dream"2 小时前
正则表达式
java·数据库·mysql·正则表达式
酥暮沐3 小时前
Docker 学习(一)
运维·docker·容器
安 当 加 密3 小时前
安当全栈式MySQL安全解决方案:透明加密、动态凭据与勒索防护一体化实践
数据库·mysql·安全