ITPub博客

首页 > 数据库 > Oracle > 卸载RAC实验记录

卸载RAC实验记录

原创 Oracle 作者:huming0927 时间:2011-07-04 16:44:37 0 删除 编辑

卸载RAC实验记录

准备工作:

SQL> show parameter asm

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

asm_diskgroups string ORADISK

asm_diskstring string

asm_power_limit integer 1

SQL> select path from v$asm_disk a, v$asm_diskgroup b where a.group_number=b.group_number and b.name = 'ORADISK';

PATH

--------------------------------------------------------------------------------

/dev/raw/raw8

/dev/raw/raw7

/dev/raw/raw6

[oracle@rac1 ~]$ ocrcheck

Status of Oracle Cluster Registry is as follows :

Version : 2

Total space (kbytes) : 524024

Used space (kbytes) : 4580

Available space (kbytes) : 519444

ID : 2087273591

Device/File Name : /dev/raw/raw1

Device/File integrity check succeeded

Device/File Name : /dev/raw/raw9

Device/File integrity check succeeded

Cluster registry integrity check succeeded

[oracle@rac1 ~]$ crsctl query css votedisk

0. 0 /dev/raw/raw3

1. 0 /dev/raw/raw4

2. 0 /dev/raw/raw10

located 3 votedisk(s).

[oracle@rac1 ~]$ more /etc/hosts

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1 localhost.localdomain localhost

::1 localhost6.localdomain6 localhost6

# My Old Oracle RAC

192.168.9.1 rac1

192.168.9.2 rac2

192.168.27.1 rac1-priv

192.168.27.2 rac2-priv

192.168.9.11 rac1-vip

192.168.9.12 rac2-vip

# My New Oracle RAC

#192.168.19.1 racdb1

#192.168.19.2 racdb2

#192.168.127.1 racdb1-priv

#192.168.127.2 racdb2-priv

#192.168.19.11 racdb1-vip

#192.168.19.12 racdb2-vip

[oracle@rac1 ~]$ cat /etc/sysconfig/network-scripts/ifcfg-eth0

# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]

DEVICE=eth0

BOOTPROTO=none

BROADCAST=192.168.9.255

HWADDR=00:0C:29:DA:1C:48

IPADDR=192.168.9.1

NETMASK=255.255.255.0

NETWORK=192.168.9.0

ONBOOT=yes

GATEWAY=192.168.9.27

TYPE=Ethernet

USERCTL=no

IPV6INIT=no

PEERDNS=yes

[oracle@rac1 ~]$ cat /etc/sysconfig/network-scripts/ifcfg-eth1

# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]

DEVICE=eth1

BOOTPROTO=none

BROADCAST=192.168.27.255

HWADDR=00:0C:29:DA:1C:52

IPADDR=192.168.27.1

NETMASK=255.255.255.0

NETWORK=192.168.27.0

ONBOOT=yes

TYPE=Ethernet

USERCTL=no

IPV6INIT=no

PEERDNS=yes

[oracle@rac2 bin]$ cat /etc/sysconfig/network-scripts/ifcfg-eth0

# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]

DEVICE=eth0

BOOTPROTO=none

ONBOOT=yes

HWADDR=00:0c:29:74:40:28

NETMASK=255.255.255.0

IPADDR=192.168.9.2

GATEWAY=192.168.9.27

TYPE=Ethernet

USERCTL=no

IPV6INIT=no

PEERDNS=yes

[oracle@rac2 bin]$ cat /etc/sysconfig/network-scripts/ifcfg-eth1

# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]

DEVICE=eth1

BOOTPROTO=none

ONBOOT=yes

HWADDR=00:0c:29:74:40:32

TYPE=Ethernet

NETMASK=255.255.255.0

IPADDR=192.168.27.2

USERCTL=no

IPV6INIT=no

PEERDNS=yes

[root@rac1 ~]# olsnodes -p

rac1 rac1-priv

rac2 rac2-priv

[root@rac1 ~]# oifcfg getif

eth0 192.168.9.0 global public

eth1 192.168.27.0 global cluster_interconnect

[root@rac1 ~]# srvctl config nodeapps -n rac1 -a

VIP exists.: /rac1-vip/192.168.9.11/255.255.255.0/eth0

[root@rac1 ~]# srvctl config nodeapps -n rac2 -a

VIP exists.: /rac2-vip/192.168.9.12/255.255.255.0/eth0

删除Service

[root@rac1 ~]# srvctl stop service -d racdb -s srv_taf

[root@rac1 ~]# srvctl remove service -d racdb -s srv_taf

srv_taf PREF: racdb1 racdb2 AVAIL:

Remove service srv_taf from the database racdb? (y/[n]) y

[root@rac1 ~]# su - oracle

[oracle@rac1 ~]$ sqlplus / as sysdba

SQL> begin

dbms_service.DELETE_SERVICE(service_name=>'srv_taf');

end;

/

PL/SQL procedure successfully completed.

SQL> select name, failover_method, failover_type, failover_retries,goal, clb_goal, aq_ha_notifications from dba_services where name='srv_taf';

no rows selected

删除数据库

[root@rac1 ~]# srvctl stop database -d racdb

调用DBCA图形化删除数据库后,CRS_STAT –T查看发现数据库及其实例已经从CRS中删除,但Listener还在CRS的资源中。

删除ASM

先删除diskgroup

在rac2节点上:

[oracle@rac2 ~]$ export ORACLE_SID=+ASM2

[oracle@rac2 ~]$ sqlplus / as sysdba

SQL> alter diskgroup oradisk dismount;

Diskgroup altered.

在rac1节点上:

[oracle@rac1 ~]$ export ORACLE_SID=+ASM1

[oracle@rac1 ~]$ sqlplus / as sysdba

SQL> drop diskgroup oradisk including contents;

Diskgroup dropped.

停止所有ASM实例

[root@rac1 ~]# srvctl stop asm -n rac1

[root@rac1 ~]# srvctl stop asm -n rac2

从CRS资源中删除ASM

[root@rac1 ~]# srvctl remove asm -n rac1

[root@rac1 ~]# srvctl remove asm -n rac2

从/etc/oratab中删除相关ASM信息

vi /etc/oratab

删除Listener资源

调用DBCA的图形化方式删除现有的Listener,完成后CRS_STAT查看发现也已从CRS的资源中删除。

手动删除CRS

1、Stop the Nodeapps on all nodes:

srvctl stop nodeapps –n

2、Prevent CRS from starting when the node boots. To do this issue the following as root:

Linux:

rm /etc/oracle/*

rm -f /etc/init.d/init.cssd

rm -f /etc/init.d/init.crs

rm -f /etc/init.d/init.crsd

rm -f /etc/init.d/init.evmd

rm -f /etc/rc2.d/K96init.crs

rm -f /etc/rc2.d/S96init.crs

rm -f /etc/rc3.d/K96init.crs

rm -f /etc/rc3.d/S96init.crs

rm -f /etc/rc5.d/K96init.crs

rm -f /etc/rc5.d/S96init.crs

rm -Rf /etc/oracle/scls_scr

rm -f /etc/inittab.crs

cp /etc/inittab.orig /etc/inittab

3、If they are not already down, kill off EVM, CRS, and CSS processes or reboot the node:

ps -ef | grep crs

kill

ps -ef | grep evm

kill

ps -ef | grep css

kill

Do not kill any OS processes, for example icssvr_daemon process !

4、If there is no other Oracle software running (like listeners, DB's, etc...), you can remove the files in /var/tmp/.oracle or /tmp/.oracle. Example:

rm -f /var/tmp/.oracle/*

or

rm -f /tmp/.oracle/*

5、Remove the ocr.loc Usually the ocr.loc can be found at /etc/oracle

6、De-install the CRS home in the Oracle Universal Installer

因为前面没有卸载Oracle软件,所以在此处通过runInstaller一并卸载

7、 Remove the CRS install location.

因为前面没有卸载Oracle软件,所以此处一并将相关文件目录删除

在此过程中还是会报一些错,但是先后通过runInstaller卸载Oracle Database软件和Oracle CRS软件后,节点1上Database软件的大部分目录文件被删除(因为runInstaller运行在节点1上),而CRS的全部目录结构被删除,而同时,在节点2上Database和CRS的全部文件目录都还在!!!报错的原因都是与更换两个节点的主机名有关,从而导致ssh失效,而无法在节点2上面进行相关的卸载和删除目录结构操作。于是,我登录到节点2上,同样通过runInstaller来卸载Database和CRS软件,期间报错也和在第一个节点上运行的相似,也是无法完成对节点1的卸载,完成后效果也和在节点1上相同。最后手动把两个节点上/oracle下的所有目录结构删除干净。然后在回头执行上面没有执行的第4步。

8、Clean out the OCR and Voting Files with dd commands.

dd if=/dev/zero of=/dev/raw/raw1 bs=1024000 count=120

……

dd if=/dev/zero of=/dev/raw/raw10 bs=1024000 count=120

If you are removing the RDBMS installation, also clean out any ASM disks if they have already been used.

其他的一些清理工作

The /tmp/CVU* dir should be cleaned also to avoid the cluvfy misreporting.

删除/var/opt目录下的Oracle信息和ORACLE_BASE目录:

# rm -rf /data/oracle

# rm -rf /var/opt/oracle

删除/usr/local/bin目录下的设置:

# rm /usr/local/bin/dbhome

# rm /usr/local/bin/oraenv

# rm /usr/local/bin/coraenv

利用操作系统命令检查一下,系统中是否还残留一些Oracle的设置:

# find / -name oracle

整个Oracle数据库和RAC环境清除工作至此结束,可以重新进行Clusterware和RAC的安装了。这里没有对几个raw设备进行,因为在安装Clusterware的时候,会自动对他们进行格式化。

It is good practice to reboot the node before starting the next install.

卸载Oracle Database软件

利用runInstaller进行图形化的删除。

runInstaller在$ORACLE_HOME/oui/bin中;

先只卸载Database软件,不卸载CRS软件;

runInstaller运行到最后报了一堆错,都是跟前面修改主机名有关,勉强完成后,查看系统中的文件目录,发现都还存在,万般无奈下以root用户,执行命令rm –rf /oracle强行在两个节点将所有目录结构删除,但不知行不行。

肯定是疲劳冲昏了头脑,直接rm的后果就是把包括crs在内的所有东西都已删除,当然会出不可逆转的错误,所以以后切忌!!!

[@more@]

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/14338195/viewspace-1051961/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 重建CRS实验记录
请登录后发表评论 登录
全部评论
  • 博文量
    24
  • 访问量
    28966