当前位置: 首页 > news >正文

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

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

    • 前言
    • 环境准备
      • 目录创建
      • 启动Docker容器
    • 数据库配置修改
      • 进入容器启动SQL*Plus
      • PDB操作与字符串扩展设置
      • 配置验证
    • 管理员用户创建
    • 注意事项
    • 总结

前言

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

环境准备

目录创建

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

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

启动Docker容器

运行Oracle Database 23c Free容器:

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

docker exec -it oracle-db bash
sqlplus / as sysdba

PDB操作与字符串扩展设置

-- 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;

配置验证

-- 扩展字符串长度建表测试
CREATE TABLE large_text_table (
    large_text_column VARCHAR2(20000)
);

DROP TABLE large_text_table;

管理员用户创建

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

相关文章:

  • C++基础算法:模拟
  • Redis 哨兵模式
  • 本地部署大数据集群前置准备
  • Java中常见的设计模式
  • Qt信号与槽机制
  • 调用的子组件中使用v-model绑定数据以及使用@调用方法
  • 硅基流动前端如何设置tool工具
  • Collab-Overcooked:专注于多智能体协作的语言模型基准测试平台
  • go语言逆向-符号恢复
  • VUE集成Live2d
  • python3使用selenium打开火狐并全屏
  • DeepSeek掘金——DeepSeek-R1图形界面Agent指南
  • LeetCode(必刷75题)151. 反转字符串中的单词——字符串处理
  • 双碳战略下的智慧能源实践:安科瑞储能管理系统助力企业绿色转型
  • Microk8s Ingress实现七层负载均衡
  • 【零基础到精通Java合集】第三集:流程控制与数组
  • Nerf流程
  • Google C++ 开源风格指南
  • 【零基础到精通Java合集】第二集:数据类型与运算符
  • vue3学习-2(深入组件)
  • 肖钢:一季度证券业金融科技投资强度在金融各子行业中居首
  • 纽约市长称墨西哥海军帆船撞桥事故已致2人死亡
  • 特朗普:将于19日分别与普京和泽连斯基通话
  • 广西壮族自治区党委常委会:坚决拥护党中央对蓝天立进行审查调查的决定
  • 媒体:中国女排前队长朱婷妹妹被保送浙大受质疑,多方回应
  • 江苏省委组织部副部长高颜已任南京市委常委、组织部部长