注意:生产环境请根据实际环境做相应的变更。
参考文档:How to Downgrade to a Previous Grid Infrastructure version when using +ASM or Exadata (文档 ID 1299752.1)
Oracle软件和数据库15min一个库
回退到恢复点
在数据库mount状态下执行:
关闭rac:srvctl stop database -d rac11g
在一个节点启动实例到mount状态
srvctl start instance -d rac11g -n rac1 -o mount
SQL> alter system set cluster_database=false scope=spfile;
重启实例使用数据库还原点
[grid@rac1 ~]$ srvctl stop instance -d rac11g -n rac1
[grid@rac1 ~]$ srvctl start instance -d rac11g -n rac1 -o mount
SQL> FLASHBACK database TO RESTORE POINT GRPT_BF_UPGR;
Shutdown immediate
修改oracle用户环境变量ORACLE_HOME为11.2.0.3的目录
启动数据库
[oracle@rac1 ~]$ cat .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_UNQNAME=rac11g
export ORACLE_SID=rac11g1
#export ORACLE_SID=singledb1
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
[oracle@rac1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Mon Apr 25 17:09:49 2016
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 630501376 bytes
Fixed Size 2230992 bytes
Variable Size 297796912 bytes
Database Buffers 322961408 bytes
Redo Buffers 7512064 bytes
Database mounted.
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
SQL> alter database open resetlogs;
Database altered.
SQL> select action,comments from registry$history;
ACTION
------------------------------
COMMENTS
--------------------------------------------------------------------------------
APPLY
Patchset 11.2.0.2.0
APPLY
Patchset 11.2.0.2.0
SQL> alter system set cluster_database=true scope=spfile;
System altered.
SQL> shutdown immediate
在任意节点的oracle系统用户下使用srvctl命令更新oracle用户目录
[oracle@rac1 ~]$ /u01/app/oracle/product/11.2.0.4/db_1/bin/srvctl downgrade database -d rac11g -o /u01/app/oracle/product/11.2.0/db_1/ -t 11.2.0.3
[oracle@rac1 ~]$ opatch lsinventory | grep "Patch"
Oracle Interim Patch Installer version 11.2.0.3.12
OPatch version : 11.2.0.3.12
OPatch succeeded.
$ORACLE_HOME/crs/install/rootcrs.pl -deconfig –force
SHAPE \* MERGEFORMAT
2.1 For Exadata Environments ONLY do the following ->
% cellcli -e
list griddisk
On each Cell Machine you will need to mark each disk used for the
voting/OCR installation i.e. SYSTEMDG diskgroup as INACTIVE
E.g.
As the root user
% cellcli -e alter griddisk SYSTEMDG_CD_02_dmorlcel11,
SYSTEMDG_CD_03_dmorlcel11, SYSTEMDG_CD_04_dmorlcel11,
SYSTEMDG_CD_05_dmorlcel11, SYSTEMDG_CD_06_dmorlcel11,
SYSTEMDG_CD_07_dmorlcel11, SYSTEMDG_CD_08_dmorlcel11,
SYSTEMDG_CD_09_dmorlcel11, SYSTEMDG_CD_10_dmorlcel11, SYSTEMDG_CD_11_dmorlcel11
inactive
brw-r----- 1 root disk 8, 0 May 5 10:00 /dev/sda
brw-r----- 1 root disk 8, 1 May 5 10:01 /dev/sda1
brw-r----- 1 root disk 8, 2 May 5 10:00 /dev/sda2
brw-rw---- 1 grid asmadmin 8, 16 May 5 11:19 /dev/sdb
brw-rw---- 1 grid asmadmin 8, 32 May 5 11:19 /dev/sdc
brw-rw---- 1 grid asmadmin 8, 48 May 5 11:19 /dev/sdd
brw-rw---- 1 grid asmadmin 8, 64 May 5 11:19 /dev/sde
brw-rw---- 1 grid asmadmin 8, 80 May 5 11:19 /dev/sdf
[root@rac2 soft_back]#chown -R root:root /dev/sdb
[root@rac2 soft_back]#chown -R root:root /dev/sdc
[root@rac2 soft_back]#chown -R root:root /dev/sdd
[root@rac2 soft_back]# ls -la /dev/sd*
brw-r----- 1 root disk 8, 0 May 5 10:00 /dev/sda
brw-r----- 1 root disk 8, 1 May 5 10:01 /dev/sda1
brw-r----- 1 root disk 8, 2 May 5 10:00 /dev/sda2
brw-rw---- 1 root root 8, 16 May 5 11:19 /dev/sdb
brw-rw---- 1 root root 8, 32 May 5 11:19 /dev/sdc
brw-rw---- 1 root root 8, 48 May 5 11:19 /dev/sdd
brw-rw---- 1 grid asmadmin 8, 64 May 5 11:19 /dev/sde
brw-rw---- 1 grid asmadmin 8, 80 May 5 11:19 /dev/sdf
如果使用的是asmlib创建的磁盘组,执行以下操作:
/etc/init.d/oracleasm stop
如果使用的是udev创建的磁盘组,执行以下操作:
关闭udev服务
[root@rac1 ~]# ps -ef | grep udev
root 9584 1 0 17:01 ? 00:00:00 /sbin/udevd -d
root 15414 4562 0 17:44 pts/1 00:00:00 grep udev
[root@rac1 ~]# kill -9 9584
修改udev配置文件,将ocrvoting对应的盘注释掉
[root@rac1 ~]# vi /etc/udev/rules.d/50-udev.rules
# There are a number of modifiers that are allowed to be used in some of the
# fields. See the udev man page for a full description of them.
#
# default is OWNER="root" GROUP="root", MODE="0600"
#
KERNEL=="*", OWNER="root" GROUP="root", MODE="0600"
# all block devices
SUBSYSTEM=="block", GROUP="disk", MODE="0640"
KERNEL=="root", GROUP="disk", MODE="0640"
#KERNEL=="sdb", OWNER="grid" GROUP="asmadmin", MODE="0660"
#KERNEL=="sdc", OWNER="grid" GROUP="asmadmin", MODE="0660"
#KERNEL=="sdd", OWNER="grid" GROUP="asmadmin", MODE="0660"
KERNEL=="sde", OWNER="grid" GROUP="asmadmin", MODE="0660"
KERNEL=="sdf", OWNER="grid" GROUP="asmadmin", MODE="0660"
启动udev服务
[root@rac1 ~]# start_udev
1、修改grid环境变量为要回退的版本
[root@rac2 ~]# su - grid
[grid@rac2 ~]$ vi .bash_profile
[grid@rac1 ~]$ cat .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
export ORACLE_BASE=/u01/app/oracle
#export ORACLE_HOME=/u01/11.2.0.4/grid
export ORACLE_HOME=/u01/11.2.0/grid
export ORACLE_SID=+ASM1
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
[grid@rac2 ~]$ . .bash_profile
[grid@rac2 ~]$ echo $ORACLE_HOME
/u01/11.2.0/grid
2、执行修改就目录下修改权限的脚本
[grid@rac2 ~]$ su root
Password:
[root@rac2 grid]# $ORACLE_HOME/root.sh
注:执行该脚本最后会因为找不到ocr盘而失败,这是正常的
Disk Group OCRVOTINGDISK creation failed with the following message:
ORA-15018: diskgroup cannot be created
ORA-15031: disk specification '/dev/sdd' matches no disks
ORA-15025: could not open disk "/dev/sdd"
ORA-15056: additional error message
Configuration of ASM ... failed
see asmca logs at /u01/app/oracle/cfgtoollogs/asmca for details
Did not succssfully configure and start ASM at /u01/11.2.0/grid/crs/install/crsconfig_lib.pm line 6763.
/u01/11.2.0/grid/perl/bin/perl -I/u01/11.2.0/grid/perl/lib -I/u01/11.2.0/grid/crs/install /u01/11.2.0/grid/crs/install/rootcrs.pl execution failed
3、关闭集群
[grid@rac2 ~]$ su root
Password:
[root@rac2 grid]#$ORACLE_HOME/bin/crsctl stop crs –f
4、启动集群为单节点模式
[grid@rac2 ~]$ su root
Password:
[root@rac2 grid]#$ORACLE_HOME/bin/crsctl start crs -excl –nocrs
5、使用grid的执行以下操作,确认asm实例正常开启
[grid@rac1 ~]$ sqlplus / as sysasm
SQL*Plus: Release 11.2.0.3.0 Production on Thu May 5 16:55:59 2016
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Real Application Clusters and Automatic Storage Management options
SQL> select name, state from v$asm_diskgroup;
NAME STATE
------------------------------ -----------
DATADG DISMOUNTED
ARCHDG DISMOUNTED
SHAPE \* MERGEFORMAT
4.1 For Exadata Environments ONLY do the following
->
% cellcli -e list griddisk
On each Cell Machine, as the root user
you will need to mark each disk used for the voting/OCR installation i.e.
SYSTEMDG diskgroup as ACTIVE
E.g.
% cellcli -e alter griddisk SYSTEMDG_CD_02_dmorlcel11,
SYSTEMDG_CD_03_dmorlcel11, SYSTEMDG_CD_04_dmorlcel11,
SYSTEMDG_CD_05_dmorlcel11, SYSTEMDG_CD_06_dmorlcel11,
SYSTEMDG_CD_07_dmorlcel11, SYSTEMDG_CD_08_dmorlcel11,
SYSTEMDG_CD_09_dmorlcel11, SYSTEMDG_CD_10_dmorlcel11,
SYSTEMDG_CD_11_dmorlcel11 active
非EXADATA环境:
[root@rac2 soft_back]# ls -la /dev/sd*
brw-r----- 1 root disk 8, 0 May 5 10:00 /dev/sda
brw-r----- 1 root disk 8, 1 May 5 10:01 /dev/sda1
brw-r----- 1 root disk 8, 2 May 5 10:00 /dev/sda2
brw-rw---- 1 grid asmadmin 8, 16 May 5 11:19 /dev/sdb
brw-rw---- 1 grid asmadmin 8, 32 May 5 11:19 /dev/sdc
brw-rw---- 1 grid asmadmin 8, 48 May 5 11:19 /dev/sdd
brw-rw---- 1 grid asmadmin 8, 64 May 5 11:19 /dev/sde
brw-rw---- 1 grid asmadmin 8, 80 May 5 11:19 /dev/sdf
[root@rac2 soft_back]# chown -R grid:asmadmin /dev/sdb
chown -R grid:asmadmin /dev/sdc
chown -R grid:asmadmin /dev/sdd
chmod -R 660 /dev/sdb
chmod -R 660 /dev/sdc
chmod -R 660 /dev/sdd
[root@rac2 soft_back]# ls -la /dev/sd*
brw-r----- 1 root disk 8, 0 May 5 10:00 /dev/sda
brw-r----- 1 root disk 8, 1 May 5 10:01 /dev/sda1
brw-r----- 1 root disk 8, 2 May 5 10:00 /dev/sda2
brw-rw---- 1 grid asmadmin 8, 16 May 5 11:19 /dev/sdb
brw-rw---- 1 grid asmadmin 8, 32 May 5 11:19 /dev/sdc
brw-rw---- 1 grid asmadmin 8, 48 May 5 11:19 /dev/sdd
brw-rw---- 1 grid asmadmin 8, 64 May 5 11:19 /dev/sde
brw-rw---- 1 grid asmadmin 8, 80 May 5 11:19 /dev/sdf
如果使用的是asmlib创建的磁盘组,执行以下操作:
/etc/init.d/oracleasm start
如果使用的是udev创建的磁盘组,执行以下操作:
关闭udev服务
[root@rac1 ~]# ps -ef | grep udev
root 9584 1 0 17:01 ? 00:00:00 /sbin/udevd -d
root 15414 4562 0 17:44 pts/1 00:00:00 grep udev
[root@rac1 ~]# kill -9 9584
修改udev配置文件,将ocrvoting对应的盘注释去掉
[root@rac1 ~]# vi /etc/udev/rules.d/50-udev.rules
# There are a number of modifiers that are allowed to be used in some of the
# fields. See the udev man page for a full description of them.
#
# default is OWNER="root" GROUP="root", MODE="0600"
#
KERNEL=="*", OWNER="root" GROUP="root", MODE="0600"
# all block devices
SUBSYSTEM=="block", GROUP="disk", MODE="0640"
KERNEL=="root", GROUP="disk", MODE="0640"
KERNEL=="sdb", OWNER="grid" GROUP="asmadmin", MODE="0660"
KERNEL=="sdc", OWNER="grid" GROUP="asmadmin", MODE="0660"
KERNEL=="sdd", OWNER="grid" GROUP="asmadmin", MODE="0660"
KERNEL=="sde", OWNER="grid" GROUP="asmadmin", MODE="0660"
KERNEL=="sdf", OWNER="grid" GROUP="asmadmin", MODE="0660"
启动udev服务
[root@rac1 ~]# start_udev
1、grid用户登陆asm实例,mount所有磁盘组
[root@rac2 software]# su - grid
[grid@rac2 ~]$ sqlplus / as sysasm
SQL*Plus: Release 11.2.0.3.0 Production on Thu May 5 17:04:23 2016
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Real Application Clusters and Automatic Storage Management options
SQL> select name, state from v$asm_diskgroup;
NAME STATE
------------------------------ -----------
DATADG DISMOUNTED
ARCHDG DISMOUNTED
OCRVOTINGDISK DISMOUNTED
SQL> alter diskgroup DATADG mount;
alter diskgroup ARCHDG mount;
alter diskgroup OCRVOTINGDISK mount;
SQL> select name, state from v$asm_diskgroup;
NAME STATE
------------------------------ -----------
DATADG MOUNTED
ARCHDG MOUNTED
OCRVOTINGDISK MOUNTED
2、root用户权限,使用ocr备份,恢复ocr盘
[grid@rac2 ~]$ su root
Password:
[root@rac1 grid]# ocrconfig -showbackup
PROT-24: Auto backups for the Oracle Cluster Registry are not available
rac1 2015/06/17 19:05:24 /u01/11.2.0/grid/cdata/rac-cluster/backup_20150617_190524.ocr
[root@rac1 grid]# ocrconfig -restore /u01/11.2.0/grid/cdata/rac-cluster/backup_20150617_190524.ocr
[root@rac1 grid]# crsctl start resource ora.crsd -init
CRS-2672: Attempting to start 'ora.crsd' on 'rac1'
CRS-2676: Start of 'ora.crsd' on 'rac1' succeeded
[root@rac1 grid]# crsctl replace votedisk +OCRVOTINGDISK
Successful addition of voting disk 5ebb6da8c72d4ffabf425867211c4519.
Successful addition of voting disk 2c2111119f714f6abfdba3d1736a7b95.
Successful addition of voting disk 03c116bece534fbdbf6e4eef6a07257d.
Successfully replaced voting disk group with +OCRVOTINGDISK.
CRS-4266: Voting file(s) successfully replaced
3、重启crs
[grid@rac2 ~]$ su root
Password:
[root@rac1 grid]# crsctl stop crs -f
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'rac1'
CRS-2673: Attempting to stop 'ora.crsd' on 'rac1'
CRS-2677: Stop of 'ora.crsd' on 'rac1' succeeded
CRS-2673: Attempting to stop 'ora.mdnsd' on 'rac1'
CRS-2673: Attempting to stop 'ora.ctssd' on 'rac1'
CRS-2673: Attempting to stop 'ora.asm' on 'rac1'
CRS-2673: Attempting to stop 'ora.drivers.acfs' on 'rac1'
CRS-2677: Stop of 'ora.mdnsd' on 'rac1' succeeded
CRS-2677: Stop of 'ora.asm' on 'rac1' succeeded
CRS-2673: Attempting to stop 'ora.cluster_interconnect.haip' on 'rac1'
CRS-2677: Stop of 'ora.cluster_interconnect.haip' on 'rac1' succeeded
CRS-2677: Stop of 'ora.ctssd' on 'rac1' succeeded
CRS-2673: Attempting to stop 'ora.cssd' on 'rac1'
CRS-2677: Stop of 'ora.drivers.acfs' on 'rac1' succeeded
CRS-2677: Stop of 'ora.cssd' on 'rac1' succeeded
CRS-2673: Attempting to stop 'ora.gipcd' on 'rac1'
CRS-2677: Stop of 'ora.gipcd' on 'rac1' succeeded
CRS-2673: Attempting to stop 'ora.gpnpd' on 'rac1'
CRS-2677: Stop of 'ora.gpnpd' on 'rac1' succeeded
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'rac1' has completed
CRS-4133: Oracle High Availability Services has been stopped.
[root@rac1 grid]# crsctl start crs
CRS-4123: Oracle High Availability Services has been started.
[grid@rac1 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.ARCHDG.dg
ONLINE ONLINE rac1
ora.DATADG.dg
ONLINE ONLINE rac1
ora.LISTENER.lsnr
OFFLINE OFFLINE rac1
ora.OCRVOTINGDISK.dg
ONLINE ONLINE rac1
ora.asm
ONLINE ONLINE rac1 Started
ora.gsd
OFFLINE OFFLINE rac1
ora.net1.network
ONLINE ONLINE rac1
ora.ons
ONLINE ONLINE rac1
ora.registry.acfs
ONLINE ONLINE rac1
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE rac1
ora.cvu
1 ONLINE ONLINE rac1
ora.oc4j
1 ONLINE ONLINE rac1
ora.rac1.vip
1 ONLINE ONLINE rac1
ora.rac2.vip
1 ONLINE INTERMEDIATE rac1 FAILED OVER
ora.scan1.vip
1 ONLINE ONLINE rac1
[grid@rac1 ~]$ opatch lsinventory | grep "Patch"
Invoking OPatch 11.2.0.1.7
Oracle Interim Patch Installer version 11.2.0.1.7
OPatch version : 11.2.0.1.7
OPatch succeeded.
未发现11.2.0.4的补丁,回退成功!
[root@rac1 /]# /u01/11.2.0.4/grid/bin/crsctl query crs softwareversion//检查集群版本
Oracle Clusterware version on node [rac1] is [11.2.0.4.0]
[root@rac1 grid]# /u01/11.2.0.4/grid/bin/crsctl query crs activeversion//检查当前使用集群版本
Oracle Clusterware active version on the cluster is [11.2.0.4.0]
[root@rac2 /]# /u01/11.2.0.4/grid/bin/crsctl query crs softwareversion//检查集群版本
Oracle Clusterware version on node [rac2] is [11.2.0.4.0]
[root@rac2 grid]# /u01/11.2.0.4/grid/bin/crsctl query crs activeversion//检查当前使用集群版本
Oracle Clusterware active version on the cluster is [11.2.0.4.0]
[grid@rac2 ~]$ su root
Password:
[root@rac2 grid]# $ORACLE_HOME/root.sh
[root@rac2 grid]# crsctl stat res -t
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.ARCHDG.dg
ONLINE ONLINE rac1
ONLINE ONLINE rac2
ora.DATADG.dg
ONLINE ONLINE rac1
ONLINE ONLINE rac2
ora.LISTENER.lsnr
OFFLINE OFFLINE rac1
OFFLINE OFFLINE rac2
ora.OCRVOTINGDISK.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
ora.registry.acfs
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.rac1.vip
1 ONLINE ONLINE rac1
ora.rac2.vip
1 ONLINE ONLINE rac2
ora.scan1.vip
1 ONLINE ONLINE rac1
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31345818/viewspace-2121088/ ,如需转载,请注明出处,否则将追究法律责任。