千家信息网

oracle 10g RAC怎么升级到oracle 11g RAC

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,oracle 10g RAC怎么升级到oracle 11g RAC,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。oracle 10g R
千家信息网最后更新 2026年11月01日oracle 10g RAC怎么升级到oracle 11g RAC

oracle 10g RAC怎么升级到oracle 11g RAC,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

oracle 10g RAC升级到oracle 11g RAC
环境概要介绍
由于旧的环境硬件不足购支持生产系统的需要,需要切换到新的硬件,并计划升级数据库的版本,从oracle RAC 10.2.0.5版本升级到oracle RAC 11.2.0.4,升级思路如下:
1、搭建好oracle RAC 11g环境,在这里不详细说明如何搭建了。
2、在oracle RAC 11g的节点1服务器上,新开一个用户ora10g,然后安装好oracle 10.2.0.5单机版本数据库,这里需要注意的是ora10g的所属组,在ORACLE_HOME/bin/oracle的权限必须有权限,才可以访问oracle 11g集群的asm组。
3、搭建oracle RAC 10.2.0.5到oracle RAC 11g的节点1的DATAGUARD环境。这里不细说,这里需要注意的是,备库使用的11g的asm存储数据库文件。
4、升级当晚,以failover的方式结束ora10g的备机角色,转为主,运行11g的脚本,关闭数据库。
5、使用11g的数据库软件打开ora10g的数据库文件。
6、使用脚本升级数字字典。
7、注册数据库服务到集群管理。
8、检查配置。


系统环境说明:
192.168.1.121---》原使用oracle 10.2.0.5集群数据库环境。---》oracle用户
192.168.42.12---》新使用oracle 11g 集群环境,这里有ora10g、oracle、grid用户


一、检查DG同步
登陆192.168.1.121,对数据库进行连续切换几个日志。
alter system archive log current;
检查日志是否同步,分别在192.168.1.121、192.168.42.12进行检查同步。
select * from v$log_history;
select * from v$archive_dest;


二、关闭192.168.1.121主库数据库和停止监听
lsnrctl stop;
srvctl stop database -d etest;


4.5 切换备机(192.168.42.12)
使用的是failover的方式。
使用ora10g用户登陆192.168.42.12服务器,


在主库(192.168.1.121)发起,将备机日志功能发送去掉。
alter system set log_archive_dest_3='' scope=both;




备机(192.168.42.12)ora10g用户上执行
sqlplus / as sysdba
alter database recover managed standby database finish;
alter database commit to switchover to primary;
shutdown immediate;
startup;


在这里如果打开数据库有问题,切记要解决后才用11g的脚本打开,否则升级失败。


将11g $ORACLE_HOME/rdbms/admin 下的utlu112i.sql脚本copy到10g的$ORACLE_HOME/rdbms/admin 下,并在10g上执行,这个脚本可以检查升级前的一些信息。如果不满足条件,会列出。
sqlplus / as sysdba
spool upgrade_info.log
@?/rdbms/admin/utlu112i.sql
然后关闭oracle 10g的数据库。
shutdown immediate;
以上这个脚本需要特别小心,如果忘记运行,一旦用11g打开,整个环境就破坏了,不可逆。




登陆oracle(192.168.42.12)用户,确定实例名称都配置正确。
使用oracle 11g软件打开10g的库,升级数据字典。
使用已经定义的initetest1.ora文件,升级完成使用spfile。这里的initetest1.ora参数不具体给出,自己可以拿一个集群的例子修改即可。
sqlplus / as sysdba
startup upgrade;


upgrade模式下运行脚本:catupgrd.sql
执行语句:
这个跑的时间比较长,大概20分钟,最好放到后台去跑,在这里,测试的时候由于temp临时表空间由于空间不足导致升级脚本跑失败。所以投产时,请确认temp空间是否有调整到合适的值,重新跑脚本需要重启数据库,否则session会挂起。
确定新库的临时表空间是否存在
select * from dba_temp_files;
扩大临时表空间:
alter database tempfile '+DATA/etest/temp01.dbf' resize 4g;


sqlplus -S -L "/ as sysdba" <salter database open upgrade;
pool upgrade.log
@?/rdbms/admin/catupgrd.sql
OEF
脚本跑完后,自动关闭了数据库。
例如:
Total Upgrade Time: 00:17:01


PL/SQL procedure successfully completed.
Commit complete.
Database closed.
Database dismounted.
ORACLE instance shut down.


然后启动数据库,显示本次升级过程的摘要。
sqlplus / as sysdba
startup;
@?/rdbms/admin/utlu112s.sql
一般无报错提示


执行catuppst.sql脚本,不需要在upgrade 模式下执行,执行时间2分钟
@?/rdbms/admin/catuppst.sql


然后是编译无效对象,先查看有多少个无效对象:
select count(*) from dba_invalid_objects;
COUNT(*)
----------
5875
select distinct object_name from dba_invalid_objects;
这个脚本运行时间较长,大概2分钟,放到后台运行。
sqlplus -S -L "/ as sysdba" <@?/rdbms/admin/utlrp.sql




最后检查一下无效对象:
select count(*) from dba_invalid_objects;


最后检查组件状态
col comp_name for a40
set wrap off
select comp_name,version, status from dba_registry;


1.1 注册集群数据库


使用spfile启动数据库,修改initetest1.ora配置文件
create spfile='+DATA/etest/spfileetest.ora' from pfile;
这里必须使用spfile,否则以后生产无法动态修改参数。
cat initetest1.ora
SPFILE='+DATA/etest/spfileetest.ora'




修改集群参数
alter system set cluster_database=true scope=spfile;
shutdown immediate
startup






启动数据库
Startup
修改相关的参数:
以下是参数可提前修改好,注意检查
alter system set cluster_database=true scope=spfile sid='etest1';
alter system set cluster_database=true scope=spfile sid='etest2';


alter system set instance_number=1 scope=spfile sid='etest1';
alter system set instance_number=2 scope=spfile sid='etest2';
alter system set thread=1 scope=spfile sid='etest1';
alter system set thread=2 scope=spfile sid='etest2';
alter system set undo_tablespace='UNDOTBS1' scope=spfile sid='etest1';
alter system set undo_tablespace='UNDOTBS2' scope=spfile sid='etest2';




添加实例和数据库到集群管理




登楼集群节点2
crsctl start crs
启动数据库
Sqlplus / as sysdba
Startup


添加集群服务
使用oracle用户添加
srvctl add database -d etest -o '/u01/app/oracle/product/11.2.0/dbhome_1' -p '+DATA/etest/spfileetest.ora' -r primary -y AUTOMATIC


srvctl add instance -d etest -i etest1 -n cpsdb01
srvctl add instance -d etest -i etest2 -n cpsdb02


检查服务
crs_stat -t -v



另外可检查
1、审计参数关闭。
2、dba_profile,检查profile是否配置合理。
3、Process参数配置是否合理
4、密码验证延迟参数event配置。
5、内存sga、pga配置
6、打开flashback database配置
7、归档日志打开

看完上述内容,你们掌握oracle 10g RAC怎么升级到oracle 11g RAC的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

数据 数据库 升级 脚本 检查 集群 参数 环境 配置 用户 空间 服务 运行 文件 日志 对象 时间 版本 节点 问题 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中智农互联网科技 互联网科技工作委员会毛军 科技平台互联网 美国互联网科技巨头监管 没上市的科技互联网公司 互联网科技金融公司 云电互联网科技 百单互联网科技有限公司 互联网金融科技委员会 现代科技和互联网有关系吗 阿里互联网科技公司 互联网科技革命什么开始 崇明区互联网教育科技售后服务 华夏恒生互联网科技013171 互联网在线教育科技创业 黑科技 体验场景 互联网大会 黑云互联网科技有限公司 互联网科技企业商标注意事项 互联网科技和医药行业 互联网科技创新创业项目 上海喔噻互联网科技有限公司 疫情对互联网科技公司影响 猪兼强互联网科技 壕鑫互联网络科技 互联网科技的未来发展 恒生科技互联网指数分析 北京大学互联网科技怎么样 内蒙古九一互联网科技 卡尔迅互联网科技有限公司 新氧科技和美国互联网有关系吗
0