使用Docker搭建Oracle Database 23ai Free并扩展MAX_STRING_SIZE的完整指南

使用Docker搭建Oracle Database 23ai Free并扩展MAX_STRING_SIZE的完整指南

前言

本文将详细讲解在Docker环境中配置Oracle Database 23ai Free,并进行扩展字符串长度(MAX_STRING_SIZE=EXTENDED)设置及PDB操作的完整流程。适合作为开发环境搭建的参考手册。

环境准备

目录创建

为数据持久化创建专用目录(权限设置适用于开发环境):

bash 复制代码
mkdir -p /u01/data/free23ai/
chmod 777 /u01/data/free23ai/  # 生产环境建议设置适当权限

启动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/free23ai/:/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;  -- 如需使用全文检索功能

注意事项

  1. 必须实施卷挂载实现数据持久化
  2. MAX_STRING_SIZE修改仅限数据库创建初期
  3. 生产环境需重新审核权限设置(777权限仅限开发)
  4. 请设置高强度密码

总结

本文详细讲解了使用Docker搭建Oracle数据库并进行关键配置修改的全流程。希望为开发环境搭建提供有效参考,生产环境请务必重新审核安全设置!

相关推荐
草莓熊Lotso11 小时前
Linux 文件描述符与重定向实战:从原理到 minishell 实现
android·linux·运维·服务器·数据库·c++·人工智能
大模型玩家七七11 小时前
基于语义切分 vs 基于结构切分的实际差异
java·开发语言·数据库·安全·batch
岳麓丹枫00112 小时前
PostgreSQL 中 pg_wal 目录里的 .ready .done .history 文件的生命周期
数据库·postgresql
陌上丨19 小时前
Redis的Key和Value的设计原则有哪些?
数据库·redis·缓存
AI_567819 小时前
AWS EC2新手入门:6步带你从零启动实例
大数据·数据库·人工智能·机器学习·aws
ccecw19 小时前
Mysql ONLY_FULL_GROUP_BY模式详解、group by非查询字段报错
数据库·mysql
JH307319 小时前
达梦数据库与MySQL的核心差异解析:从特性到实践
数据库·mysql
数据知道19 小时前
PostgreSQL 核心原理:如何利用多核 CPU 加速大数据量扫描(并行查询)
数据库·postgresql
金刚猿20 小时前
01_虚拟机中间件部署_root 用户安装 docker 容器,配置非root用户权限
docker·中间件·容器
JH_Kong20 小时前
解决 WSL 中 Docker 权限问题:从踩坑到完整修复
docker·容器