Oracle 数据库标准版转换为企业版

前言
很多 Oracle 数据库在初始安装的数据时候选择了标准版,而相对企业版来说就少了:RAC、库标ASM、准版转换DataGuard、为企闪回功能、业版分区表等等一些很实用的数据功能:
复制SELECT * FROMv$option
WHERE parameter IN (Oracle Data Guard, Active Data Guard, Flashback Table, Flashback Database, Online Index Build, Partitioning);PARAMETER VALUE
-------------------------------------------------Partitioning FALSEOnline Index Build FALSEOracle Data Guard FALSEFlashback Table FALSEFlashback Database FALSEActive Data Guard FALSE1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.那么如何将标准版升级到企业版呢?Oracle 给我们提供了具体方案:
How to Convert Database from Standard to Enterprise Edition (till 11gR2)? (Doc ID 117048.1)。下面我就来测试一下升级过程!库标
环境准备
主机名
IP地址
主机版本
Oracle 版本
实例名
orcl
10.211.55.100
rhel8.6
19.15 SE2
orcl
正式转换
Oracle 创建数据库均使用相同的准版转换 SQL.BSQ 脚本,因此数据库在内部几乎相同,为企转换过程不是业版很复杂。
备份数据库
首先,数据出于数据安全考虑,库标转换前进行一次备份:
复制run {allocate channel c1 device type disk;allocate channel c2 device type disk;backup database include current controlfile format /backup/backdb_%d_%T_%t_%s_%p;backup archivelog all format /backup/arch_%d_%T_%t_%s_%p;release channel c1;release channel c2;}1.2.3.4.5.6.7.8.确保备份成功:
复制select input_type,准版转换 status, to_char(start_time, yyyy-mm-dd hh24:mi:ss), to_char(end_time, yyyy-mm-dd hh24:mi:ss), input_bytes_display, output_bytes_display, time_taken_display,COMPRESSION_RATIO
fromv$rman_backup_job_details
order by 3 desc;1.2.3.4.5.6.7.8.9.10.11.12.最好把参数文件、密码文件以及监听文件:
复制cp -r $ORACLE_HOME/dbs /soft/cp -r $ORACLE_HOME/network/admin /soft/1.2.关闭数据库
关闭数据库相关的为企所有服务:
复制lsnrctl stop
sqlplus / as sysdba<<EOF
shu immediate
exit
EOF1.2.3.4.5.卸载 Oracle SE 软件
这里的卸载不建议使用 deinstall,建议使用 runInstaller 来卸载 ORACLE_HOME:
复制$ORACLE_HOME/oui/bin/runInstaller -silent -detachHome -invPtrLoc /etc/oraInst.loc ORACLE_HOME=$ORACLE_HOME1.使用以上命令 $ORACLE_HOME 下的云服务器提供商业版所有文件和目录都被保留,实际上没有从 $ORACLE_HOME 文件系统中删除任何内容。它只是从 Oracle Central Inventory 中删除了该特定 $ORACLE_HOME 的所有信息。
可参考 MOS 文档:Behaviour of the Oracle De-install/Deinstall/Uninstall Utility in 11gR2 (Doc ID 1363753.1)。
安装 Oracle EE 软件
由于旧的 ORACLE_HOME 没有删除,所以建议创建新的 ORACLE_HOME 目录:
复制## 创建新的 ORACLE_HOME
mkdir -p /u01/app/oracle/product/19.3.0/db1
## 修改环境变量
export ORACLE_HOME=/u01/app/oracle/product/19.3.0/db1
## 解压 DB 软件至新的 ORACLE_HOME
unzip -q LINUX.X64_193000_db_home.zip -d $ORACLE_HOME
## 解压 OPatch 补丁包
unzip -q -o p6880880_190000_Linux-x86-64.zip -d $ORACLE_HOME
## 安装 RU 补丁和 Oracle EE 软件(需要调用图形化界面)cd $ORACLE_HOME
./runInstaller -applyRU /soft/33806152## 执行 root.sh/u01/app/oracle/product/19.3.0/db1/root.sh1.2.3.4.5.6.7.8.9.10.11.12.13.至此,Oracle EE 安装完成。
启动数据库
启动数据库之前,需要将原先的 $ORACLE_HOME/dbs 下的参数文件、密码文件拷贝到新的 $ORACLE_HOME 下:
复制## 恢复参数文件和密码文件
cd /soft/dbs
cp orapworcl $ORACLE_HOME/dbs
cp spfileorcl.ora $ORACLE_HOME/dbs
## 恢复监听文件
cd /soft/admin
cp listener.ora $ORACLE_HOME/network/admin
cp sqlnet.ora $ORACLE_HOME/network/admin
cp tnsnames.ora $ORACLE_HOME/network/admin1.2.3.4.5.6.7.8.9.启动监听和数据库:
复制lsnrctl start
sqlplus / as sysdba<<EOF
startup
exit
EOF1.2.3.4.5.此时再次查询版本以及可选功能:
复制-- 查看数据库版本SQL> select banner_full from v$version;BANNER_FULL
----------------------------------------------------------------------Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 -Production
Version 19.15.0.0.0-- 查看可选功能SELECT * FROMv$option
WHERE parameter IN (Oracle Data Guard, Active Data Guard, Flashback Table, Flashback Database, Online Index Build, Automatic Storage Management, Partitioning, Real Application Clusters);PARAMETER VALUE
-------------------------------------------------Partitioning TRUEOnline Index Build TRUEOracle Data Guard TRUEFlashback Table TRUEFlashback Database TRUEActive Data Guard TRUE1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.此时已经转换成功。
执行升级脚本
运行 catalog.sql 和 catproc.sql 脚本:
复制sqlplus / as sysdba @?/rdbms/admin/catalog.sqlsqlplus / as sysdba @?/rdbms/admin/catproc.sql1.2.这两个脚本的企商汇执行可能不是在所有情况下都是强制性的,但最好运行它们,因为数据字典的复杂性,我们无法确保创建所有 EE 对象。
编译无效对象
最后,重新编译数据库中的所有无效对象:
复制sqlplus / as sysdba @?/rdbms/admin/utlrp.sql1.注意事项
在整个转换过程中,有哪些需要注意的点:
确保你的企业版服务器软件的版本号(和补丁版本)与原始标准版服务器软件的版本相同。Windows 系统,必须在重新安装软件后重新创建数据库服务(通过 ORADIM)。相关文章
- 摘要:在当今数字化时代,计算机编程已经成为一项重要的技能。通过编程,我们可以创造出无限可能的世界,实现自己的创意和想法。而了解如何以简单形状代码为基础进行编程,则是成为一名优秀程序员的第...2025-11-05

Google 再提高 Chrome 漏洞赏金数额,最高可达25万美元
近日,谷歌公司宣布通过其漏洞奖励计划报告的Google Chrome单一漏洞的最高奖励金额已超过25万美元。从8月28日起,谷歌将根据研究人员报告的漏洞质量来对内存损坏漏洞加以区分。奖励金额将从展示C2025-11-05
Golang 高性能无 GC 的缓存库 bigcache 是怎么实现的?
我们写代码的时候,经常会需要从数据库里读取一些数据,比如配置信息或者诸如每周热点商品之类的数据。应用读取数据库如果这些数据既不经常变化,又需要频繁读取,那比起每次都去读数据库,更优的解决方案就是将它们2025-11-05Windows 10下,如何使用PowerShell批量重启局域网电脑
复制Restart-Computer 1.2025-11-05如何利用分身定格制作教程电脑(创意动手实践,体验分身定格的魅力)
摘要:分身定格是一种独特而有趣的摄影技术,通过一系列静止图像的快速连续播放,创造出动画的效果。本文将向您介绍如何利用分身定格技术制作一个有趣的教程电脑,让您在学习和娱乐中都能充分体验到这...2025-11-05
2024 Fortinet OT工业安全高峰论坛成功举办 开启OT安全平台时代
9月10日,“2024年Fortinet OT工业安全高峰论坛”于广州圆满闭幕。盛会紧扣“工业安全新行动,智驭AI新时代”主题,汇聚全球OT领域精英、技术先锋及安全领域翘楚,共谋OT现代化浪潮下的安全2025-11-05

最新评论