Oracle升级前备份和失败回退

一、升级前备份

1、软件备份
[[email protected] backup]# su - oracle
 
[[email protected] ~]$ cd $ORACLE_HOME
[[email protected] db_1]$ pwd
/db/oracle/oracle/product/10.2.0/db_1
[[email protected] db_1]$ tar -cvzf ora_home.tar.gz ./

软件升级主要是对ORACLE_HOME下的文件进行修改,先对其打tar包。
 
2、数据文件备份
需要备份的文件主要是spfile、controlfile、datafile,如果是采取的冷备份方式直接cp的方式备份数据文件所在的目录即可,而如果是热备,则需要备份controlfile和datafile以及备份的control中未完全记录的archivelog。
RMAN> run{
2> allocate channel disk1 type disk;
3> delete obsolete;
4> crosscheck backup;
5> delete expired backup;
6> backup database format ‘/backup/db_%d_%T_%s‘
7> plus archivelog delete all input format ‘/backup/arch_%d_%T_%s‘;
8> backup current controlfile format ‘/backup/ctl_%d_%T_%s‘;
9> release channel disk1;
10> }
上述是自己经常用的全备份脚本。
 
接下来正常关闭数据库,此时buffer cache中的数据已经全部sync到disk中去,接下来可以放心的升级了!
RMAN> shutdown immediate;
升级软件前请先关闭所有使用ORACLE_HOME下面的对象的进程,不然后续可能无法正常打patch。
这里也可以利用oracle 10R2中的restore point功能来实现升级,由于生产库一般是不开启flashback database。
SQL>shutdown immediate;
SQL>startup mount;
SQL>create restore point upgrade guarantee flashback database;
这里创建一个restore point upgrade,而后如果升级失效可以直接回退这个点,这样也就不需要备份数据文件和控制文件了,restore point是记录在控制文件中,而后相应的记录改变都会记录在闪回区中,所以需要保证闪回恢复区的容量足够大,相对于rman的恢复更节省了时间(不需要restore数据文件)。

二、回退过程(to 11.2.0.2)
1、关闭RAC所有节点的实例
2、在所有节点上关闭数据库实例,并在一个节点上启动数据库到mount模式进行闪回。
$ sqlplus / as sysdba
SQL> startup mount;
SQL> SELECT NAME, SCN, TIME, DATABASE_INCARNATION#, GUARANTEE_FLASHBACK_DATABASE, STORAGE_SIZE  FROM V$RESTORE_POINT WHERE GUARANTEE_FLASHBACK_DATABASE=‘YES‘;
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --- ------------
  NAME                                                 SCN                             TIME                        DATABASE_INCARNATION#  GUA STORAGE_SIZE
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ --- -----------
UPGRADE_ROLLBACK                  1227989   31-MAR-12 10.21.06.000000000 AM       1                                       YES               910868480  
                
SQL> flashback database to restore point UPGRADE_ROLLBACK;
Flashback complete.

SQL> alter database open resetlogs;
Database altered.

时间: 2024-12-28 01:40:08

Oracle升级前备份和失败回退的相关文章

oracle数据库的备份及升级

以oracle用户登陆数据库所在的服务器,例如家目录为/home./oracle.执行以下命令进行备份操作. sqlplus /nolog connect /as sysdba sql>createdirectory dump_bx as '指定一个存放dmp文件的目录'; sql>grantread,write on directory dump_bx to  boss数据库的用户名称 ; sql>exit oracle>expdp boss数据库的用户名称/密码 directo

ORACLE升级PSU&OJVM遇到问题

[环境介绍] 系统环境:Solaris + Oracle 11R2 + OGG + 脚本定时任务统计信息收集 [背景描述] 基于集团的安全检查,需要对数据库版本进行漏洞扫描,漏洞扫描中存在RBDMS和JVM类型的漏洞,需要通过升级小版本的PSU和OJVM来修复漏洞.下面大概说明一下升级的注意部分和出现问题的解决. [问题处理] 升级时一般在晚上操作,在升级数据库前注意的问题(由于脚本较多,这里贴脚本,如果有需要脚本可以留言): 提前进行数据库软件备份(可排除aud小文件,备份小文件多导致备份时间

Oracle每天自动备份脚本

因为需要最近写了一个适用于Oracle上的备份脚本,Oracle的数据备份不像MySQL一样直接使用二进制工具就可以备份,在Oracle上进行数据备份需要 做好相应的配置,在配置好后才能进行正常的数据备份脚本,所以在Oracle备份数据前需要做一些配置. 首先,因为Oracle的11g开始的特性,空表不会分配表空间所以在备份脚本中我使用了expdp工具来进行数据备份,在备份开始之前需要先把Oracle的数据泵导出目录用DBA账户先做好指定并且授权读写,再修改目录的属组,操作很简单,就是一些exp

Oracle基础 数据库备份和恢复

原文:Oracle基础 数据库备份和恢复 一.为什么需要数据备份 造成数据丢失的主要原因: 1.介质故障. 2.用户的错误操作. 3.服务器的彻底崩溃. 4.计算机病毒. 5.不可预料的因素. Oracle中故障类型分为以下4种. 1.语句故障: 执行SQL语句过程发生的逻辑故障可导致语句故障.如果用户编写的SQL语句无效,就会发生语句故障.Oracle可自我修复语句故障,撤销语句产生的而印象,并将控制权交给应用程序. 2.用户进程故障 当用户程序出错而无法访问Oracle数据库时,就会发生用户

Oracle升级_oracle 10g版本由 10.2.0.1.0升级为10.2.0.4.0(即CPU升级)

CPU升级_ oracle 10g版本由 10.2.0.1.0升级为10.2.0.4.0 ***********************************************声明************************************************ 原创作品,出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明出处(http://blog.csdn.net/huangyanlong). 表述有错误之处,请您留言,不胜感激. 提醒:点击目录,更有

Oracle 升级的必要性

一.Oracle 历史 Oracle database 作为Oracle 公司的商业产品,凭借其稳定性和运行高效占据了全球三成以上的市场.并且主要是金融.政府等领域. Oracle 数据库拥有近40年的历史: λ 1979年 数据库最初的项目代码(开发人员命名为Oracle). λ 1983年 发布了第三版(由C语言重新编写的第一版) λ 1984年 第四版发布,稳定性得到增强. λ 1985年 5.0版发布,是Oracle 历史上第一个稳定版本,并属于第一批C/S模式运行的RDBMS数据库,但

Oracle简单的备份和恢复-导出和导入(2)

ylbtech-Oracle:Oracle简单的备份和恢复-导出和导入(2) 简单的备份和恢复-导出和导入(2) 1. 用户导入导出文件中的一张表(emp)返回顶部 0.1, 我们在sql plus中删除掉一张表emp,把dept表的记录删空. drop table emp; delete from dept; 之后我们先利用刚才导出的mytable.dmp导入emp表.具体导入步骤如下: 1.在命令行下输入imp命令. 2.系统首先提示我们输入用户名和密码,在这里我们可以用scott/tige

Oracle升级_oracle 10g版本由 10.2.0.4.0升级为10.2.0.4.4(即PSU升级)

***************************************************************************************************** 续借上篇:Oracle升级_oracle 10g版本由 10.2.0.1.0升级为10.2.0.4.0(即CPU升级) ***********************************************声明***************************************

Oracle数据库的备份方法

1.引言 Oracle数据库的备份方法很多,无论使用那种备份方法,备份的目的都是为了在出现故障后能够以尽可能小的时间和代价恢复系统.比如使用export实用程序导出数据库对象.使用Oracle备份数据库.使用Oracle对称复制.使用Oracle并行服务器.使用Oracle冷备份.使用Oracle热备份等各种备份方法都有其优缺点.适用的场合和相应的软硬件要求.本文主要就用export实用程序导出数据库对象.Oracle冷备份.Oracle热备份这三种最基本的备份方法进行详细的探讨,分析各自的优缺