Linux 环境中11g RAC 安装 PSU


Linux 环境中11g RAC 安装 PSU

这个是实验笔记,做实做成功了,但是有些地方是在是不懂,怕忘,记录一下。

1.1 环境准备
1.1.1 停掉数据库
1.1.2 所需磁盘空间
1.1.3 升级OPatch工具
1.1.4 验证Inventory一致性
1.1.5 下载并解压PSU
1.1.6 停掉EM,如果有的话
1.1.7 冲突检查
1.2 手动升级执行过程
1.2.1 rootcrs.pl停止本节点的服务
1.2.2 给GI HOME打补丁
1.2.2.1 用grid给GI组件打补丁
1.2.2.2 用grid给RDBMS打补丁
1.2.3 给RDBMS DB HOME 打补丁
1.2.3.1 用Oracle给GI打补丁
1.2.3.2 用Oracle给RDBMS打补丁
1.2.4 执行rootcrs.pl -patch
1.2.5 在另一个节点进行前面的操作
1.2.6 对dba_registry_history视图增加记录
1.2.7 执行utlrp 脚本并重启DB
1.2.8 升级catalog数据库
1.2.9 重启应用程序
1.2.10 检查应用之后的结果

--------------------------------------分割线 --------------------------------------

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2

--------------------------------------分割线 --------------------------------------

1.1 环境准备

操作系统

数据库版本

升级之后版本

节点角色

RHEL5u8 x64

11.2.0.3.0

11.2.0.3.8

racdb1

RHEL5u8 x64

11.2.0.3.0

11.2.0.3.8

racdb2

 

用户

变量

grid用户变量

$ echo $ORACLE_HOME

/u01/app/11.2.0.3/grid

$ echo $ORACLE_BASE

/u01/app/grid

oracle用户变量

$ echo $ORACLE_HOME

/u01/app/oracle/product/11.2.0.3

$ echo $ORACLE_BASE

/u01/app/oracle

root 用户变量

# echo $GRID_HOME

/u01/app/11.2.0.3/grid

# echo $ORACLE_HOME

/u01/app/oracle/product/11.2.0.3

 

1.1.1 停掉数据库

su - oracle

$ srvctl stop database -d racdb

 

1.1.2 所需磁盘空间

Linux环境中所需要的磁盘大小是6.5G

 

1.1.3 升级OPatch工具

README中提出需要OPatch工具版本是11.2.0.3.4 或者是以后的版本。在我的环境中一共有两个节点,每个节点上都有Oraclegrid用户,所以需要对他们分别进行升级,也就是说共需要升级四次。

这里演示在一个节点上进行升级。

 

使用Oracle用户对OPatch升级

su - oracle

$ cd $ORACLE_HOME/OPatch/ //进入OPatch目录,查看当前版本

$ ./opatch version

Invoking OPatch 11.2.0.1.7

 

OPatch Version: 11.2.0.1.7 //这个就是当前版本

 

OPatch succeeded.

 

$ cd

$ mv $ORACLE_HOME/OPatch $ORACLE_HOME/OPatch.bak //备份一下当前的OPatch

$ unzip /tmp/p6880880_112000_Linux-x86-64.zip -d $ORACLE_HOME

$ cd $ORACLE_HOME/OPatch //替换了OPatch之后,重新查看版本

$ ./opatch version

OPatch Version: 11.2.0.3.6

 

OPatch succeeded.

 

使用grid用户对OPatch进行升级

su - grid

$ cd $ORACLE_HOME/OPatch/

$ ./opatch version

Invoking OPatch 11.2.0.1.7

 

OPatch Version: 11.2.0.1.7

 

OPatch succeeded.

$ mv $ORACLE_HOME/OPatch $ORACLE_HOME/OPatch.ba

$ unzip /tmp/p6880880_112000_Linux-x86-64.zip -d $ORACLE_HOME

$ cd $ORACLE_HOME/OPatch

$ ./opatch version

OPatch Version: 11.2.0.3.6

 

OPatch succeeded.

 

1.1.4 验证Inventory一致性

在执行opatch apply之前需要验证GI homeDB home的一致性

su - grid

$ $ORACLE_HOME/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME

 

最后正常显示的结果应该是

OPatch succeeded.

 

 

1.1.5 下载并解压PSU

PSU解压到一个非/tmp目录中,这个目录是空的,并且具有oinstall组的权限(README中提到的是ORA_INSTALL)

 

# mkdir /psu

# chown grid:oinstall /psu

# chmod 775 /psu //Oracle用户也在oinstall组,所以用这个权限。

# ll -d /psu

drwxrwxr-x 2 grid oinstall 4096 Apr 23 23:30 /psu

su - grid

$ unzip /tmp/p17272731_112030_Linux-x86-64.zip -d /psu

 

 

1.1.6 停掉EM,如果有的话

在安装和回滚patch之前先关掉EM

su - oracle

$ emctl stop dbconsole

 

 

1.1.7 冲突检查

su - grid

$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /psu/16902043 -oh $ORACLE_HOME

su - oracle

$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /psu/16902043 -oh $ORACLE_HOME

 

应该都是OPatch succeeded.状态的

 

1.2 手动升级执行过程

这里演示手动升级的过程,因为自动升级可能会出问题。

 

1.2.1 rootcrs.pl停止本节点的服务

若有RDBMS DB在运行则首先关闭该实例,使用root关掉集群

 

su - root

# crsctl stop crs //如果不执行这个,那么下面的rootcrs.pl执行速度会很慢

 

下面的rootcrs.pl脚本在$GRID_HOME/crs/install

 

# $GRID_HOME/crs/install/rootcrs.pl -unlock

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

...........

Successfully unlock /u01/app/11.2.0.3/grid

 

AIX上(Linux不用做):

因为有用户进程占用了文件libclntsh.so.11

grid用户执行:

genld -l|grep /home/db/grid/product/11.2.0

genkld|grep /home/db/grid/product/11.2.0

另外一个窗口root:

/usr/sbin/slibclean

 

1.2.2 GI HOME打补丁

升级之前把所有的sqlplus关掉,不然报错。

报错内容如下:这个是我贴出其他人的报错:

Verifying environment and performing prerequisite checks...

Prerequisite check "CheckActiveFilesAndExecutables" failed.

The details are:

 

 

Following executables are active :

/u01/app/oracle/product/db11.2.0.3/lib/libclntsh.so.11.1

UtilSession failed: Prerequisite check "CheckActiveFilesAndExecutables" failed.

Log file location: /u01/app/oracle/product/db11.2.0.3/cfgtoollogs/opatch/opatch2013-03-10_20-37-12PM_1.log

 

更多详情见请继续阅读下一页的精彩内容:

  • 1
  • 2
  • 3
  • 4
  • 下一页

相关内容