关于备份之言已经发布了一章rman工具的使用 今天九妹带你玩转数据泵 -----sql
一.数据泵数据库
数据泵实现逻辑备份服务器
逻辑备份是建立数据库对象的逻辑副本,并存入一个二进制转储文件的过程。从本质上说,逻辑备份与恢复实际就是对数据库实施数据的导入和导出。oracle
导出:ide
导出即数据库的逻辑备份,实质是读取一个数据库集并将这个数据集写入一个文件(扩展名一般是dmp),这些记录的导出与物理位置无关。工具
导入:测试
导入及数据库的逻辑恢复,实质是读取被导出的二进制转储文件并将其恢复到数据库。spa
一、使用数据泵技术导入/导出操作系统
数据泵(data pump)是一种在数据库之间或在数据库与操做系统以前高速传输的技术。数据泵工具运行在服务器上,数据库管理员须要指定数据库目录来保存转储的数据。命令行
基于命令行的数据泵导出步骤以下
1)链接oracle数据库
在链接数据库以前 首先建立一个操做目录存放的位置
mkdir -p /opt /backup
chown -R oracle:oinstall /opt/backup
链接数据库后解锁 scott 用户
alter user scott account unlock
设置密码为scott:alter user scott identified by pwd123
2)建立操做目录及授予用户对目录的权限
3)
5)导出scott用户下的表
使用expdp命令导入数据(能够按照表导出,按照用户模式导出,按照表空间导出和全库导出),使用impdp命令导入数据(能够按照表导入,按照用户模式导入,按照表空间导入和全库导入)。
expdf scott/pwd123 direcotry=dump_dir dumpfile=scott.dmp tables=emp,dept
6)已经备分红 公
测试删除emp表
sqlplus scott/pwd123
drop table emp;
7)导入emp表
8)select * from scott.emp
查看是否恢复回来
二.使用闪回技术
一、闪回技术概述
为了使数据库可以从任何逻辑误操做中迅速恢复,oracle退出了闪回技术。采用该技术,能够对行级和事务级的数据变化进行恢复,减小了数据恢复的时间,并且操做简单,经过sql语句就能够实现数据的恢复,大大提升了数据库恢复的效率。闪回技术是数据库恢复技术历史上一次重大的进步,从根本上改变了数据恢复。
闪回技术包括如下各项:
1)闪回查询(flashback query):查询过去某个时间点或某个SCN(system change number,系统更改号)值时表中的数据信息。
2)闪回版本查询(flashback version query):查询过去某个时间段或某个SCN段内表中数据的变化状况。
3)闪回事务查询(flashback transaction query):查看某个事务或全部事务在过去一段时间对数据进行的修改。
4)闪回数据库(flashback database):将数据库恢复到过去某个时间点或某个SCN值时的状态。
5)闪回删除(flashback drop):将已经删除的表及相关联的对象恢复到删除前的状态。
6)闪回表(flashback table):将表恢复到过去的某个时间点或某个SCN值时的状态。
SCN:scn是当Oracle数据库更新后,有dbms自动维护而累积递增的一个数字,能够经过查询数据字典V$DATABASE中的CURRENT_SCN得到当前的SCN号。
注意:
闪回数据库是基于闪回恢复区(Flash Recovery Area)特性实现的,若是要使用闪回数据库技术,还须要启用闪回恢复区
闪回删除是基于回收站(Recycle Bin)特性实现的,若是要使用闪回删除技术,还须要启用回收站
闪回查询、闪回版本查询、闪回事务查询以及闪回表主要是基于撤销表空间中的回滚信息实现的
二、闪回恢复区
1)闪回恢复区的含义
Oracle推荐指定一个闪回恢复区(flash recovery area)做为存放备份与恢复相关文件的默认位置,这样oracle就能够实现自动的基于磁盘的备份与恢复(automatic disk-based backup and recovery)。那么,什么是闪回恢复区?简单地说,闪回恢复区是一块用以存储恢复相关的文件的存储空间,容许用户集中存储全部恢复相关的文件。以下集中文件能够放到闪回恢复区中。
控制文件
归档的日志文件
闪回日志
控制文件和SPFILE自动备份
RMAN备份集
数据文件拷贝
2)闪回恢复区的优势
闪回恢复区提供了一个集中化的存储区域,很大程度上减小了管理开销,这是其最主要的优势,另外,与RMAN结合使用能够进行快速恢复。
闪回恢复区主要经过如下3个初始化参数来设置和管理。
Db_recovery_file_dest:指定闪回恢复区的位置
Db_recovery_file_dest_size:指定闪回恢复区的可用空间大小
Db_flashback_retention_target:该参数用来控制闪回日志中数据保留的时间,或者说,但愿闪回数据库可以恢复到的最先的时间点。单位为MIN,默认为1440min,也就是一天。固然,实际上可退回的时间还取决于闪回恢复区的大小,由于里面保存了回退所须要的闪回日志,因此这个参数要和db_recovery_file_dest_size配合修改。
若是要撤销闪回恢复区,把初始化参数DB_RECOVERY_FILE_DEST的值清空便可。
注意:db_recovery_file_dest_size只有在db_recovery_file_dest清空以后才能够清空。
5)设置闪回数据库
设置可闪回恢复区以后,要启用闪回数据库的功能,还须要进一步配置。数据库必须已经处于归档模式,再设置闪回数据库。
设置闪回数据库的步骤以下:
启用归档模式(闪回数据库只能处于归档模式)
归档模式的设置
1)关闭数据库
shutdown immediate
2)启动数据库
startup mont
3)设置归档模式
alter database archivelog
4)查询模式
archive log list
3.设置闪回
查看是否设置闪回
创建闪回区
设置闪回数据库的数据保留周期为一天以min为单位
启用闪回日志
shutdown immediate
查询是否已经启用闪回