一、升级GI
1.验证操作系统是否已通过 Oracle12.1.0.2 版本认证
2.升级前确认服务正常
[grid@rac1 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg ONLINE ONLINE rac1
ONLINE ONLINE rac2
ora.FRA.dg ONLINE ONLINE rac1
ONLINE ONLINE rac2
ora.LISTENER.lsnr ONLINE ONLINE rac1
ONLINE ONLINE rac2
ora.OCR.dg ONLINE ONLINE rac1
ONLINE ONLINE rac2
ora.asm ONLINE ONLINE rac1 Started
ONLINE ONLINE rac2 Started
ora.gsd OFFLINE OFFLINE rac1
OFFLINE OFFLINE rac2
ora.net1.network ONLINE ONLINE rac1
ONLINE ONLINE rac2
ora.ons ONLINE ONLINE rac1
ONLINE ONLINE rac2
-------------------------------------------------------------------------------
Cluster Resources
-------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE rac1
ora.cvu
1 ONLINE ONLINE rac1
ora.oc4j
1 ONLINE ONLINE rac1
ora.orcl.db
1 ONLINE ONLINE rac1 Open
2 ONLINE ONLINE rac2 Open
ora.rac1.vip
1 ONLINE ONLINE rac1
ora.rac2.vip
1 ONLINE ONLINE rac2
ora.scan1.vip
1 ONLINE ONLINE rac1
需要保证集群资源全部正常运行,才可以进行升级。
3./dev/shm 要挂载到/etc/fstab
tmpfs /dev/shm tmpfs defaults,size=3G 0 0
4.ASM磁盘组兼容性设置
ASM磁盘组的兼容性一般设置为11.2.0.0.0,该值小于最小支持值11.2.0.2.0。
asmcmd setattr -G DATA compatible.asm 11.2.0.2.0
asmcmd setattr -G FRA compatible.asm 11.2.0.2.0
asmcmd setattr -G CRS compatible.asm 11.2.0.2.0
5.创建Oracle 12c所需目录
mkdir -p /u01/app/12.2.0/grid
mkdir -p /u01/app/grid
mkdir -p /u02/app/oracle/product/12.2.0/db_home
chown -R grid:oinstall /u01/
chown -R oracle:oinstall /u02/
chmod -R 775 /u01/ /u02/
6.开始升级GI
su - grid
cd /u01/app/12.1.0/grid/grid
./runInstaller
二、升级DB
1.安装12c软件到新目录
Oracle 12c安装至 /u02/app/oracle/product/12.1.0/db_home目录下,安装步骤略。
2.升级前的准备
2.1.检查无效对象和组件
set pagesize 500
set linesize 200
select substr(comp_name,1,40) comp_name, status, substr(version,1,10) version from dba_registry order by comp_name;
select substr(object_name,1,40) object_name,substr(owner,1,15) owner,object_type from dba_objects where status='INVALID' order by owner,object_type;
select owner,object_type,count(*) from dba_objects where status='INVALID' group by owner,object_type order by owner,object_type ;
如存在无效对象执行:
@?/rdbms/admin/utlrp.sql
2.2.收集数据字典统计信息
EXEC DBMS_STATS.GATHER_DICTIONARY_STATS;
2.3.升级前确认物化视图相关是否刷新完成
select o.name from sys.obj$ o, sys.user$ u, sys.sum$ s WHERE o.type# = 42 and bitand(s.mflags, 8) =8;
2.4 检查时区文件版本
select version from v$timezone_file;
如果源库时区文件版本小于26,无需应用DST补丁到源库home和目标库home。如果源库时区文件版本大于26,需要在升级之前,将源库时区版本应用到目标库中。
2.5.确认没有需要恢复的文件
检查备份状态:
select * from v$backup where status != 'NOT ACTIVE';
检查是否有需要恢复的文件:
select * from v$recover_file;
2.6.检查分布式事务
select * from dba_2pc_pending;
如需处理:
select local_tran_id from dba_2pc_pending;
execute dbms_transaction.purge_lost_db_entry('');
commit;
2.7.清空回收站
purge dba_recyclebin;
2.8.账户相关
登录到管理员账户,执行以下命令:SELECT USERNAME,PASSWORD_VERSIONS FROM DBA_USERS;如果有任何10g版本, 建议参考Oracle文档来修复10g版本, 如果没有这样做, 升级完成后用户账户将被锁定。关于密码大小写敏感度:请确保没有将参数SEC_CASE_SENSITIVE_LOGON设置为FALSE。
3.执行dbua
/u02/app/oracle/product/12.1.0/db_home/bin
./dbua
4.升级完成,修改用户环境变量
~~~~~~~~ grid ~~~~~~~~
(所有节点修改)
vi /home/grid/.bash_profile
export ORACLE_SID=+ASM1
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/12.2.0/grid
export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin:$ORACLE_PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
~~~~~~~~ oracle ~~~~~~~~
(所有点修改)
vi /home/oracle/.bash_profile
export ORACLE_SID=orcl1
export ORACLE_BASE=/u02/app/oracle
export ORACLE_HOME=/u02/app/oracle/product/12.2.0/db_home
export ORACLE_HOSTNAME=rac2
export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32:$ORACLE_HOME/rdbms/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
5.查看升级后的集群状态
[grid@rac1 ~]$ crsctl stat res -t
----------------------------------------------------------------------------
Name Target State Server State details
----------------------------------------------------------------------------
Local Resources
----------------------------------------------------------------------------
ora.CRS.dg ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
ora.DATA.dg ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
ora.FRA.dg ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
ora.LISTENER.lsnr ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
ora.asm ONLINE ONLINE rac1 Started,STABLE
ONLINE ONLINE rac2 Started,STABLE
ora.net1.network ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
ora.ons ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
----------------------------------------------------------------------------
Cluster Resources
----------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE rac1 STABLE
ora.MGMTLSNR
1 ONLINE ONLINE rac1 169.254.37.222,10.0.10.1,STABLE
ora.cvu
1 ONLINE ONLINE rac1 STABLE
ora.mgmtdb
1 ONLINE ONLINE rac1 Open,STABLE
ora.oc4j
1 ONLINE ONLINE rac1 STABLE
ora.orcl.db
1 ONLINE ONLINE rac1 Open,STABLE
2 ONLINE ONLINE rac2 Open,STABLE
ora.rac1.vip
1 ONLINE ONLINE rac1 STABLE
ora.rac2.vip
1 ONLINE ONLINE rac2 STABLE
ora.scan1.vip
1 ONLINE ONLINE rac1 STABLE
至此,升级完成。