Oracle 11.2.0.1 ADG升级至11.2.0.4

交互设计

11.2.0.1 ADG升级至11.2.0.4实操 此次升级总体流程:先升级DG数据库软件版本,再升级主库RAC双节点,最后DG从库实时同步高版本数据。 源环境变量 rac01oracleORACLE_SID=qpos1; export ORACLE_SIDORACLE_UNQNAME=qpos; export ORACLE_UNQNAMEORACLE_BASE=/u01/app/oracle; export ORACLE_BASEORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOMEgridORACLE_SID=+ASM1; export ORACLE_SIDJAVA_HOME=/usr/local/java;export JAVA_HOMEORACLE_BASE=/u01/app/grid; export ORACLE_BASEORACLE_HOME=/u01/app/11.2.0/grid; export ORACLE_HOMErac02oracleORACLE_SID=qpos2; export ORACLE_SIDORACLE_UNQNAME=qpos; export ORACLE_UNQNAMEORACLE_BASE=/u01/app/oracle; export ORACLE_BASEORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOMEgridORACLE_SID=+ASM2; export ORACLE_SIDJAVA_HOME=/usr/local/java;export JAVA_HOMEORACLE_BASE=/u01/app/grid; export ORACLE_BASEORACLE_HOME=/u01/app/11.2.0/grid; export ORACLE_HOME1.主库暂停归档向备库传输 alter system set log_archive_dest_state_4=defer scope=both sid='*';2.备库在新目录下安装新版本软件 2.1 关闭数据库,监听 shutdown immediatelsnrctl stop2.2 备库在新目录下安装Oracle 11.2.0.4 软件。原有参数变量只修改ORACLE_HOME目录即可 ORACLE_BASE=/u01/app/oracle; export ORACLE_BASEORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1;创建新的$ORACLE_HOME目录 $ mkdir -p /u01/app/oracle/product/11.2.0.4/dbhome_1--编辑oracle用户环境变量,修改ORACLE_HOME变量值为新的目录 vi ~/.bash_profileexport ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/dbhome_1默认安装11.2.0.4新版本数据库软件并修改相应文件参数 oracle.install.option=INSTALL_DB_SWONLYUNIX_GROUP_NAME=oinstallINVENTORY_LOCATION=/u01/app/oraInventorySELECTED_LANGUAGES=en,zh_CNORACLE_HOME=/u01/app/oracle/product/11.2.0.4/dbhome_1ORACLE_BASE=/u01/app/oracleoracle.install.db.InstallEdition=EEoracle.install.db.EEOptionsSelection=trueoracle.install.db.DBA_GROUP=dbaoracle.install.db.isRACOneInstall=falseoracle.install.db.config.starterdb.characterSet=AL32UTF8oracle.install.db.config.starterdb.memoryOption=trueoracle.install.db.config.starterdb.installExampleSchemas=falseoracle.install.db.config.starterdb.enableSecuritySettings=trueDECLINE_SECURITY_UPDATES=true[oracle@qposs1 database]$ ./runInstaller -silent -noconfig -responseFile /database/response/db_install.rsp -ignoreSysPrereqs3.备库启动到mount状态 环境变量修改为新目录 ORACLE_HOME 11.2.0.4 新目录注意copy之前的orapw文件,spfile和network file(tnsnames.ora listener.ora)等并修改里面的oracle home路径 [oracle@oracle2 admin]$ cp /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/*.ora /u01/app/oracle/product/11.2.0.4/dbhome_1/network/admin/oracle@qposs1 dbs]$ cp /u01/app/oracle/product/11.2.0/dbhome_1/dbs/initqposs1.ora /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/[oracle@qposs1 dbs]$ cp /u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapwqposs1 /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/4.备库以新版本启动数据库到mount状态,启动监听。 主库RAC升级: 5.查看RAC各组件版本信息 SQL> col comp_name for a35;SQL> select comp_name,version,status from dba_registry;COMP_NAME VERSION STATUS----------------------------------- ------------------------------ --------------------------------------------OWB 11.2.0.1.0 VALIDOracle Application Express 3.2.1.00.10 VALIDOracle Enterprise Manager 11.2.0.1.0 VALIDOLAP Catalog 11.2.0.1.0 VALIDSpatial 11.2.0.1.0 VALIDOracle Multimedia 11.2.0.1.0 VALIDOracle XML Database 11.2.0.1.0 VALIDOracle Text 11.2.0.1.0 VALIDOracle Expression Filter 11.2.0.1.0 VALIDOracle Rules Manager 11.2.0.1.0 VALIDOracle Workspace Manager 11.2.0.1.0 VALIDOracle Database Catalog Views 11.2.0.1.0 VALIDOracle Database Packages and Types 11.2.0.1.0 VALIDJServer JAVA Virtual Machine 11.2.0.1.0 VALIDOracle XDK 11.2.0.1.0 VALIDOracle Database Java Packages 11.2.0.1.0 VALIDOLAP Analytic Workspace 11.2.0.1.0 VALIDOracle OLAP API 11.2.0.1.0 VALIDOracle Real Application Clusters 11.2.0.1.0 LOADED19 rows selected.6.查看集群状态信息 [root@rac01 ~]# /u01/app/11.2.0/grid/bin/crsctl stat res -t--------------------------------------------------------------------------------NAME TARGET STATE SERVER STATE_DETAILS--------------------------------------------------------------------------------Local Resources--------------------------------------------------------------------------------ora.CRS.dgONLINE ONLINE rac01ONLINE ONLINE rac02ora.DATA.dgONLINE ONLINE rac01ONLINE ONLINE rac02ora.LISTENER.lsnrONLINE ONLINE rac01ONLINE ONLINE rac02ora.RECOVERY.dgONLINE ONLINE rac01ONLINE ONLINE rac02ora.asmONLINE ONLINE rac01 StartedONLINE ONLINE rac02 Startedora.eonsONLINE ONLINE rac01ONLINE ONLINE rac02ora.gsdOFFLINE OFFLINE rac01OFFLINE OFFLINE rac02ora.net1.networkONLINE ONLINE rac01ONLINE ONLINE rac02ora.onsONLINE ONLINE rac01ONLINE ONLINE rac02--------------------------------------------------------------------------------Cluster Resources--------------------------------------------------------------------------------ora.LISTENER_SCAN1.lsnr1 ONLINE ONLINE rac01ora.oc4j1 OFFLINE OFFLINEora.qpos.db1 ONLINE ONLINE rac01 Open2 ONLINE ONLINE rac02 Openora.rac01.vip1 ONLINE ONLINE rac01ora.rac02.vip1 ONLINE ONLINE rac02ora.scan1.vip1 ONLINE ONLINE rac017.查看各个节点数据库状态 SQL> select instance_name,status from gv$instance;INSTANCE_NAME STATUS---------------- ------------qpos1 OPENqpos2 OPEN8.查看失效对象并解决 SQL> Select * from dba_objects where status='INVALID';9.删除清空垃圾回收站 SQL> select count(*) from DBA_RECYCLEBIN;SQL> purge dba_recyclebin;10.创建oracle和grid的home目录,两个节点都创建并授权 mkdir -p /u01/app/oracle/product/11.2.0.4/dbhome_1mkdir -p /u01/app/11.2.0.4/gridchown -R grid:oinstall 11.2.0.411.升级前进行CUV检查并解决: 用grid用户到新grid安装包里面使用runcluvfy.sh检测环境是否符合要求 [root@rac01 ~]# su - gridunset ORACLE_HOME –取消环境变量unset ORACLE_BASEunset ORACLE_SID[grid@rac01 ~]$ cd /script/grid/ --新版本grid安装包路径./runcluvfy.sh stage -pre crsinst -upgrade -n rac01,rac02 -rolling -src_crshome /u01/app/11.2.0/grid -dest_crshome /u01/app/11.2.0.4/grid -dest_version 11.2.0.4.0 -fixup -fixupdir /tmp -verbose12.停止OEM [oracle@rac02 ~]$ emctl stop dbconsole13.由于未打补丁,两节点都关闭crs升级 [root@rac01 ~]# /u01/app/11.2.0/grid/bin/crsctl stop crs14.登陆RAC任一个节点安装GI高版本软件 [grid@rac01 ~]$ unset ORACLE_HOME[grid@rac01 ~]$ unset ORACLE_BASE[grid@rac01 ~]$ unset ORACLE_SIDunset ORACLE_HOMEunset ORACLE_BASEunset ORACLE_SID[grid@rac01 grid]$ ./runInstaller 软件路径更改为新的GRID HOME 两节点分别执行rootupgrade脚本,脚本执行略长 15.执行完成后查看GI是否升级成功 [root@rac01 ~]# /u01/app/11.2.0.4/grid/bin/crsctl stat res -t--------------------------------------------------------------------------------NAME TARGET STATE SERVER STATE_DETAILS--------------------------------------------------------------------------------Local Resources--------------------------------------------------------------------------------ora.CRS.dgONLINE ONLINE rac01ONLINE ONLINE rac02ora.DATA.dgONLINE ONLINE rac01ONLINE ONLINE rac02ora.LISTENER.lsnrONLINE ONLINE rac01ONLINE ONLINE rac02ora.RECOVERY.dgONLINE ONLINE rac01ONLINE ONLINE rac02ora.asmONLINE ONLINE rac01 StartedONLINE ONLINE rac02 Startedora.gsdOFFLINE OFFLINE rac01OFFLINE OFFLINE rac02ora.net1.networkONLINE ONLINE rac01ONLINE ONLINE rac02ora.onsONLINE ONLINE rac01ONLINE ONLINE rac02--------------------------------------------------------------------------------Cluster Resources--------------------------------------------------------------------------------ora.LISTENER_SCAN1.lsnr1 ONLINE ONLINE rac01ora.cvu1 ONLINE ONLINE rac02ora.oc4j1 ONLINE ONLINE rac02ora.qpos.db1 ONLINE ONLINE rac01 Open2 ONLINE ONLINE rac02 Openora.rac01.vip1 ONLINE ONLINE rac01ora.rac02.vip1 ONLINE ONLINE rac02ora.scan1.vip1 ONLINE ONLINE rac01[root@rac01 ~]# /u01/app/11.2.0.4/grid/bin/crsctl query crs activeversionOracle Clusterware active version on the cluster is [11.2.0.4.0][root@rac01 ~]# /u01/app/11.2.0.4/grid/bin/crsctl query crs releaseversionOracle High Availability Services release version on the local node is [11.2.0.4.0][root@rac01 ~]# /u01/app/11.2.0.4/grid/bin/crsctl query crs softwareversionOracle Clusterware version on node [rac01] is [11.2.0.4.0][grid@rac01 ~]$ sqlplus / as sysasmSQL> select version from v$instance;VERSION---------------------------------------------------11.2.0.4.0GI升级成功后,grid与oracle数据库应该都是OPEN状态,这时登录DB数据库进行安装前的环境检查 创建新ORACLE HOME mkdir -p /u01/app/oracle/product/11.2.0.4/dbhome_116.登陆老版本数据库库,用新HOME路径的检查环境 sqlplus / as sysdbaSQL> SPOOL upgrade_info.logSQL> @/u01/app/oracle/product/11.2.0.4/dbhome_1/rdbms/admin/utlu112i.sql 是用新路径的文件检查环境并解决SQL> SPOOL OFFMiscellaneous Warnings**********************************************************************WARNING: --> The "cluster_database" parameter is currently "TRUE".... and must be set to "FALSE" prior to running a manual upgrade.WARNING: --> Database is using a timezone file older than version 14..... After the release migration, it is recommed that DBMS_DST package.... be used to upgrade the 11.2.0.1.0 database timezone version.... to the latest version which comes with the new release.WARNING: --> Sync standby database prior to upgrade.WARNING: --> Your recycle bin is turned on and currently contains no objects..... Because it is REQUIRED that the recycle bin be empty prior to upgrading.... and your recycle bin is turned on, you may need to execute the command:PURGE DBA_RECYCLEBIN.... prior to executing your upgrade to confirm the recycle bin is empty.WARNING: --> Database contains schemas with objects depent on DBMS_LDAP package..... Refer to the 11g Upgrade Guide for instructions to configure Network ACLs..... USER APEX_030200 has depent objects.根据提示修正不符合升级条件的地方。--purge DBA_RECYCLEBIN;select count(*) from DBA_RECYCLEBIN;purge DBA_RECYCLEBIN;--EXECUTE dbms_stats.gather_dictionary_stats;EXECUTE dbms_stats.gather_dictionary_stats;升级前确认无效对象数量并提前解决select count(*) from dba_objects where status<>'VALID';17.全部解决完后启动升级可执行文件 unset ORACLE_HOMEunset ORACLE_BASEunset ORACLE_SID[oracle@rac01 database]$ ./runInstaller 18.选择升级一个已存在的数据库 19.选择集群CLUSTER数据库 20.选择新创建的ORACLE HOME为软件安装路径 21.两节点执行root脚本后会自动跳转到DBUA升级模式 [root@rac02 ~]# /u01/app/oracle/product/11.2.0.4/dbhome_1/root.sh如果不能自动跳转,登陆老版本库,用新home路径脚本检查环境并解决报错 sqlplus / as sysdbaSQL> @/u01/app/oracle/product/11.2.0.4/dbhome_1/rdbms/admin/utlu112i.sql 是用新路径的文件检查环境Miscellaneous Warnings**********************************************************************WARNING: --> The "cluster_database" parameter is currently "TRUE".... and must be set to "FALSE" prior to running a manual upgrade.WARNING: --> Database is using a timezone file older than version 14..... After the release migration, it is recommed that DBMS_DST package.... be used to upgrade the 11.2.0.1.0 database timezone version.... to the latest version which comes with the new release.WARNING: --> Sync standby database prior to upgrade.WARNING: --> Your recycle bin is turned on and currently contains no objects..... Because it is REQUIRED that the recycle bin be empty prior to upgrading.... and your recycle bin is turned on, you may need to execute the command:PURGE DBA_RECYCLEBIN.... prior to executing your upgrade to confirm the recycle bin is empty.WARNING: --> Database contains schemas with objects depent on DBMS_LDAP package..... Refer to the 11g Upgrade Guide for instructions to configure Network ACLs..... USER APEX_030200 has depent objects.修复后,用新路径下的dbua启动 [oracle@rac01 ~]$ /u01/app/oracle/product/11.2.0.4/dbhome_1/bin/dbua 设置统一密码 22.安装完成后检查版本是否升级成功 [grid@rac01 ~]$ echo $ORACLE_HOME/u01/app/11.2.0.4/grid[oracle@rac01 ~]$ echo $ORACLE_HOME/u01/app/oracle/product/11.2.0.4/dbhome_1SQL> col comp_name for a35;SQL> select comp_name,version,status from dba_registry;COMP_NAME VERSION STATUS----------------------------------- ------------------------------ --------------------------------------------OWB 11.2.0.1.0 VALIDOracle Application Express 3.2.1.00.10 VALIDOracle Enterprise Manager 11.2.0.4.0 VALIDOLAP Catalog 11.2.0.4.0 VALIDSpatial 11.2.0.4.0 VALIDOracle Multimedia 11.2.0.4.0 VALIDOracle XML Database 11.2.0.4.0 VALIDOracle Text 11.2.0.4.0 VALIDOracle Expression Filter 11.2.0.4.0 VALIDOracle Rules Manager 11.2.0.4.0 VALIDOracle Workspace Manager 11.2.0.4.0 VALIDOracle Database Catalog Views 11.2.0.4.0 VALIDOracle Database Packages and Types 11.2.0.4.0 VALIDJServer JAVA Virtual Machine 11.2.0.4.0 VALIDOracle XDK 11.2.0.4.0 VALIDOracle Database Java Packages 11.2.0.4.0 VALIDOLAP Analytic Workspace 11.2.0.4.0 VALIDOracle OLAP API 11.2.0.4.0 VALIDOracle Real Application Clusters 11.2.0.4.0 VALID19 rows selected.SQL> select instance_name,status from gv$instance;INSTANCE_NAME STATUS---------------- ------------qpos1 OPENqpos2 OPEN23.主库重新开启DG同步路径,从库开始追加同步日志 SQL> alter system set log_archive_dest_state_4=enable scope=both sid='*';备库mount下追日志SQL> alter database recover managed standby database disconnect from session;注意:如果主库更改了RAC节点的ssh互信,那么DG也需要将互信加入,并将主库的orapw重新同步DG cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keyscat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys24.主库RAC将spfile与监听文件mv到新ORACLE HOME下 [oracle@rac01 admin]$ mv tnsnames.ora /u01/app/oracle/product/11.2.0.4/dbhome_1/network/admin从库startup mountalter database recover managed standby database disconnect from session;--等待恢复完成...--取消日志恢复SQL> alter database recover managed standby database cancel;Database altered.SQL> alter database open;Database altered.SQL> alter database recover managed standby database using current logfile disconnect from session;25.最后检查确认主备库的升级是否成功 SQL> select ACTION_TIME,ACTION,NAMESPACE,VERSION,ID from registry$history;ACTION_TIME ACTION NAMESPACE VERSION ID--------------------------------------------------------------------------- ------------------------------ ------------------------------ ------------------------------ ----------21-AUG-20 08.21.45.351036 PM VIEW INVALIDATE 828960121-AUG-20 08.21.45.417870 PM UPGRADE SERVER 11.2.0.4.021-AUG-20 08.22.38.720485 PM APPLY SERVER 11.2.0.4 0延伸:如果是单节点主库,也可以关机状态下进行手工升级,将老路径下的spfile,tnsname,listener,orapw,都拷贝到新路径下,同时更新文件中的路径地址。以新环境路径下upgrade模式打开数据库 SQL> startup UPGRADESQL> @?/rdbms/admin/catupgrd.sqlSQL> startupSQL> @?/rdbms/admin/utlu112s.sqlSQL> select count(*) from dba_objects where status<>'VALID';460SQL> @?/rdbms/admin/utlrp.sql0SQL> shutdown immediateSQL> startup

标签: 交互设计