docker环境下 Oracle 19c 标准版如何转换为19c 企业版

我们知道,ORACLE 标准版,不能直接转换为企业版,这里除了版权问题之外,也有技术上的原因,如果在DOCKER环境下,如何操作呢?

oracle 19c 标准版转换为企业版,和传统模式的转换思路一样

传统模式:卸载标准版,不删除数据,重新安装企业版软件,打开前面安装的标准版的数据文件,即可。

DOCKER下面呢?

我们来看看.

1.前提
当前是19c 标准版,可以参考下文进行创建

oracle linux 9.6上安装oracle database 19.3 标准版 docker
2.做好备份
做好备份,既是在失败情况下的一个标准步骤,也是本次操作的必要步骤。本次使用的物理备份。

2.1 物理备份
停止docker
docker stop oracle19c
使用tar 冷备

tar -zcvf /mydata/oracle_se2_backup_$(date +%Y%m%d).tar.gz /mydata/oracle/oradata

tar: Removing leading `/' from member names

/mydata/oracle/oradata/

/mydata/oracle/oradata/ORCL/

/mydata/oracle/oradata/ORCL/system01.dbf

/mydata/oracle/oradata/ORCL/sysaux01.dbf

/mydata/oracle/oradata/ORCL/undotbs01.dbf

/mydata/oracle/oradata/ORCL/users01.dbf

/mydata/oracle/oradata/ORCL/control01.ctl

/mydata/oracle/oradata/ORCL/control02.ctl

/mydata/oracle/oradata/ORCL/redo01.log

/mydata/oracle/oradata/ORCL/redo02.log

/mydata/oracle/oradata/ORCL/redo03.log

/mydata/oracle/oradata/ORCL/temp01.dbf

/mydata/oracle/oradata/ORCL/tbs_his01.dbf

/mydata/oracle/oradata/ORCL/tbs_lis01.dbf

/mydata/oracle/oradata/.ORCL.created

/mydata/oracle/oradata/dbconfig/

/mydata/oracle/oradata/dbconfig/ORCL/

/mydata/oracle/oradata/dbconfig/ORCL/spfileORCL.ora

/mydata/oracle/oradata/dbconfig/ORCL/orapwORCL

/mydata/oracle/oradata/dbconfig/ORCL/sqlnet.ora

/mydata/oracle/oradata/dbconfig/ORCL/listener.ora

/mydata/oracle/oradata/dbconfig/ORCL/tnsnames.ora

/mydata/oracle/oradata/dbconfig/ORCL/.docker_standard

/mydata/oracle/oradata/dbconfig/ORCL/oratab

2.2 逻辑备份
启动docker

docker start oracle19c

进入docker

root@docker-hub dockerfiles]# docker exec -it oracle19c bash

--进行逻辑备份

bash-4.2$ expdp \'sys/oracle_4U@orcl as sysdba\' dumpfile=se2_full.dmp logfile=se2_full.log full=y

Export: Release 19.0.0.0.0 - Production on Tue Dec 2 15:39:27 2025

Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.

Connected to: Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production

Starting "SYS"."SYS_EXPORT_FULL_01": "sys/********@orcl AS SYSDBA" dumpfile=se2_full.dmp logfile=se2_full.log full=y

Processing object type DATABASE_EXPORT/EARLY_OPTIONS/VIEWS_AS_TABLES/TABLE_DATA

Processing object type DATABASE_EXPORT/NORMAL_OPTIONS/TABLE_DATA
。。。

. . exported "HR"."DEPARTMENTS" 6.132 KB 8 rows

. . exported "HR"."EMPLOYEES" 8.023 KB 20 rows

. . exported "HR"."JOB_HISTORY" 0 KB 0 rows

Master table "SYS"."SYS_EXPORT_FULL_01" successfully loaded/unloaded

******************************************************************************

Dump file set for SYS.SYS_EXPORT_FULL_01 is:

/opt/oracle/admin/ORCL/dpdump/se2_full.dmp

Job "SYS"."SYS_EXPORT_FULL_01" successfully completed at Tue Dec 2 15:41:30 2025 elapsed 0 00:02:01

--文件传到指定位置

root@docker-hub dockerfiles\]# docker cp oracle19c:/opt/oracle/admin/ORCL/dpdump/se2_full.dmp /mydata/oracle/. Successfully copied 3.7MB to /mydata/oracle/. \[root@docker-hub dockerfiles\]# ls -ltr /mydata/oracle/. total 3608 drwxrwxrwx 4 root root 55 Dec 2 22:06 oradata -rw-r----- 1 root root 3694592 Dec 2 23:41 se2_full.dmp 3.停止并删除前面的标准版docker docker stop oracle19c docker rm oracle19c rm -fr /mydata/oracle/oradata/\* chmod -R 777 /mydata/oracle/oradata 4.创建企业版的image ./buildContainerImage.sh -i -v 19.3.0 -t oracle/database:19c **-e** 5.运行docker docker run -d \\ --restart always \\ --shm-size=4g \\ -p 1521:1521 -p 5500:5500 \\ -e ORACLE_SID=ORCL \\ -e ORACLE_PWD=oracle_4U \\ -e ORACLE_CHARACTERSET=ZHS16GBK \\ -v /mydata/oracle/oradata:/opt/oracle/oradata \\ --name oracle19c \\ oracle/database:19c 6.停数据库 进入docker docker exec -it oracle19c /bin/bash lsnrctl stop sqlplus / as sysdba SQL\> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. 7.释放标准版的数据文件到对应位置 tar /mydata/oracle_se2_backup_20251202.tar.gz -C / 8.重新打开数据库 进入docker docker exec -it oracle19c /bin/bash 打开监听 lsnrctl start 打开数据库 sql\>startup 9. 验证版本 SQL\> select \* from v$version; BANNER -------------------------------------------------------------------------------- BANNER_FULL -------------------------------------------------------------------------------- BANNER_LEGACY -------------------------------------------------------------------------------- CON_ID ---------- Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0 Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production 10.验证选项 SQL\> SELECT parameter ,value from v$option PARAMETER VALUE ---------------------------------------- ------------------------------ Partitioning TRUE Objects TRUE Real Application Clusters FALSE Advanced replication TRUE Bit-mapped indexes TRUE Connection multiplexing TRUE Connection pooling TRUE Database queuing TRUE Incremental backup and recovery TRUE Instead-of triggers TRUE Parallel backup and recovery TRUE PARAMETER VALUE ---------------------------------------- ------------------------------ Parallel execution TRUE Parallel load TRUE Point-in-time tablespace recovery TRUE Fine-grained access control TRUE Proxy authentication/authorization TRUE Change Data Capture TRUE Plan Stability TRUE Online Index Build TRUE Coalesce Index TRUE Managed Standby TRUE Materialized view rewrite TRUE PARAMETER VALUE ---------------------------------------- ------------------------------ Database resource manager TRUE Spatial TRUE Automatic Storage Management FALSE Export transportable tablespaces TRUE Transparent Application Failover TRUE Fast-Start Fault Recovery TRUE Sample Scan TRUE Duplexed backups TRUE Java TRUE OLAP Window Functions TRUE Block Media Recovery TRUE PARAMETER VALUE ---------------------------------------- ------------------------------ Fine-grained Auditing TRUE Application Role TRUE Enterprise User Security TRUE Oracle Data Guard TRUE Oracle Label Security FALSE OLAP TRUE Basic Compression TRUE Join index TRUE Trial Recovery TRUE Advanced Analytics TRUE Online Redefinition TRUE PARAMETER VALUE ---------------------------------------- ------------------------------ Streams Capture TRUE File Mapping TRUE Block Change Tracking TRUE Flashback Table TRUE Flashback Database TRUE Transparent Data Encryption TRUE Backup Encryption TRUE Unused Block Compression TRUE Oracle Database Vault FALSE Result Cache TRUE SQL Plan Management TRUE PARAMETER VALUE ---------------------------------------- ------------------------------ SecureFiles Encryption TRUE Real Application Testing TRUE Flashback Data Archive TRUE DICOM TRUE Active Data Guard TRUE Server Flash Cache TRUE Advanced Compression TRUE XStream TRUE Deferred Segment Creation TRUE Unified Auditing FALSE Management Database FALSE PARAMETER VALUE ---------------------------------------- ------------------------------ I/O Server FALSE ASM Proxy Instance FALSE Exadata Discovery TRUE Data Mining TRUE Global Data Services TRUE Adaptive Execution Plans TRUE Table Clustering TRUE Zone Maps TRUE Real Application Security TRUE Privilege Analysis TRUE Data Redaction TRUE PARAMETER VALUE ---------------------------------------- ------------------------------ Cross Transportable Backups TRUE Cache Fusion Lock Accelerator TRUE Snapshot time recovery TRUE Heat Map TRUE Automatic Data Optimization TRUE Transparent Sensitive Data Protection TRUE In-Memory Column Store TRUE Advanced Index Compression TRUE In-Memory Aggregation TRUE Centrally Managed User TRUE 87 rows selected. 企业版的功能都有了 11.无效对象 SQL\> select count(\*) from dba_objects where status\<\>'VALID'; COUNT(\*) ---------- 0 12.组件 ![](https://i-blog.csdnimg.cn/direct/89989fd572f54f6f9b405d698de095f6.png) 到此,标准版DOCKER转换为企业版过程结束。 13.总结一下: 需要注意,不能直接标准版的数据文件运行企业版的DOCKER,需要全新的企业版DOCKER,然后替换数据文件为前面的标准版备份的数据文件即可。 另外:标准版和企业版的版权问题,需要单独解决。

相关推荐
weixin_4492900117 小时前
Docker + MySQL 在 Windows 11 上的本地安装部署文档
mysql·docker·容器
Ysn071917 小时前
中文乱码:在 Docker 容器中设置中文语言环境
运维·python·docker·容器
米高梅狮子17 小时前
01.CentOS-Stream-8-packstack安装OpenStack
linux·云原生·容器·kubernetes·centos·自动化·openstack
zxd02031118 小时前
EFK(Elasticsearch + Fluentd + Kibana) 日志收集系统
运维·docker·jenkins
终端行者18 小时前
Jenkins Pipeline 企业级用法 参数化构建+Ansible发布---上
docker·ansible·jenkins·cicd
阿坤带你走近大数据19 小时前
Oracle中的OGG介绍
数据库·oracle
亚空间仓鼠19 小时前
Docker容器化高可用架构部署方案(十三)
docker·容器·架构
Amarantine、沐风倩✨20 小时前
Oracle 性能排查:通过 V$LONG_EXEC_SQLS 快速定位慢 SQL
数据库·sql·oracle
jnrjian20 小时前
控制用户alter user 修改密码的两种办法 dbv and triggers
数据库·oracle
米高梅狮子20 小时前
01.mysql的备份与恢复
运维·数据库·mysql·docker·容器·kubernetes·github