您好,登录后才能下订单哦!
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" <<OEF
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" <<OEF
@?/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的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。