Oracle升级前备份和失败回退

简介:
一、升级前备份
1、软件备份
[root@localhost backup]# su - oracle
 
[oracle@localhost ~]$ cd $ORACLE_HOME
[oracle@localhost db_1]$ pwd
/db/oracle/oracle/product/10.2.0/db_1
[oracle@localhost 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.


本文转自 张冲andy 博客园博客,原文链接:http://www.cnblogs.com/andy6/p/6158746.html    ,如需转载请自行联系原作者

相关文章
|
6月前
|
Oracle 关系型数据库 数据库
9-2 Oracle数据库(表)的逻辑备份与恢复 --导出与导入
9-2 Oracle数据库(表)的逻辑备份与恢复 --导出与导入
|
3月前
|
SQL 存储 Oracle
oracle如何定期备份数据库sql文件
【1月更文挑战第7天】oracle如何定期备份数据库sql文件
58 8
|
8月前
|
Oracle 关系型数据库 数据库
通过数据泵expdp、impdp方式备份与还原(导出与导入)Oracle数据库
通过数据泵expdp、impdp方式备份与还原(导出与导入)Oracle数据库
|
Oracle 关系型数据库 5G
Oracle 12C rman备份占用大量临时表空间
Oracle 12C rman备份占用大量临时表空间
388 0
|
11月前
|
存储 SQL 监控
Oracle BCT(Block Change Tracking)与增量备份---发表在数据和云
BCT(Block Change Tracking)是Oracle从10g开始有的特性。BCT的原理是记录数据文件里每个数据块的变化,并把这些变化信息保存在BCT的跟踪文件中。
305 0
|
11月前
|
SQL Oracle 安全
Virtualbox安装Oracle 19c 升级到19.8(Oracle Restart和数据库)完整步骤
这个文档是来自鼎甲科技的姚远工作中整理的,在Virtualbox上安装Oracle 19.3 再升级到19.8(Oracle Restart和数据库)完整步骤,包括:配置系统环境,安装grid,oracle,建库,补丁下载升级等全过程。
574 0
|
11月前
|
SQL Oracle 关系型数据库
Oracle 19c 补丁升级引发的单表恢复失败谜案
问题表现 某客户在恢复 Oracle 数据库的单表时,提示类似下面的信息
|
11月前
|
SQL Oracle 关系型数据库
|
11月前
|
Oracle 关系型数据库 内存技术
|
11月前
|
Oracle 关系型数据库 Linux
Oracle自动备份脚本(Linux)
Oracle自动备份脚本(Linux)
97 0

推荐镜像

更多