Oracle 从10.2.0.1升级到10.2.0.5操作实验
在Oracle 11gR2之前,Oracle普遍采用的是一种增量补丁升级策略。初始安装都是一个比较低的基础版本,比如10.2.0.1或者11.2.0.1,
日常升级、打补丁是系统运维人员经常面对的工作项目。很多情况下,升级数据库和打补丁是解决Oracle Bug的终极策略。
在Oracle 11gR2之前,Oracle普遍采用的是一种增量补丁升级策略。初始安装都是一个比较低的基础版本,比如10.2.0.1或者11.2.0.1,这些都是可以在官方网站上直接下载的版本。之后如果需要进行小版本升级或者特定bug修复,则需要到Oracle官方网站Oracle Support上下载专门的补丁包进行升级。我们常见的10.2.0.5和11.2.0.4都是用这些策略进行升级的。
在升级方面,Oracle官方会推出两个版本的补丁包,CPU和PSU。CPU(Critical Patch Update)是对于其产品每个季度发行的安全补丁,主要是针对产品安全问题隐患的修复。而PSU(Patch Set Update)也是一个季度发行,包括了Bug修复,以及各种被认可低风险补丁。
进入11R2之后,Oracle更新策略有所变化。我们可以直接下载到高版本的PSU包,,这些包其实就是全新的Oracle软件包。目前我们安装11.2.0.3和11.2.0.4,都可以直接安装PSU,而不需要从基础版进行升级。
本篇主要想记录下历史,介绍一下从10.2.0.1升级到10.2.0.5的步骤过程,留待需要的朋友待查。说明:本文实验过程中参考了诸多网络资源,特此表示感谢。
VMware+Linux+Oracle 10G RAC全程详细图解
在CentOS 6.4下安装Oracle 11gR2(x64)
Oracle 11gR2 在VMWare虚拟机中安装步骤
Debian 下 安装 Oracle 11g XE R2
Oracle 11gR2 在VMWare虚拟机中安装步骤
1、环境介绍
我们已经在RedHat 6.5上成功安装Oracle 10gR2,版本号为10.2.0.1。
[oracle@SimpleLinux ~]$ uname -r
2.6.32-431.el6.i686
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 – Production
当前操作系统用户oracle关键环境变量如下:
[oracle@SimpleLinux ~]$ env | grep ORA
ORACLE_SID=ora11g
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
操作系统存储和内存资源相对充足。
[oracle@SimpleLinux ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_simplelinux-LogVol00 29G 8.7G 19G 32% /
tmpfs 448M 0 448M 0% /dev/shm
/dev/sda1 485M 33M 427M 8% /boot
[oracle@SimpleLinux ~]$ free -m
total used free shared buffers cached
Mem: 894 332 561 0 20 241
-/+ buffers/cache: 70 824
Swap: 1999 0 1999
2、备份环境和补丁包准备
首先,我们需要将数据库、监听程序等相关对象进行关闭。根据不同的情况,ASM、DB Control也需要关闭。
[oracle@SimpleLinux ~]$ lsnrctl stop
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 13-MAY-2014 11:19:04
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
The command completed successfully
SQL> conn / as sysdba
Connected.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
下面需要备份环境。注意:升级过程是有风险的,特别是在生产环境下。两个步骤是降低升级风险的重要策略:多次测试和数据备份。多次测试(在系统测试环境)可以帮助我们事先发现升级方案问题,准备应对策略,验证方案。数据备份可以最大程度减少我们数据损失风险。
具体备份方法针对各自情况不同,可以选择RMAN、冷备份、exp/expdp等。此处笔者选择直接将目录拷贝的完全方法。
[root@SimpleLinux upload]# mkdir /u02
[root@SimpleLinux upload]# cd /u01
[root@SimpleLinux u01]# cp -r * /u02
[root@SimpleLinux u01]#
正式进行动作前,要重新规划确定升级步骤。本次升级要实现两个补丁包,一个是10.2.0.5升级包,另一个是在10.2.0.5上运行的补丁包。在MOS上针对特定版本下载升级安装包,并且上传到服务器上。
[root@SimpleLinux ~]# cd /upload/
[root@SimpleLinux upload]# ls -l
total 1082304
-rw-r--r-- 1 root root 4278863 May 13 11:27 p11724962_10205_LINUX.zip
-rw-r--r-- 1 root root 1103992900 May 13 11:29 p8202632_10205_LINUX.zip –升级10.2.0.5包
注意:我们升级数据库是有两个大的步骤,Oracle软件升级和Oracle数据库升级。可以回想一下我们在安装数据库的时候,是先安装数据库软件(包括Grid、Clusterware),之后创建dbca数据库。升级也是一样,我们需要先把数据库软件更新为最新版本,之后清理已经存在的数据库对象,使之升级为最新版本。
3、Oracle软件升级
我们首先进行软件升级动作,解压安装包。
[root@SimpleLinux upload]# ls -l
total 1082472
drwxr-xr-x 5 root root 4096 Jul 23 2010 Disk1
-rw-r--r-- 1 root root 4278863 May 13 11:27 p11724962_10205_LINUX.zip
-rw-r--r-- 1 root root 1103992900 May 13 11:29 p8202632_10205_LINUX.zip
-rwxrwxrwx 1 root root 165290 Jul 20 2010 README.html
root中给oracle用户授权。
[root@SimpleLinux upload]# cd /
[root@SimpleLinux /]# chown -p oracle:oinstall upload/
chown: invalid option -- 'p'
Try `chown --help' for more information.
[root@SimpleLinux /]# chown -R oracle:oinstall upload/
[root@SimpleLinux /]#
升级软件是在图形化界面中进行,所需要配置XWindows或者vnc界面工具。执行目录中的.runInstall脚本,就可以启动界面。如果环境变量配置正常,自动Path都会带入到界面中。
大部分操作,都是点击Next确认过程。
更多详情见请继续阅读下一页的精彩内容: