Oracle11.2.0.1如何升级到11.2.0.3 Oracle同版本升级
作者:wn1m 发布时间:2023-06-25 15:28:11
Oracle数据库升级也并非简单的事,这篇文章对Oracle那点事做了较详细的介绍:Oracle数据库升级或数据迁移方法研究
我还属于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, 这个是我们的示例文件安装包。
<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


猜你喜欢
- 数据集介绍《悲惨世界》中的人物关系图,图中共77个节点、254条边。数据集截图:打开README文件:Les Misérables netw
- 前言众所周知字典(dict)对象是 Python 最常用的数据结构,社区曾有人开玩笑地说:"Python企图用字典装载整个世界&q
- 本文实例讲述了VB.NET调用MySQL存储过程并获得返回值的方法。分享给大家供大家参考。具体实现方法如下:Dim myConnection
- 什么是索引 拿汉语字典的目录页(索引)打比方:正如汉语字典中的汉字按页存放一样,SQL Server中的数据记录也是按页存放的,每页容量一般
- MySQL—触发器将两个关联的操作步骤写到程序里面,并且要用事务包裹起来,确保两个操作称为一个原子操作,要么全部执行,要
- 一、mediapipe是什么?mediapipe官网二、使用步骤1.引入库代码如下:import cv2from mediapipe imp
- 本文实例讲述了python输出指定月份日历的方法。分享给大家供大家参考。具体实现方法如下:#!/usr/bin/pythonimport c
- 当需要再次安装SQL Server时,如果序列号找不到了,可以试着从已经安装的实例里找回序列号,因为安装完SQL Server后,序列号(P
- 问题描述:1、(先添加时间戳,再复制移动,两个文件加下面的文件名都被修改)将 /home/kangle/webdata/JPEGImages
- 1. 引言山脊图一般由垂直堆叠的折线图组成,这些折线图中的折线区域间彼此重叠,此外它们还共享相同的x轴.山脊图经常以一种相对不常见且非常适合
- 一.图像加法运算1.Numpy库加法其运算方法是:目标图像 = 图像1 + 图像2,运算结果进行取模运算。当像素值<=255时,结果为
- 1、打开指定的网页地址我们使用selenium进行自动化测试时,打开浏览器之后,第一步就是让浏览器访问我们指定的地址,可使用get方法实现f
- function clickButton(id) { &n
- Vue添加全局store在命令行中输入安装npm install --save vuex在main.js文件中引用store和在new Vu
- 在之前只知道SqlServer支持数据批量插入,殊不知道Oracle、SQLite和MySql也是支持的,不过Oracle需要使用Orace
- 什么是RC4算法呢?也许您还不知道,没关系我为您找了下相关资料方便大家查看;RC4加密算法 RC4加密算法是大名鼎鼎的RSA三人组
- 本文实例讲述了PHP中PDO事务处理操作。分享给大家供大家参考,具体如下:概要:将多条sql操作(增删改)作为一个操作单元,要么都成功,要么
- 一 简介python-mysql-replication 是基于python实现的 MySQL复制协议工具,我们可以用它来解析binlog
- 引言当我们想到“pythonic”时,理解,如列表和字典理解是 Python 的一个特性。这是我们执
- 前言学习Python中,总想做个图形界面,找来找去,找到了tkinter。练习内容:图形界面中,点击按钮后,利用弹出对话框选择文件(或文件夹