oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3相关的知识,希望对你有一定的参考价值。

引言

不知不觉中,人气竟然50W+了。真是荣幸之至,何德何能有这么多兄弟来看我的文章。我今天整个狠活,再带来一篇非常非常非常干货的文章。

在前面的文章中,我们写过:Oracle10.2.0.1升级10.2.0.5.19Oracle11.2.0.1.0升级11.2.0.4.3。网上Oracle升级的文章非常多,而本篇文章带来的是Oracle升级终结篇:Oracle10.2.0.1升级11.2.0.4.3

一、oracle升级知识点

1、版本说明

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_数据库

a、主的数据库版本号

b、数据库的维护版本号

c、应用服务器版本号

d、和特定组件相关的不同版本号

e、特定平台的版本号

2、名词解释

CPU(Critical Patch Update)升级关键补丁

和安全相关的漏洞补丁的集合,补丁更新补丁通常是累积的,每一个CPU包中包含着从上一个CPU包之后到现在所有修补的补丁,当你安装CPU之前,应该查看一下之前的CPU补丁情况。

PSU(Patch Set Update)更新补丁集

它是一个累积的补丁包,包含了自上一次PSU之后到现在所有的补丁包。PSU10.2.0.4.4 包含了PSU10.2.0.4.3的全部及10.2.0.4.3到10.2.0.4.4之间新的。

Tools

升级的过程全把一个已经存在的oracle数据库系统(包括相关的应用程序),升级到11G,这个升级的过程在所有操作系统上都类似,在某些操作系统可能有一些特定的操作细节,每个升级包中的readme中都会有说明,所以当我们拿一个新的CPU或PSU去进行升级的话,首先你要看readme的内容,这个补丁多了,我们可能按照同样一个步骤去做吗?不一定,但大体上类似。

(1)、Database Upgrade Assistant (DBUA)

提供图形界面操作方式,辅助我们升级。在安装oracle时图形界面中调用DBUA,也可以随时启动DBUA图形界面。对于主版本升级或patch release upgrade升级时,我们都建议用DBUA来操作。

(2)、Manual upgrade using SQL scripts and utilities(手动执行脚本升级,怎么打补丁,怎么Upgrade)

(3)、Export and Import utilities

(4)、CREATE TABLE AS SQL statement

3、更新和升级路线图

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_oracle_02

4、My Oracle Support下载升级包

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_数据库_03

从11g开始,它的PatchSet包含了一个完整的安装版和补丁,不像9i、10g的PatchSet中只包含补丁。

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_升级_04

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_oracle_05

5、我们的升级路线

从升级路线图中,我们可以看出来,Oracle10.2.0.1无法直接升级11.2.0.4.3。所以,我们的升级路线如下:

10.2.0.1.0->10.2.0.5.0->10.2.0.5.19->11.2.0.4.0->11.2.0.4.3

二、安装Oracle10.2.0.1

1、软件环境

操作系统:redhat5.5(32位)

oracle版本:10.2.0.10(32位)

2、oracle安装

2.1、linux准备工作

1、root用户编辑本地yum源配置文件

vi /etc/yum.repos.d/base.repo  #追加如下内容

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_数据库_06

2、将本地光般连接到虚拟机中

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_11g_07

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_oracle_08

3、root用户挂载光盘到/mnt目录下

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_数据库_09

4、root用户使用yum解决安装oracle需要的依赖包(安装源码包,必须要用到gcc编译)

yum install -y binutils compat-db control-center gcc* glibc libXp libstdc++ libstdc++-devel make openmotif sysstat control-center

5、root用户修改/etc/hosts

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_11g_10

6、root用户修改主机名称

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_升级_11

注解:

   (1)、hostname  DB(临时修改主机名)

   (2)、vi /etc/sysconfig/network(永久修改主机名)

7、root用户设置内核参数(vi /etc/sysctl.conf)  

   kernel.shmall = 2097152  

   /*共享内存,单位是页面数,每个页面数是4K,就是块大小,操作系统ext3的,一个块是4K,咱们设置共享内存8G ,官方推荐值,生产中可以自行改大  8GB/4KB=8388608KB /4KB=2097152(页) */

   kernel.shmmax = 2147483648  

   /*单个共享内存段的最大尺寸,单位字节,单次提取最多2G,不是数据仓库完全够用  2G=2*1024*1024*1024(byte)*/

   #插入下面信息

   kernel.sem = 250 32000 100 128   #信号量

   fs.file-max = 65536   #文件句柄的最大数量

   net.ipv4.ip_local_port_range = 1024 65000 #端口范围

   net.core.rmem_default = 262144  #默认读内存大小

   net.core.rmem_max = 262144          #读内存最大值

   net.core.wmem_default = 262144  #默认写存大小

   net.core.wmem_max = 262144           #写内存最大值

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_升级_12

8、root用户修改操作系统版本号(vi /etc/redhat-release)

   Red Hat Enterprise Linux Server release 3 (Tikanga)

   /*修改版本号,oracle10g只支持到redhat版本4,如果不修改,检测安装环境会报错*/

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_11g_13

9、root用户操作使内核生效

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_升级_14

10、root用户操作限制oracle用户的策略(vi /etc/security/limits.conf  #追加) 

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_数据库_15

参数说明:

 core - 限制内核文件的大小

 date - 最大数据大小

 fsize - 最大文件大小

 memlock - 最大锁定内存地址空间

 nofile - 打开文件的最大数目

 rss - 最大持久设置大小

 stack - 最大栈大小

 cpu - 以分钟为单位的最多 CPU 时间

 noproc - 进程的最大数目

 as - 地址空间限制

 maxlogins - 此用户允许登录的最大数目

实际是 Linux PAM,插入式认证模块,用来限制用户的策略

11、root用户操作将上面的策略每次登录生效(vi /etc/pam.d/login  #追加)

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_oracle_16

/* limits.conf是pam_limits.so的配置文件,将上面的策略每次登录生效 */

12、root用户操作增加组、oracle用户及设置密码

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_11g_17

13、oracle用户设置环境变量

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_11g_18

14、让环境变量生效

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_升级_19

15、创建目录并授权

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_11g_20

2.2、上传解压oracle包

1、上传oracle安装包到/tmp下(我使用的是FileZilla工具)

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_11g_21

2、oracle用户解压缩oracle安装包

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_10g_22

2.3、图形化安装

使用Oracle用户安装oracle库(图形界面)

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_数据库_23

安装oracle软件详细步骤

选择 高级安装

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_oracle_24

自动识别安装目录,因为在前面配置了环境变量

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_11g_25

选择 安装企业版

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_oracle_26

默认识别Oracle_home目录,因为在前面配置了环境变量

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_oracle_27

检查依赖条件

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_11g_28

选择 仅安装软件

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_11g_29

安装信息汇总

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_10g_30

开始安装

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_数据库_31

操作授权脚本

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_数据库_32

根据提示,切换到root用户执行脚本,操作截图如下:

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_oracle_33

安装结束

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_数据库_34

创建数据库详细步骤     

在命令行下直接输入dbca

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_升级_35

欢迎界面

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_10g_36

选择创建数据库(如果是第一次创建数据库,只能创建数据库和管理模板可以使用)        

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_11g_37

类型选择 一般用途

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_oracle_38

填写全局数据库名及SID(注意大小写)

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_升级_39​  

不用配置OEM管理工具(后面可以手工单独配置)

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_oracle_40

设置数据库用户帐号的口令(所有用户设置同一个密码)

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_升级_41​   

设置数据库的存储(默认文件系统)    

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_10g_42​   

设置数据库文件的存放位置(默认选项)

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_11g_43

 设置数据库的恢复选项(后面可以手工单独配置)   

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_数据库_44

     快速恢复:区用于恢复数据,以免系统发生故障时丢失数据; 启用归档用于将数据库设置为ARCHIVELOG模式,使得当数据库出现失败时可以完全恢复数据库数据

指定是否安装示例方案,并运行自定义脚本(不用安装) 

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_升级_45​  

 初始化参数配置(初始化参数、数据库字符集和连接模式)    

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_10g_46

数据库存储(用指定控制文件、数据文件、重做日志文件、名称和尺寸)   

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_升级_47

创建选项(指定建立数据库,还是保存为数据库模板)   

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_oracle_48

开始数据库的建立

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_升级_49

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_oracle_50

数据库建立完成后,就会出现如下对话框

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_升级_51

系统会锁定除SYS、SYSTEM、DBSNMP、SYSMAN之外的所有其他用户,咱们解锁SCOTT用户     

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_11g_52

单击“确定”按钮,最后单击“退出”按钮完成数据库建立的全部过程

3、验证oracle安装结果

登录到oracle数据库环境下,查看当前库状态

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_11g_53

从上图的查询结果,我们可以看出来,当前数据库是可读可写状态,oracle已经成功的安装了。

三、Oracle10.2.0.1升级10.2.0.5.19

环境描述

1、操作系统

rhel-server-5.5-x86_64

2、现在已有Oracle版本

Oracle 10.2.0.1.0

3、升级之后Oracle版本

Oracle 10.2.0.5.19

准备工作  

1、上传并解压补丁包

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_10g_54

[oracle@db8 tmp]$ unzip p8202632_10205_Linux-x86-64.zip

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_升级_55

2、查看安装补丁情况

[oracle@db8 ]$ cd $ORACLE_HOME/OPatch/  

[oracle@db8 OPatch]$ ./opatch lsinventory

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_11g_56

3、检查数据库的时区版本  

SQL>select version from v$timezone_file;

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_11g_57

4、关闭所有Oracle服务进程  

关闭OEM

[oracle@db8 ~]$ emctl stop dbconsole

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_oracle_58

关闭isqlplus应用服务器

[oracle@db8 ~]$ isqlplusctl stop

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_11g_59

关闭监听

[oracle@db8 ~]$ lsnrctl stop

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_10g_60

关闭实例

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_升级_61

5、进行数据备份

此处我使用的是冷备份,这样保险一些。热备份需要数据库正常运行,难免会有占用。

Oracle相关的全部配置都位于$ORACLE_BASE目录

[oracle@db8 ~]$ tar -zcvPf `date +%F`_oracle.tar.gz  $ORACLE_BASE

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_数据库_62

查看生成的备份文件

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_11g_63

创建备份目录

[oracle@db8 ~]$ mkdir ora_backup

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_oracle_64

备份:日志文件、数据文件、控制文件

[oracle@db8 ~]$ cp $ORACLE_BASE/oradata/$ORACLE_SID/*  ora_backup/

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_数据库_65

备份:参数文件

[oracle@db8 ~]$ cp $ORACLE_HOME/dbs/spfile$ORACLE_SID.ora ora_backup

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_oracle_66

6、确认显示终端  

换成oracle用户,登录图形化界面操作系统

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_10g_67

升级Oracle

1、升级Oracle软件  

解压安装介质

[oracle@db8 tmp]$ unzip p8202632_10205_Linux-x86-64.zip

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_数据库_68

解压后文件详情

[oracle@db8 tmp]$ cd Disk1/

[oracle@db8 Disk1]$ ll

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_数据库_69

解压后生成Disk1目录,里面patch_note.htm 有详细的升级补丁的介绍,建议升级补丁前,应该好好看看patch_note.htm,里面介绍了Oracle Database、Oracle Real Application Clusters、Oracle Database Client、Oracle Database Vault等各类情况升级。

oracle用户图形化安装

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_升级_70

欢迎界面

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_数据库_71

从环境变量中自动识别oracle_home目录

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_11g_72

不接收Oracle的安全更新(大部分兄弟都没有oracle帐号)

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_11g_73

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_升级_74

升级操作之前检查依赖条件

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_数据库_75

汇总信息

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_升级_76

开始安装升级

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_11g_77

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_10g_78

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_oracle_79

换成root用户操作

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_数据库_80

换回oracle用户图形界面操作

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_升级_81

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_数据库_82

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_oracle_83

手工升级oracle数据库

1、升级数据库字典

[oracle@db8 ~]$ sqlplus / as sysdba

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_升级_84

SQL> STARTUP UPGRADE

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_10g_85

SQL> @?/rdbms/admin/catupgrd.sql

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_oracle_86

中间内容较多,此处省略.................

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_oracle_87

由于catupgrd.sql重建过程中,可能造成一些对象失效,需要运行utlrp.sql,重新编译PL/SQL packages。

2、编译无译对象

SQL> SHUTDOWN IMMEDIATE 

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_11g_88

SQL> STARTUP

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_数据库_89

SQL> @?/rdbms/admin/utlrp.sql

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_数据库_90

3、升级后检查

SQL>set line 200  

SQL>col ACTION_TIME for a30    

SQL>col ACTION for a20    

SQL>col NAMESPACE for a10    

SQL>col VERSION for a10    

SQL>col BUNDLE_SERIES for a5    

SQL>col COMMENTS for a25    

SQL>select * from dba_registry_history; 

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_10g_91

4、查看组件有效性

SQL> COL COMP_NAME FOR A50

SQL> COL VERSION FOR A12

SQL> COL STATUS FOR A12

SQL> SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY;

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_11g_92

使用OPatch安装小补丁

1、关闭所有Oracle服务进程

关闭OEM

[oracle@db8 ~]$ emctl stop dbconsole

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_oracle_58

关闭isqlplus应用服务器

[oracle@db8 ~]$ isqlplusctl stop

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_11g_59

关闭监听

[oracle@db8 ~]$ lsnrctl stop

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_10g_60

关闭实例

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_升级_61

2、使用OPatch安装小补丁

解压安装介质

[oracle@db8 tmp]$ unzip  p20299014_10205_Linux-x86-64.zip

oracle拨云见日第9篇之Oracle10.2.0.1升级11.2.0.4.3_升级_97oracle拨云见日第8篇之Oracle11.2.0.1.0升级11.2.0.4.3

oracle拨云见日第6篇之网络配置

oracle拨云见日第5篇之静默安装11g

oracle拨云见日第2篇之脚本安装10g

oracle拨云见日第4篇之脚本安装11g

9.24-9.30博客精彩回顾