一步一步在Linux上升级10gR2 RAC到11gR2 RAC(3)

安装grid软件

解压grid安装介质:

[root@node1 ~]# unzip p13390677_112040_Linux-x86-64_3of7.zip 

解压出第3个压缩包,解压之后,将grid文件mv/home/oracle家目录下:

[root@node1 ~]# ll

total 3667892

drwxr-xr-x 4 root root       4096 Dec 24 17:34 10gbackup

-rw-r–r– 1 root root       1016 Dec 19 13:50 7oracle_.bash_profile.sh

-rw——- 1 root root       1396 Dec 19 10:50 anaconda-ks.cfg

drwxr-xr-x 2 root root       4096 Dec 19 16:29 Desktop

-rw-r–r– 1 root root      52733 Dec 19 10:50 install.log

-rw-r–r– 1 root root       4077 Dec 19 10:50 install.log.syslog

drwxr-xr-x 7 root root       4096 Dec 24 15:51 media

-rw-r–r– 1 root root 1395582860 Dec 24 20:04 p13390677_112040_Linux-x86-64_1of7.zip

-rw-r–r– 1 root root 1151304589 Dec 24 20:05 p13390677_112040_Linux-x86-64_2of7.zip

-rw-r–r– 1 root root 1205251894 Dec 24 20:06 p13390677_112040_Linux-x86-64_3of7.zip

[root@node1 ~]# unzip p13390677_112040_Linux-x86-64_3of7.zip 

….

….

  inflating: grid/rpm/cvuqdisk-1.0.9-1.rpm  

  inflating: grid/runcluvfy.sh       

  inflating: grid/welcome.html       

[root@node1 ~]# ll

total 3667900

drwxr-xr-x 4 root root       4096 Dec 24 17:34 10gbackup

-rw-r–r– 1 root root       1016 Dec 19 13:50 7oracle_.bash_profile.sh

-rw——- 1 root root       1396 Dec 19 10:50 anaconda-ks.cfg

drwxr-xr-x 2 root root       4096 Dec 19 16:29 Desktop

drwxr-xr-x 7 root root       4096 Aug 27 12:33 grid

-rw-r–r– 1 root root      52733 Dec 19 10:50 install.log

-rw-r–r– 1 root root       4077 Dec 19 10:50 install.log.syslog

drwxr-xr-x 7 root root       4096 Dec 24 15:51 media

-rw-r–r– 1 root root 1395582860 Dec 24 20:04 p13390677_112040_Linux-x86-64_1of7.zip

-rw-r–r– 1 root root 1151304589 Dec 24 20:05 p13390677_112040_Linux-x86-64_2of7.zip

-rw-r–r– 1 root root 1205251894 Dec 24 20:06 p13390677_112040_Linux-x86-64_3of7.zip

[root@node1 ~]# 

Root将解压出来的grid目录移动到oracle用户的家目录:

[root@node1 ~]# mv grid/ /home/oracle/

oracle 用户登录图形界面:

 

进入图形安装界面:

 

Next

 

Next

 

Next

 

NextSCAN name输入之前在/etc/hosts文件中配置好的scan-cluster.oracleonlinux.cn

 

Next

添加节点2信息:node2.oracleonlinux.cnnode2-vip.oracleonlinux.cn

 

Next

 

Next


Next

 

Next

 

Next

 

Next

 

Next

 

Next

 

Next:指定在第3步骤中创建的ORACLE_BASEORACELE_HOME:


Next

 

 

单击Fix& CheckAgain:

按照提示:

节点1

[root@node1 ~]# /tmp/CVU_11.2.0.4.0_oracle/runfixup.sh

Response file being used is :/tmp/CVU_11.2.0.4.0_oracle/fixup.response

Enable file being used is :/tmp/CVU_11.2.0.4.0_oracle/fixup.enable

Log file location: /tmp/CVU_11.2.0.4.0_oracle/orarun.log

Setting Kernel Parameters…

fs.file-max = 101365

fs.file-max = 6815744

The upper limit of ip_local_port range in response file is not greater than value in /etc/sysctl.conf, hence not changing it.

The upper limit of ip_local_port range in response file is not greater than value for current session, hence not changing it.

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_max=1048576

net.core.rmem_max = 4194304

net.core.wmem_max=262144

net.core.wmem_max = 1048576

fs.aio-max-nr = 1048576

Installing Package /tmp/CVU_11.2.0.4.0_oracle//cvuqdisk-1.0.9-1.rpm

Preparing…                ########################################### [100%]

   1:cvuqdisk               ########################################### [100%]

[root@node1 ~]# 

节点2

[root@node2 ~]# /tmp/CVU_11.2.0.4.0_oracle/runfixup.sh

Response file being used is :/tmp/CVU_11.2.0.4.0_oracle/fixup.response

Enable file being used is :/tmp/CVU_11.2.0.4.0_oracle/fixup.enable

Log file location: /tmp/CVU_11.2.0.4.0_oracle/orarun.log

Setting Kernel Parameters…

fs.file-max = 101365

fs.file-max = 6815744

The upper limit of ip_local_port range in response file is not greater than value in /etc/sysctl.conf, hence not changing it.

The upper limit of ip_local_port range in response file is not greater than value for current session, hence not changing it.

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_max=1048576

net.core.rmem_max = 4194304

net.core.wmem_max=262144

net.core.wmem_max = 1048576

fs.aio-max-nr = 1048576

Installing Package /tmp/CVU_11.2.0.4.0_oracle//cvuqdisk-1.0.9-1.rpm

Preparing…                ########################################### [100%]

   1:cvuqdisk               ########################################### [100%]

[root@node2 ~]# 

执行之后,提示缺少软件包:

 

安装缺失的软件包:

节点1

[root@node1 ~]# ll

total 280

drwxr-xr-x 4 root root   4096 Dec 26 21:16 10gbackup

-rw——- 1 root root   1434 Dec 26 15:32 anaconda-ks.cfg

-rw-r–r– 1 root root  54649 Dec 26 15:32 install.log

-rw-r–r– 1 root root   4077 Dec 26 15:32 install.log.syslog

-rw-r–r– 1 root root  11675 Dec 26 21:47 libaio-devel-0.3.106-5.x86_64.rpm

drwxr-xr-x 7 root root   4096 Dec 26 21:28 media

-rw-r–r– 1 root root 178400 Dec 26 21:47 sysstat-7.0.2-3.el5.x86_64.rpm

[root@node1 ~]# rpm -ivh libaio-devel-0.3.106-5.x86_64.rpm 

warning: libaio-devel-0.3.106-5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159

Preparing…                ########################################### [100%]

   1:libaio-devel           ########################################### [100%]

[root@node1 ~]# rpm -ivh sysstat-7.0.2-3.el5.x86_64.rpm 

warning: sysstat-7.0.2-3.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159

Preparing…                ########################################### [100%]

   1:sysstat                ########################################### [100%]

[root@node1 ~]# 

节点2

[root@node2 ~]# ll

total 280

drwxr-xr-x 4 root root   4096 Dec 26 21:17 10gbackup

-rw——- 1 root root   1434 Dec 26 15:40 anaconda-ks.cfg

-rw-r–r– 1 root root  54649 Dec 26 15:40 install.log

-rw-r–r– 1 root root   4077 Dec 26 15:40 install.log.syslog

-rw-r–r– 1 root root  11675 Dec 26 21:48 libaio-devel-0.3.106-5.x86_64.rpm

drwxr-xr-x 7 root root   4096 Dec 26 21:09 media

-rw-r–r– 1 root root 178400 Dec 26 21:48 sysstat-7.0.2-3.el5.x86_64.rpm

[root@node2 ~]# rpm -ivh libaio-devel-0.3.106-5.x86_64.rpm 

warning: libaio-devel-0.3.106-5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159

Preparing…                ########################################### [100%]

   1:libaio-devel           ########################################### [100%]

[root@node2 ~]# rpm -ivh sysstat-7.0.2-3.el5.x86_64.rpm 

warning: sysstat-7.0.2-3.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159

Preparing…                ########################################### [100%]

   1:sysstat                ########################################### [100%]

[root@node2 ~]# 

Next

 

Next

 

Next

 

执行:

节点1

[root@node1 ~]# /u01/app/11.2.0/grid/root.sh 

Performing root user operation for Oracle 11g 

 

The following environment variables are set as:

    ORACLE_OWNER= oracle

    ORACLE_HOME=  /u01/app/11.2.0/grid

 

Enter the full pathname of the local bin directory: [/usr/local/bin]: 

The file “dbhome” already exists in /usr/local/bin.  Overwrite it? (y/n) 

[n]: 

The file “oraenv” already exists in /usr/local/bin.  Overwrite it? (y/n) 

[n]: 

The file “coraenv” already exists in /usr/local/bin.  Overwrite it? (y/n) 

[n]: 

 

Entries will be added to the /etc/oratab file as needed by

Database Configuration Assistant when a database is created

Finished running generic part of root script.

Now product-specific root actions will be performed.

Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params

Creating trace directory

Installing Trace File Analyzer

OLR initialization – successful

  root wallet

  root wallet cert

  root cert export

  peer wallet

  profile reader wallet

  pa wallet

  peer wallet keys

  pa wallet keys

  peer cert request

  pa cert request

  peer cert

  pa cert

  peer root cert TP

  profile reader root cert TP

  pa root cert TP

  peer pa cert TP

  pa peer cert TP

  profile reader pa cert TP

  profile reader peer cert TP

  peer user cert

  pa user cert

Adding Clusterware entries to inittab

CRS-2672: Attempting to start ‘ora.mdnsd’ on ‘node1’

CRS-2676: Start of ‘ora.mdnsd’ on ‘node1’ succeeded

CRS-2672: Attempting to start ‘ora.gpnpd’ on ‘node1’

CRS-2676: Start of ‘ora.gpnpd’ on ‘node1’ succeeded

CRS-2672: Attempting to start ‘ora.cssdmonitor’ on ‘node1’

CRS-2672: Attempting to start ‘ora.gipcd’ on ‘node1’

CRS-2676: Start of ‘ora.gipcd’ on ‘node1’ succeeded

CRS-2676: Start of ‘ora.cssdmonitor’ on ‘node1’ succeeded

CRS-2672: Attempting to start ‘ora.cssd’ on ‘node1’

CRS-2672: Attempting to start ‘ora.diskmon’ on ‘node1’

CRS-2676: Start of ‘ora.diskmon’ on ‘node1’ succeeded

CRS-2676: Start of ‘ora.cssd’ on ‘node1’ succeeded

 

ASM created and started successfully.

 

Disk Group griddg created successfully.

 

clscfg: -install mode specified

Successfully accumulated necessary OCR keys.

Creating OCR keys for user ‘root’, privgrp ‘root’..

Operation successful.

CRS-4256: Updating the profile

Successful addition of voting disk 1ddd6122f4024f75bf5bba77ba8af58b.

Successfully replaced voting disk group with +griddg.

CRS-4256: Updating the profile

CRS-4266: Voting file(s) successfully replaced

##  STATE    File Universal Id                File Name Disk group

—  —–    —————–                ——— ———

 1. ONLINE   1ddd6122f4024f75bf5bba77ba8af58b (ORCL:ASMDISK3) [GRIDDG]

Located 1 voting disk(s).

CRS-2672: Attempting to start ‘ora.asm’ on ‘node1’

CRS-2676: Start of ‘ora.asm’ on ‘node1’ succeeded

CRS-2672: Attempting to start ‘ora.GRIDDG.dg’ on ‘node1’

CRS-2676: Start of ‘ora.GRIDDG.dg’ on ‘node1’ succeeded

Configure Oracle Grid Infrastructure for a Cluster … succeeded

[root@node1 ~]# 

节点2

[root@node2 ~]# /u01/app/11.2.0/grid/root.sh 

Performing root user operation for Oracle 11g 

 

The following environment variables are set as:

    ORACLE_OWNER= oracle

    ORACLE_HOME=  /u01/app/11.2.0/grid

 

Enter the full pathname of the local bin directory: [/usr/local/bin]: 

The file “dbhome” already exists in /usr/local/bin.  Overwrite it? (y/n) 

[n]: 

The file “oraenv” already exists in /usr/local/bin.  Overwrite it? (y/n) 

[n]: 

The file “coraenv” already exists in /usr/local/bin.  Overwrite it? (y/n) 

[n]: 

 

Entries will be added to the /etc/oratab file as needed by

Database Configuration Assistant when a database is created

Finished running generic part of root script.

Now product-specific root actions will be performed.

Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params

Creating trace directory

Installing Trace File Analyzer

OLR initialization – successful

Adding Clusterware entries to inittab

CRS-4402: The CSS daemon was started in exclusive mode but found an active CSS daemon on node node1, number 1, and is terminating

An active cluster was found during exclusive startup, restarting to join the cluster

Configure Oracle Grid Infrastructure for a Cluster … succeeded

[root@node2 ~]# 

 

Next

 

执行grid软件$ORACLE_HOME/bin下的crs_stat来查看集群信息:

node1-> /u01/app/11.2.0/grid/bin/crs_stat -t

Name           Type           Target    State     Host        

————————————————————

ora.GRIDDG.dg  ora….up.type ONLINE    ONLINE    node1       

ora….ER.lsnr ora….er.type ONLINE    ONLINE    node1       

ora….N1.lsnr ora….er.type ONLINE    ONLINE    node1       

ora.asm        ora.asm.type   ONLINE    ONLINE    node1       

ora.cvu        ora.cvu.type   ONLINE    ONLINE    node1       

ora.gsd        ora.gsd.type   OFFLINE   OFFLINE               

ora….network ora….rk.type ONLINE    ONLINE    node1       

ora….SM1.asm application    ONLINE    ONLINE    node1       

ora….E1.lsnr application    ONLINE    ONLINE    node1       

ora.node1.gsd  application    OFFLINE   OFFLINE               

ora.node1.ons  application    ONLINE    ONLINE    node1       

ora.node1.vip  ora….t1.type ONLINE    ONLINE    node1       

ora….SM2.asm application    ONLINE    ONLINE    node2       

ora….E2.lsnr application    ONLINE    ONLINE    node2       

ora.node2.gsd  application    OFFLINE   OFFLINE               

ora.node2.ons  application    ONLINE    ONLINE    node2       

ora.node2.vip  ora….t1.type ONLINE    ONLINE    node2       

ora.oc4j       ora.oc4j.type  ONLINE    ONLINE    node1       

ora.ons        ora.ons.type   ONLINE    ONLINE    node1       

ora….ry.acfs ora….fs.type ONLINE    ONLINE    node1       

ora.scan1.vip  ora….ip.type ONLINE    ONLINE    node1       

node1-> 

Oracle 11g OCP Practices and Solutions

一 概述和说明

概述

本实验手册《Oracle 11gR2 OCP Practices and Solutions》内容涵盖Oracle 官方11gR2 OCP培训[Oracle Database 11g Administration Workshop IOracle Database 11g Administration Workshop II]课程所有动手实践内容,用于配合学习官方培训教材,辅助学员备考Oracle 11gR2 OCP,掌握Oracle DBA相关知识,以期祝您顺利通过11g OCP考试,早日进军Oracle DBA高薪金领行业!

读者对象

本系列实验内容涵盖Oracle 官方11gR2 OCP培训内容,因此极为适合需要备考Oracle 11g OCP的朋友们,绝不局限于应试11g OCP考试,所以也可用于一线DBA速查手册,提高您的实际动手能力,告别’Paper’ DBA的尴尬窘境!

在使用和学习的过程中,如果您对Unix/Linux系统有基本的使用经验,外加对关系型数据库有基本认识,是最好不过的了。当然,如果您犹豫的是,这些基本条件您都没有,甚至是一个电脑菜鸟,从未写过程序,未听说过gateway,那么我想,这些都不应该是阻碍您学习Oracle的因素,因为本系列实验手册是傻瓜式的step by step从基础到深入的过程,您需要做的就是照着实验手册,认真独立的完成实验并享受学习Oracle知识的快乐就好!

致谢

首先,最应该感谢的是广大读者和学员朋友们对于我一如既往的的信任与厚爱!如果,您有幸看到这些文字的话(甭管我们是否相识,也甭管您来自哪里?),没错,您就是我最应该感谢的读者和朋友!当然,感谢之外,更是希望通过本人的拙识可以助您顺利通过OCP考试,抑或能在您的实际工作当中派上用场。那样的话,我就心满意足加心安理得!

其次,应该感谢我媳妇儿,是她在我日复一日的精心准备和撰写本系列实验的过程里,主动承担家里家外的的大小杂务,使我可以全身心的投入到制作实验手册的工作中去,并可以享受这整个过程!

最后,臭不要脸的轻声地感谢一下自己,感谢自己可以长期持续的专注于这件看似渺小但实际上有可能给广大学员、网友们带去利好的事情上,并保持着乐观高效的工作状态!

 

版权声明

本系列实验手册中涉及所有文字、图片、视频、音频、代码皆为本人原创内容,在此本人郑重申明,我享有对这些内容的拥有、复制和使用权,未经本人授权,不得以任何形式的传播、转载、复制和使用,如需,请注明内容来源,并经本人许可的前提下自由使用。

    严禁用于各种商业用途,如转载后在淘宝等各网站进行商业性的兜售买卖。具体可见,本人之前的一篇《声讨淘宝上及其他各类非法销售本人Oracle视频作品的卖家和网站》文章!

一步一步在Linux上升级10gR2 RAC到11gR2 RAC(2)

停止10gR2 RAC软件

停止数据库

[root@node1 ~]# su – oracle

node1-> crs_stat -t

Name           Type           Target    State     Host        

————————————————————

ora.devdb.db   application    ONLINE    ONLINE    node1       

ora….b1.inst application    ONLINE    ONLINE    node1       

ora….b2.inst application    ONLINE    ONLINE    node2       

ora….c10g.cs application    ONLINE    ONLINE    node1       

ora….db1.srv application    ONLINE    ONLINE    node1       

ora….SM1.asm application    ONLINE    ONLINE    node1       

ora….E1.lsnr application    ONLINE    ONLINE    node1       

ora.node1.gsd  application    ONLINE    ONLINE    node1       

ora.node1.ons  application    ONLINE    ONLINE    node1       

ora.node1.vip  application    ONLINE    ONLINE    node1       

ora….SM2.asm application    ONLINE    ONLINE    node2       

ora….E2.lsnr application    ONLINE    ONLINE    node2       

ora.node2.gsd  application    ONLINE    ONLINE    node2       

ora.node2.ons  application    ONLINE    ONLINE    node2       

ora.node2.vip  application    ONLINE    ONLINE    node2       

node1-> srvctl stop service -d devdb

node1-> crs_stat -t

Name           Type           Target    State     Host        

————————————————————

ora.devdb.db   application    ONLINE    ONLINE    node1       

ora….b1.inst application    ONLINE    ONLINE    node1       

ora….b2.inst application    ONLINE    ONLINE    node2       

ora….c10g.cs application    OFFLINE   OFFLINE               

ora….db1.srv application    OFFLINE   OFFLINE               

ora….SM1.asm application    ONLINE    ONLINE    node1       

ora….E1.lsnr application    ONLINE    ONLINE    node1       

ora.node1.gsd  application    ONLINE    ONLINE    node1       

ora.node1.ons  application    ONLINE    ONLINE    node1       

ora.node1.vip  application    ONLINE    ONLINE    node1       

ora….SM2.asm application    ONLINE    ONLINE    node2       

ora….E2.lsnr application    ONLINE    ONLINE    node2       

ora.node2.gsd  application    ONLINE    ONLINE    node2       

ora.node2.ons  application    ONLINE    ONLINE    node2       

ora.node2.vip  application    ONLINE    ONLINE    node2       

node1-> srvctl stop database -d devdb

node1-> crs_stat -t

Name           Type           Target    State     Host        

————————————————————

ora.devdb.db   application    OFFLINE   OFFLINE               

ora….b1.inst application    OFFLINE   OFFLINE               

ora….b2.inst application    OFFLINE   OFFLINE               

ora….c10g.cs application    OFFLINE   OFFLINE               

ora….db1.srv application    OFFLINE   OFFLINE               

ora….SM1.asm application    ONLINE    ONLINE    node1       

ora….E1.lsnr application    ONLINE    ONLINE    node1       

ora.node1.gsd  application    ONLINE    ONLINE    node1       

ora.node1.ons  application    ONLINE    ONLINE    node1       

ora.node1.vip  application    ONLINE    ONLINE    node1       

ora….SM2.asm application    ONLINE    ONLINE    node2       

ora….E2.lsnr application    ONLINE    ONLINE    node2       

ora.node2.gsd  application    ONLINE    ONLINE    node2       

ora.node2.ons  application    ONLINE    ONLINE    node2       

ora.node2.vip  application    ONLINE    ONLINE    node2       

node1-> srvctl stop asm -n node1     

node1-> srvctl stop asm -n node2

node1-> crs_stat -t

Name           Type           Target    State     Host        

————————————————————

ora.devdb.db   application    OFFLINE   OFFLINE               

ora….b1.inst application    OFFLINE   OFFLINE               

ora….b2.inst application    OFFLINE   OFFLINE               

ora….c10g.cs application    OFFLINE   OFFLINE               

ora….db1.srv application    OFFLINE   OFFLINE               

ora….SM1.asm application    OFFLINE   OFFLINE               

ora….E1.lsnr application    ONLINE    ONLINE    node1       

ora.node1.gsd  application    ONLINE    ONLINE    node1       

ora.node1.ons  application    ONLINE    ONLINE    node1       

ora.node1.vip  application    ONLINE    ONLINE    node1       

ora….SM2.asm application    OFFLINE   OFFLINE               

ora….E2.lsnr application    ONLINE    ONLINE    node2       

ora.node2.gsd  application    ONLINE    ONLINE    node2       

ora.node2.ons  application    ONLINE    ONLINE    node2       

ora.node2.vip  application    ONLINE    ONLINE    node2       

node1-> srvctl stop nodeapps -n node1

node1-> srvctl stop nodeapps -n node2

node1-> crs_stat -t

Name           Type           Target    State     Host        

————————————————————

ora.devdb.db   application    OFFLINE   OFFLINE               

ora….b1.inst application    OFFLINE   OFFLINE               

ora….b2.inst application    OFFLINE   OFFLINE               

ora….c10g.cs application    OFFLINE   OFFLINE               

ora….db1.srv application    OFFLINE   OFFLINE               

ora….SM1.asm application    OFFLINE   OFFLINE               

ora….E1.lsnr application    OFFLINE   OFFLINE               

ora.node1.gsd  application    OFFLINE   OFFLINE               

ora.node1.ons  application    OFFLINE   OFFLINE               

ora.node1.vip  application    OFFLINE   OFFLINE               

ora….SM2.asm application    OFFLINE   OFFLINE               

ora….E2.lsnr application    OFFLINE   OFFLINE               

ora.node2.gsd  application    OFFLINE   OFFLINE               

ora.node2.ons  application    OFFLINE   OFFLINE               

ora.node2.vip  application    OFFLINE   OFFLINE               

node1-> 

停止CRS

节点1

[root@node1 ~]# /u01/app/oracle/product/10.2.0/crs_1/bin/crsctl stop crs

Stopping resources. This could take several minutes.

Successfully stopped CRS resources.

Stopping CSSD.

Shutting down CSS daemon.

Shutdown request successfully issued.

[root@node1 ~]# 

 

节点2

[root@node2 ~]# /u01/app/oracle/product/10.2.0/crs_1/bin/crs_stat -t

Name           Type           Target    State     Host        

————————————————————

ora.devdb.db   application    OFFLINE   OFFLINE               

ora….b1.inst application    OFFLINE   OFFLINE               

ora….b2.inst application    OFFLINE   OFFLINE               

ora….c10g.cs application    OFFLINE   OFFLINE               

ora….db1.srv application    OFFLINE   OFFLINE               

ora….SM1.asm application    OFFLINE   OFFLINE               

ora….E1.lsnr application    OFFLINE   OFFLINE               

ora.node1.gsd  application    OFFLINE   OFFLINE               

ora.node1.ons  application    OFFLINE   OFFLINE               

ora.node1.vip  application    OFFLINE   OFFLINE               

ora….SM2.asm application    OFFLINE   OFFLINE               

ora….E2.lsnr application    OFFLINE   OFFLINE               

ora.node2.gsd  application    OFFLINE   OFFLINE               

ora.node2.ons  application    OFFLINE   OFFLINE               

ora.node2.vip  application    OFFLINE   OFFLINE               

[root@node2 ~]# /u01/app/oracle/product/10.2.0/crs_1/bin/crsctl stop crs

Stopping resources. This could take several minutes.

Successfully stopped CRS resources.

Stopping CSSD.

Shutting down CSS daemon.

Shutdown request successfully issued.

[root@node2 ~]# 

备份10gR2 RAC软件

备份OCRvoting disk

Note

只需要在其中一个节点备份就可以,因为OCRVoting Disk是存放在共享存储上的。

这里只在节点1上执行备份。

Node1:

[root@node1 ~]# pwd

/root

[root@node1 ~]# mkdir 10gbackup

[root@node1 ~]# ll /dev/raw/ra*

crw-r—– 1 oracle oinstall 162, 1 Dec 24 16:56 /dev/raw/raw1

crw-r—– 1 oracle oinstall 162, 2 Dec 24 16:59 /dev/raw/raw2

[root@node1 ~]# dd if=/dev/raw/raw1 of=/root/10gbackup/10gocr.bak

262112+0 records in

262112+0 records out

134201344 bytes (134 MB) copied, 104.927 seconds, 1.3 MB/s

[root@node1 ~]# dd if=/dev/raw/raw2 of=/root/10gbackup/10gvotingdisk.bak

262112+0 records in

262112+0 records out

134201344 bytes (134 MB) copied, 96.4558 seconds, 1.4 MB/s

[root@node1 ~]# ll /root/10gbackup/

total 262376

-rw-r–r– 1 root root 134201344 Dec 24 17:01 10gocr.bak

-rw-r–r– 1 root root 134201344 Dec 24 17:04 10gvotingdisk.bak

[root@node1 ~]# 

备份RAC初始化脚本

Note

这里需要在双节点上备份/etc/inittab配置文件以及

/etc/init.d/init.crs

/etc/init.d/init.crsd

/etc/init.d/init.cssd

/etc/init.d/init.evmd 初始化脚本。

Node1:

[root@node1 10gbackup]# ll

total 262376

-rw-r–r– 1 root root 134201344 Dec 24 17:01 10gocr.bak

-rw-r–r– 1 root root 134201344 Dec 24 17:04 10gvotingdisk.bak

[root@node1 10gbackup]# cp /etc/inittab /root/10gbackup/inittab.bak

[root@node1 10gbackup]# cp /etc/init.d/init.crs /root/10gbackup/init.crs.bak

[root@node1 10gbackup]# cp /etc/init.d/init.crsd /root/10gbackup/init.crsd.bak

[root@node1 10gbackup]# cp /etc/init.d/init.cssd /root/10gbackup/init.cssd.bak

[root@node1 10gbackup]# cp /etc/init.d/init.evmd /root/10gbackup/init.evmd.bak

[root@node1 10gbackup]# ll

total 262456

-rw-r–r– 1 root root 134201344 Dec 24 17:01 10gocr.bak

-rw-r–r– 1 root root 134201344 Dec 24 17:04 10gvotingdisk.bak

-r-xr-xr-x 1 root root      2436 Dec 24 17:17 init.crs.bak

-r-xr-xr-x 1 root root      5532 Dec 24 17:17 init.crsd.bak

-r-xr-xr-x 1 root root     55174 Dec 24 17:17 init.cssd.bak

-r-xr-xr-x 1 root root      3499 Dec 24 17:17 init.evmd.bak

-rw-r–r– 1 root root      1869 Dec 24 17:16 inittab.bak

[root@node1 10gbackup]# 

Node2:

[root@node2 ~]# cd

[root@node2 ~]# mkdir 10gbackup

[root@node2 ~]# cd 10gbackup/

[root@node2 10gbackup]# ll

total 0

[root@node2 10gbackup]# cp /etc/inittab /root/10gbackup/inittab.bak

[root@node2 10gbackup]# cp /etc/init.d/init.crs /root/10gbackup/init.crs.bak

[root@node2 10gbackup]# cp /etc/init.d/init.crsd /root/10gbackup/init.crsd.bak

[root@node2 10gbackup]# cp /etc/init.d/init.cssd /root/10gbackup/init.cssd.bak

[root@node2 10gbackup]# cp /etc/init.d/init.evmd /root/10gbackup/init.evmd.bak

[root@node2 10gbackup]# ll

total 100

-r-xr-xr-x 1 root root  2436 Dec 24 17:18 init.crs.bak

-r-xr-xr-x 1 root root  5532 Dec 24 17:18 init.crsd.bak

-r-xr-xr-x 1 root root 55174 Dec 24 17:18 init.cssd.bak

-r-xr-xr-x 1 root root  3499 Dec 24 17:18 init.evmd.bak

-rw-r–r– 1 root root  1869 Dec 24 17:18 inittab.bak

[root@node2 10gbackup]# 

备份oracle软件、集群软件

可以用OS tar命令来备份

tar -czf /home/oracle/oracle.tar.z $ORACLE_HOME/

这里不再赘述。

备份数据库

RMAN备份数据库。亦不再赘述。

移除/etc/oracle

Node1:

[root@node1 ~]# ll /etc/oracle/

total 12

-rw-r–r– 1 root oinstall   45 Dec 21 22:19 ocr.loc

drwxrwxr-x 5 root root     4096 Dec 24 16:54 oprocd

drwxr-xr-x 3 root root     4096 Dec 21 22:19 scls_scr

[root@node1 ~]# mv /etc/oracle/ /root/10gbackup/etc_oracle

[root@node1 ~]# ll /etc/oracle

ls: /etc/oracle: No such file or directory

[root@node1 ~]# 

Node2:

[root@node2 ~]# ll /etc/oracle/

total 24

-rw-r–r– 1 root oinstall   45 Dec 21 22:21 ocr.loc

drwxrwxr-x 5 root root     4096 Dec 24 16:55 oprocd

drwxr-xr-x 3 root root     4096 Dec 21 22:21 scls_scr

[root@node2 ~]# mv /etc/oracle/ /root/10gbackup/etc_oracle

[root@node2 ~]# ll /etc/oracle/

total 8

drwxrwxr-x 5 root root 4096 Dec 24 17:29 oprocd

[root@node2 ~]# ll /root/10gbackup/etc_oracle/

total 24

-rw-r–r– 1 root oinstall   45 Dec 21 22:21 ocr.loc

drwxrwxr-x 5 root root     4096 Dec 24 16:55 oprocd

drwxr-xr-x 3 root root     4096 Dec 21 22:21 scls_scr

[root@node2 ~]# 

移除/etc/init.d/init*

Node1:

[root@node1 10gbackup]# cd

[root@node1 ~]# cd /root/10gbackup/

[root@node1 10gbackup]# ll

total 262460

-rw-r–r– 1 root root     134201344 Dec 24 17:01 10gocr.bak

-rw-r–r– 1 root root     134201344 Dec 24 17:04 10gvotingdisk.bak

drwxr-xr-x 4 root oinstall      4096 Dec 21 23:07 etc_oracle

-r-xr-xr-x 1 root root          2436 Dec 24 17:17 init.crs.bak

-r-xr-xr-x 1 root root          5532 Dec 24 17:17 init.crsd.bak

-r-xr-xr-x 1 root root         55174 Dec 24 17:17 init.cssd.bak

-r-xr-xr-x 1 root root          3499 Dec 24 17:17 init.evmd.bak

-rw-r–r– 1 root root          1869 Dec 24 17:16 inittab.bak

[root@node1 10gbackup]# mkdir init_mv

[root@node1 10gbackup]# ll /etc/init.d/init.*

-r-xr-xr-x 1 root root  2436 Dec 21 23:08 /etc/init.d/init.crs

-r-xr-xr-x 1 root root  5532 Dec 21 23:08 /etc/init.d/init.crsd

-r-xr-xr-x 1 root root 55174 Dec 21 23:08 /etc/init.d/init.cssd

-r-xr-xr-x 1 root root  3499 Dec 21 23:08 /etc/init.d/init.evmd

[root@node1 10gbackup]# mv /etc/init.d/init.* /root/10gbackup/init_mv/

[root@node1 10gbackup]# ll /etc/init.d/init.*

ls: /etc/init.d/init.*: No such file or directory

[root@node1 10gbackup]# ll /root/10gbackup/init_mv/

total 76

-r-xr-xr-x 1 root root  2436 Dec 21 23:08 init.crs

-r-xr-xr-x 1 root root  5532 Dec 21 23:08 init.crsd

-r-xr-xr-x 1 root root 55174 Dec 21 23:08 init.cssd

-r-xr-xr-x 1 root root  3499 Dec 21 23:08 init.evmd

[root@node1 10gbackup]# 

Node2:

[root@node2 ~]# cd /root/10gbackup/

[root@node2 10gbackup]# mkdir init_mv

[root@node2 10gbackup]# ll /etc/init.d/init.*

-r-xr-xr-x 1 root root  2436 Dec 21 23:11 /etc/init.d/init.crs

-r-xr-xr-x 1 root root  5532 Dec 21 23:11 /etc/init.d/init.crsd

-r-xr-xr-x 1 root root 55174 Dec 21 23:11 /etc/init.d/init.cssd

-r-xr-xr-x 1 root root  3499 Dec 21 23:11 /etc/init.d/init.evmd

[root@node2 10gbackup]# mv /etc/init.d/init.* /root/10gbackup/init_mv/

[root@node2 10gbackup]# ll /etc/init.d/init.*

ls: /etc/init.d/init.*: No such file or directory

[root@node2 10gbackup]# ll /root/10gbackup/init_mv/

total 92

-r-xr-xr-x 1 root root  2436 Dec 21 23:11 init.crs

-r-xr-xr-x 1 root root  5532 Dec 21 23:11 init.crsd

-r-xr-xr-x 1 root root 55174 Dec 21 23:11 init.cssd

-r-xr-xr-x 1 root root  3499 Dec 21 23:11 init.evmd

[root@node2 10gbackup]# 

修改/etc/inittab文件

Node1:

[root@node1 10gbackup]# tail -10 /etc/inittab

3:2345:respawn:/sbin/mingetty tty3

4:2345:respawn:/sbin/mingetty tty4

5:2345:respawn:/sbin/mingetty tty5

6:2345:respawn:/sbin/mingetty tty6

 

# Run xdm in runlevel 5

x:5:respawn:/etc/X11/prefdm -nodaemon

#h1:35:respawn:/etc/init.d/init.evmd run >/dev/null 2>&1 </dev/null

#h2:35:respawn:/etc/init.d/init.cssd fatal >/dev/null 2>&1 </dev/null

#h3:35:respawn:/etc/init.d/init.crsd run >/dev/null 2>&1 </dev/null

[root@node1 10gbackup]#

Node2:

[root@node2 10gbackup]# tail -10 /etc/inittab

3:2345:respawn:/sbin/mingetty tty3

4:2345:respawn:/sbin/mingetty tty4

5:2345:respawn:/sbin/mingetty tty5

6:2345:respawn:/sbin/mingetty tty6

 

# Run xdm in runlevel 5

x:5:respawn:/etc/X11/prefdm -nodaemon

#h1:35:respawn:/etc/init.d/init.evmd run >/dev/null 2>&1 </dev/null

#h2:35:respawn:/etc/init.d/init.cssd fatal >/dev/null 2>&1 </dev/null

#h3:35:respawn:/etc/init.d/init.crsd run >/dev/null 2>&1 </dev/null

[root@node2 10gbackup]# 

删除/tmp/.oracle/var/tmp/.oracle

Node1:

[root@node1 10gbackup]# ll /tmp/.oracle/

total 0

[root@node1 10gbackup]# ll /var/tmp/.oracle/

total 0

srwxrwxrwx 1 oracle oinstall 0 Dec 22 10:08 s#4353.1

srwxrwxrwx 1 oracle oinstall 0 Dec 22 10:08 s#4353.2

srwxrwxrwx 1 oracle oinstall 0 Dec 24 16:55 sAnode1_crs_evm

srwxrwxrwx 1 oracle oinstall 0 Dec 24 16:55 sCnode1_crs_evm

srwxrwxrwx 1 root   root     0 Dec 24 16:55 sCRSD_UI_SOCKET

srwxrwxrwx 1 root   root     0 Dec 24 16:55 snode1DBG_CRSD

srwxrwxrwx 1 oracle oinstall 0 Dec 24 16:55 snode1DBG_CSSD

srwxrwxrwx 1 oracle oinstall 0 Dec 24 16:55 snode1DBG_EVMD

srwxrwxrwx 1 oracle oinstall 0 Dec 24 16:55 sOCSSD_LL_node1_

srwxrwxrwx 1 oracle oinstall 0 Dec 24 16:55 sOCSSD_LL_node1_crs

srwxrwxrwx 1 oracle oinstall 0 Dec 24 16:55 sOracle_CSS_LclLstnr_crs_1

srwxrwxrwx 1 root   root     0 Dec 24 16:55 sora_crsqs

srwxrwxrwx 1 root   root     0 Dec 24 16:55 sprocr_local_conn_0_PROC

srwxrwxrwx 1 oracle oinstall 0 Dec 24 16:55 sSYSTEM.evm.acceptor.auth

[root@node1 10gbackup]# rm -rf /tmp/.oracle/

[root@node1 10gbackup]# rm -rf /var/tmp/.oracle/

[root@node1 10gbackup]# 

[root@node1 10gbackup]# 

[root@node1 10gbackup]# ll /tmp/.oracle/

ls: /tmp/.oracle/: No such file or directory

[root@node1 10gbackup]# ll /var/tmp/.oracle/

ls: /var/tmp/.oracle/: No such file or directory

[root@node1 10gbackup]# 

Node2:

[root@node2 10gbackup]# ll /tmp/.oracle/

total 0

[root@node2 10gbackup]# ll /var/tmp/.oracle/

total 64

srwxrwxrwx 1 oracle oinstall 0 Dec 22 10:08 s#15791.1

srwxrwxrwx 1 oracle oinstall 0 Dec 22 10:08 s#15791.2

srwxrwxrwx 1 oracle oinstall 0 Dec 23 14:37 s#5706.1

srwxrwxrwx 1 oracle oinstall 0 Dec 23 14:37 s#5706.2

srwxrwxrwx 1 oracle oinstall 0 Dec 24 16:55 sAnode2_crs_evm

srwxrwxrwx 1 oracle oinstall 0 Dec 24 16:55 sCnode2_crs_evm

srwxrwxrwx 1 root   root     0 Dec 24 16:55 sCRSD_UI_SOCKET

srwxrwxrwx 1 root   root     0 Dec 24 16:55 snode2DBG_CRSD

srwxrwxrwx 1 oracle oinstall 0 Dec 24 16:55 snode2DBG_CSSD

srwxrwxrwx 1 oracle oinstall 0 Dec 24 16:55 snode2DBG_EVMD

srwxrwxrwx 1 oracle oinstall 0 Dec 24 16:55 sOCSSD_LL_node2_

srwxrwxrwx 1 oracle oinstall 0 Dec 24 16:55 sOCSSD_LL_node2_crs

srwxrwxrwx 1 oracle oinstall 0 Dec 24 16:55 sOracle_CSS_LclLstnr_crs_2

srwxrwxrwx 1 root   root     0 Dec 24 16:55 sora_crsqs

srwxrwxrwx 1 root   root     0 Dec 24 16:55 sprocr_local_conn_0_PROC

srwxrwxrwx 1 oracle oinstall 0 Dec 24 16:55 sSYSTEM.evm.acceptor.auth

[root@node2 10gbackup]# rm -rf /tmp/.oracle/

[root@node2 10gbackup]# rm -rf /var/tmp/.oracle/

[root@node2 10gbackup]# ll /tmp/.oracle

ls: /tmp/.oracle: No such file or directory

[root@node2 10gbackup]# ll /var/tmp/.oracle

ls: /var/tmp/.oracle: No such file or directory

[root@node2 10gbackup]# 

 

最后,重启RAC双节点,确认RAC相关服务、后台进程不再出现。

一步一步在Linux上升级10gR2 RAC到11gR2 RAC(1)

概述:

    继本人上一个系列的Oracle 11gR2 RAC+DG项目实战教程发布已一年有余,在此期间,那个系列的教程得到众多网友的喜爱与好评,更是在互联网上畅销不衰。为此,众多网友也一直希望本人推出Oracle 10gR2 RAC的系列教程,恰逢前不久,深圳某客户需要将一套Oracle 10gR2双节点RAC生产数据库升级至Oracle 11gR2 RAC,所以便有了本系列实战的视频教程。

为更贴切还原生产过程中的实际操作,本系列教程一个分两大部分:

第一部分,从零开始一步一步搭建一套在OEL 5.5 X86_64位环境下的双节点10gR2 RAC数据库,并将数据库升级至10.2.0.5.0版本。

第二部分,一步一步将10gR2 RAC升级至Oracle 11gR2 RAC,数据库版本选择11g最新的11.2.0.4.0版本。

 

本文是第二部分:

主要步骤:

一、配置SCAN IPDNS、停止ntpd服务

二、oracle用户添加至oper用户组

三、创建grid软件的basehome相关目录

四、创建11gR2 oracle软件的home目录

五、创建11gR2 grid Infrastructureasm磁盘

六、停止10gR2 RAC软件

七、备份10gR2 RAC软件

八、安装grid软件

九、迁移10g RAC 磁盘组至11gR2 grid

十、安装11gR2 oracle软件

十一、升级10gR2 RAC数据库至11gR2 RAC数据库

 

配置SCAN IPDNS、停止ntpd服务

DNS服务器配置在此不再赘述,具体可以:

查看本人之前的系列视频之《黄伟老师Oracle RAC+DG系列视频+售后安心技术支持服务2讲:RAC第一个节点准备工作之:配置网络、DNS服务器

2 或查看本人系列文章之一步一步在Linux上安装Oracle 11gR2 RAC (2)2.3配置DNS服务器,确认SCAN IP可以被解析

因为我们的双节点服务器指定了oracleonlinux.cn域名,所以具体需要做特别修改的地方,:

A  /var/named/chroot/etc/named.rfc1912.zones添加下述内容:

zone “oracleonlinux.cn” IN {

        type master;

        file “oracleonlinux.cn.zone”;

        allow-update { none; };

};

B  添加正向解析配置文件:

[root@rdd named]# pwd

/var/named/chroot/var/named

[root@rdd named]# cat oracleonlinux.cn.zone 

$TTL    86400

@               IN SOA  oracleonlinux.cn root.oracleonlinux.cn (

                                        42              ; serial (d. adams)

                                        3H              ; refresh

                                        15M             ; retry

                                        1W              ; expiry

                                        1D )            ; minimum

                IN NS           oracleonlinux.cn

localhost       IN A            127.0.0.1

scan-cluster        IN A            172.16.0.223

[root@rdd named]# 

C  修改反向解析配置文件:

[root@rdd named]# pwd

/var/named/chroot/var/named

[root@rdd named]# ll

total 44

-rw-r—– 1 root  named  491 Dec 19 11:39 0.16.172.in-addr.arpa

drwxrwx— 2 named named 4096 Dec 19 10:45 data

-rw-r—– 1 root  named  244 Nov 23 14:19 localdomain.zone

-rw-r—– 1 root  named  195 Jan 21  2010 localhost.zone

-rw-r—– 1 root  named  427 Jan 21  2010 named.broadcast

-rw-r—– 1 root  named 1892 Jan 21  2010 named.ca

-rw-r—– 1 root  named  424 Jan 21  2010 named.ip6.local

-rw-r—– 1 root  named  426 Jan 21  2010 named.local

-rw-r—– 1 root  named  427 Jan 21  2010 named.zero

-rw-r—– 1 root  named  275 Dec 19 11:39 oracleonlinux.cn.zone

drwxrwx— 2 named named 4096 Jul 27  2004 slaves

[root@rdd named]# cat 0.16.172.in-addr.arpa 

$TTL    86400

@       IN      SOA     oracleonlinux.cn. root.oracleonlinux.cn.  (

                                      1997022700 ; Serial

                                      28800      ; Refresh

                                      14400      ; Retry

                                      3600000    ; Expire

                                      86400 )    ; Minimum

        IN      NS      localhost.

1       IN      PTR     localhost.

223     IN      PTR     scan-cluster.oracleonlinux.cn.

[root@rdd named]# 

 

双节点验证SCAN IP可以解析:

Node1

 

Node2

 

 

双节点停止NTP服务:

Node1:

[root@node1 ~]# ll /etc/ntp.conf 

-rw-r–r– 1 root root 1833 Dec  9  2009 /etc/ntp.conf

[root@node1 ~]# mv /etc/ntp.conf /etc/ntp.conf.bak

[root@node1 ~]# service ntpd stop

Shutting down ntpd: [FAILED]

[root@node1 ~]# service ntpd status

ntpd is stopped

[root@node1 ~]# 

Node2:

[root@node2 ~]# ll /etc/ntp.conf 

-rw-r–r– 1 root root 1833 Dec  9  2009 /etc/ntp.conf

[root@node2 ~]# mv /etc/ntp.conf /etc/ntp.conf.bak

[root@node2 ~]# service ntpd status

ntpd is stopped

[root@node2 ~]# service ntpd stop

Shutting down ntpd: [FAILED]

[root@node2 ~]# 

 

oracle用户添加至oper用户组

双节点上创建oper用户组、并将oracle用户添加至oper组。

Node1:

[root@node1 ~]# id oracle

uid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba)

[root@node1 ~]# groupadd oper

[root@node1 ~]# usermod -a -G oper oracle

[root@node1 ~]# id oracle

uid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba),502(oper)

[root@node1 ~]# 

Node2:

[root@node2 ~]# id oracle

[root@node2 ~]# id oracle

uid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba)

[root@node2 ~]# groupadd oper

[root@node2 ~]# usermod -a -G oper oracle

[root@node2 ~]# id oracle

uid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba),502(oper) 

[root@node2 ~]# 

创建grid软件的basehome相关目录

Note

这里设置grid软件的oracle_base=/u01/app/gridgrid 软件的oracle_home=/u01/app/11.2.0/grid

需要注意的是,这两个目录是并行的目录,不能像传统的那样将oracle_home设置为oracle_base的子目录!

节点1

[root@node1 ~]# hostname 

node1.oracleonlinux.cn

[root@node1 ~]# mkdir -p /u01/app/grid

[root@node1 ~]# mkdir -p /u01/app/11.2.0/grid

[root@node1 ~]# chown -R oracle:oinstall /u01

[root@node1 ~]# ll /u01/app/

total 12

drwxrwxr-x 3 oracle oinstall 4096 Dec 25 20:19 11.2.0

drwxr-xr-x 2 oracle oinstall 4096 Dec 25 20:18 grid

drwxrwxr-x 5 oracle oinstall 4096 Dec 25 17:25 oracle

[root@node1 ~]# 

节点2

[root@node2 ~]# hostname 

node2.oracleonlinux.cn

[root@node2 ~]# mkdir -p /u01/app/grid

[root@node2 ~]# mkdir -p /u01/app/11.2.0/grid

[root@node2 ~]# chown -R oracle:oinstall /u01

[root@node2 ~]# ll /u01/app/

total 24

drwxrwxr-x 3 oracle oinstall 4096 Dec 25 20:21 11.2.0

drwxr-xr-x 2 oracle oinstall 4096 Dec 25 20:21 grid

drwxrwxr-x 5 oracle oinstall 4096 Dec 22 10:17 oracle

[root@node2 ~]# 

 

创建11gR2 oracle软件的home目录

Note

这里设置ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1ORACLE_BASE还保留之前的10g版本下的设置。

Node1

node1-> mkdir -p /u01/app/oracle/product/11.2.0/db_1

node1-> ll /u01/app/oracle/product/

total 8

drwxrwxr-x 4 oracle oinstall 4096 Dec 21 23:23 10.2.0

drwxr-xr-x 3 oracle oinstall 4096 Dec 26 09:32 11.2.0

node1-> 

Node2

node2-> pwd

/home/oracle

node2-> mkdir -p /u01/app/oracle/product/11.2.0/db_1

node2-> ll /u01/app/oracle/product/

total 16

drwxrwxr-x 4 oracle oinstall 4096 Dec 21 23:32 10.2.0

drwxr-xr-x 3 oracle oinstall 4096 Dec 26 09:34 11.2.0

node2-> 

创建11gR2 grid Infrastructureasm磁盘

节点上将之前配置的/dev/sdf1硬盘分区创建成第3ASM磁盘,用作将来安装grid软件时来存放OCRVoting Disk

Node1

[root@node1 ~]# /etc/init.d/oracleasm listdisks

ASMDISK1

ASMDISK2

[root@node1 ~]# /etc/init.d/oracleasm querydisk /dev/sd*

Device “/dev/sda” is not marked as an ASM disk

Device “/dev/sda1” is not marked as an ASM disk

Device “/dev/sda2” is not marked as an ASM disk

Device “/dev/sdb” is not marked as an ASM disk

Device “/dev/sdb1” is not marked as an ASM disk

Device “/dev/sdc” is not marked as an ASM disk

Device “/dev/sdc1” is not marked as an ASM disk

Device “/dev/sdd” is not marked as an ASM disk

Device “/dev/sdd1” is marked an ASM disk with the label “ASMDISK1”

Device “/dev/sde” is not marked as an ASM disk

Device “/dev/sde1” is marked an ASM disk with the label “ASMDISK2”

Device “/dev/sdf” is not marked as an ASM disk

Device “/dev/sdf1” is not marked as an ASM disk

[root@node1 ~]# /etc/init.d/oracleasm createdisk asmdisk3 /dev/sdf1

Marking disk “asmdisk3” as an ASM disk: [  OK  ]

[root@node1 ~]# /etc/init.d/oracleasm listdisks

ASMDISK1

ASMDISK2

ASMDISK3

[root@node1 ~]# 

Node2

[root@node2 ~]# /etc/init.d/oracleasm listdisks

ASMDISK1

ASMDISK2

[root@node2 ~]# /etc/init.d/oracleasm scandisks

Scanning the system for Oracle ASMLib disks: [  OK  ]

[root@node2 ~]# /etc/init.d/oracleasm listdisks

ASMDISK1

ASMDISK2

ASMDISK3

[root@node2 ~]# 

Device ‘xx’ is already labeled for ASM disk 的故障处理

简单记录一则在Linux平台上创建ASM磁盘时遭遇:

Device “/dev/sdf1” is already labeled for ASM disk “”

的错误!

1 故障现象:

[root@node1 ~]# /usr/sbin/oracleasm listdisks 
ASMDISK1
ASMDISK2
[root@node1 ~]# /usr/sbin/oracleasm createdisk asmdisk3 /dev/sdf1
Device "/dev/sdf1" is already labeled for ASM disk ""
[root@node1 ~]# ll /dev/oracleasm/disks/
total 0
brw-rw---- 1 oracle oinstall 8, 49 Dec 25 16:53 ASMDISK1
brw-rw---- 1 oracle oinstall 8, 65 Dec 25 16:53 ASMDISK2
[root@node1 ~]#

2 故障处理:

通过查看/etc/blkid/blkid.tab文件,确实看到设备/dev/sdf1已经是一块ASM磁盘,只是ASM卷标为空。

[root@node1 ~]# cat /etc/blkid/blkid.tab
/dev/sda2
/dev/sda1
/dev/cdrom
/dev/hdc
/dev/sde1
/dev/sdd1
/dev/sdf1
[root@node1 ~]# 

通过/usr/sbin/oracleasm renamedisk命令来重命名磁盘:

[root@node1 ~]# /usr/sbin/oracleasm renamedisk -f /dev/sdf1 asmdisk3
Writing disk header: done
Instantiating disk "ASMDISK3": done
[root@node1 ~]# /usr/sbin/oracleasm listdisks 
ASMDISK1
ASMDISK2
ASMDISK3
[root@node1 ~]# ll /dev/oracleasm/disks/
total 0
brw-rw---- 1 oracle oinstall 8, 49 Dec 25 16:53 ASMDISK1
brw-rw---- 1 oracle oinstall 8, 65 Dec 25 16:53 ASMDISK2
brw-rw---- 1 oracle oinstall 8, 81 Dec 25 17:16 ASMDISK3
[root@node1 ~]#

且,重启操作系统之后:

[root@node1 ~]# cat /etc/blkid/blkid.tab
/dev/sda2
/dev/sda1
/dev/cdrom
/dev/hdc
/dev/sdf1
/dev/sde1
/dev/sdd1
[root@node1 ~]# 

3 故障原因:

之前,的确已经将设备/dev/sdf1创建成了ASM磁盘,然后,在操作系统级别将/dev/sdf硬盘的第1个分区sdf1直接删除后,重新创建了分区sdf1之后,再想将/dev/sdf1创建为ASM磁盘时,就遭遇到上述的错误信息!

4 如何避免:

正确的步骤,先通过/usr/sbin/oracleasm deletedisk命令来删除对应的ASM磁盘,然后在操作系统级别删除对应的硬盘分区,重新创建新分区之后,再在该硬盘分区上通过/usr/sbin/oracleasm createdisk命令创建ASM磁盘时,就不会出现上述错误了!

配置Oracle RAC时修改/etc/hosts文件的注意事项

首先,我们的问题是:在部署Oracle RAC的时候为什么需要修改/etc/hosts文件? 或者具体的说,我们在Linux平台部署Oracle RAC时为什么需要将/etc/hosts文件里的环路地址修改为
        127.0.0.1               localhost
格式? 当然,不同操作系统平台需要修改的hosts文件名称和位置,依赖于操作系统本身。如:Windows下需要修改的是C:\Windows\System32\drivers\etc\hosts文件。

接下来,要想搞清楚这个问题不难,了解一些网络相关的基础知识即可。
我们知道,在一个网络环境中,我们可以通过IP地址去精确访问某个网络设备[如主机、pc、打印机],也可以通过这个设备名来访问该设备。
通过IP地址去定位某个设备时,如果网络未遭受诸如ARP攻击的话,则通常都不会出现问题。关于ARP问题不是本篇重点,不再赘述。
而要想通过主机名去访问时,就需要有某种转换规则可以正确的将主机名称与IP地址成功映射。
这种转换规则通常可以有3种途径:
1 hosts配置文件;
2 NIS[Network Information System|Service],网络信息服务,或者称之为”网络黄页”;
3 DNS[Domain Name System],域名系统。

在没有配置NIS、DNS的网络环境下,/etc/hosts文件则成为我们通过主机名来访问该主机的唯一选择了。
这个配置文件里记录着网络中每一台主机名与其对应的IP地址,而且如果出现某个主机名对应多个IP的话,则只有第一条记录生效,可以用于正确的解析主机名,在解析过程中,后面出现的记录将被忽略。该文件的配置格式如下:
        IP Address    hostname    aliases

看个例子,如果保留默认情况下的环路地址:

[root@node1 ~]# hostname 
node1.oracleonlinux.cn
[root@node1 ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1       node1.oracleonlinux.cn  node1 localhost.localdomain localhost localhost
::1             localhost6.localdomain6 localhost6

# public
172.16.0.33     node1.oracleonlinux.cn       node1
172.16.0.34     node2.oracleonlinux.cn       node2

# private
192.168.94.11   node1-priv.oracleonlinux.cn  node1-priv
192.168.94.12   node2-priv.oracleonlinux.cn  node2-priv

# virtual
172.16.0.35     node1-vip.oracleonlinux.cn   node1-vip
172.16.0.36     node2-vip.oracleonlinux.cn   node2-vip

# scan-ip
172.16.0.223            scan-cluster.oracleonlinux.cn
[root@node1 ~]# ping node1
PING node1.oracleonlinux.cn (127.0.0.1) 56(84) bytes of data.
64 bytes from node1.oracleonlinux.cn (127.0.0.1): icmp_seq=1 ttl=64 time=0.028 ms
64 bytes from node1.oracleonlinux.cn (127.0.0.1): icmp_seq=2 ttl=64 time=0.043 ms
64 bytes from node1.oracleonlinux.cn (127.0.0.1): icmp_seq=3 ttl=64 time=0.041 ms
64 bytes from node1.oracleonlinux.cn (127.0.0.1): icmp_seq=4 ttl=64 time=0.039 ms

--- node1.oracleonlinux.cn ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3001ms
rtt min/avg/max/mdev = 0.028/0.037/0.043/0.009 ms
[root@node1 ~]# ping node1.oracleonlinux.cn
PING node1.oracleonlinux.cn (127.0.0.1) 56(84) bytes of data.
64 bytes from node1.oracleonlinux.cn (127.0.0.1): icmp_seq=1 ttl=64 time=0.031 ms
64 bytes from node1.oracleonlinux.cn (127.0.0.1): icmp_seq=2 ttl=64 time=0.042 ms
64 bytes from node1.oracleonlinux.cn (127.0.0.1): icmp_seq=3 ttl=64 time=0.044 ms
64 bytes from node1.oracleonlinux.cn (127.0.0.1): icmp_seq=4 ttl=64 time=0.043 ms

--- node1.oracleonlinux.cn ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.031/0.040/0.044/0.005 ms
[root@node1 ~]#

我们修改默认环路地址后:

[root@node1 ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1       localhost
::1             localhost6.localdomain6 localhost6

# public
172.16.0.33     node1.oracleonlinux.cn       node1
172.16.0.34     node2.oracleonlinux.cn       node2

# private
192.168.94.11   node1-priv.oracleonlinux.cn  node1-priv
192.168.94.12   node2-priv.oracleonlinux.cn  node2-priv

# virtual
172.16.0.35     node1-vip.oracleonlinux.cn   node1-vip
172.16.0.36     node2-vip.oracleonlinux.cn   node2-vip

# scan-ip
172.16.0.223            scan-cluster.oracleonlinux.cn
[root@node1 ~]# ping node1
PING node1.oracleonlinux.cn (172.16.0.33) 56(84) bytes of data.
64 bytes from node1.oracleonlinux.cn (172.16.0.33): icmp_seq=1 ttl=64 time=0.026 ms
64 bytes from node1.oracleonlinux.cn (172.16.0.33): icmp_seq=2 ttl=64 time=0.040 ms
64 bytes from node1.oracleonlinux.cn (172.16.0.33): icmp_seq=3 ttl=64 time=0.050 ms
64 bytes from node1.oracleonlinux.cn (172.16.0.33): icmp_seq=4 ttl=64 time=0.034 ms

--- node1.oracleonlinux.cn ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3000ms
rtt min/avg/max/mdev = 0.026/0.037/0.050/0.010 ms
[root@node1 ~]# ping node1.oracleonlinux.cn
PING node1.oracleonlinux.cn (172.16.0.33) 56(84) bytes of data.
64 bytes from node1.oracleonlinux.cn (172.16.0.33): icmp_seq=1 ttl=64 time=0.038 ms
64 bytes from node1.oracleonlinux.cn (172.16.0.33): icmp_seq=2 ttl=64 time=0.044 ms
64 bytes from node1.oracleonlinux.cn (172.16.0.33): icmp_seq=3 ttl=64 time=0.047 ms
64 bytes from node1.oracleonlinux.cn (172.16.0.33): icmp_seq=4 ttl=64 time=0.041 ms

--- node1.oracleonlinux.cn ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3001ms
rtt min/avg/max/mdev = 0.038/0.042/0.047/0.007 ms
[root@node1 ~]#

最后,看完之后,你有答案了吗?现在你知道了部署Oracle RAC时为什么需要将/etc/hosts文件里的环路地址修改为

           127.0.0.1  localhost

格式吗?