当前位置:文档之家› ORACLE最简单有效的备份恢复方案

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

ORACLE最简单有效的备份恢复方案
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文件还在,将就着使用,否者新的是坏的,旧的也没了;

有的人做一周7天逻辑循环备份,我觉得没有必要,要那么多旧的备份文件何用,浪费空间;

1.1.2然后再做一个bat文件,比如是my_exp.bat

内容是:

call exp_backup.bat USER PASSWORD ""

如果是在服务器自身上备份,就不需要写入数据库服务名;

如果有多个用户数据需要备份;那么就在my_exp.bat继续添加:

call exp_backup.bat USER1 PASSWORD1 ""

….

My_EXP.BAT可以做成windows的执行计划,每天不忙的时候执行一次;

1.2 exp备份的恢复

下面就是恢复的最简单方法:

1.2.1.把电脑上当前用户彻底删除,用命令,这样就可以把对象彻底清除;

DROP USER XXX CASCADE

1.2.2.再创建该用户

CREATE USER xxxx

IDENTIFIED BY xxxx

DEFAULT TABLESPACE xxxx

TEMPORARY TABLESPACE TEMP

并赋予权限:

GRANT DBA TO xxxx WITH ADMIN OPTION

1.2.3用IMP恢复

C:\> imp xxxx/xxxx FILE=xxxx.DMP LOG=xxxx.LOG FULL=Y

2.10G后的数据泵expdp备份和恢复

2.1 expdp 备份

据说这个比exp有很多优点,这个我就不说了,大家可以自己参考资料;不过我测试下来,如果数据量小expdp 还是不如exp的;但是还是建议是使用expdp,因为数据会慢慢变大的,用expdp更好些;

我最看重的是:expdp备份的文件涵盖的东西更多;所以恢复的时候方便;删除用户后,可以不用再创建用户恢复;

实现方法和exp类似:

不过,它的目录不像EXP那么直接,需要使用oracle的目录对象;

所以

2.1.1第一步先创建一个目录对象,比如:

SQL>create or replace directory LOGIC_BUCKUP

as 'd:\OACLE_BACKUP\逻辑备份';

2.1.2建立一个通用脚本,比如叫EXPDP_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_dump.dmp del %oracle_username%_old_dump.dmp

if exist %oracle_username%_old_dump.log del %oracle_username%_old_dump.log

if exist %oracle_username%_dump.dmp ren %oracle_username%_dump.dmp %oracle_username%_old_dump.dmp

if exist %oracle_username%_dump.log ren %oracle_username%_dump.log %oracle_username%_old_dump.log

EXPDP %url% DIRECTORY=LOGIC_BACKUP DUMPFILE=%oracle_username%_DUMP.DMP LOGFILE=%oracle_username%_DUMP.LOG PARALLEL=2

该方法与上面的dmp备份类似;

2.1.3然后再做一个bat文件,比如是my_expdp.bat

内容是:

call expdp_backup.bat USER PASSWORD ""

如果是在服务器自身上备份,就不需要写入数据库服务名;

如果有多个用户数据需要备份;那么就在my_exp.bat继续添加:

call expdp_backup.bat USER1 PASSWORD1 ""

……

同dmp备份一样,My_EXPdp.BAT也可以做成windows的执行计划,每天不忙的时候执行一次;

2.2 expdp备份的恢复

下面就是恢复的最简单方法:

2.2.1.把电脑上当前用户彻底删除,用命令,这样就可以把对象彻底清除;

DROP USER XXXX CASCADE

2.2.2.用另外一个权限较高的用户(最好不是sys,比如是YYYY) 导入:

C:\>IMPDP yyyy/yyyy DUMPFILE=xxxx_DUMP.DMP LOGFILE=xxxx_DUMP.LOG DIRECTORY=LOGIC_BUCKUP

PARALLEL=2

(这里的LOGIC_BUCKUP是oracle的对象目录,要和xxxx_dump.dup存放的目录一致)

这样就OK了,也即是说用户不需要创建,数据泵文件含有了用户以及它原来的权限;

从这点来讲,是不是比IMP导入更为方便;

好了,两种逻辑备份讲完了,下面重点说一下RMAN备份;

因为在生产系统中,逻辑备份作用不大的,因为它不能实时的备份数据,所以逻辑备份更多的时候是给开发人员互相导入数据和存储过程之类用的;

RMAN备份的原理还是有点复杂的,很多细节的我也不是很清楚,不过没关系,我们可以整理出一套最简单的备份方案:

3.RMAN备份和恢复

3.1. RMAN备份

3.1.1 首先把数据库参数关注一下,

关注下面两个参数

第一个参数:

db_recovery_file_dest_size,上图中的大小是默认的4G,也就是归档模式下,archivelog的所有归档日志文件大小总和,如果超过这个数,就会导致数据库出问题;所以要非常小心,因而建议修改大一些,比如修改成20G;当然最本质的方法,是要按时清理无用的归档日志;

第二个参数:

db_recovery_file_dest ,这个参数非常重要,是11G里,存放rman备份集和归档日志的地方;默认是放在flash_recovery_area目录下的,因为我的系统的flash_recovery_area 和数据库文件在同一个硬盘,所以修改了;

3.1.2.关注redo日志文件,每组里要有两个成员,1个在数据库文件的硬盘下,1个在备份文件的硬盘下,因为日志文件写入最频繁,RMAN无法对它备份,或者说任何备份工具都无法对redo日志备份;不过redo它自己可以做冗余,两个文件只要有一个在,即可;

比如:

3.1.3做一个最简单的rman备份脚本;

3.1.3.1首先做一个txt,比如是:autorman.txt

内容是:

sql 'alter system archive log current';

backup database;

delete noprompt obsolete;

这三句话的作用分别是:1.对当前redo日志进行归档;2.备份数据库3.删除无效的archive日志和rman备份集

3.1.3.2 做一个bat 调用上面的autorman.txt,比如是:autorman.bat

内容是:rman target / @autorman.txt

然后就在winddows下做一个执行计划,每天或没隔几天,自动执行一下这个autorman.bat

当然备份之前,要用rman>show all 看一下参数设置,有没有自动备份控制文件,如果没有,要加上;

3.2 rman恢复

Rman恢复非常简单;

下面说一下步骤:

3.2.1 假如最新一次全备是3天前的,先随便建立一个新表,比如是test_rman,随便插几条数据;用来测试还

原后,这个最新的对象是否也给恢复了;

现在用sqlplus登陆,shutdown 数据库,然后把oracle的数据库文件全部删除(控制文件,redo日志文件,数据库文件);

3.2.2 用sql> startup nomount 启动数据库的参数文件,参数文件和数据库文件不在同一个硬盘,所以没丢;

这时候如果执行sql>alter database mount 会报错,因为mount会加载控制文件,而控制文件已经丢了;

3.3.3.把以前控制文件所在的目录建立好,否者rman找不到控制文件恢复路径;

然后执行RMAN> restore controlfile from autobackup;

这样控制文件就回复了,有了控制文件就好办了;

3.2.

4. 以为有了控制文件,所以在sqlplus里,可以装载数据库

Sql>alter database mount

3.2.5 数据库被装载后,说明控制文件生效了,这时候,所有的数据库信息都出来了;所以可以用rman还原数据库了:

RMAN> RESTORE database;

3.2.6 恢复数据库:RMAN> recover database;

2.2.7 数据库现在已经全部回复好,可以重新启动了:

SQL> alter database open resetlogs;

数据库已更改。

2.2.8 执行sql> select * from test_rman ; 能看到数据,说明rman备份集即使是比较旧的,但照样能恢复到出故障时刻的那个状态,这也许就是RMAN的威力吧;

oracle 备份恢复语句整理(最全)

Oracle备份恢复场景总结 一、数据文件、表空间恢复 1、数据库文件恢复 1>场景一: 问题描述: test.dbf丢失,有RMAN备份。 重启报错: Startup; ORA-01157: cannot identify/lock data file 5 - see DBWR trace file ORA-01110: data file 5: '/oracle/app/oracle/oradata/orcl/test01.dbf' run{ startup mount; allocate channel ch00 type 'SBT_TAPE'; restore datafile 5; recoverdatafile 5; alter database open; release channel ch00; }

2>场景二 问题描述: 模拟test表空间损坏,删除数据文件(恢复到新目录) 旧目录:/oracle/app/oracle/oradata 新目录: /home/oracle run{ allocate channel ch00 type 'SBT_TAPE'; sql 'alter database datafile 5 offline'; setnewname for datafile 5 to '/home/oracle/test01.dbf'; restoredatafile 5; switchdatafile 5; recoverdatafile 5; sql 'alter database datafile 4 online'; release channel ch00; } 说明: set newname for 告诉RMAN 还原数据文件的新位置在哪里。这个命令在restore 前出现。 switch datafile更新controlfile,记录这个新位置。这个命令要在recover 前出现

实验8-Oracle数据库备份与恢复

实验8 Oracle数据库备份与恢复 1 实验目的 (1)掌握Oracle数据库各种物理备份方法。 (2)掌握Oracle数据库各种物理恢复方法。 (3)掌握利用RMAN工具进行数据库的备份与恢复。 (4)掌握数据的导入与导出操作。 2 实验要求 (1)对BOOKSALES数据库进行一次冷备份。 (2)对BOOKSALES数据库进行一次热备份。 (3)利用RMAN工具对BOOKSALES数据库的数据文件、表空间、控制文件、初始化参数 文件、归档日志文件进行备份。 (4)利用热备份恢复数据库。 (5)利用RMAN备份恢复数据库。 (6)利用备份进行数据库的不完全恢复。 3 实验步骤 (1)关闭BOOKSALES数据库,进行一次完全冷备份。 select file_name from dba_data_files; select member from v$logfile; select value from v$parameter where name='control_files';

(2)启动数据库后,在数据库中创建一个名为cold表,并插入数据,以改变数据库的状态。 CREATE TABLE COLD( ID NUMBER PRIMARY KEY, NAME VARCHAR2(25) ); (3)利用数据库冷备份恢复BOOKSALES数据库到备份时刻的状态并查看恢复后是否

存在cold表。 (4)将BOOKSALES数据库设置为归档模式。 1.1 shutdown immediate 正常关闭数据 1.2 startup mount;将数据库启动到mount状态 3)、关闭flash闪回数据库模式,如果不关闭的话,在后面关闭归档日志的时候就会出现讨厌的ora-38774错误。 alter database flashback off 1.3 alter database archivelog;发出设置归档模式的命令 1.4 alter database open;打开数据库 1.5 再次正常关闭数据库,并备份所有的数据文件和控制文件 1.6archive log list;在将数据库设置为归档模式后,可以执行此命令进行确认 1.6.1 Database log mode 为Archive Mode说明当前的数据库为归档模式 1.6.2 Automatic archival为Enable说明启动了自动归档。

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)集中式管理 :网络存储备份管理系统对整个网络的数据进行管理。利用集中式管理工具的帮助,系统管理员可对全网的备份策略进行统一管理,备份服务器可以监控所有机器的备份作业,也可以修改备份策略,并可即时浏览所有目录。所有数据可以备份到同备份服

Oracle数据泵备份与恢复实例

SQL> conn / as sysdba 已连接。 SQL> create directory mydump as 'd:\oracle\mydump'; SQL> Grant read,write on directory mydump to test; 授权成功。 创建目录d:\oracle\mydump。 C:\Users\David>expdp test/test directory=mydump dumpfile=test.dmp logfile=test.l og tables=t1 Export: Release 11.2.0.1.0 - Production on 星期三7月16 22:52:58 2014 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. 连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Produc tion With the Partitioning, OLAP, Data Mining and Real Application Testing options 启动"TEST"."SYS_EXPORT_TABLE_01": test/******** directory=mydump dumpfile=test .dmp logfile=test.log tables=t1 正在使用BLOCKS 方法进行估计... 处理对象类型TABLE_EXPORT/TABLE/TABLE_DATA 使用BLOCKS 方法的总估计: 64 KB 处理对象类型TABLE_EXPORT/TABLE/TABLE 处理对象类型TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS . . 导出了"TEST"."T1" 5.507 KB 5 行 已成功加载/卸载了主表"TEST"."SYS_EXPORT_TABLE_01" ****************************************************************************** TEST.SYS_EXPORT_TABLE_01 的转储文件集为: D:\ORACLE\MYDUMP\TEST.DMP 作业"TEST"."SYS_EXPORT_TABLE_01" 已于22:53:09 成功完成 需要将原表删除。 C:\Users\David>impdp test/test directory=mydump dumpfile=test.dmp tables=t1 Import: Release 11.2.0.1.0 - Production on 星期三7月16 23:00:28 2014 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. 连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Produc

oracle备份与恢复机制

谈ORACLE备份与恢复 经常听到有人说,某数据库备份方法好,某备份方法不好,或者说现在都流行用rman 来备份了,逻辑备份已经过时了,冷备份就更不值一提了,其实数据库的备份从来没有什么好坏之分、没有过时之说,合适才是最重要的,自己好才是真的好.各种方法各有长短,谁也代替不了谁,只有根据实际情况搭配使用,才能发挥最大的作用,否则只能是东施效颦. 1 . o r ac 1 e的备份,包括no a r chi v e I og模式的备份(冷备份)、arch i velog模式的备份(热备份、rman备份)、逻辑备份(不分模式). 1.1.冷备份: ~ 1)关闭数据库 s hu t d o wn; -一2)备份数据文件、控制文件、重做日志文件 一-A、查找备份文件的位置 SELEC T * FROM VSDATAFIL E ; —査数据文件 s el e ct * f r om v$cont r o 1 f il e ; —查控制文件 s e le c t * f r om vSlogf i 1 e; —査日志文件 ~ B、备份数据文件、控制文件、重做日志文件 $ copy D:\oracle\o r a data\or a 9 \ *. dbf d: \ b a k \ *. *; $ cop y D:\ora cle \ oradat a \ora9 \ *? c t 1 d : \ b a k\*? *: $ copy D:\oracle \o r adata\o r a9\*? I og d:\bak\*? *; 1.2.热备份: ~ 1)查询备份的数据文件与哪一个表空间有关 SELECT V$TAF3LESPACE ? NAME, VS DATAFILE. NAME FROM V$TA B LES P ACE J OIN V$DATAF I LE USING(TS#); ~ 2)备份数据文件 a 1 t er tablespace 表空间BEGIN BACKUP; $ COPY数据文件存放路径

oracle数据库备份与恢复实施方案

oracle数据库备份与恢复方案

————————————————————————————————作者:————————————————————————————————日期:

oracle数据库 备份与恢复方案 文件控制?受控?不受控 文档编号日期项目名称版本号 分册名称第册/共册总页数正文附录 编制审批生效日期

目录 一、编写目的 (1) 二、备份工具及备份方式 (1) 三、软件备份 (1) 四、软件恢复 (1) 五、数据备份 (2) 六、备份的存储 (2) 七、备份数据的保存规定 (2) 八、备份介质的格式 (3) 九、数据恢复 (4)

一、编写目的 本文档主要说明公司项目在实施现场的软件及数据的备份和恢复方案。 二、备份工具及备份方式 1.备份工具 Oracle RMAN(Recovery Manager):是一种用于备份(backup)、还原(restore)和恢复(recover)数据库的Oracle 工具。RMAN只能用于ORACLE8或更高的版本中。它能够备份整个数据库或数据库部件,如表空间、数据文件、控制文件、归档文件以及Spfile参数文件。RMAN也允许您进行增量数据块级别的备份,增量RMAN备份是时间和空间有效的,因为他们只备份自上次备份以来有变化的那些数据块。 2.备份方式 (1)自动备份:由Windows 计划任务调度完成; (2)手工备份:完成特殊情况下的备份,分热备份和冷备份,热备份是指在不关闭数据库情况下进行备份,冷备份则需要停止Oracle实例服务。 三、软件备份 1.以七天为一个周期每天23:00将所有软件拷贝到其他存储介质上 2.超出七天的备份依次删除 3.每月一号将上月最后7天的备份文件刻录到光盘上 四、软件恢复 1.找出最近的备份程序覆盖到正式运行环境的相应目录中

ORACLE表空间的备份与恢复

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 rman or /data/app/oracle/product/11.2.0/dbhome_1/bin/rman RMAN> connect target sys/system@orcl --连接到目标数据库 3、备份表空间tpm RMAN>backup tablespace tpm plus archivelog delete input; 4、恢复表空间 SQL>alter tablespace tpm offline for recover; //使tpm offline RMAN>restore tablespace tpm RMAN>recover tablespace tpm RMAN>alter tablespace tpm online; //tpm online 5、表空间的增量备份 第一天的增量基本备份: RMAN> backup incremental level=0 tablespace tpm plus archivelog delete input; 第二天的增量差异备份: RMAN> backup incremental level=2 tablespace tpm plus archivelog delete input; 第三天的增量差异备份:

ORACLE数据库备份与恢复详解

ORACLE数据库备份与恢复详解 Oracle的备份与恢复有三种标准的模式,大致分为两大类,备份恢复(物理上的)以及导入导出(逻辑上的),而备份恢复又可以根据数据库的工作模式分为非归档模式(Nonarchivelog-style)和归档模式(Archivelog-style),通常,我们把非归档模式称为冷备份,而相应的把归档模式称为热备份,他们的关系如下所示 三种方式各有优点,我们做个比较(这个是用Fireworks画的,有点糙):

$A: 现在先来介绍一下逻辑备份方式的方法,利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。理论基础:Oracle 提供的Export和Import具有三种不同的操作方式(就是备份的数据输出(入)类型): 1,表方式(T) 可以将指定的表导出备份; 2,全库方式(Full) 将数据库中的所有对象导出; 3,用户方式(U) 可以将指定的用户相应的所有数据对象导出; *在导入导出备份方式中,提供了很强大的一种方法,就是增量导出/导入,但是它必须作为System来完成增量的导入导出,而且只能是对整个数据库进行实施。增量导出又可以分为三种类别: 1,完全增量导出(完全备份)(Complete Export) 这种方式将把整个数据库文件导出备份;exp system/manager inctype=complete file=20041125.dmp(为了方便检索和事后的查询,通常我们将备份文件以日期或者其他有明确含义的字符命名) 2,增量型增量导出(增量备份)(Incremental Export) 这种方式将只会备份上一次备份后改变的结果;exp system/manager inctype=incremental file=20041125.dmp 3,累积型增量导出(差异备份)(Cumulate Export) 这种方式的话,是导出自上次完全增量导出后数据库变化的信息。exp system/manager inctype=cumulative file=20041125.dmp 通常情况下,DBA们所要做的,就是按照企业指定或者是自己习惯的标准(如果是自己指定的标准,建议写好计划说明),一般,我们采用普遍认可的下面的方式进行每天的增量备份: Mon:完全备份(A) Tue:增量导出(B) Wed:增量导出(C) Thu:增量导出(D)

oracle数据库备份与恢复的三种方法(1)

Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP)、热备份和冷备份。导出备件是一种逻辑备份,冷备份和热备份是物理备份。 一、导出/导入(Export/Import) 利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。 1、简单导出数据(Export)和导入数据(Import) Oracle支持三种方式类型的输出: (1)、表方式(T方式),将指定表的数据导出。 (2)、用户方式(U方式),将指定用户的所有对象及数据导出。 (3)、全库方式(Full方式),瘵数据库中的所有对象导出。 数据导入(Import)的过程是数据导出(Export)的逆过程,分别将数据文件导入数据库和将数据库数据导出到数据文件。 2、增量导出/导入 增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。导出文件名缺省为export.dmp,如果不希望自己的输出文件定名为export.dmp,必须在命令行中指出要用的文件名。 增量导出包括三种类型: (1)、“完全”增量导出(Complete) 即备份三个数据库,比如: (2)、“增量型”增量导出 备份上一次备份后改变的数据,比如: (3)、“累积型”增量导出 累计型导出方式是导出自上次“完全”导出之后数据库中变化了的信息。比如: 数据库管理员可以排定一个备份日程表,用数据导出的三个不同方式合理高效的完成。 比如数据库的被封任务可以做如下安排: 星期一:完全备份(A)

星期二:增量导出(B) 星期三:增量导出(C) 星期四:增量导出(D) 星期五:累计导出(E) 星期六:增量导出(F) 星期日:增量导出(G) 如果在星期日,数据库遭到意外破坏,数据库管理员可按一下步骤来回复数据库: 第一步:用命令CREATE DATABASE重新生成数据库结构; 第二步:创建一个足够大的附加回滚。 第三步:完全增量导入A: 第四步:累计增量导入E: 第五步:最近增量导入F: 二、冷备份 冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份时将关键性文件拷贝到另外的位置的一种说法。对于备份Oracle信息而言,冷备份时最快和最安全的方法。冷备份的优点是: 1、是非常快速的备份方法(只需拷文件) 2、容易归档(简单拷贝即可) 3、容易恢复到某个时间点上(只需将文件再拷贝回去) 4、能与归档方法相结合,做数据库“最佳状态”的恢复。 5、低度维护,高度安全。 但冷备份也有如下不足: 1、单独使用时,只能提供到“某一时间点上”的恢复。 2、再实施备份的全过程中,数据库必须要作备份而不能作其他工作。也就是说,在冷备份过程中,数据库必须是关闭状态。

Oracle11g数据库备份与恢复

二、冷备份

冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份时将关键性文件拷贝到另外的位置的一种说法。对于备份Oracle信息而言,冷备份时最快和最安全的方法。冷备份的优点是: 1、是非常快速的备份方法(只需拷文件) 2、容易归档(简单拷贝即可) 3、容易恢复到某个时间点上(只需将文件再拷贝回去) 4、能与归档方法相结合,做数据库“最佳状态”的恢复。 5、低度维护,高度安全。 但冷备份也有如下不足: 1、单独使用时,只能提供到“某一时间点上”的恢复。 2、再实施备份的全过程中,数据库必须要作备份而不能作其他工作。也就是说,在冷备份过程中,数据库必须是关闭状态。 3、若磁盘空间有限,只能拷贝到磁带等其他外部存储设备上,速度会很慢。 4、不能按表或按用户恢复。 如果可能的话(主要看效率),应将信息备份到磁盘上,然后启动数据库(使用户可以工作)并将备份的信息拷贝到磁带上(拷贝的同时,数据库也可以工作)。冷备份中必须拷贝的文件包括: 1、所有数据文件 2、所有控制文件 3、所有联机REDO LOG文件 4、 Init.ora文件(可选) 值得注意的使冷备份必须在数据库关闭的情况下进行,当数据库处于打开状态时,执行数据库文件系统备份是无效的。 下面是作冷备份的完整例子。 (1)关闭数据库

(2)用拷贝命令备份全部的时间文件、重做日志文件、控制文件、初始化参数文件 (3)重启Oracle数据库 三、热备份 热备份是在数据库运行的情况下,采用archivelog mode方式备份数据库的方法。所以,如果你有昨天夜里的一个冷备份而且又有今天的热备份文件,在发生问题时,就可以利用这些资料恢复更多的信息。热备份要求数据库在Archivelog方式下操作,并需要大量的档案空间。一旦数据库运行在archivelog状态下,就可以做备份了。热备份的命令文件由三部分组成: 1.数据文件一个表空间一个表空间的备份。 (1)设置表空间为备份状态 (2)备份表空间的数据文件 (3)回复表空间为正常状态 2.备份归档log文件 (1)临时停止归档进程 (2) log下那些在archive rede log目标目录中的文件 (3)重新启动archive进程 (4)备份归档的redo log文件 3.用alter database bachupcontrolfile命令来备份控制文件 热备份的优点是: 1.可在表空间或数据库文件级备份,备份的时间短。 2.备份时数据库仍可使用。 3.可达到秒级恢复(恢复到某一时间点上)。

oracle备份与恢复机制

谈ORACLE备份与恢复 经常听到有人说,某数据库备份方法好,某备份方法不好,或者说现在都流行用rman来备份了,逻辑备份已经过时了,冷备份就更不值一提了,其实数据库的备份从来没有什么好坏之分、没有过时之说,合适才是最重要的,自己好才是真的好.各种方法各有长短,谁也代替不了谁,只有根据实际情况搭配使用,才能发挥最大的作用,否则只能是东施效颦. 1. oracle的备份,包括noarchivelog模式的备份(冷备份)、archivelog模式的备份(热备份、rman备份)、逻辑备份(不分模式). 1.1. 冷备份: -- 1)关闭数据库 shutdown; -- 2)备份数据文件、控制文件、重做日志文件 -- A、查找备份文件的位置 SELECT * FROM V$DATAFILE; --查数据文件 select * from v$controlfile; --查控制文件 select * from v$logfile; --查日志文件 -- B、备份数据文件、控制文件、重做日志文件 $ copy D:\oracle\oradata\ora9\*.dbf d:\bak\*.*; $ copy D:\oracle\oradata\ora9\*.ctl d:\bak\*.*; $ copy D:\oracle\oradata\ora9\*.log d:\bak\*.*; 1.2. 热备份: -- 1)查询备份的数据文件与哪一个表空间有关 SELECT V$https://www.doczj.com/doc/9c6882194.html,,V$https://www.doczj.com/doc/9c6882194.html, FROM V$TABLESPACE JOIN V$DATAFILE USING(TS#); -- 2)备份数据文件 alter tablespace 表空间 BEGIN BACKUP; $ COPY 数据文件存放路径 ALTER TABLESPACE 表空间 END BACKUP;

(完整版)Oracle数据库备份和恢复操作手册

1 ORACLE数据库数据备份和恢复操作手册 1.1.ORACLE参数设置 进入CMD操作界面,使用sqlplus连接数据库, 图例 1 数据库连接操作 连接语法:sqlplus system/Oracle2013@orcl 参数说明备注sqlplus 语法命令 system 数据库管理员用户名 Oracle2013 system用户密码 orcl 数据库连接标示符数据库安装目录的tnsnames.ora文件中可以找到 Oracle11G目录: C:\app\Administrator\product\11.2.0\dbhome _1\NETWORK\ADMIN

图例 2 成功连接数据库 环境变量设置(在Sqlplus中执行) create or replace directory as ‘c:\tmpdir’; 参数说明备注 dir_name 路径名称 c:\tmpdir 文件路径也可以是另外的随意目录,用单引号括起来。

图例 3 环境变量设置

1.2. 数据备份 备份脚本:expdp system/Oracle2013@orcl directory=file_path dumpfile=ARADMIN.dat logfile=ARADMIN.log schemas=ARADMIN 参数说明备注expdp 语法命令 system 数据库管理员用户名 Oracle2013 system用户密码 orcl 数据库连接标示符数据库安装目录的tnsnames.ora文件中可以找到 Oracle11G目录: C:\app\Administrator\product\11.2.0\dbhome _1\NETWORK\ADMIN directory 文件目录名称导出数据库文件的存放目录dumpfile 数据库文件名称导出数据库文件的文件名logfile 数据库日志文件名称导出数据库的日志文件名称schemas 数据库用户 图例 4 数据库备份操作 成功导出。

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文件,就删除之;之后,

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

O R A C L E数据备份与数 据恢复方案 This manuscript was revised by the office on December 10, 2020.

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

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

Linux_oracle数据库的备份与恢复

1 数据库备份和恢复 (备份和恢复均已做成脚本自动运行,下列操作供参考,请不要在生产机上做测试) 1)数据库备份: ◆将dbexp.parm,dbexp.sh 拷贝至/home/oracle/backup/. 以oracle用户登录系统 $ cd /home/oracle/backup $ dos2unix * $ chmod 755 dbexp.sh ◆手工执行备份,用oracle用户登录: $ cd /home/oracle/backup $ ./dbexp.sh ◆自动执行备份,用root用户登录: #crontab -e 00 01 * * * su - oracle -c "/home/oracle/backup/dbexp.sh" 2)数据库恢复: 以oracle用户登录系统 ◆删除用户: sqlplus /nolog >connect / as sysdba; >drop user center cascade; >create user center identified by center; >grant connect,resource,dba to center ◆恢复数据库 $imp center/center full=y grants=y INDEXES=y constraints=y LOG=/tmp/backup.log rows=y ignore=y file=xxx (xxx--为以前备份的数据文件,如checkid_20041123.dat) oracle数据库的备份与恢复 原理及方法: 导出(备份) exp 用户名/密码@服务名file=d:daochu.dmp (rows=no(导出空结构)) 导入(恢复) imp 用户名/密码@服务名file=d:daochu.dmp fromuser=原用户名touser=新用户名 ---- 当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(包括机器故障、介质故障、误操作等),数据库有时也可能遭到破坏,这时如何尽快恢复数据就成为当务之急。如果平时对数据库做了备份,那么此时恢复数据就显得很容易。由此可见,做好数据库的备份是多么的重

oracle数据库备份与恢复方案

oracle数据库备份与恢复方案 受控不受控

目录 一、编写目的 (1) 二、备份工具及备份方式 (1) 三、软件备份 (1) 四、软件恢复 (1) 五、数据备份 (1) 六、备份的存储 (2) 七、备份数据的保存规定 (2) 八、备份介质的格式 (2) 九、数据恢复 (3)

一、编写目的 本文档主要说明公司项目在实施现场的软件及数据的备份和恢复方案。 二、备份工具及备份方式 1.备份工具 Oracle RMAN(Recovery Manager):是一种用于备份(backup)、还原(restore)和恢复(recover)数据库的Oracle 工具。RMAN只能用于ORACLE8或更高的版本中。它能够备份整个数据库或数据库部件,如表空间、数据文件、控制文件、归档文件以及Spfile参数文件。RMAN也允许您进行增量数据块级别的备份,增量RMAN备份是时间和空间有效的,因为他们只备份自上次备份以来有变化的那些数据块。 2.备份方式 (1)自动备份:由Windows 计划任务调度完成; (2)手工备份:完成特殊情况下的备份,分热备份和冷备份,热备份是指在不关闭数据库情况下进行备份,冷备份则需要停止Oracle实例服务。 三、软件备份 1.以七天为一个周期每天23:00将所有软件拷贝到其他存储介质上 2.超出七天的备份依次删除 3.每月一号将上月最后7天的备份文件刻录到光盘上 四、软件恢复 1.找出最近的备份程序覆盖到正式运行环境的相应目录中 五、数据备份 1.业务系统或数据库在打重要补丁或升级的前后,必须按要求对业务系统 进行停机备份或非停机备份,备份需包含应用和数据库的文件系统及数据,备份方式为手工备份,使用RMAN执行备份; 2.系统日常备份:作为7*24运行的重要系统,必须最小化数据丢失的同 时,还需要尽可能缩短恢复时间,数据库的日常备份策略如下: (1)确保数据库处于ArchiliveLog模式; (2)每日凌晨01:00执行数据库全备份,含控制文件备份;

最新oracle数据库备份与恢复方案

oracle数据库 备份与恢复方案 文件控制受控不受控 文档编号日期项目名称版本号 分册名称第册/共册总页数正文附录 编制审批生效日期

目录 一、编写目的 (1) 二、备份工具及备份方式 (1) 三、软件备份 (1) 四、软件恢复 (1) 五、数据备份 (2) 六、备份的存储 (2) 七、备份数据的保存规定 (2) 八、备份介质的格式 (3) 九、数据恢复 (4)

一、编写目的 本文档主要说明公司项目在实施现场的软件及数据的备份和恢复方案。 二、备份工具及备份方式 1.备份工具 Oracle RMAN(Recovery Manager):是一种用于备份(backup)、还原(restore)和恢复(recover)数据库的Oracle 工具。RMAN只能用于ORACLE8或更高的版本 中。它能够备份整个数据库或数据库部件,如表空间、数据文件、控制文件、 归档文件以及Spfile参数文件。RMAN也允许您进行增量数据块级别的备份, 增量RMAN备份是时间和空间有效的,因为他们只备份自上次备份以来有变化 的那些数据块。 2.备份方式 (1)自动备份:由Windows 计划任务调度完成; (2)手工备份:完成特殊情况下的备份,分热备份和冷备份,热备份是指在不 关闭数据库情况下进行备份,冷备份则需要停止Oracle实例服务。 三、软件备份 1.以七天为一个周期每天23:00将所有软件拷贝到其他存储介质上 2.超出七天的备份依次删除 3.每月一号将上月最后7天的备份文件刻录到光盘上 四、软件恢复 1.找出最近的备份程序覆盖到正式运行环境的相应目录中

五、数据备份 1.业务系统或数据库在打重要补丁或升级的前后,必须按要求对业务系统进行停 机备份或非停机备份,备份需包含应用和数据库的文件系统及数据,备份方式 为手工备份,使用RMAN执行备份; 2.系统日常备份:作为7*24运行的重要系统,必须最小化数据丢失的同时,还需 要尽可能缩短恢复时间,数据库的日常备份策略如下: (1)确保数据库处于ArchiliveLog模式; (2)每日凌晨01:00执行数据库全备份,含控制文件备份; (3)每四小时间隔执行数据库归档日志备份,含控制文件备份; (4)每间隔两周执行数据库与应用系统文件备份,执行时间:数据库服务器在第一周的周六05:00,应用服务器在第一周的周六7:00。 3.每周一将上周的备份文件拷贝到其它存储介质上; 4.每月一号将上月最后一周的备份文件刻录到光盘上。 六、备份的存储 1.在确保成功备份数据的同时,必须严格保证存储结构的完整性,在备份服务器 或备份带库上需要保留足够的剩余空间,以存储需要保存的多份备份文件; 2.如项目上采用了专门的备份软件,有专用的备份存储,应提前规划好备份的存 储空间,比如按时间特征存储相对应的备份:年备份池、月备份池、日备份池; 和按类型存储的备份池:os文件系统池、db数据库池等; 3.如未采用专门的备份软件,在备份服务器上架设专门的ftp服务器,每次备份之 后,由计划任务定时调度,将备份数据传输至备份服务器,传输备份数据的时 间应选在服务器业务较少的空闲时间进行。 七、备份数据的保存规定 1.年备份永久保存(即每年最后一天的备份) 2.保留最近的12期月备份(即每月最后一天的备份)

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