--Oracle数据库工作的2种模式
1.Archivelog               --归档模式
2.Noarchivelog             --非归档模式
Select * From v$log   --3组循环使用的日志,循环一圈,对将要覆盖的进行保留的,是归档模式,不保留的就是非归档模式
Select * From V$LOGFILE --日志文件
Archive Log List        --查看归档信息
/*
数据库日志模式             非存档模式
自动存档             禁用
存档终点            USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列     21
当前日志序列           23
*/
将sqlplus输出改成英文
Alter Session Set nls_language=american;
/*
Database log mode              No Archive Mode
Automatic archival             Disabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     21
Current log sequence           23
*/
--启用归档,必须在mount阶段
Shutdown Immediate
startup Mount
Alter Database Archivelog;
Alter Database Open;
show parameter DB_RECOVERY_FILE_DEST  --查看归档文件存放的地址 --C:\oracle\product\10.2.0\flash_recovery_area
Create Table t Tablespace users As Select * From dba_objects
Insert Into t  Select * From t  --不断插入,让日志变更使用的组 v$log  --生成了archivelog日志C:\oracle\product\10.2.0\flash_recovery_area\TESTDB\ARCHIVELOG\2014_01_24\O1_MF_1_23_9G473HWS_.ARC
Alter System Switch Logfile;   --强制切换日志状态,使其归档(非归档模式只切换不归档) O1_MF_1_24_9G479VNJ_.ARC
Alter System Archive Log Current; --手动归档当前日志组,并切换(只能在归档模式使用)  O1_MF_1_25_9G47HNBQ_.ARC

--**************
Scn: System Change Number  --系统更改号,ORACLE内部的逻辑时钟
--**************
Select dbms_flashback.get_system_change_number From dual;  --查询当前SCN 608165 大约每隔3s加1
Select current_scn From v$database;                        --查询视图获得SCN,这里是个序列,每次查询都会增加 608233

Create Table t_scn (Id Number,Scn Number);
Set linesize 200
Select * From v$log  --当前第二组日志
Insert Into t_scn Values(1,dbms_flashback.get_system_change_number); --插入信息1 608386,commit后产生归档日志 
Select * From t_scn
Alter System Switch Logfile;  --手动归档 O1_MF_1_26_9G483WTV_.ARC
Select Sequence#,first_change#,next_change# From v$archived_log  --查询归档日志的开始和下一文件的开始SCN  26 608058 608484
Insert Into t_scn Values(2,dbms_flashback.get_system_change_number); --插入信息2 609320
Alter System Switch Logfile;  --手动归档 O1_MF_1_27_9G48GCGN_.ARC
Select Sequence#,first_change#,next_change# From v$archived_log Where Sequence# = 27 --查询归档日志的开始和结束SCN 27 608484 609354

--**************************************************************
ORACLE备份的种类
--**************************************************************
1.完全脱机备份(Archivelog|Noarchivelog)
--**************************************************************
a.Shutdown Immediate
b.备份数据文件,日志文件,控制文件 --拷贝
c.startup

Insert Into t_scn Values(3,dbms_flashback.get_system_change_number); --插入信息3 610263
Alter System Switch Logfile;  --手动归档 O1_MF_1_28_9G49F4RF_.ARC
Insert Into t_scn Values(4,dbms_flashback.get_system_change_number); --插入信息4 611165
Alter System Switch Logfile;  --手动归档 O1_MF_1_29_9G49LR8S_.ARC
Insert Into t_scn Values(5,dbms_flashback.get_system_change_number); --插入信息5 611210
Alter System Switch Logfile;  --手动归档 O1_MF_1_30_9G49NG3W_.ARC
Insert Into t_scn Values(6,dbms_flashback.get_system_change_number); --插入信息6 611345 commit
Insert Into t_scn Values(7,dbms_flashback.get_system_change_number); --插入信息7 611365 未commit

Shutdown Immediate
删除所有数据文件 *.DBF
startup Mount
SQL> Alter database Open  
/*--报错ORA-01157: 无法标识/锁定数据文件 1 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 1: 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\SYSTEM01.DBF'*/
SQL> Select File#,checkpoint_change# From v$datafile;   --这里查询的是控制文件记录的文件编号和SCN

FILE# CHECKPOINT_CHANGE#
---------- ------------------
         1             612272
         2             612272
         3             612272
         4             612272
         5             612272
         6             612272
         7             612272
SQL> Select File#,checkpoint_change# From v$datafile_header;   --这里查询的是文件头的文件编号和SCN

FILE# CHECKPOINT_CHANGE#
---------- ------------------
         1                  0
         2                  0
         3                  0
         4                  0
         5                  0
         6                  0
         7             612272
--2个视图的SCN信息不一致,无法打开(一致的文件是UNDOTBS02.DBF未删除)
--将完全脱机备份的SYSTEM01.DBF文件复制出来
SQL> Select File#,checkpoint_change# From v$datafile_header;

FILE# CHECKPOINT_CHANGE#
---------- ------------------
         1             609768
         2                  0
         3                  0
         4                  0
         5                  0
         6                  0
         7             612272
复制出来后SYSTEM01.DBF的SCN仍然不一致
SQL> Alter database Open   --报错 ORA-01113: 文件 1 需要介质恢复
--*此处需要从archivelog中恢复SCN比 609768 大的日志
Select Sequence#,first_change#,next_change# From v$archived_log  Where first_change# <=609768 And next_change# >= 609768  --查询当前system01.DBF信息是哪个归档日志中的 28号
Recover Datafile 1;
ORA-00279: 更改 609768 (在 01/24/2014 16:22:33 生成) 对于线程 1 是必需的
ORA-00289: 建议:
C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\ARCHIVELOG\2014_01_24\O1_MF_
1_28_%U_.ARC
ORA-00280: 更改 609768 (用于线程 1) 在序列 #28 中

指定日志: {=suggested | filename | AUTO | CANCEL}   --filename 当归档日志不在默认文件夹时,需要将文件的绝对路径和文件名写全
=>回车
已应用的日志。
完成介质恢复。    --恢复完#28归档日志文件后,没有继续提示29,30,并且恢复的scn比29和30的最大SCN还要大,是由于29和30虽然归档了,但仍然存在于数据库中,所以直接调用数据库的logfile,连未归档的#31都会被调用

--同时恢复多个datafile的命令
Recover Database;
--缺点 a.shutdown b.os copy
--************************************************************************
2.部分脱机备份(Tablespace Offline)(Archivelog)
--************************************************************************
Alter Tablespace users Offline;
select * from b.t;   --用户 B 默认表空间USERS,表B.T数据存放在users表空间中
/*第 1 行出现错误:
ORA-00376: 此时无法读取文件 4
ORA-01110: 数据文件 4: 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\USERS01.DBF'*/
备份USERS01.DBF
Alter Tablespace users Online;
--插入数据,产生归档日志
Alter System Switch Logfile   --O1_MF_1_48_9G68TZOL_.ARC
Insert Into b.t Values(2);
Alter System Switch Logfile   --O1_MF_1_49_9G68XYWF_.ARC
Insert Into b.t Values(3);
Alter System Switch Logfile   --O1_MF_1_50_9G68Z75Y_.ARC
Insert Into b.t Values(4);
Alter System Switch Logfile
Insert Into b.t Values(5);
Alter System Switch Logfile
Insert Into b.t Values(6);
Alter System Switch Logfile
Insert Into b.t Values(7);
Alter System Switch Logfile
Insert Into b.t Values(8);
Alter System Switch Logfile   --O1_MF_1_55_9G691F5Y_.ARC
--users表空间Offline,删除USERS01.DBF
Alter Tablespace users Offline; 
删除USERS01.DBF
Alter Tablespace users Online;
/*第 1 行出现错误:
ORA-01157: 无法标识/锁定数据文件 4 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 4: 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\USERS01.DBF'*/
将offline时的USERS01.DBF备份恢复
ALTER TABLESPACE USERS ONLINE
/*
第 1 行出现错误:
ORA-01113: 文件 4 需要介质恢复
ORA-01110: 数据文件 4: 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\USERS01.DBF'*/
SQL> RECOVER DATAFILE 4;
Auto
Alter Tablespace users Online;  --成功
SQL> select file#,checkpoint_change# from v$datafile;

FILE# CHECKPOINT_CHANGE#
---------- ------------------
         1             631457
         2             631457
         3             631457
         4             631855
         5             631457

SQL> select file#,checkpoint_change# from v$datafile_header;

FILE# CHECKPOINT_CHANGE#
---------- ------------------
         1             631457
         2             631457
         3             631457
         4             631855
         5             631457
--Datafile 4的scn号比其他的都大,当shutdown或者手动更改datafile的checkpoint(完全检查点)时才会与其他相同
Alter System Checkpoint   --手动更改datafile的checkpoint(完全检查点)
SQL> select file#,checkpoint_change# from v$datafile;

FILE# CHECKPOINT_CHANGE#
---------- ------------------
         1             631961
         2             631961
         3             631961
         4             631961
         5             631961

SQL> select file#,checkpoint_change# from v$datafile_header;

FILE# CHECKPOINT_CHANGE#
---------- ------------------
         1             631961
         2             631961
         3             631961
         4             631961
         5             631961
--缺点 a.system undo表空间不能offline 
--TEMP01.DBF文件删除可以启动数据库,但是启动后10g会自动创建一个新的20M大小
--***********************************************************************
3.部分联机备份(Archivelog)
--***********************************************************************
Alter Tablespace users Begin Backup;             --对USERS表空间进行备份
Select * From v$backup                           --查询备份文件  STATUS=ACTIVE的,代表begin backup,此时记录SCN,
Alter Tablespace users End Backup;               --完成备份后,结算backup模式,当backup状态的数据文件被同时访问时,会产生比较多的redo日志,所以备份结算后一定要及时关闭

Alter Database Begin Backup;                     --所有的表空间都处于热备份模式
Select * From v$backup    
Alter Database End Backup;                       --所有的表空间都关闭热备份模式

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15810196/viewspace-1130246/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/15810196/viewspace-1130246/

042-16 Backup and Recovery备份与恢复(前3种备份方式)相关推荐

  1. Redis学习总结(16)——Redis 集群的5种使用方式,及各自优缺点对比分析

    一.常见使用方式 Redis 的几种常见使用方式包括: Redis 单副本 Redis 多副本(主从) Redis Sentinel(哨兵) Redis Cluster Redis 自研 二.各种使用 ...

  2. [14R] win8应用小技巧之Dell Backup and Recovery使用图文详解

    大家都知道,每个电脑厂家一般预装微软正版系统的同时,一般也会内置对应的备份软件或是系统镜像分区,来帮助我们保障系统和数据的安全,或是需要的时候恢复和重装系统.在win7系统时代,dell对于预装正版系 ...

  3. Linux 第71天 mariadb backup and recovery

    Linux 第71天 mariadb backup and recovery 时间: 20181013 欢迎访问我的博客: www.winthcloud.top 目录 备份和恢复 冷备实验 lvm快照 ...

  4. Backup and Recovery Basics1

    一.Backup and Recovery Overview 1.Backup and Recovery Overview 1.1 What is Backup and Recovery? 一般,备份 ...

  5. html恢复安卓版,recovery恢复模式 进入Recovery模式前

    重启到恢复模式recovery是什么意思? 安卓手机怎么进入recovery模式恢复 进入Recovery模式前 怎样进入LG G3的Recovery恢复模式 手机关机10秒以上,确认完全关机状态下同 ...

  6. SAP HANA Backup and Recovery

    2019独角兽企业重金招聘Python工程师标准>>> SAP HANA Backup and Recovery Skip to end of metadata Created by ...

  7. B站哔哩哔哩21届秋招算法岗笔试 假设货币系统包含面值1元、4元、16元、64元共计4种硬币,以及面值1024元的纸币。现在小明使用1024元的纸币购买了一件价值为N(0<N<=1024)的商品

    哔哩哔哩21届秋招算法岗笔试 题目描述: 假设货币系统包含面值1元.4元.16元.64元共计4种硬币,以及面值1024元的纸币.现在小明使用1024元的纸币购买了一件价值为N(0<N<=1 ...

  8. 无法执行 BACKUP LOG,因为当前没有数据库备份

    1.错误描述 标题: Microsoft SQL Server Management Studio ------------------------------还原数据库"cmp" ...

  9. twrp调整分区_教你如何用TWRP RECOVERY进行系统及资料备份

    刷机最怕遇到刷完手机挂掉,其实可以在刷机前先做一个完整备份,至少刷机失败了还有的救, 不过如果是更改手机内部的档案,这方式就不一定有救,也遇过使用不明原因的改机方式, 造成使用方法还原后还是无法开机的 ...

最新文章

  1. zabbix 3.2.1 升级3.4.1
  2. extremeComponents(ec)源码分析
  3. JCO连接SAP例子
  4. java 中都有什么结构_java中都有哪些数据结构?
  5. 添加java环境变量_【安装 JDK】 配置环境变量
  6. 打开虚拟机磁盘类型无效_[图文]VMWARE虚拟机如何打开.VMDK格式的磁盘映像
  7. 20210308 20210309 :链表类题目合集
  8. nice值 linux进程,Linux进程优先级和nice值
  9. aide制作软件教程_Aide教程
  10. 【平面设计基础】03:绘制—图标到底有多重要
  11. 百宝,神烦云免费网络验证autojs实例代码
  12. 如何快速将 Linux 系统制作成 ISO 镜像文件?
  13. ubuntu18.04 安装Teamviewer15出现依赖库出错的解决办法
  14. GIS影像数据格式说明
  15. 【转】江枫:在ubuntu10.04上安装oracle 10g(学习一下)
  16. 霍尼韦尔为重庆打造智慧口岸提供技术支持
  17. CC3200——管脚的细节
  18. 什么是待办事项?日常办事项清单怎么写
  19. 计算机类专业入门知识
  20. miniui页面移动的时候透明_PPT中「透明度」功能,根本想不到还能这样用

热门文章

  1. 【Windows C++】调用powershell上传指定目录下所有文件
  2. autosar中bsw架构组成_AUTOSAR架构深度解析
  3. TMA3.0.2.5铁塔制造助手+屏幕录像专家
  4. [机缘参悟-53]:《素书》-2-俊、豪、杰[正道章第二]
  5. 秒杀系统-商品详细页多级缓存实战(一)
  6. 想要4个9?本文告诉你监控告警如何做
  7. CAN和CANFD的主要差异
  8. 《高级计算机网络》之无线传感网——大连理工大学研究生课程整理笔记(非常详细,通俗易懂)
  9. loadrunner入门教程(31) --Analysis
  10. Redis学习之zscore命令