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. 最长不下降子序列 (O(nlogn)算法)

    分析: 定义状态dp[i]表示长度为i的最长不下降子序列最大的那个数. 每次进来一个数直接找到dp数组第一个大于于它的数dp[x],并把dp[x - 1]修改成 那个数.就可以了 AC代码: # in ...

  2. zookeeper客户端

    查看具体结点信息 bash zkServer.sh status 查看哪个结点被选作leader或者followerecho stat|nc 127.0.0.1 2181 测试是否启动了该Server ...

  3. Office WORD如何输入长下划线

    选中一段文字,点击下划线按钮,可以添加下划线   同样,选中一段空格,点下划线,也可以添加下划线    

  4. vs2010下配置CUDA出现kernel launch failed问题,内核无效

    首先, 推荐一篇不错的配置文档~手把手教你 CUDA 5.5与VS2010编译环境的搭建.笔者就是在这篇文章的指导下成功地在VS2010上搭建了CUDA 6.5~ 其次. 文末给出的执行演示样例不好使 ...

  5. struts2的文件上传机制

    Struts2的上传(基本流程例如以下) 1.Struts2默认採用了apache commons-fileupload 2.Struts2支持三种类型的上传组件 3.须要引入commons-file ...

  6. POJ 1936 All in All(串)

    All in All Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 27537 Accepted: 11274 Descript ...

  7. Android之弹出多级菜单

    使用布局文件创建菜单:(多级菜单) 在res下创建目录menu(假设已经有啦就不用再创建了) 在该menu目录下创建XML文件这里我把文件名称命名为menu 在创建的menu.XML文件里 写入: & ...

  8. Mac下Git项目使用的.gitignore文件

    https://www.gitignore.io/ 这个网站可以搜索特定项目.系统所需要的.gitignore 我现在主要是在Mac上用Visual Studio Code进行开发,所以直接搜索Mac ...

  9. 解决Install failed uid changed

    出现此问题的原因大多是apk冲突造成,解决的办法如下: 将apk相关文件和相关内容删除 (1) 将手机root,Window上装root大师等工具root成功率较高 (2) 删除可能相关的文件:/da ...

  10. c中常用的关键字static const volatile

    在C语言中,关键字static有三个明显的作用:1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变.2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数 ...