oracle数据库恢复与备份
一、oracle数据库恢复
1.恢复刚才删除的一条数据
delete from emp e where e.empname='SMITH'
select * from flashback_transaction_query f where f.table_name='EMP'
UNDO_SQL下面的语句为刚才删除数据的相反操作,执行该语句即可恢复刚才删除的数据
在11g版本中UNDO_SQL为空值
alter database add supplemental log data
2.恢复刚更新的数据到某一时间点
update emp e set e.job='clerk'
select sysdate from dual;
查看指定时间点时的数据是否是需要恢复前的数据:
select * from emp as of timestamp to_timestamp('2013/3/30 21:10:19', 'yyyy-mm-dd hh24:mi:ss')
alter table emp enable row movement;
恢复到某一时间点:
flashback table emp to timestamp to_timestamp('2013/3/30 21:10:19', 'yyyy-mm-dd hh24:mi:ss')
3.恢复删除的表
drop table bonus
flashback table bonus to before drop
查看被删除的表:
select * from user_recyclebin u order by u.droptime desc
二、oracle数据库备份
1.数据库的RMAN备份须要在归档模式下
查看归档模式
$ sqlplus / as sysdba
SQL> archive log list
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 18
Current log sequence 20
更改归档模式
关闭数据库
SQL> shutdown immediate
启动数据库到mount状态
SQL> startup mount
更改为归档模式(noarchivelog为非归档模式)
SQL> alter database archivelog;
再次查看是否为归模式
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 18
Next log sequence to archive 20
Current log sequence 20
进入RMAN
$ rman target/
查看默认设置
RMAN> show all;
using target database control file instead of recovery catalog
RMAN configuration parameters for database with db_unique_name ORCL are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/app/oracle/product/11.1.0/db_1/dbs/snapcf_ixdba.f'; # default
其中CONFIGURE CONTROLFILE AUTOBACKUP OFF;即默认不备份控制文件,需要修改为默认备份控制文件
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP on;
数据库全库备份
RMAN> backup database;
查看备份的相关信息
RMAN> list backup;
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
1 Full 1006.31M DISK 00:08:09 31-AUG-13
BP Key: 1 Status: AVAILABLE Compressed: NO Tag: TAG20130831T025434
Piece Name: /app/oracle/flash_recovery_area/ORCL/backupset/2013_08_31/o1_mf_nnndf_TAG20130831T025434_923hbw6f_.bkp
List of Datafiles in backup set 1
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
1 Full 1037059 31-AUG-13 /app/oracle/oradata/orcl/system01.dbf
2 Full 1037059 31-AUG-13 /app/oracle/oradata/orcl/sysaux01.dbf
3 Full 1037059 31-AUG-13 /app/oracle/oradata/orcl/undotbs01.dbf
4 Full 1037059 31-AUG-13 /app/oracle/oradata/orcl/users01.dbf
5 Full 1037059 31-AUG-13 /app/oracle/oradata/orcl/bank_data01.dbf
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
2 Full 9.33M DISK 00:00:04 31-AUG-13
BP Key: 2 Status: AVAILABLE Compressed: NO Tag: TAG20130831T030251
Piece Name: /app/oracle/flash_recovery_area/ORCL/autobackup/2013_08_31/o1_mf_n_824870625_923htgw8_.bkp
Control File Included: Ckp SCN: 1037059 Ckp time: 31-AUG-13
三、oracle数据库全库恢复
数据库启动过程
找到初始化spfile或pfile,处于nomount状态;
根据初始化文件找到控制文件Contral File,处于mount状态;
根据控制文件找到数据文件Data File、重做日志文件Redo File,处于open状态;
恢复数据库的前提是Oracle数据库的初始化spfile文件、控制文件、重做日志、归档日志、备份都可以正常使用
恢复原则:根据丢失的文件情况,启动数据库到相应状态,然后通过RMAN恢复相应文件,再将数据库启动到下一状态
查看是否有备份
RMAN> list backup summary;
1.仅丢失数据文件情况
删除数据文件
# rm -rf *.dbf
启动数据库
SQL> startup
ORACLE instance started.
Total System Global Area 527290368 bytes
Fixed Size 1337660 bytes
Variable Size 318768836 bytes
Database Buffers 201326592 bytes
Redo Buffers 5857280 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 1 - see DBWR trace file
ORA-01110: data file 1: '/app/oracle/oradata/orcl/system01.dbf'
进入RMAN
$ rman target/
恢复数据文件
RMAN> restore database;
Starting restore at 31-AUG-13
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=20 device type=DISK
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to /app/oracle/oradata/orcl/system01.dbf
channel ORA_DISK_1: restoring datafile 00002 to /app/oracle/oradata/orcl/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00003 to /app/oracle/oradata/orcl/undotbs01.dbf
channel ORA_DISK_1: restoring datafile 00004 to /app/oracle/oradata/orcl/users01.dbf
channel ORA_DISK_1: restoring datafile 00005 to /app/oracle/oradata/orcl/bank_data01.dbf
channel ORA_DISK_1: reading from backup piece /app/oracle/flash_recovery_area/ORCL/backupset/2013_08_31/o1_mf_nnndf_TAG20130831T025434_923hbw6f_.bkp
channel ORA_DISK_1: piece handle=/app/oracle/flash_recovery_area/ORCL/backupset/2013_08_31/o1_mf_nnndf_TAG20130831T025434_923hbw6f_.bkp tag=TAG20130831T025434
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:05:58
Finished restore at 31-AUG-13
RMAN> recover database;
Starting recover at 31-AUG-13
using channel ORA_DISK_1
starting media recovery
media recovery complete, elapsed time: 00:00:07
Finished recover at 31-AUG-13
进入SQL将状态改为open即恢复成功
SQL> alter database open;
2.丢失重做日志文件
# rm -rf *.log
SQL> recover database until cancel;
SQL> alter database open resetlogs;
3.丢失控制文件、重做日志文件、数据文件
RMAN> restore controlfile from autobackup;
RMAN> alter database mount;
RMAN> restore database;
SQL> recover database using backup controfile until cancel;
SQL> alter database open resetlogs;
4.初始化文件也丢失的情况
SQL> startup fpile='/app/oracle/admin/orcl/pfile/init.ora.2220136918';
RMAN> restore spfile from autobackup;
SQL> startup nomount;
其余步骤同丢失控制文件
oracle数据库恢复与备份的更多相关文章
- 重装系统后ORACLE数据库恢复的方法
如果我们的操作系统出现问题,重装系统后,ORACLE数据库应该如何恢复呢?下文就为您列举了两个重装系统后ORACLE数据库恢复的方法,供您参考. ORACLE数据库恢复的方法我们经常会用到,下面就为您 ...
- DBF 文件 ORACLE 数据库恢复
DBF 文件 ORACLE 数据库恢复 清·魏源<庸易通义>:"至道问学之有知无行,分温故为存心,知新为致知,而敦厚为存心,崇礼为致知,此皆百密一疏." 起因 在我们的 ...
- Windows环境下Oracle数据库的自动备份脚本
批处理文件(.bat) @echo off echo ================================================ echo Windows环境下Oracle数据 ...
- Oracle数据库的自动备份脚本
@echo off echo ================================================ echo Windows环境下Oracle数据库的自动备份脚本 echo ...
- Windows环境下Oracle数据库的自动备份脚本自动删除30天前的备份
@echo off echo ================================================ echo Windows环境下Oracle数据库的自动备份脚本 echo ...
- 测试oracle数据库的脱机备份和恢复
环境:windows7.Oracle11g 一.脱机备份 脱机备份是指在数据库关闭情况下的数据备份,也称为冷备份. 在书上学到的备份步骤: 1.记录所要备份数据库文件所在的操作系统路径: 2.关闭数据 ...
- Oracle数据库表的备份和数据表的删除操作
--Oracle数据库中的表备份: --备份语句:在备份之后就可以将这张表的所有数据源删除了,但是之后有人对这张表的数据进行操作,但是在操作完成之后要记得将数据表恢复 CREATE TABLE DZH ...
- Oracle数据库三种备份方案
Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP).热备份和冷备份.导出备件是一种逻辑备份,冷备份和热备份是物理备份. 一. 导出/导入(Export/Import) 利用 ...
- mysql数据库及oracle数据库的定时备份
一.oracle数据库备份bat文件 @echo off md "%date:~0,10%" cd "%date:~0,10%" echo exp 用户名/密码 ...
随机推荐
- 积累的VC编程小技巧之视图
1.如何得到视图指针 [问题提出] 现在你有一个多线程的Demo,你想在多线程里处理视图指针里的函数,我们给这个函数起个名字:Put();该如何实现呢? //有两种方法可以实现你的要求: ...
- Delphi代码中嵌入ASM代码(简单明了)
前言 Delphi作为一个快速高效的开发平台,使用的人越来越多,但熟悉在Delphi代码中嵌入ASM代码的程序员我想不多,因为这方面的资料太少了,另一方面,它还需要有基本的汇编语言知识,关於汇编语言的 ...
- ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程(转)
环境:OS X 10.10.5 + JDK 1.8 步骤: 一.下载ELK的三大组件 Elasticsearch下载地址: https://www.elastic.co/downloads/elast ...
- Mysql 官方Memcached 插件初步试用感受 - schweigen - ITeye技术网站
Mysql 官方Memcached 插件初步试用感受 - schweigen - ITeye技术网站 Mysql 官方Memcached 插件初步试用感受
- iotop 分析系统那些进程占用io资源
iotop -b -o -t -qqq >> /tmp/iotop.log 1.直接yum安装,rh6的光盘里有包. yum install iotop 2.命令参数介绍 -o ...
- Linux目录结构和常用命令
源地址:http://www.cnblogs.com/JCSU/articles/2770249.html 一.Linux目录结构 你想知道为什么某些程序位于/bin下,或者/sbin,或者/usr/ ...
- PageHeap,调试Heap问题的工具
<Windows用户态程序高效排错>第二章主要介绍用户态调试相关的知识和工具.本文主要讲了PageHeap,调试Heap问题的工具. AD:51CTO学院:IT精品课程在线看! 2.4.2 ...
- Android性能优化---布局优化
我们从事Android开发编写布局的时候大多数是使用XML来布局,这给我们带来了方便性,这样操作可以布局界面的代码和逻辑控制的Java代码分离出来,使程序的结构更加清晰.明了.特别的复杂的布局,但是这 ...
- 【智能家居篇】wifi网络接入原理(上)——扫描Scanning
转载请注明出处:http://blog.csdn.net/Righthek 谢谢! 对于低头党来说,在使用WIFI功能时,常常性的操作是打开手机上的WIFI设备,搜索到心目中的热点,输入passwor ...
- TI推出SimpleLink低能耗蓝牙CC2541
TI推出SimpleLink低能耗蓝牙CC2541 日前,德州仪器 (TI) 宣布推出 SimpleLink™ 低能耗蓝牙 (Bluetooth®Low Energy) CC2541-Q1, 这是一款 ...