Oracle数据库升级也并非简单的事,这篇博客,博主对Oracle那点事做了较详细的介绍:

  http://blog.itpub.net/9599/viewspace-473003/

我还属于Oracle的菜鸟,就不献丑介绍了。

  下面我就简单总结下,Oracle同版本升级的经历:

升级数据库:
1. 先检查数据库当前版本:
  SELECT * FROM v$version;

2. 使用RMAN或exp 进行全库备份

  【这一步非常非常重要,因升级到数据部分时,虚拟机没空间了,导致VM崩溃,升级失败.orcl库也挂了.不得不从另一台Oracle上创建了一个Orcl,

  然后,冷备迁移过来,才得以重新升级。】
  如:RMAN全备
  export ORACLE_SID=orcl
  rman target /
  RMAN>backup full database plus archivelog //全备数据库,并且包括ArchiveLog。

3. 最后按下面步骤进行升级
  <1> 先知道Oracle 7个更新文件的作用:
    第一 和 二个包表示database ,  如果升级数据库,只需要这2个文件即可。
    第三个包表示grid,  用来升级RAC 的CRS。如果升级RAC 要先用这个文件。
    第四个表示客户端,
    第五个表示gateways, 
    第六个表示 examples,   这个是我们的示例文件安装包。
    第七个表示deinstall(它是卸载Oracle的工具).

  <2> 升级Oracle数据库
         首先将第一和二个zip压缩包上传,并在同一个目录下解压,因为,它两的目录结构
    基本一致,并且这两压缩包的内容需要合并后才能,执行runInstaller文件。所有要在
    同一个目录下解压,这样会直接合并。

  <3> 运行runInstaller,若没有图像界面会可能就需要有应答文件了,这个就需要再查了,
    我测试时,有图形界面,所以直接用图形界面来升级:
    需要注意几个地方:
    A. 这是第一个地方,这里需要点,“Skip software updates"跳到软件更新

      

    B.这里是选项安装新Oracle软件的位置,这里不能写旧的位置。
     另注: 磁盘空间一定要5~10G, Oracle11.2.0.1升级到11.2.0.3需要4.1G。

      

    C. 第三点:需要注意: /etc/oratab这个文件。
      因为,更新到最后是更新数据库,更新数据库时,必须要有一个数据库是运行的.
    才能执行,并且更新数据库时,它是通过oratab文件来让你选择通过那个运行的
    数据库来尝试更新数据库。

  4. 数据库更新完后,需要做以下事情:

   首先,升级完成后,需要将Oracle必须的环境变量修改为升级后的Oracle软件路径。

   需要修改: ORACLE_HOME.

   如我的环境:

    Oracle11.2.0.1时:

      ORACLE_BASE=/home/oracle/ora

      ORACLE_HOME=$ORACLE_BASE/product/11g/db_1

   升级后,Oracle版本为:11.2.0.3,新的家目录为:

    Oracle11.2.0.3: ORACLE_HOME=$ORACLE_BASE/product/11.2.0.3/db_1

    <1> 先执行这个文件,用sysdba的权限:
      SQL> SPOOL update.info
      SQL> $ORACLE_HOME/rdbms/admin/utlu112i.sql
      SQL> SPOOL OFF
      查看日志是否有错误。
    <2> 关闭数据库,并更新启动。
      SQL> shutdown immediate
      SQL> startup upgrade

      SQL> select * from v$version; #查看Oracle的版本。
      SQL> select status from v$instance;
      STATUS
      ------------
      OPEN MIGRATE

      #下面开始执行升级脚本。
      SQL> SPOOL update-info.log
      SQL> @$ORACLE_HOME/rdbms/admin/catupgrd.sql
      #下面是查看升级结果的; 这个不是很确定,因为参考博客的环境是,
      # 是9i 升 10g
      #SQL> @$ORACLE_HOME/rdbms/admin/utlu102s.sql
      SQL> SPOOL OFF
      完成后,需要查看升级日志,是否有保错,若有,则重新执行升级SQL脚本。

      #升级完成后,需要重启DB.
      SQL> shutdown immediate
      SQL> startup
      #下面是执行重新编译无效对象
      SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql
      #查看是否还存在无效对象,若为0,则表示升级完成。否则重新执行编译。
      SQL> SELECT count(*) FROM dba_objects WHERE status='INVALID';

      SQL> select name from v$database; #确认数据库的SID是否正确。
      SQL> show user; #确认当前是否为sys用户。
      SQL> select tablespace_name, bytes from dba_data_files; #确认表空间大小是否正确.

      #下面这个步骤网文中没有,这是尚观视频中提到的,作用不明.
      #SQL> @$ORACLE_HOME/rdbms/admin/catalog.sql

      #最后,重启数据库没有问题就是升级成功了。
      SQL> select status from v$instance;
      STATUS
      ------------
      OPEN      #注意,成功打开数据库后,这里将是OPEN,而非OPEN MIGRATE

Oracle11.2.0.1升级到11.2.0.3的更多相关文章

  1. oracle--10.2.0.3升级到11.2.0.4

    一,环境 01,待升级的系统 升级仅支持10.2.0.2版本之后的系统,如果不是,请把10G升级至高版本! 本次实验环境10.2.0.3 02,挂载11G系统 03,升级须知 1) 做好备份 二,DB ...

  2. LINUX中ORACLE 11.2.0.1 升级到11.2.0.4

    11.2.0.4补丁号13390677,共7个文件,分别是 其中1&2是db,3是grid,4是client,5是gateways,6是example,7是deinstall 上传安装介质并解 ...

  3. 11.2.0.1升级到11.2.0.4报错之中的一个:UtilSession failed: Patch 9413827

    UtilSession failed: Patch 9413827 requires component(s) that are not installed in OracleHome. These ...

  4. Oracle Study之--Oracle 单实例11.2.0.1.0升级到11.2.0.3.0

    Oracle Study之--Oracle 单实例11.2.0.1.0升级到11.2.0.3.0 系统环境: 操作系统:RedHat EL6(64位) Oracle:    Oracle 11gR2 ...

  5. 探索Oracle数据库升级6 11.2.0.4.3 Upgrade12c(12.1.0.1)

    探索Oracle数据库升级6 11.2.0.4.3 Upgrade12c(12.1.0.1) 一.前言:       Oracle 12c公布距今已经一年有余了,其最大亮点是一个能够插拔的数据库(PD ...

  6. Oracle 11.2.0.3.0 RAC GI_DB升级到11.2.0.4.0

    转载:  http://blog.csdn.net/frank0521/article/details/18226199 前言 还是大家常说的那句:生产环境千万记得备份哈~~~ 以下的环境,是我的测试 ...

  7. oracle 11.2.0.1.0 升级 11.2.0.4.0 并 patch 到11.2.0.4.7

    升级步骤: (1)    备份数据库 (2)    运行patchset,升级oracle 软件 (3)    准备新的ORACLE_HOME (4)    运行dbua 或者脚本升级实例 (5)   ...

  8. rac 10g 10.2.0.1升级到10.2.0.5具体解释

        RAC 10.2.0.1 升级到 10.2.0.5 一. 准备: Patch 包:p8202632_10205_LINUX.zip   节点数:3个节点       RAC1    RAC2  ...

  9. Oracle数据库版本10.2.0.1升级到10.2.0.3(转)

    Oracle数据库版本10.2.0.1升级到10.2.0.3 1.停止OEM/isqlplus/监听/DB实例 $ emctl stop dbconsole $ isqlplusctl stop $ ...

随机推荐

  1. [Bzoj4722]由乃(线段树好题)(倍增处理模数小快速幂)

    4722: 由乃 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 360  Solved: 131[Submit][Status][Discuss] D ...

  2. 解决idea中启动tomcat出现控制台乱码问题

    尝试了很多方法,最后终于解决了,现在提供给大家一个我认为最简单也最有效的方案. 1.修改配置文件 找到idea的安装目录,在bin文件夹下找到以下两个文件,用记事本或者其他软件打开: 然后两个文件中都 ...

  3. 转 常见hash算法的原理

    散列表,它是基于快速存取的角度设计的,也是一种典型的“空间换时间”的做法.顾名思义,该数据结构可以理解为一个线性表,但是其中的元素不是紧密排列的,而是可能存在空隙. 散列表(Hash table,也叫 ...

  4. java验证身份证号码是否有效源代码

    原文:http://www.open-open.com/code/view/1420373343171 1.描述 用java语言判断身份证号码是否有效,地区码.出身年月.校验码等验证算法 2.源代码 ...

  5. 【转载】《Unix网络编程》思维导图

    参考这篇文章,很不错: http://www.cnblogs.com/qiaoconglovelife/p/5734768.html

  6. hdoj 2046 骨牌铺方格 【DP】+【斐波那契】

    dp果然不是好学的... 第n个,即2*n时,可由第n-1个的竖直排列再加一个,和第n-2个中横着排两个 所以f(n) = 1×f(n-1) + 1×f(n-2): 骨牌铺方格 Time Limit: ...

  7. Eclipse:Some sites could not be found. See the error log for more detail.解决的方法

    今天遇到了一个奇葩的问题.我把我的sdk tools的版本号升级到23后.我在eclipse中尝试升级ADT,发现了这么一个问题,以下分析下原因: 当我在eclipse中选择Help-->Che ...

  8. 【JAVA】java中Future、FutureTask的使用

    如今的系统基本都是分布式的,各个系统各司其职的,不可能一个系统干了全部系统的事. 所以系统之间的交互就越来越多了.那么系统之间的交互仅仅有通过网络来交互了,而网络必定会存在延时的情况. 比方A系统的一 ...

  9. Makefile详解 (转--不错就是有点长)

    概述 —— 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和 professional的程序员,make ...

  10. Android-shareSDK

    1.当数据: 地址:http://sharesdk.mob.com/Download 2.集成数据: DOS命令: java -jar QuickIntegrater.jar    (输入自己的项目名 ...