0


实战篇:Oracle 数据库标准版(SE)转换为企业版(EE)

前言

很多 Oracle 数据库在初始安装的时候选择了标准版,而相对企业版来说就少了:RAC、ASM、DataGuard、闪回功能、分区表等等一些很实用的功能:

SELECT*FROM v$optionWHERE parameter IN('Oracle Data Guard','Active Data Guard','Flashback Table','Flashback Database','Online Index Build','Partitioning');
PARAMETER                                   VALUE-------------------------------------------------
Partitioning                                FALSE
Online Index Build                          FALSE
Oracle Data Guard                           FALSE
Flashback TableFALSE
Flashback DatabaseFALSE
Active Data Guard                           FALSE

那么如何将标准版升级到企业版呢?Oracle 给我们提供了具体方案:

  • How to Convert Database from Standard to Enterprise Edition (till 11gR2)? (Doc ID 117048.1)

下面我就来测试一下升级过程!

环境准备

主机名IP地址主机版本Oracle 版本实例名orcl10.211.55.100rhel8.619.15 SE2orcl

正式转换

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

确保备份成功:

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
  from v$rman_backup_job_details
 orderby3desc;

最好把参数文件、密码文件以及监听文件:

cp -r $ORACLE_HOME/dbs /soft/
cp -r $ORACLE_HOME/network/admin /soft/

关闭数据库

关闭数据库相关的所有服务:

lsnrctl stop
sqlplus / as sysdba<<EOF
shu immediate
exit
EOF

卸载 Oracle SE 软件

这里的卸载不建议使用

deinstall

,建议使用

runInstaller

来卸载

ORACLE_HOME

$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 目录:

## 创建新的 ORACLE_HOMEmkdir -p /u01/app/oracle/product/19.3.0/db1
## 修改环境变量exportORACLE_HOME=/u01/app/oracle/product/19.3.0/db1
## 解压 DB 软件至新的 ORACLE_HOMEunzip -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.sh

至此,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/admin

启动监听和数据库:

lsnrctl start
sqlplus / as sysdba<<EOF
startup
exit
EOF

此时再次查询版本以及可选功能:

-- 查看数据库版本SQL>select banner_full from v$version;

BANNER_FULL
----------------------------------------------------------------------
Oracle Database19c Enterprise Edition Release19.0.0.0.0- Production
Version 19.15.0.0.0-- 查看可选功能SELECT*FROM v$optionWHERE 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                                TRUE
Online Index Build                          TRUE
Oracle Data Guard                           TRUE
Flashback TableTRUE
Flashback DatabaseTRUE
Active Data Guard                           TRUE

此时已经转换成功。

执行升级脚本

运行

catalog.sql

catproc.sql

脚本:

sqlplus /as sysdba @?/rdbms/admin/catalog.sql
sqlplus /as sysdba @?/rdbms/admin/catproc.sql

这两个脚本的执行可能不是在所有情况下都是强制性的,但最好运行它们,因为数据字典的复杂性,我们无法确保创建所有 EE 对象。

编译无效对象

最后,重新编译数据库中的所有无效对象:

sqlplus /as sysdba @?/rdbms/admin/utlrp.sql

注意事项

在整个转换过程中,有哪些需要注意的点:

  • 确保你的企业版服务器软件的版本号(和补丁版本)与原始标准版服务器软件的版本相同;
  • Windows 系统,必须在重新安装软件后重新创建数据库服务(通过 ORADIM);

END!

标签: 数据库 oracle dba

本文转载自: https://blog.csdn.net/m0_50546016/article/details/125083573
版权归原作者 Lucifer三思而后行 所有, 如有侵权,请联系我们删除。

“实战篇:Oracle 数据库标准版(SE)转换为企业版(EE)”的评论:

还没有评论