使用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数据库并进行关键配置修改的全流程。希望为开发环境搭建提供有效参考,生产环境请务必重新审核安全设置!

相关推荐
TDengine (老段)11 分钟前
TDengine Python 连接器进阶指南
大数据·数据库·python·物联网·时序数据库·tdengine·涛思数据
赵渝强老师20 分钟前
【赵渝强老师】OceanBase的配置文件与配置项
数据库·oceanbase
玖日大大1 小时前
OceanBase SeekDB:AI 原生数据库的技术革命与实践指南
数据库·人工智能·oceanbase
释怀不想释怀1 小时前
Docker(网络)
运维·docker·容器
高溪流2 小时前
3.数据库表的基本操作
数据库·mysql
alonewolf_992 小时前
深入剖析MySQL锁机制与MVCC原理:高并发场景下的数据库核心优化
数据库·mysql
一 乐3 小时前
绿色农产品销售|基于springboot + vue绿色农产品销售系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端·宠物
Codeking__3 小时前
Redis初识——什么是Redis
数据库·redis·mybatis
k***1953 小时前
Spring 核心技术解析【纯干货版】- Ⅶ:Spring 切面编程模块 Spring-Instrument 模块精讲
前端·数据库·spring
程序员黄老师3 小时前
主流向量数据库全面解析
数据库·大模型·向量·rag