Oracle 从10.2.0.1升级到10.2.0.5操作实验


日常升级、打补丁是系统运维人员经常面对的工作项目。很多情况下,升级数据库和打补丁是解决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都会带入到界面中。

Oracle 从10.2.0.1升级到10.2.0.5操作实验

大部分操作,都是点击Next确认过程。

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

  • 1
  • 2
  • 3
  • 下一页

相关内容

    暂无相关文章