实战篇:Oracle 数据库标准版(SE)转换为企业版(EE)
大家好,这里是 Lucifer三思而后行,专注于提升数据库运维效率。
@TOC
前言
很多 Oracle 数据库在初始安装的时候选择了标准版,而相对企业版来说就少了:RAC、ASM、DataGuard、闪回功能、分区表等等一些很实用的功能:
1 | SELECT * |
那么如何将标准版升级到企业版呢?Oracle 给我们提供了具体方案:
下面我就来测试一下升级过程!
环境准备
| 主机名 | IP地址 | 主机版本 | Oracle 版本 | 实例名 |
|---|---|---|---|---|
| orcl | 10.211.55.100 | rhel8.6 | 19.15 SE2 | orcl |
正式转换
Oracle 创建数据库均使用相同的 SQL.BSQ 脚本,因此数据库在内部几乎相同,转换过程不是很复杂。
备份数据库
首先,出于数据安全考虑,转换前进行一次备份:
1 | run { |
确保备份成功:
1 | select input_type, |
最好把参数文件、密码文件以及监听文件:
1 | cp -r $ORACLE_HOME/dbs /soft/ |
关闭数据库
关闭数据库相关的所有服务:
1 | lsnrctl stop |
卸载 Oracle SE 软件
这里的卸载不建议使用 deinstall,建议使用 runInstaller 来卸载 ORACLE_HOME:
1 | $ORACLE_HOME/oui/bin/runInstaller -silent -detachHome -invPtrLoc /etc/oraInst.loc ORACLE_HOME=$ORACLE_HOME |
使用以上命令 $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 目录:
1 | ## 创建新的 ORACLE_HOME |
至此,Oracle EE 安装完成。
启动数据库
启动数据库之前,需要将原先的 $ORACLE_HOME/dbs 下的参数文件、密码文件拷贝到新的 $ORACLE_HOME 下:
1 | ## 恢复参数文件和密码文件 |
启动监听和数据库:
1 | lsnrctl start |
此时再次查询版本以及可选功能:
1 | -- 查看数据库版本 |
此时已经转换成功。
执行升级脚本
运行 catalog.sql 和 catproc.sql 脚本:
1 | sqlplus / as sysdba @?/rdbms/admin/catalog.sql |
这两个脚本的执行可能不是在所有情况下都是强制性的,但最好运行它们,因为数据字典的复杂性,我们无法确保创建所有 EE 对象。
编译无效对象
最后,重新编译数据库中的所有无效对象:
1 | sqlplus / as sysdba @?/rdbms/admin/utlrp.sql |
注意事项
在整个转换过程中,有哪些需要注意的点:
- 确保你的企业版服务器软件的版本号(和补丁版本)与原始标准版服务器软件的版本相同;
- Windows 系统,必须在重新安装软件后重新创建数据库服务(通过 ORADIM);
END!
往期精彩文章
Oracle 一键巡检自动生成 Word 报告
Oracle 一键安装合集
Oracle一键安装脚本的 21 个疑问与解答
Oracle一键巡检脚本的 21 个疑问与解答
全网首发:Oracle 23ai 一键安装脚本(非 RPM)
Oracle 19C 最新 RU 补丁 19.24 ,一键安装!
Oracle Linux 7.9 一键安装 Oracle 19C
RedHat 9.4(aarch64) 一键安装 Oracle 19C
openEuler 22.03 LTS SP4 一键安装 Oracle 19C RAC
RHEL 7.9 一键安装 Oracle 19C 19.23 RAC
Oracle DataGuard GAP 修复手册
优化 Oracle:最佳实践与开发规范
DBA 必备:Linux 软件源配置全攻略
Linux 一键配置时钟同步全攻略
感谢您的阅读,这里是 Lucifer三思而后行,欢迎点赞+关注,我会持续分享数据库知识、运维技巧。