当前位置:文档之家› Oracle RMAN备份与恢复笔记

Oracle RMAN备份与恢复笔记

Oracle RMAN备份与恢复笔记
Oracle RMAN备份与恢复笔记

Oracle RMAN备份与恢复笔记

备份

archive log list 查看归档状态

desc v$log

show parameter RECOVERY;查看恢复路径

如何归档:

startup mount

alter database archivelog/noarchivelog;修改数据库为归档或非归档模式

show parameter archive;查看归档日志路径

alter system set

log_archive_dest_1='location=/home/oracle/archive01' scope=both;

修改归档日志路径

alter system set log_archive_dest_2='location=/home/oracle/archive02' scope=both;镜像路径

alter system set log_archive_max_processes=10;

alter database open;

alter system switch logfile;切换日志,生成新的归档日志

如何备份:

alter tablespace tbs_2k begin backup;开启备份,tbs_2k 为需要备份的表空间。

select * from v$backup;在PL/SQL下查看备份的信息,如序列号等

select * from dba_data_files;在PL/SQL下查看数据文件信息,如所属的表空间,序列号,大小等

select * from v$backup s,dba_data_files t where s.FILE#=t.file_id;以上两条命令的综合结果查看。

create table t_recover tablespace tbs_2k as select * from scott.emp;创建测试表,用于删除后恢复测试。

cp tbs_2k.dbf /home/oracle/db_bak;将需要备份的数据文件拷贝到备份目录下,以供以后数据恢复。

inster into t_recover select * from scott.emp;插入数据

commit;

alter system switch logfile;手动进行一次归档

删除/oradata/TEST下的tbs_2k.dbf文件,然后将/home/oracle/db_bak/目录下的tbs_2k.dbf的文件拷贝到/oradata/TEST下进行人工破坏数据文件后进行恢复

alter database datafile 5 offline;将数据文件离线。

cp /home/oracle/db_bak/tbs_2k.dbf /oradata/TEST;把备份的文件考回到TEST目录下进行下一步的数据恢复。

recover datafile 5;进行文件从归档日志恢复

alter database datafile 5 online;将数据文件恢复成在线状态,此刻数据已恢复。

alter tablespace users end backup;结束备份

select open_mode form v$database;查看数据库状态

select FILE_NAME from dba_data_files;查看数据文件目录

v$datafile查看数据文件信息,如编号和文件名

archive log list 查看归档状态

desc v$log

show parameter RECOVERY;查看恢复路径

如何归档:

startup mount

alter database archivelog/noarchivelog;修改数据库为归档或非归档模式

show parameter archive;查看归档日志路径

alter system set

log_archive_dest_1='location=/home/oracle/archive01' scope=both;修改归档日志路径

alter system set

log_archive_dest_2='location=/home/oracle/archive02' scope=both;镜像路径

alter system set log_archive_max_processes=10;

alter database open;

alter system switch logfile;切换日志,生成新的归档日志

如何备份:

alter tablespace tbs_2k begin backup;开启备份,tbs_2k 为需要备份的表空间。

select * from v$backup;在PL/SQL下查看备份的信息,如序列号等

select * from dba_data_files;在PL/SQL下查看数据文件信息,如所属的表空间,序列号,大小等

select * from v$backup s,dba_data_files t where s.FILE#=t.file_id;以上两条命令的综合结果查看。

create table t_recover tablespace tbs_2k as select * from scott.emp;创建测试表,用于删除后恢复测试。

cp tbs_2k.dbf /home/oracle/db_bak;将需要备份的数据文件拷贝到备份目录下,以供以后数据恢复。

inster into t_recover select * from scott.emp;插入数据

commit;

alter system switch logfile;手动进行一次归档

删除/oradata/TEST下的tbs_2k.dbf文件,然后将

/home/oracle/db_bak/目录下的tbs_2k.dbf的文件拷贝到/oradata/TEST下进行人工破坏数据文件后进行恢复

alter database datafile 5 offline;将数据文件离线。

cp /home/oracle/db_bak/tbs_2k.dbf /oradata/TEST;把备份的文件考回到TEST目录下进行下一步的数据恢复。

recover datafile 5;进行文件从归档日志恢复

alter database datafile 5 online;将数据文件恢复成在线状态,此刻数据已恢复。

alter tablespace users end backup;结束备份

select open_mode form v$database;查看数据库状态

select FILE_NAME from dba_data_files;查看数据文件目录

v$datafile查看数据文件信息,如编号和文件名

不完全数据库恢复

select sysdate from dual;查看系统时间;

desc dba_data_files;查看数据文件结构信息

select file_name from dba_data_files;查看所有的数据文件信息

show parameter undo

select * from user_tab_partitions;查看分区信息

select * from v$logfile;查看日志文件信息

不完全数据库恢复,丢失部分数据,数据库恢复到过去某一状态

必须全库进行不完全恢复,恢复全部数据文件

必须运行在归档模式下

数据库在不完全恢复前必须进行冷备份

数据库在恢复后必须进行备份

不完全数据库恢复过程

startup mount;

alter database archivelog;

alter database open;

alter database begin backup;

cp /oradata/TEST/*.dbf /home/oracle/db_bak;备份数据文件

alter database end backup;

(使用日志挖掘技术,确定误删除表的具体时间):

操作系统创建存储数据字典文件目录

mkdir -p /home/oracle/logmin;

alter system set utl_file_dir='/home/oracle/logmin' scope=spfile;

重启数据库

shutdown immediate;

startup

创建存储数据字典的文件,存储日志文件等信息

execute

dbms_logmnr_d.build('shwdict.ora','/home/oracle/logmin' );

创建在线日志文件/归档日志文件列表到数据字典中execute

dbms_logmnr.add_logfile('/home/oracle/archive01/1_3_720 440539.dbf',dbms_logmnr.new);其中1_3_720440539.arc为数据库重启前的最新归档日志,dbms_logmnr.new为用归档日志生成的数据字典

挖掘日志文件

exec

dbms_logmnr.start_logmnr(dictfilename=>'/home/oracle/lo gmin/shwdict.ora');

alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';

select SCN,TIMESTAMP,SQL_REDO,SQL_UNDO from V$LOGMNR_CONTENTS where SQL_REDO like '%drop%';

记录下删除表的时间,例如(2010-03-16 09:48:57);

shutdown immediate;关闭数据库

startup mount;

alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';

recover database until time '2011-03-16 04:42:55';恢复时时间尽量在删除表时间的前两三秒;

alter database open resetlogs;数据库以resetlogs的方式启动,归档日志序列号都归为0,重新开始计数,所以以前备份的东西不能再用,必须将数据库重新备份。

RMAN备份与恢复

list backup;列出备份的东西

select * from user_tables;

rman>sql "…";

rman 元数据存在控制文件中

large-pool增大后利于rman的备份

show parameter pool

rman>sql "alter system set large_pool_size=30M";

rman>rman target / ;登录数据库

rman>backup tablespace tablespace-name;或

rman>backup datafile datafile-number;或

rman>backup database;备份整个数据库

rman>sql "alter database datafile datafile-num offline";

rman>restore tablespace tablespace-name;

rman>recover datafile datafile-number;

show all;显示rman的配置信息

alter database open resetlogs;进行此操作后数据库一定要重新备份,因为归档日志的序列号已归为1.

ORACLE11G RMAN备份恢复到异机数据库

ORACLE11G RMAN备份恢复到异机数据库 1. 主数据库环境 操作系统版本 : Centos6.7 x64 数据库版本 : Oracle 11.2.0.4 x64 数据库名 : prb 数据库SID : prb db_unique_name : prb instance_name : prb IP : 10.0.8.100 2. 备库环境 操作系统版本 : Centos6.7 x64 数据库版本 : Oracle 11.2.0.4 x64 (只安装oracle数据库软件,no netca dbca) 数据库名 : prb 数据库SID : prb db_unique_name: prb instance_name : prb IP:10.0.8.101 将参数文件备份、控制文件备份、数据文件备份、以及归档备份到目标主机 1 此处实验环境为同平台,同字节序,同版本,源机器和目标机器相同的目录结构。 2 目标机器只需要安装oracle只安装oracle数据库软件,no netca dbca 3 第一次利用备份恢复测试环境,之后从源机器拷贝备份到目标机器并在控制文件中注册,再见行恢复测试。 备份数据库 backup format '/u01/prb/rmanbk/fulldb_%d_%U' database include current controlfile plus archivelog delete input; orapwd file='/u01/app/oracle/product/11.2.0.4/db_1/dbs/orapwprb' password=oracle entries=10 force=y 1rman 连接到源数据库 prd-db1-> rman target / Recovery Manager: Release 11.2.0.4.0 - Production on Wed Aug 17 19:23:27 2016 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. connected to target database: PRB (DBID=1906641159) RMAN> 2 分别列出参数文件备份,控制文件备份,数据文件备份,以及归档备份的名字 参数文件备份如下: RMAN> list backup of spfile; using target database control file instead of recovery catalog List of Backup Sets ===================

ORACLE数据备份与数据恢复方案

O R A C L E数据备份与数据恢 复方案 Prepared on 24 November 2020

摘要 结合金华电信IT系统目前正在实施的备份与恢复策略,重点介绍电信业务计算机管理系统(简称97系统)和营销支撑系统的ORALCE数据库备份和恢复方案。 Oracle数据库有三种标准的备份方法,它们分别是导出/导入 (EXP/IMP)、热备份和冷备份。要实现简单导出数据(Export)和导入数据(Import),增量导出/导入的按设定日期自动备份,可考虑,将该部分功能开发成可执行程序,然后结合操作系统整合的任务计划,实现特定时间符合备份规划的备份应用程序的运行,实现数据库的本级备份,结合ftp简单开发,实现多服务器的数据更新同步,实现数据备份的异地自动备份。 关键字:数据库远程异地集中备份 目录

一、前言 目前,数据已成为信息系统的基础核心和重要资源,同时也是各单位的宝贵财富,数据的丢失将导致直接经济损失和用户数据的丢失,严重影响对社会提供正常的服务。另一方面,随着信息技术的迅猛发展和广泛应用,业务数据还将会随业务的开展而快速增加。但由于系统故障,数据库有时可能遭到破坏,这时如何尽快恢复数据就成为当务之急。如做了备份,恢复数据就显得很容易。由此可见,做好数据库的备份至关重要。因此,建立一个满足当前和将来的数据备份需求的备份系统是必不可少的。传统的数据备份方式主要采用主机内置或外置的磁带机对数据进行冷备份,这种方式在数据量不大、操作系统种类单一、服务器数量有限的情况下,不失为一种既经济又简明的备份手段。但随着计算机规模的扩大,数据量几何级的增长以及分布式网络环境的兴起,将越来越多的业务分布在不同的机器、不同的操作平台上,这种单机的人工冷备份方式越来越不适应当今分布式网络环境。 因此迫切需要建立一个集中的、自动在线的企业级备份系统。备份的内容应当包括基于业务的业务数据,又包括IT系统中重要的日志文件、参数文件、配置文件、控制文件等。本文以ORACLE数据库为例,结合金华电信的几个相关业务系统目前正在实施的备份方案,介绍ORACLE数据库的备份与恢复。 二、金华电信ORACLE数据库的备份与恢复方案 由于金华电信IT系统以前只采用逻辑备份方式进行数据库备份,速度较慢并且数据存储管理都很分散,甚至出现备份数据不完整的现象。为了提高备份数据的效率,提供可靠的数据备份,完善备份系统,保证备份数据的完整性,降低数据备份对网络和服务器的影响,对每个IT系统的备份数据进行集中管理,我们对备份工作进行了改进,将逻辑备份与物理备份相结合,在远程建立了一个异地集中、自动在线的备份系统即网络存储管理系统。(这里用到的物理备份指热备份)其具备的主要功能如下:(1)集中式管理 :网络存储备份管理系统对整个网络的数据进行管理。利用集中式管理工具的帮助,系统管理员可对全网的备份策略进行统一管理,备份服务器可以监控所有机器的备份作业,也可以修改备份策略,并可即时浏览所有目录。所有数据可以备份到同备份服

数据库备份方案

《客户名称》备份管理系统设计方案 上海鸿翼数字计算机网络有限公司

目录 1.项目概述 (3) 2.系统需求分析 (4) 1. (4) 2. (4) 1 (4) 2 (4) 1.1系统现状分析 (4) 1.2备份系统风险评估 (4) 1.3备份系统需求分析 (5) 3.系统备份理念 (5) 1 (5) 2 (5) 3 (5) 3.1系统设计指引 (5) 3.2数据保护技术选择 (6) 3.3连续数据保护 (7) 3.4备份管理系统组成 (7) 4.系统备份结构设计 (9) 1 (9) 2 (9) 3 (9) 4 (9)

4.1整体系统架构设计 (9) 5.系统备份方案介绍 (11) 1 (11) 2 (11) 3 (11) 4 (11) 5 (11) 5.1W INDOWS服务器自身备份 (11) 5.2双机热备 (13) 5.3爱数备份 (14) 6.总结 (17) 1.项目概述

上海鸿翼数字计算机网络有限公司将根据《》的网络实际需求,制定一套完整的集数据备份、灾难恢复、服务器整合及虚拟化一身的方案。一个完整的企业数据备份与恢复解决方案就意味着数据安全与性能(机器和网络)的完美结合,一条龙式的服务标准(产品的服务与支持)。所以在选择备份系统时,既要做到满足系统容量不断增加的需求,又要所用的备份方式能够支持多系统平台操作。要达到这些,就要充分使用网络数据存储系统,在分布式网络环境下,通过专业的数据存储软件,配合系统备份及双机备份,结合相应的硬件和存储设备,对网络的数据备份进行集中管理,从而实现自动化备份、文件归档、数据分级存储和灾难恢复。 2.系统需求分析 1.1系统现状分析 《》网络基础结构是基于Windows平台,现在拥有X台服务器。《》的文档管理系统包含了文件服务器、转档服务器、数据库服务器等企业信息管理系统,为企业的发展提供了强有力的信息化支持。主要数据库包含了Microsoft SQL Server、Oracle、DB2等。 1.2备份系统风险评估 《》的信息系统管理人员十分重视数据的保护,在没有备份软件的情况下,已经采用了重要数据镜像备份、服务器系统镜像备份等常规保护方法,为企业的数据财产提供了安全的保障。但是以上方法很难实现快速备份和灾难后的迅速恢复,很难保证业务的连续性。 根据上面的备份管理系统的风险评估,建议《》使用ESioo安全备份专家软件,配合Windows自带备份和双机虚拟备份,并重新设计相关备份的恢复策略,达到可以快速恢复数据备份和快速恢复文档管理系统备份的水平,从而提高整个企业的数据安全级别。

Linux下Oracle 11g数据库全库自动备份(EXPDP)

使用EXPDP方式备份整个实例 本教程可使用system账户将整个实例备份(包含空表),并自动删除超过6天的历史数据。 1、r oot用户登录服务器 mkdir -p /backup/oracledata#新建Oracle数据库备份目录 chown -R oracle:oinstall /backup/oracledata -R #设置目录权限为oinstall用户组的 oracle用户(用户oracle与用户组oinstall是在安装 Oracle数据库时设置的) 2、创建目录对象 因为使用expdp命令需要使用到目录对象(directory),所以首先需要创建目录对象,并赋予某个用户对目录对象的操作权限。 操作步骤如下: su – oracle #切换到oracle用户 sqlplus / as sysdba#切换到SQLPLUS环境 执行以下命令: create directory expdp_bak_dir as '/backup/oracledata'; #指定EXPDP输出目录 grant create any directory to system; #授予system权限 3、编辑自动备份脚本 vi /backup/oracledata/ordatabak.sh #新建文件,输入以下代码 #/bin/sh export ORACLE_SID=shuwei export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 export NLS_LANG=american_america.zhs16gbk export DATA_DIR=/backup/oracledata now=` date +%Y%m%d%H%M%S ` dmpfile=db$now.dmp echo start exp $dmpfile ... /u01/app/oracle/product/11.2.0/dbhome_1/bin/expdp system/123456@shuwei DUMPFILE=$dmpfile DIRECTORY=expdp_bak_dir full=y echo "Delete the file bakup before 6 days..." find /backup/oracledata/ -mtime +6 -name "*.dmp" -exec rm -rf '{}' \; echo "Delete the file bakup successfully. "

Oracle 11g 基于RMAN的备份与恢复

Oracle 11g 基于RMAN的备份与恢复 备份整个数据库 C:\Users\huangluxiang>rman target/ RMAN> backup database; RMAN> exit (退出) (1)重做日志损坏 SQL> conn /as sysdba 已连接到空闲例程。 SQL> startup mount; ORACLE 例程已经启动。 Total System Global Area 1071333376 bytes Fixed Size 1375792 bytes Variable Size 729809360 bytes Database Buffers 335544320 bytes Redo Buffers 4603904 bytes 数据库装载完毕。 SQL> recover database until cancel; 完成介质恢复。 SQL> alter database open resetlogs; 数据库已更改。 SQL> archive log list; 数据库日志模式存档模式 自动存档启用 存档终点USE_DB_RECOVERY_FILE_DEST 最早的联机日志序列 1 下一个存档日志序列 1 当前日志序列 1 备注:恢复Oracle数据库,应该备份整个数据库 (2)数据库丢失数据文件,控制文件,重做日志文件 C:\Users\huangluxiang>rman target/ RMAN> restore controlfile from autobackup; RMAN>alter database mount; RMAN> restore database; SQL> conn /as sysdba 已连接。 SQL> recover database using backup controlfile until cancel; ORA-00279: 更改990116 (在12/13/2013 14:06:05 生成) 对于线程1 是必需的 ORA-00289: 建议: C:\APP\HUANGLUXIANG\FLASH_RECOVERY_AREA\DLNU\ARCHIVELOG\2013_12_13\ O1_MF_1_5_%U_ .ARC ORA-00280: 更改990116 (用于线程1) 在序列#5 中 指定日志: {=suggested | filename | AUTO | CANCEL}

系统运维管理-备份与恢复管理(Ⅰ)

系统运维管理备份与恢复管理(Ⅰ) 版本历史 编制人: 审批人:

目录 目录 (2) 一、要求内容 (3) 二、实施建议 (3) 三、常见问题 (4) 四、实施难点 (4) 五、测评方法 (4) 六、参考资料 (5)

一、要求内容 a)应识别需要定期备份的重要业务信息、系统数据及软件系统等; b)应建立备份与恢复管理相关的安全管理制度,对备份信息的备份方式、备份频度、存储介质和保存期等进行规定; c)应根据数据的重要性和数据对系统运行的影响,制定数据的备份策略和恢复策略,备份策略须指明备份数据的放置场所、文件命名规则、介质替换频率和将数据离站运输的方法; d)应建立控制数据备份和恢复过程的程序,记录备份过程,对需要采取加密或数据隐藏处理的备份数据,进行备份和加密操作时要求两名工作人员在场,所有文件和记录应妥善保存; e)应定期执行恢复程序,检查和测试备份介质的有效性,确保可以在恢复程序规定的时间内完成备份的恢复; f)应根据信息系统的备份技术要求,制定相应的灾难恢复计划,并对其进行测试以确保各个恢复规程的正确性和计划整体的有效性,测试内容包括运行系统恢复、人员协调、备用系统性能测试、通信连接等,根据测试结果,对不适用的规定进行修改或更新。 二、实施建议 制定数据备份的规定,包括备份的策略、计划和内容等信息,备份策略的制定要结合本身数据量多少、数据更新时间等要求进行制定,对备份的数据要进行定期的恢复性测试,保证该备份的可用性。数据的恢复管理不仅仅是灾难恢复的计划,应当针对不同的数据恢复要求和恢复的内容制定多种适当的恢复策略,并定期对策略的有效性进行测试。

2016年9月1日rman备份恢复脚本

rman备份恢复 1.通过rman备份文件恢复spfile 2.通过rman备份文件恢复controlfile 3.通过rman备份文件恢复datafile 4.利用恢复回来的controlfile和datafile生成redolog 5.测试交易是否存在,并全备 我系统环境所有的文件如下: [oracle@fowaydbs]$ pwd /opt/oracle/10g/dbs [oracle@fowaydbs]$ ls initdw.ora init.ora [oracle@fowaydbs]$ls /opt/oracle/oradata 已没有任何资料 [oracle@fowaydbs]$ls /opt/oracle/admin 已没有任何资料 [oracle@fowaydbs] ls /opt/oracle/flash_recovery_area/ ORCL [oracle@fowaydbs]ls /opt/oracle/flash_recovery_area/ORCL/backupset/

2008_07_18 [oracle@fowaydbs]ls /opt/oracle/flash_recovery_area/ORCL/backupset/2008_07_ 18/ o1_mf_ncsnf_TAG20080718T203240_482fls2h_.bkp o1_mf_nnndf_TAG20080718T203240_482fkb0k_.bkp 在我这台电脑上, ,系统中所有的ORCL相关的数据文件,参数文件,日志文件,控制文件全部不在了, 没有其他可用的备份文件了,只有rman备份的文件在,这可怎么办呢? 没办法只能恢复了,可怎么恢复呢? 要恢复数据文件用rman备份? 能吗? 当然不能了,因为restore 必须在mount or open状态下. 参数文件,控制文件都没有怎么mount? 要mount必须有参数文件,控制文件,为此我们必须解决这2个难题了. 在解决难题前先准备ORCL的必须的目录: [oracle@fowaydbs]mkdir /opt/oracle/oradata/orcl

RMAN备份与恢复之完全备份和增量备份

完全备份: 完全备份是指对数据库中使用过的所有数据块进行备份,当然,没有使用过的数据块是不做备份的。在进行完全备份时,RMAN将数据文件中所有的非空白数据块都复制到备份集中。在RMAN中,可以对数据文件进行完全备份或者增量备份,但是对控制文件和日志文件只能进行完全备份。在一个完全数据库备份中,将所有的数据库文件,复制到闪回恢复区。 完全备份实例: 【例】通过BACKUP FULL语句,对数据库执行完全备份。使用TAG参数和FORMAT参数,指定备份文件位置以及备份文件的名称格式。如下: RMAN>RUN{ 2> #BACKUP THE COMPLETE DATABASE 3> ALLOCATE CHANNEL ch1 TYPE DISK; 4> BACKUP FULL 5> TAG full_db_backup FORMAT"E:\app\backup\db_t%t_s%s_p%p" (database); 6> RELEASE CHANNEL ch1; 7> } 【例】在RMAN中执行LIST命令,查看建立的备份集与备份段信息,如下: RMAN> LIST BACKUP OF DATABASE; 增量备份: 增量备份就是将那些与前一次备份相比发生变化的数据块复制到备份集中。进行增量备份时,RMAN会读取整个数据文件,通过RMAN可以为单独的数据文件、表空间、或者整个数据库进行增量备份。在RMAN中建立的增量备份可以具有不同的级别,每个级别都使用一个不小于0的整数来标识,也就是在BACKUP命令中使用LEVEL关键字指定的,例如LEVEL = 0表示备份级别为0,LEVEL = 1表示备份级别为1。 增量备份的方式:

备份和恢复策略

备份和恢复策略 备份策略 如下的备份方案是可行及有效的: ●冷备份 ●全部和部分卸出(数据)(exp/imp) ●以上方法可以组合使用(建议) 备份方案的优缺点: 1 冷备份 备份过程: 关闭数据库,拷贝所有数据库文件(包括控制文件,重作日志文件,数据文件) 恢复过程:将原来数据库数据文件全部删除(控制文件,重作日志文件,数据文件),将备份拷贝回相应目录,数据库重起即可用。 优点:备份方法简单,可靠,速度快且安全的备份。 缺点:只能恢复到备份时间点,有可能有数据丢失,备份时数据库必须关闭,不能恢复单个表或用户。 2 全库倒出/部分倒出(EXP) 备份过程: 采用oracle 工具exp 将全库数据(或部分用户数据)逻辑卸出。 恢复过程: 使用oracle 工具imp将数据倒入。可以进行全库,用户或表级的倒入。 优点: 备份安全、有效。可以从整个数据库备份中能够恢复单个表,当恢复时,能对表重新配置和清除碎块,能方便地在不同的操作系统之间移动数据,能从一个用户移动数据到另一个。备份方法简单,无须关闭数据库。备份时间对于中小规模的数据库可以接受,恢复方式灵活,可以根据故障情况灵活进行恢复,有可能节省大量恢复时间。 缺点:无法做到时间点恢复,有可能丢失部分数据,恢复时间较慢,备份频度要求较高,一般要求备份时间和生产时间分开,否则备份时影响性能。 3 备份后数据的存放 (1)、存放在本机(主机)。 优点:备份和导出速快。主要用于短时间数据存储、或数据转存。

缺点:主机容量上的限制、和主机数据在一起存在安全性问题。 (2)、存放在其它PC机上。 优点:与主机容量无关,数据异地保存有利于用户数据安全。 缺点:备份和导出与网络速度有关。 (3)、备份到磁带上。 优点:容量大,存储数据安全,适用数据长期保存。 缺点:备份速度慢,数据可先备份到磁盘上,经过压缩后 tar 到磁带上。 4 数据的保存时间 (1)、每天用EXP 进行全库导出备份,全库导出的数据可保存一周。 (2)、每月进行数据冷备份,冷备份的数据可按时间保存两份以上。 (3)、每月底进行保存一份全库导出的数据,备份数据可保存一年左右,它主要用于历史数据导入查询用。 备份操作例子: 1、每月做一次全库冷备份。 操作事例: (1)、录登主机,关闭数据库 $svrmgrl svrmgrl>CONNECT INTERNAL svrmgrl> shoudown (2)、拷贝所有数据库文件(包括控制文件,重作日志文件,数据文件) $cp -r /ctaisdata1/* /ctaisdump/cdump/ctaisdata1/ $cp -r /ctaisdata2/* /ctaisdump/cdump/ctaisdata2/ $cp -r /ctaisdata3/* /ctaisdump/cdump/ctaisdata3/ 或建立批处理 ctais_dump.sh cp -r /ctaisdata1/* /ctaisdump/cdump/ctaisdata1/ cp -r /ctaisdata2/* /ctaisdump/cdump/ctaisdata2/ cp -r /ctaisdata3/* /ctaisdump/cdump/ctaisdata3/ 用chmod 777 ctais_dump.sh 变为可执行文件 在ROOT 用户运行

数据库备份策略说明

数据库备份策略说明 1、备份目的 保障项目数据安全,防止服务器故障导致数据无法恢复的情况。 2、备份策略 综述:所有mysql实例已经实现了master、slave结构,我们备份一般在slave服务器进行。部分备份完成之后,会上传一份数据到存储机或者其他服务器进行异机及异地备份,另外备份保存一份。 一、备份方式 1、本机备份 该备份模式,适合于快速恢复数据。比如:误操作删除数据等 2、异机容灾备份 该备份模式,能比较好的规避单机故障问题。 3、异地容灾备份 该备份模式,规避大规模IDC故障(比如:火灾、地震、空调故障等)、数据安全问题 二、备份频率 1、主站www、bbs、blog等核心项目,进行每天完整备份。结合各项目数据库实例master 与slave结构,以及当前slave服务器负载和带宽情况,采用crontab定时备份。 2、对于跟商业有关的项目,备份策略同核心项目。 3、非核心项目90%备份策略采用核心项目备份机制,其他采用每周备份策略。 4、对于近期大规模更新数据或者数据库结构变更的数据库实例,采用人员干预备份模式,即走备份申请流程。 三、备份准备 1、创建备份目录 /opt/phpdba/backup/database 2、脚本编写 详见第四项,备份脚本 3、加入计划任务crontab 4、检查备份情况 5、添加每天检查列表 四、备份脚本

#!/bin/sh LogFile=db$(date +%y%m%d).log week=`date +%w` cd /opt/phpdba/backup/database for DBName in database do NewFile=db$DBName$(date +%y%m%d).tar.gz OldLogFile=db$(date -d '7 days ago' +%y%m%d).log if [ -f $OldLogFile ] then rm -f $OldLogFile >> $LogFile 2>&1 echo "[$OldLogFile]Delete Old log File Success!" >> $LogFile else echo "[$OldLogFile]No Old log File!" >> $LogFile fi case $week in 1) date=`date -d '56 days ago' +%y%m%d` OldFile=db$DBName$date.tar.gz if [ -f $OldFile ] then rm -f $OldFile >> $LogFile 2>&1 echo "[$OldFile]Delete Old File Success!" >> $LogFile else echo "[$OldFile]No Old Backup File!" >> $LogFile fi ;; 2|3|4|5|6|0) date=`date -d '7 days ago' +%y%m%d` OldFile=db$DBName$date.tar.gz if [ -f $OldFile ] then rm -f $OldFile >> $LogFile 2>&1 echo "[$OldFile]Delete Old File Success!" >> $LogFile else echo "[$OldFile]No Old Backup File!" >> $LogFile fi ;; esac if [ -f $NewFile ] then echo "[$NewFile]The Backup File is exists,Can't Backup!" >> $LogFile else

ORACLE最简单有效的备份恢复方案

ORACLE 最简单有效的备份恢复方案 ORACLE备份分两种,1.逻辑备份;2.物理备份; 逻辑备份又分两种:传统的exp备份;10g开始支持的expdp数据泵备份; 物理备份主要就是RMAN备份; 最基本的原则是:这些逻辑或物理备份和数据库文件必须放在不同的硬盘上;否者一损俱损;备份就没多大意义了; 如果数据库不是很大,比如在50G以下,那么我们就考虑一些傻话化的全备方案 我现在的备份方案是:两个逻辑备份和RMAN 备份全部用上; 1.传统dmp逻辑备份和恢复 1.1传统dmp逻辑备份,这个是最简单的备份方法; 现在我提供一个简单的脚本: 1.1.1首先建立一个bat文件,名字叫:exp_backup.bat 内容是: set oracle_username=%1 set oracle_password=%2 set local_tnsname=%3 set url=%oracle_username%/%oracle_password% if not %local_tnsname% == "" set url=%url%@%local_tnsname% if exist %oracle_username%_old.dmp del %oracle_username%_old.dmp if exist %oracle_username%_old.log del %oracle_username%_old.log if exist %oracle_username%.dmp ren %oracle_username%.dmp %oracle_username%_old.dmp if exist %oracle_username%.log ren %oracle_username%.log %oracle_username%_old.log exp %url% file=%oracle_username%.DMP log=%oracle_username%.LOG 该脚本是一个通用的最简单的exp脚本; 意思就是:备份之间,把以前的备份文件修改名字,后面加上_old ,如果本来就有old文件,就删除之;之后,就开始备份;备份的文件目录和该脚本一致(这样做最简单); 所以总是会出现一新一旧两个文件;当然只要最新的就行了,所以理论上只要一份文件; 但是考虑有可能备份的时候突然报错,这样old文件还在,将就着使用,否者新的是坏的,旧的也没了;

RMAN备份及恢复

Linux下Oracle9i RMAN备份及恢复步骤介 1、切换服务器设置归档模式,如果已经是归档模式可跳过此步: %sqlplus /nolog (启动sqlplus) SQL> conn / as sysdba (以DBA身份连接数据库) SQL> shutdown immediate; (立即关闭数据库) SQL> startup mount (启动实例并加载数据库,但不打开) SQL> alter database archivelog; (更改数据库为归档模式) SQL> alter database open; (打开数据库) SQL> alter system archive log start; (启用自动归档) SQL> exit (退出) 2、连接: %rman target=sys/password@mydb (启动恢复管理器) 3、基本设置: RMAN> configure default device type to disk; (设置默认的备份设备为磁盘) RMAN> configure device type disk parallelism 2; (设置备份的并行级别,通道数) RMAN> configure channel 1 device type disk fromat '/backup1/backup_%U'; (设置备份的文件格式,只适用于磁盘设备) RMAN> configure channel 2 device type disk fromat '/backup2/backup_%U'; (设置备份的文件格式,只适用于磁盘设备) RMAN> configure controlfile autobackup on; (打开控制文件与服务器参数文件的自动备份) RMAN> configure controlfile autobackup format for device type disk to '/backup1/ctl_%F'; (设置控制文件与服务器参数文件自动备份的文件格式) 4、查看所有设置:

系统备份策略

系统备份策略 1.为什么要做备份 备份是防止用户数据丢失的重要手段,备份的最终目的是确保数据的安全,我们知道以下各种灾难总是难以避免: Hardware(disk) Failure 尽管现在多数存贮设备都具有冗余功能,但也不能确保不出现数据丢失(例如种种原因出现两个以上的硬盘同时损坏等) Database /Application Corruption 数据库和应用中总是存在bug,或是由于管理上的疏漏而出现数据库表空间和堆栈等溢出而导致数据被破坏等等。 Administrator Error 系统管理员在日常维护过程中总是难免会犯错而出现误删数据等。 User Error 用户的错误往往也会使数据需要恢复到从前某个时段的状态。 Site Disater 生活中有很多不可抗因素和自然灾害如:火灾,洪水,地震,雷击等会造成数据彻底丢失。 2. 备份什么 操作系统的文件及配置 硬盘空间文件系统的划分信息 用户profile及个人目录 应用及数据库系统的执行代码及文件 用户数据 3.备份的分类方式 OS/Database Backup Incremental/Full Backup Online/Offline Backup Local/Network Backup 4. 典型的系统备份策略

数据库数据通常时刻在变,因而要每天作备份,而应用系统及OS 通常在其本身版本升级,打补丁,配置调整后要重做全备份。总之原则是,当系统信息全部丢失时,依靠手头的备份能够以最快的速度进行恢复,且信息损失最少或没有损失。 为了达到这一目的,我们在备份时一定要注意做到: ①组织一种适合自己实际情况的备份策略。 ②将磁带存储在异地。 ③定期清洗磁头。 ④不要使用有故障的磁带。 一般来说,我们有三种不同的备份策略,这三种备份策略的区别在于备份所使用磁带的数量不同,这三种策略分别是: ①三带轮换策略:适合小型系统,能保存三个星期内的网络数据。 如果采用三带轮换策略,我们必须拥有三盘磁带,称为磁带1、磁带2、磁带3。在第一个星期的星期一我们用磁带1作一次完全备份,然后在剩下的几天作部分备份(只备份新的或改动过的文件〕。在第二个星期的星期一我们用磁带2作一次完全备份,在剩下的几天作部分备份。同理,第三个星期用磁带3备份。在第四个星期时,我们将取出磁带1,重新开始新一轮备份。 ②六带轮换策略:能保存两个星期内的数据。 如果采用三带轮换策略,这就意味着我们从星期一到星期四的每天都分别使用一盘磁带进行部分备份,然后再用一盘在星期五作完全备份,剩下那盘留在下个星期五作完全备份。这样我们就可以存储最近两个星期的所有数据。这个备份策略可以用下图表示: 星期一 星期二 星期三 星期四 部分备份

Linux下Oracle数据库自动备份脚本

Linux下Oracle数据库自动备份脚本 1.用PL/SQL登录数据库 2.设置空表可导出 select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0; --然后执行查询出来的语句 3.查看数据库的字符集 查看database中的NLS_CHARACTERSET的值 a、select * from nls_database_parameters t where t.parameter='NLS_CHARACTERSET'; b、select * from v$nls_parameters where parameter='NLS_CHARACTERSET'; PARAMETER VALUE ----------------- ---------- NLS_CHARACTERSET ZHS16GBK 4.登录linuxOracle服务器 5.创建investDBbak目录(目录随意创建,在脚本中修改即可) mkdirinvestDBbak 6.在investDBbak下创建DBBak目录、Shell目录 mkdirDBBak mkdirshell 7.在shell目录下创建invest_test_dbbak.sh文件 vi invest_test_dbbak.sh 8.复制内容 #!/bin/sh export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 export ORACLE_SID=orcl export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin export DATA_DIR=/home/oracle/investDatabak/dbbak/data export LOGS_DIR=/home/oracle/investDatabak/dbbak/log export DELTIME=`date -d "15 days ago" +%Y%m%d` export BAKUPTIME=`date +%Y%m%d%H%M%S` export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK mkdir -p $DATA_DIR mkdir -p $LOGS_DIR echo "Starting bakup..." echo "Bakup file path $DATA_DIR/$BAKUPTIME.dmp"

RMAN增量备份与恢复

增量备份计划案例 一、增量备份计划关键命令 星期日: RMAN> backup incremental level=0 database; 星期一: RMAN> backup incremental level=2 database; 星期二: RMAN> backup incremental level=2 database; 星期三: RMAN> backup incremental level=1 database; 星期四: RMAN> backup incremental level=2 database; 星期五: RMAN> backup incremental level=2 database; 星期六: RMAN> backup incremental level=2 database; 二、增量备份计划与恢复实例: 恢复管理器: Release 10.2.0.1.0 - Production on 星期六3月22 14:47:30 2008 Copyright (c) 1982, 2005, Oracle. All rights reserved.

连接到目标数据库: ORCL (DBID=1177145004) RMAN> backup incremental level=0 database; 启动backup 于22-3月-08 使用目标数据库控制文件替代恢复目录 分配的通道: ORA_DISK_1 通道ORA_DISK_1: sid=122 devtype=DISK 通道ORA_DISK_1: 启动增量级别0 数据文件备份集 通道ORA_DISK_1: 正在指定备份集中的数据文件 输入数据文件fno=00001 name=C:\ORACLE\ORADATA\ORCL\SYSTEM01.DBF 输入数据文件fno=00003 name=C:\ORACLE\ORADATA\ORCL\SYSAUX01.DBF 输入数据文件fno=00007 name=C:\ORACLE\ORADATA\ORCL\PERFSTAT.DBF 输入数据文件fno=00005 name=C:\ORACLE\ORADATA\ORCL\EXAMPLE01.DBF 输入数据文件fno=00002 name=C:\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF 输入数据文件fno=00004 name=C:\ORACLE\ORADATA\ORCL\USERS01.DBF 输入数据文件fno=00006 name=C:\ORACLE\ORADATA\ORCL\TTT.DBF 通道ORA_DISK_1: 正在启动段 1 于22-3月-08 通道ORA_DISK_1: 已完成段 1 于22-3月-08 段句柄=C:\ORACLE\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2008_03_22\O1 _MF_NNND0_TAG20080322T144756_3Y9BWXK2_.BKP 标记=TAG20080322T144756 注释=NONE 通道ORA_DISK_1: 备份集已完成, 经过时间:00:01:45 完成backup 于22-3月-08 启动Control File and SPFILE Autobackup 于22-3月-08 段

备份与恢复策略

***有限公司编号 备份与恢复策略实施日期2018/12/1 页数1/2 1.0 目的 制定一个适合的行之有效的资料备份和恢复策略,来解决资料丢失或损坏时,能及时有效地恢复应用程式和资料正常运行和访问。 2.0 范围 本公司服务器资料和备份和恢复。 3.0 职责 系统管理员负责数据的备份和恢复。 4.0 细责 4.1备份策略: 日备份:周一至周五每天PM10:30开始备份,日备份保留最近一周的数备份。 周备份:每周的周六PM10:30开始备份,周备份保留最近4周的备份。 月备份:每月的30号PM10:30备份(2月份为27号PM10:30备份),月备份保留最近12个月的备份。 年备份:每年的第12个月的月备份为该年的年备份,年备份保留最近3年的数据。 4.2 服务器内容备份清单 编号服务器名称备份内容介质 1 U8Server 用友数据库本地硬盘 2 U9Server 共享文件本地硬盘 4.3 备份方式及使用备份软件:所有备份为完全备份。用友数库使用windows自动的 Ntbackup软件备份,文件备份为使用windows2003系统自动的VSS做卷影备份。

***有限公司编号 备份与恢复策略实施日期2018/12/1 页数2/2 4.4 数据恢复策略 4.4.1 定期的资料恢复测试:对于备份的资料,为确保资料的可用性与完整性,规定资料恢复测试周期为三个月1次。包括用户放在服务器上共享文件夹的数据和用友数库的数据。如果成功,则操作人员在恢复记录上签字确认,否则操作人员应分析失败原因,找出解决办法并避免失败再次发生。 4.4.2 日常资料的恢复:收到用户的恢复资料的申请时,首先得到IT经理签名,然后依照恢复需求,对数据进行恢复。 制定确认审批 ***

数据库备份策略说明讲课稿

数据库备份策略说明

数据库备份策略说明 1、备份目的 保障项目数据安全,防止服务器故障导致数据无法恢复的情况。 2、备份策略 综述:所有mysql实例已经实现了master、slave结构,我们备份一般在slave服务器进行。部分备份完成之后,会上传一份数据到存储机或者其他服务器进行异机及异地备份,另外备份保存一份。 一、备份方式 1、本机备份 该备份模式,适合于快速恢复数据。比如:误操作删除数据等 2、异机容灾备份 该备份模式,能比较好的规避单机故障问题。 3、异地容灾备份 该备份模式,规避大规模IDC故障(比如:火灾、地震、空调故障等)、数据安全问题 二、备份频率

1、主站www、bbs、blog等核心项目,进行每天完整备份。结合各项目数据库实例master与slave结构,以及当前slave服务器负载和带宽情况,采用crontab 定时备份。 2、对于跟商业有关的项目,备份策略同核心项目。 3、非核心项目90%备份策略采用核心项目备份机制,其他采用每周备份策略。 4、对于近期大规模更新数据或者数据库结构变更的数据库实例,采用人员干预备份模式,即走备份申请流程。 三、备份准备 1、创建备份目录 /opt/phpdba/backup/database 2、脚本编写 详见第四项,备份脚本 3、加入计划任务 crontab 4、检查备份情况 5、添加每天检查列表 四、备份脚本 #!/bin/sh LogFile=db$(date +%y%m%d).log week=`date +%w` cd /opt/phpdba/backup/database for DBName in database do NewFile=db$DBName$(date +%y%m%d).tar.gz OldLogFile=db$(date -d '7 days ago' +%y%m%d).log if [ -f $OldLogFile ] then rm -f $OldLogFile >> $LogFile 2>&1 echo "[$OldLogFile]Delete Old log File Success!" >> $LogFile

相关主题
文本预览
相关文档 最新文档