1.冷备份(执行冷备份前必须关闭数据库)
物理备份(备份物理数据库文件)
2.热备份(热备份是当数据库正在运行时进行数据备份的过程。执行热备份的前提是:数据库运行在可归档日志模式。适用于24X7不间断运行的关键应用系统)
冷备份数据库的步骤
(1)关闭数据库;
(2)备份所有相关的数据库文件:初始化参数文件、控制文件(可用select name from v$controlfile;列出所有控制文件)、数据文件(可用select name from v$datafile;列出所有数据文件)、Redo日志(可用select member from v$logfile;列出所有redo日志文件)、归档的Redo日志(可用select sequence#,first_time from v$loghist;列出所有归档redo日志文件的顺序号和产生时间)。
冷备份数据库的脚本文件coldbackup.bat
热备份数据库的前提条件:数据库运行在归档模式
Oracle数据库安装默认运行在非归档模式
从非归档模式转换为归档模式(
(1)设置数据库自动归档
log_archive_start = true
# 设置归档日志文件的目录,该目录必须事先已建立,并有大量可利用的空间
log_archive_dest_1="location=%oracle_base%\ oradata\%oracle_sid%\archive"
# 设置归档日志文件名的格式。%s表示顺序号,%t表示线程号。
log_archive_format = "%oracle_sid%%T%S.ARC"
(2)在sqlplus上运行以下命令
sqlplus>;connect sys/qazwsx as sysdba
sqlplus>;shutdown immediate;
sqlplus>;startup mount exclusive;
sqlplus>;alter database archivelog;
sqlplus>;alter database open;
sqlplus>;shutdown immediate;
(3)执行数据库冷备份
当数据库运行在归档模式下,数据库恢复过程要求使用冷备份时,归档日志是必需的。
(4)正常启动数据库,并确认数据库运行在归档模式
sqlplus >; startup;
sqlplus >; select * from v$database; 其log_mode会显示数据库是否归档模式
sqlplus >; archive log list; 也会显示数据库是否归档模式
如果Oracle数据库运行在归档模式,当进行数据库维护时,可能需要暂停数据库的归档,在完成维护后,再重新启动归档模式。通过以下步骤可以从归档模式转换为非归档模式:
sqlplus>;connect sys/qazwsx as sysdba
sqlplus>;shutdown immediate;
sqlplus>;startup mount exclusive;
sqlplus>;alter database noarchivelog;
sqlplus>;alter database open;
sqlplus >; select * from v$database; 其log_mode会显示数据库是否归档模式
sqlplus >; archive log list; 也会显示数据库是否归档模式 )
逻辑备份(备份的数据库对象) export
优点:能执行对象或者行恢复。备份和恢复速度更快。能够跨操作系统平台迁移数据库。数据库可一直运行。
缺点:export并不是冷备份和热备份的替代工具。冷、热备份可保护介质失效。export备份可保护用户或应用错误。
Oracle数据库的redo日志记录在数据库上进行的所有活动。LGWR(Log Writer)后台进程以一种循环方式写这些日志文件,从第一个redo日志到下一个,直到该组的最后一个,然后又从第一个日志写起。
在非归档模式下,当循环写到最后一个日志文件后,就重写第一个日志。因此,非归档模式下唯一的数据库恢复办法就是使用冷备份。
在归档模式下,当redo日志满时,一个ARCH(归档程序 ARCn)后台进程就读取全部redo日志,然后将其写到归档日志。因此,可以使用热备份和点恢复。在归档日志模式下,如果归档日志目的空间已满,数据库活动将暂时停止,只有释放一些空间后,数据库才能继续运行。通常background_dump_destination将产生一个跟踪文件来显示归档方面的问题。
各种备份策略的自动执行方法
不管是冷备份、热备份,还是export备份;不管是unix平台,还是windows平台,都可以利用at命令来定时、自动执行上述备份策略。AT 命令安排在特定日期和时间运行命令和程序,在windows nt平台上必须首先运行调度服务(schedule),才能使用at命令。
1.在Oracle数据库中,有一种日志文件叫做重做日志文件,他就是大家俗称的:redolog。在redolog中又分为两种:在线重做日志与
归档日志。
在线重做日志(online redo log )主要用于:Oracle数据库所在服务器突然掉电、突然重启或者执行shutdown abort等命令使得在服务器重新启动之后,Oracle数据库没有办法正常的启动实例。此时,在线重做日志就派上了用场,Oracle会使用在线重做日志,把数据库恢复到服务器掉电前的那一个时刻,从而使得数据库能正常的启动起来 。
在Oracle数据库中,默认情况下,至少会有两个重做日志组,而且每个组里面至少包含了一个重做日志文件。日志组不会自动增加,在一个写满之后,会自动去写下一个。在下一个被写满之后会又从第一个开始写起。
归档日志(archive log)主要用于硬件级别的错误:磁盘的坏道导致无法读写、写入的失败、磁盘受损导致数据库数据丢失。这就要使用
归档日志文件,通过归档日志文件,把数据库恢复到归档日志所在的时间点上然后再通过在线重做日志文件把数据库恢复到当前的时间点上。
对于归档日志文件,可以理解为在线重做日志文件的备份。即当一个重做日志文件被填满了之后,归档日志文件就会把其备份保留一份。(因为上面说了,在线重做日志文件会自动的覆盖)所以,归档日志文件就是旧的在线日志文件的备份。
2.LGWR(Log Writer)是Oracle的后台进程之一。
LGWR的作用是把日志缓存区的数据从内存写到磁盘的REDO文件里,完成数据库对象创建、更新数据等操作过程的记录
3.在Oracle数据库中,主要有两种日志操作模式:归档模式(archivelog mode)及非归档模式(noarchivelog mode)。在默认情况下oracle数据库采用的是非归档模式。oracle数据库的重做日志是重复写的,一般来说oracle数据库拥有多个重做日志组(redo log group),每个重做日志组又包含多个成员,我们大部分的数据更改操作都会写入在线日志中,也就是当前正在使用的重做日志。我们大部分的数据更改操作都会写入在线日志中,也就是当前正在使用的重做日志。当一个重做日志写满或DBA发出switch log命令的时候就会发生日志切换,如果oracle运行在非归档模式下,oracle直接覆盖写下一个重做日志组。如果oracle运行在归档模式下则oracle会查询即将写入的重做日志是否归档,没有归档则等待其归档,等归档完成以后再覆盖写入重做日志记录。当然如果发生了归档等待的话可以通过添加重做日志组或开启更多的归档进程来避免这个等待事件
归档模式(archivelog mode)及非归档模式(noarchive mode)的最重要的区别就是当前的重做日志切换以后会不会被归档进程(archive process)copy到归档目的地(log_archive_dest)
4.后台进程和恢复:检查点(DBWR)
DBWR进程是将DATA BUFFER中的数据写入,磁盘数据文件,在这个过程中,首先保证安全,所谓安全,就是在写过程中,一旦发生实例崩溃,要有一套完整的机制能够保证用户以及提交的数据不丢失。最直观,简单的方法就是,只要用户提交的时候将所改变的内存数据给DBWR,写入到数据文件,这样的话,一定能保证提交的数据不丢失,但是这种方式效率最低,在高并发环境中,频繁离散写效率最低。
6.后台进程和恢复:归档程序 (ARCn)
ARCn是一个可选的后台进程。但是,在丢失磁盘后恢复数据库时,这个进程的作用至关重要。联机重做日志文件填满后,oracle实例开始写入下一个联机重做日志文件。从一个联机重做日志文件切换到另一个联机重做日志文件的过程称为日志切换。
ARCn进程在每次进行日志切换时都会开始对已填满的日志组进行备份或归档。它会在可以重新使用日志之前自动归档重做日志文件,因此会保留对数据库所做的所有更改。这样,即使磁盘驱动器损坏,也可以将数据库恢复到故障点。
DBA 必须做出的一个重要决策是,配置数据库在ARCHIVELOG模式下运行,还是在NOARCHIVELOG模式下运行。
· 在NOARCHIVELOG模式下,每次发生日志切换时,都会件覆盖联机重做日志文件。
· 在ARCHIVELOG模式下,必须先归档非活动的已填满联机重做日志文件组,才可以再次使用这些组。
注:
ARCHIVELOG 模式对大多数备份策略而言是必须选择的模式(并且极易配置)。
一个可选的后台进程
为数据库设置了ARCHIVELOG模式后自动归档联机重做日志文件
保留对数据库进行的所有更改的记录
- Oracle权限管理详解
Oracle权限管理详解 转载--CzmMiao的博客生活 Oracle 权限 权限允许用户访问属于其它用户的对象或执行程序,ORACLE系统提供三种权限:Object 对象级.System 系统级. ...
- Oracle表空间详解
Oracle表空间详解 1.表空间的分类 Oracle数据库把表空间分为两类:系统表空间和非系统表空间. 1.1系统表空间指的是数据库系统创建时需要的表空间,这些表空间在数据库创建时自动创建,是每个数 ...
- Oracle cursor_sharing 参数 详解
一. 官网的说明 http://download.oracle.com/docs/cd/E11882_01/server.112/e17110/initparams042.htm#REFRN10025 ...
- ORACLE数据库备份与恢复详解
ORACLE数据库备份与恢复详解 学习过程中的总结,有兴趣不妨看看,如果有不对的地方,高手不要留情!! Oracle的备份与恢复有三种标准的模式,大致分为两 大类,备份恢复(物理上的)以及导入导出(逻 ...
- Oracle执行计划详解
Oracle执行计划详解 --- 作者:TTT BLOG 本文地址:http://blog.chinaunix.net/u3/107265/showart_2192657.html --- 简介: ...
- oracle表分区详解
原文来自:http://www.cnblogs.com/leiOOlei/archive/2012/06/08/2541306.html oracle表分区详解 从以下几个方面来整理关于分区表的概念及 ...
- Java从入门到精通——数据库篇Oracle 11g服务详解
装上Oracle之后大家都会感觉到我们的电脑慢了下来,如何提高计算机的速度呢?我们应该打开必要的服务,关闭没有用的服务.下面是Oracle服务的详解: Oracle ORCL VSS Writer S ...
- oracle rac IP详解
rac环境下vip/public/private IP的区别 每个节点要2块网卡, 3个IP,虚拟IP或者叫做业务IP,单个网卡当掉可以“漂”到其他网卡是继续提供服务 在Oracle RAC环境下,每 ...
- oracle tkprof 工具详解
oracle tkprof 工具详解 今天是2013-09-26,进行tkprof工具使用学习,在此记录一下笔记: 一)查看需要跟踪会话信息: select s.sid,s.serial#,s.us ...
随机推荐
- poj_3258:River Hopscotch(二分)
题目链接 L为N+2块石子中最右边石子位置,0最左,M为可移除块数,求移除后相邻石子可达到的最大距离. #include<iostream> #include<cstdio> ...
- rsync技术报告(翻译)
本篇为rsync官方推荐技术报告rsync technical report的翻译,主要内容是Rsync的算法原理以及rsync实现这些原理的方法.翻译过程中,在某些不易理解的地方加上了译者本人的注释 ...
- 自家服务器防止DDoS攻击的简单方法
DDoS攻击并不是新技术,该攻击方式最早可以追溯到1996年,2002年时在我国就已经开始频繁出现.在DDoS攻击发展的这十几年间,DDoS攻击也在不断变化.数据显示,最大规模的DDoS攻击峰值流量超 ...
- 【HTML】谈谈html的meta标签
一.定义&用法 <meta> 元素可提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词. <meta> 标签位于文档的头 ...
- 【Django】django 的request和response(转)
当请求一个页面时,Django 把请求的 metadata 数据包装成一个 HttpRequest 对象,然后 Django 加载合适的 view 方法,把这个 HttpRequest 对象作为第一个 ...
- 内核对象kobject和sysfs(4)——kset分析
内核对象kobject和sysfs(4)--kset分析 从狭义上来说,kset就是kobj的一个再封装而已.在封装之后,提供了针对kset之下所有kobj统一管理的一些方法. 我们还是从结构说起: ...
- OpenFlow协议1.0及1.3版本分析
OpenFlow是SDN控制器和交换之间交流的协议,在SDN领域有着十分重要的地位. OpenFlow协议发展到现在已经经过了1.0.1.3.1.4等版本.其中1.0和1.3版本使用的是最为广泛的. ...
- PHP中使用单双引号的区别
1,双引号可以解析变量,单引号不可以解析: 2,双引号解析转义字符,单引号不解析转义,但是可以解析 \' 和 \\ ; 3,单双引号不能自己套自己,要嵌套使用,避免混乱: 4,单引号效率更高,能使 ...
- 蓝桥杯比赛javaB组练习《牌型种数》
牌型种数 小明被劫持到X赌城,被迫与其他3人玩牌.一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张.这时,小明脑子里突然冒出一个问题:如果不考虑花色,只考虑点数,也不考虑自己得到的牌 ...
- nodejs01--什么是nodejs,nodejs的基本使用
nodejs使用范围 -直接在cmd命令行运行,在你的电脑上直接运行 -可以搭建一个web服务器(express,koa) -一些基本的使用 -modules是如何工作的 -npm管理modules ...