- 浏览: 541784 次
- 性别:
- 来自: 天津
文章分类
- 全部博客 (230)
- java (87)
- c/c++/c# (39)
- ASP.net MVC (4)
- eclipse/visual studio (3)
- tomcat/weblogic/jetty (13)
- linux/unix/windows (20)
- html/javascript/jquery/kendo/bootstrap/layui/vue/react (31)
- hibernate/struts/spring/mybatis/springboot (21)
- lucene/solr/ELK (2)
- shiro (0)
- oracle/sqlserver/mysql/postgresql (23)
- shell/python/ruby (6)
- android (0)
- maven/ant (1)
- freemarker/thymeleaf/velocity (1)
- open source project (41)
- cache/memcached/redis (0)
- nosql/hadoop/hbase/mongodb (0)
- system architecture/dubbo/zookeeper (0)
- software testing (0)
- system optimization (0)
- system security (0)
- tcp/udp/http (2)
- roller/wordpress (2)
- 工具收藏 (8)
- 文摘 (4)
- 生活 (0)
最新评论
-
coconut_zhang:
这个demo 非常完整了,是指下面说的那个html 模版,模版 ...
flying sauser, thymeleaf实现PDF文件下载 -
a93456:
你好,你有完整的demo吗? String template这 ...
flying sauser, thymeleaf实现PDF文件下载 -
yujiaao:
fn 函数循环是没有必要的啊,可以改成
protecte ...
Java 笛卡尔积算法的简单实现 -
安静听歌:
设置了.setUseTemporaryFileDuringWr ...
使用jxl导出大数据量EXCEL时内存溢出的解决办法 -
q280499693:
写的很详细,但是我现在想知道他们是怎么定位log4j.prop ...
关于SLF4J结合Log4j使用时日志输出与指定的log4j.properties不同
一.总述
1.数据库归档模式:
* 非归档模式:当数据库数据只读不会改变时,数据不会改变,数据库适合用非归档模式, 这样提高性能
* 归档模式:对于数据库数据经常变动,数据库最好用归档模式,这样可以尽量避免数据库 数据丢失,使出现问题时灾害降到最低
2.非归档模式与归档模式间的切换(在命令窗口下):
@检查当前日志操作模式
f:\>sqlplus sys/dba as sysdba
连接数据库
sql>select log_mode from v$database;
@关闭数据库,后装载数据库,只能在mount状态下改变日志操作模式
sql>startup mount
@改变日志模式
sql>alter database achivelog;(变为归档方式,否则为nochivelog)
sql>alter database open;
3.查看归档模式相关信息:
@若采用默认设置,归档日志位置在快速恢复区
@配置归档日志位置 log_archive_dest_n (n=[1:10])
sql>alter system set
log_archive_dest_1 = 'location =c:\demo\archive [optional]';
sql>alter system set
log_archive_dest_2 = 'service =standby [mandatory] [reopen]';
其中:location 是本地
service 是远程
optional 无论归档是否成功,都会覆盖重做日志
mandatory只有成功归档才会覆盖重做日志
reopen 重新归档时间间隔 默认是300s
@显示归档信息,即显示显示日志操作模式
sql>select name,log_mode from v$database;
@显示归档日志信息
sql>select name,sequence#,first_change# from v$archive_log;
sequence#: 归档序列号
first_change# : 起始SCN值
@显示归档日志位置
sql>select dest_name,destination,status from v$archive_dest;
dest_name 归档位置参数名
destination 位置
@显示日志历史信息
sql>select * from v$loghist;
threade# : 重做线程号
sequence# : 日志序列号
first_change# : 起始SCN值
first_time : 起始SCN发生时间
switch_change : 切换SCN值
二.非归档模式下的备份与还原
. 日志采用覆盖原有日志的方式存储
. 出现介质失败时,只能恢复到过去的完全备份点
. 数据库OPEN状态是,不能备份数据库
. 必须先关闭数据库,再备份,且必须备份所有数据,控制文件
1.备份==冷备份
@ 先关闭数据库
sql>shutdown immediate
@ 拷贝所有数据文件,和控制文件
2.恢复
* 数据文件出现丢失,但备份以来的重做日志内容尚未被覆盖,此时可以完全恢复
@装载数据库
sql>startup force mount
@复制数据文件备份
@恢复数据文件
sql>recover datafile 1
@打开数据库
sql>alter database open;
* 备份文件的重做日志内容已经被覆盖,则只能还原到备份点
@关闭数据库
@复制所有数据和控制备份文件至原位置
@装载数据库,执行恢复命令
sql>startup mount
sql>recover database until cancel
提示控制文件不再使用原有重做日志
@用resetlogs选项打开数据库
sql>alter database open resetlogs;
三.归档模式
. 可以防止数据丢失
. 数据处于OPEN状态时可以进行备份
. 当出现介质失败时,除了SYSTEM表空间中的数据文件外其他的都可以在open状态下恢复
. 可执行完全恢复,也可以恢复到备份点与失败点之间的某时刻
1.备份
1)冷备份
shutdown后拷贝所需数据文件和控制文件
2)热备份
@将数据库设置为归档模式
@在数据库上发出全局检查点,在所有的数据文件头块上加锁
sql>alter database begin backup ;
@备份数据文件及控制文件
数据文件直接拷贝至其他目录
控制文件需使用alter database backup controlfile
sql>alter database backup controlfile to 'd:\backup\demo.ctl';
@结束数据备份,为确保数据文件备份的同步性,还应该归档当前日志组
sql>alter database end backup;
sql>alter system archive log cuurent;
3)备份表空间
*脱机备份(表空间处于OFFLINE状态,SYSTEM表空间和正在使用的UNDO空间不能脱机)
@确定表空间包涵的数据文件,如空间USERS
sql>select file_name from dba_data_files
where tablespace_name = 'users';
@设置表空间为脱机状态
sql>alter tablespace users offline;
@复制数据文件
@设置表空间联机
sql>alter tablespace users online;
*联机备份
@确定对应关系
@设置表空间为备份模式
sql>alter tablespace users begin backup ;
@复制数据文件
@设置表空间为正常模式
sql>alter tablespace users end backup ;
*处理联机备份失败
当执行联机备份时,若出现例程失败,再次打开数据库时,如果数据文件仍处于备 份状态,则会出错,此时需要结束备份
@装载数据库
sql>startup force mount
@查看处于联机备份状态的所有数据文件
sql>select file# from v$backup where status = 'active';
@结束联机备份状态
sql>alter tablespace end backup
或alter tablespace datafile backup;
或recover datafile 序号
@打开数据库
sql>alter database open;
2.还原
1)完全恢复
相关命令:
recover database :恢复数据库的多个数据文件(在MOUNT状态下运行)
recover tadaspace :恢复多个表空间的所有数据文件(在open状态下运行)
recover datafile :恢复一个或多个数据文件(在mount,open状态下都可)
*在mount状态下恢复数据文件(用于SYSTEM表空间恢复)
@装载数据库 mount状态
@确定需要恢复的数据文件
sql>select file#,error from v$recover_file
@拷贝备份至原位置
@恢复数据库 recover..上述命令
@打开数据库 alter database open;
*在open状态下恢复关闭后意外对视的数据文件,此时数据库将无法打开
@装载数据库 mount
@确定需要恢复的数据文件
@使相应的数据文件脱机
sql>alter database datafile 4 offline;
@打开数据库
sql>alter database open
@复制数据备份文件
@恢复数据文件
@是数据文件联机 alter database datafile 4 online;
*在open状态下恢复打开时意外丢失的数据文件
@确定要恢复的数据文件
@使数据文件脱机
@复制数据文件
@恢复相应的表空间或数据文件
@使相应的表空间或数据文件联机
*在open状态下恢复未备份的数据文件(要求在归档模式下,新建数据文件,其从简历 开始的所有归档日志必须全部存在)
@装载数据库
@确定要恢复的数据文件
@是数据文件脱机
@打开数据库
@重新建立数据文件
sql>alter database create datafile 'd:\demo\users01.dbf';
@恢复数据文件
@使数据文件联机
2)不完全恢复
使用已备份的数据文件,归档日志,和重做日志,将数据库恢复到备份点与失败点之间 某个时刻的状态
*恢复分类
基于时间的恢复:误删除表,误截断表,提交了错误的数据
基于取笑恢复:恢复到某个日志序列号之前的状态
基于SCN的恢复:恢复到特定SCN值的状态
基于备份控制文件恢复:表空间被意外删除,或所有控制文件全部损坏
*不完全恢复指令
recover database until time
recover database until change
recover database until cancel
recover database .. using backup controlfile
*基于时间的恢复
@关闭数据库(为防止备份失败,应备份当前数据库所有文件
@装载数据库 startup mount
@复制所有备份数据文件,并确定备份文件的时间点
sql>select file#,to_char(time,'yyyy-mm-dd hh24:mi:ss)
from v$recover_file;
@执行recover database until time
sql>recover database until time "2006-09-26 16:40:33'
@以resetlogs方式打开数据库,并检查恢复结果
sql>alter database open resetlogs;
@备份数据库所有数据文件和控制文件,因为当以resetlogs方式打开数据库后 会重新建立重做日志,清空原有重做日志的所有内容,并将日志序列号复位为1
sql>select name from v$datafile;
sql>alter database begin backup;
拷贝数据文件
sql>alter database end backup;
sql>alter database backup controlfile
to 'd:\backup\demo.ctl' reuse;
sql>alter system archive log cuurent;
*基于SCN恢复
@关闭数据库
@装载数据库 mount
@复制所有备份数据文件,确定备份文件SCN值
sql>select file#,change#, from v$recover_file;
@执行recover database until change
sql>recover database until change 675978;
@以resetlogs方式打开数据库
@备份数据库所有数据文件和控制文件
*基于取消恢复
@关闭数据库
@装载数据库
@复制所有备份的数据文件,确定备份文件的SCN值
sql>select file#,change# from v$recover_file;
@执行recover database until cancle
sql>recover database until cancel
@以resetlogs方式打开数据库
@备份所有数据文件和控制文件
*基于备份控制文件的恢复
@通过查看alert文件,确定误操作时间
@关闭数据库
@复制所有备份的数据文件,控制文件
@装载数据库
@执行recover database ..using backup controlfile
sql>recover database until time '2004-09-26 19:51:06'
using backup controlfile
@以resetlogs 方式打开数据库
@备份所有数据文件和控制文件
发表评论
-
MySQL 5.6 for Windows 解压缩版配置安装
2016-04-22 09:55 450MySQL是一个小巧玲珑但功能强大的数据库, ... -
PL/SQL编程
2011-04-10 20:00 1145《PL/SQL编程》 ... -
EXP-××××: 问题处理方法(整理中..)
2011-01-30 10:31 15691.EXP-00091: Exporting question ... -
oem 报错“java.lang.Exception: IOException in send……”
2010-04-26 13:47 2252oracle 10g R2 登陆EM管理控制台,题头报错如下: ... -
修改Oracle最大连接数
2010-04-26 08:48 10561、修改Oracle最大连接数的方法 a、以sysd ... -
oracle更改字符集步骤方法
2010-04-26 08:45 1536oracle9204更改字符集步骤方法(WE8ISO8859P ... -
oracle触发器使用笔记
2009-12-01 11:17 1167语法规则: Create [or repla ... -
TKPROF使用学习
2009-11-19 15:16 2678Tkprof工具可用来格式化s ... -
卸载Oracle,重新安装Oracle
2009-08-10 12:51 14521、 开始->设置->控制面板->管理工具->服务 ... -
Oracle中用Rowid查找和删除重复记录
2009-07-30 13:38 1308平时工作中可能会碰到当试图对库表中的某一列或几列创建唯一索引时 ... -
数据库设计多对多关系的几种形态
2009-06-29 13:37 2282前言:多对多关系至少需要3个表,我们把一个表叫做主表,一个叫做 ... -
Oracle中用exp/imp命令快速导入导出数据(整理)
2009-06-11 14:28 2142【用 exp 数 据 导 出】 ... -
Oracle创建自增字段方法-ORACLE SEQUENCE的简单介绍
2009-06-11 14:15 1211先假设有这么一个表: ... -
一些不错的sql语句
2008-12-02 17:34 22081、说明:复制表(只复制结构,源表名:a 新表名:b) ... -
表操作
2009-01-12 11:23 1078新建表:create table [表名]([自动编号字段] ... -
通用数据库存储过程代码--高效分页存储过程
2009-04-04 23:38 1349-- 获取指定页的数据 Create PROCEDURE p ... -
千万数量级分页存储过程
2009-04-04 23:36 1125参数说明: 1.Tables :表名称,视图 2.Primar ... -
存储过程编写经验和优化措施
2009-04-04 23:34 977一、前言:在经过一段 ... -
DBA的SQL Server面试题(数据库面试题)
2009-04-04 23:31 2582Question 1:Can you use a batch ... -
数据库面试(Oracle与Sql专题)
2009-04-04 23:16 1918oracle Certification Program (O ...
相关推荐
Windows Oracle11g 备份与还原 Oracle11g 数据库备份与还原是数据库管理中非常重要的一部分,掌握备份与还原技术可以帮助数据库管理员快速恢复数据库,减少数据丢失的风险。本文将详细介绍 Oracle11g 数据库备份与...
本篇将详细介绍Oracle 10g数据库的备份与还原策略,包括热备份、冷备份以及导出与导入操作。 首先,我们来理解一下数据库备份的必要性。数据库备份是为了防止数据丢失,这可能由于硬件故障、软件错误、人为操作失误...
Linux 下 Oracle 11g 数据库冷备份异机还原是指在 Linux 操作系统下,对 Oracle 11g 数据库进行冷备份,并将备份的数据文件还原到另外一台主机上,以便在源主机上进行数据库升级或维护时,能够快速恢复数据库服务。...
### Linux 下 Oracle 11g 数据库冷备份与异机还原详解 #### 实验背景及目的 在进行系统维护或升级之前,为了保障数据的安全性和业务连续性,通常需要对现有生产环境中的数据库进行备份。当涉及到Oracle 11g数据库的...
Oracle 10g数据库的备份与还原是数据库管理员在日常工作中极为重要的环节,它涉及到数据的安全性和业务连续性。在Oracle 10g中,有多种备份策略和技术,包括冷备份、热备份以及表空间备份,每种方式都有其特定的应用...
### Oracle 11g数据库备份与还原:数据泵技术详解 #### 一、概述 在Oracle 11g中,数据泵(Data Pump)是一种高效的数据迁移工具,它提供了快速导出和导入整个数据库或其部分的能力。通过使用数据泵,可以轻松地将...
总结,Oracle数据库的备份与恢复策略多样化,可以根据实际需求和环境选择合适的方法。SQL*Plus的EXP/IMP适合小规模或特定场景,RMAN和Data Pump则提供了更高级的功能,尤其是对于大规模和高可用性的环境。而远程备份...
Oracle 11g R2 的 RMAN (Recovery Manager) 是 Oracle 数据库管理系统中的一个关键工具,主要用于数据库的备份和恢复。RMAN 提供了一种高效且灵活的方式来管理和保护数据库,确保在数据丢失或系统故障时能够快速恢复...
### Oracle 11g RMAN备份与恢复初步方案解析 #### 一、RMAN备份与恢复概述 **RMAN(Recovery Manager)**是Oracle提供的一种强大工具,主要用于数据库的备份、还原及恢复操作。RMAN支持从Oracle 8及更高版本的...
### Oracle 10g RMAN备份与恢复 在Oracle数据库管理中,RMAN(Recovery Manager)是一个重要的工具,用于数据库备份、恢复以及灾难恢复。本文将基于提供的标题、描述和部分上下文内容来深入探讨Oracle 10g环境下...
经典的oracle10g备份与还原资料。
Oracle是全球领先的企业级关系型数据库管理系统之一,其10g和11g版本提供了强大的备份与恢复功能,主要通过Recovery Manager(RMAN)这一专用工具来实现。RMAN是Oracle数据库的备份和恢复解决方案,它提供了一系列...
Oracle 11g 数据库的备份与恢复是数据库管理中的关键环节,对于系统的稳定性和数据安全性至关重要。在Oracle 11g中,expdp(Export Data Pump)和impdp(Import Data Pump)是用于数据导出和导入的增强工具,相较于...
Oracle 数据备份与还原 Oracle 数据库备份与还原是指将 Oracle 数据库中的数据备份到外部文件中,并在需要时将其还原回数据库中的过程。下面是 Oracle 数据备份与还原的相关知识点: 1. 基本概念 * 数据备份:指...
Oracle 10g数据库备份与恢复是数据库管理中的一个重要组成部分,它确保了在发生硬件故障、软件错误、人为操作失误或数据损坏等情况下,数据能够被恢复到一个已知的正常状态,保障了企业数据的安全性和可靠性。...
Oracle 10g 备份和恢复是数据库管理员在日常工作中必须掌握的关键技能,它涉及到数据安全性、系统可用性和业务连续性。Oracle数据库系统作为全球广泛使用的数据库平台,其10g版本提供了多种备份和恢复策略,以确保...
Oracle 11g冷备份并迁移整个数据库到另一台服务器 Oracle 11g冷备份是指在不停止数据库的前提下,对数据库进行备份的操作。cold backup是相对于hot backup的,hot backup是在数据库运行时进行备份,而cold backup是...
下面我们就结合文档内容,对Oracle 11G备份恢复的知识点进行详细介绍。 首先,要进行Oracle数据库的备份与恢复,我们需要了解备份与恢复的基本概念。备份就是将数据库的数据、日志文件、控制文件等信息完整地复制到...
### Oracle 9i 全备份导入到 11g 的处理方法 #### 一、问题背景 当将Oracle 9i的数据全备份导入到Oracle 11g版本时,经常会遇到由于`db_block_size`参数不一致导致的导入失败问题。这种情况下,如果直接进行导入...
### Oracle 10g 数据库备份与恢复技术详解 #### 一、引言 Oracle 10g 是一款广泛应用于企业级数据管理的强大数据库管理系统。随着业务数据量的增长和技术的发展,确保数据的安全性和完整性变得至关重要。Oracle 10g...