• 备份前准备

创建备份用户

create user backup identified by backup#2018 ;

授予导入导出角色

grant connect,resource to backup;

grant exp_full_database,imp_full_database to backup;

创建逻辑目录

create or replace directory oradmp as '/oradmp';

授予备份用户逻辑目录读写权限

grant read,write on directory oradmp to backup;

  • 备份数据库--EXPDP

备份全库

expdp backup/backup#2018 directory=oradmp dumpfile=`date +%Y%m%d`_full.dmp logfile=`date +%Y%m%d`_full.log full=y

备份单个用户下的数据
expdp backup/backup#2018 directory=oradmp dumpfile=`date +%Y%m%d`_scott.dmp logfile=`date +%Y%m%d`_scott.log schemas=scott

备份多个用户下的数据

expdp backup/backup#2018 directory=oradmp dumpfile=`date +%Y%m%d`_scott.dmp logfile=`date +%Y%m%d`_scott.log schemas=scott_1,scott_2

备份单个表

expdp backup/backup#2018 directory=oradmp dumpfile=`date +%Y%m%d`_scott.dmp logfile=`date +%Y%m%d`_scott.log tables=scott.dept

备份多个表

expdp backup/backup#2018 directory=oradmp dumpfile=`date +%Y%m%d`_scott.dmp logfile=`date +%Y%m%d`_scott.log tables=scott.dept,scott.emp

备份A开头的表

expdp backup/backup#2018 directory=oradmp dumpfile=`date +%Y%m%d`_scott.dmp logfile=`date +%Y%m%d`_scott.log tables=scott.A%

备份某表前10行数据

expdp backup/backup#2018 directory=oradmp dumpfile=`date +%Y%m%d`_scott.dmp logfile=`date +%Y%m%d`_scott.log tables=scott.dept query=scott.dept:"where rownum<5"

备份时排除单表

expdp backup/backup#2018 directory=oradmp schemas=scott dumpfile=`date +%Y%m%d`_scott.dmp logfile=`date +%Y%m%d`_scott.log exclude=table:\"in\(\'DEPT\'\)\"

备份时排除多表

expdp backup/backup#2018 directory=oradmp schemas=scott dumpfile=`date +%Y%m%d`_scott.dmp logfile=`date +%Y%m%d`_scott.log exclude=table:\"in\(\'DEPT\',\'EMP\'\)\"

备份时排除包含20的表

expdp backup/backup#2018 directory=oradmp schemas=scott dumpfile=`date +%Y%m%d`_scott.dmp logfile=`date +%Y%m%d`_scott.log exclude=table:\"like \'\%20\%\'\"

备份用户的数据表结构

expdp backup/backup#2018 directory=oradmp dumpfile=`date +%Y%m%d`_scott.dmp schemas=scott content=metadata_only

备份用户的数据,不导出表结构

expdp backup/backup#2018 directory=oradmp dumpfile=`date +%Y%m%d`_scott.dmp schemas=scott content=data_only

多进程并行备份(加快备份速度) 注意并行数量一般要少于CPU的数量,并行数量决定了备份文件的分片数量,比如并行数量为8 就会产生8个分片集文件

expdp backup/backup#2018 compress=all full=y directory=oradmp dumpfile=`date +%Y%m%d`_full_%U.dmp logfile=`date +%Y%m%d`_full_%U.log parallel=8

备份排除统计信息

expdp backup/backup#2018 compress=all full=y dumpfile=`date +%Y%m%d`_full_%U.dmp logfile=`date +%Y%m%d`_full.log exclude=table_statistics

集群环境下限制备份文件分片集只在一个节点下

expdp backup/backup#2018 compress=all full=y directory=oradmp dumpfile=`date +%Y%m%d`_full.dmp logfile=`date +%Y%m%d`_full.log cluster=n

备份时只导出DB_LINK

expdp backup/backup#2018 compress=all full=y directory=oradmp dumpfile=`date +%Y%m%d`_full.dmp logfile=`date +%Y%m%d`_full.log include=db_link;

  • 恢复数据库

全库恢复

impdp backup/backup#2018 directory=oradmp dumpfile=20180517_full.dmp logfile=`date +%Y%m%d`_impdp.log full=y

恢复单个用户数据

impdp backup/backup#2018 directory=oradmp dumpfile=20180517_scott.dmp logfile=`date +%Y%m%d`_impdp.log schemas=scott

恢复多个用户数据

impdp backup/backup#2018 directory=oradmp dumpfile=20180517_scott.dmp logfile=`date +%Y%m%d`_impdp.log schemas=scott_1, scott_2

恢复时排除用户

impdp backup/backup#2018 directory=oradmp dumpfile=20180517_scott.dmp logfile=`date +%Y%m%d`_impdp.log full=y exclude=schema:\"in\(\'SCOTT\'\)\"

恢复单个表

impdp backup/backup#2018 directory=oradmp dumpfile=20180517_scott.dmp logfile=`date +%Y%m%d`_impdp.log tables=scott.dept

恢复多个表

impdp backup/backup#2018 directory=oradmp dumpfile=20180517_scott.dmp logfile=`date +%Y%m%d`_impdp.log tables=scott.dept,scott.emp

恢复时排除表

impdp backup/backup#2018 directory=oradmp dumpfile=20180517_scott.dmp logfile=`date +%Y%m%d`_impdp.log full=y exclude=table:\"in\(\'DEPT\'\)\"

恢复时排除统计信息

impdp backup/backup#2018 directory=oradmp dumpfile=20180517_scott.dmp logfile=`date +%Y%m%d`_impdp.log full=y exclude=table_statistics

恢复时重命名表空间

impdp backup/backup#2018 directory=oradmp dumpfile=20180517_full.dmp logfile=`date +%Y%m%d`_impdp.log full=y remap_tablespace=EXAMPLE:EXAMPLE_B

恢复时重命名用户名

impdp backup/backup#2018 directory=oradmp dumpfile=20180517_full.dmp logfile=`date +%Y%m%d`_impdp.log schemas=hr remap_schema=hr:other_hr

恢复时重命名表名 (自动创建表other_hr)

impdp backup/backup#2018 directory=oradmp dumpfile=20180517_full.dmp logfile=`date +%Y%m%d`_impdp.log tables=scott.emp remap_table=scott.emp:scott.emp1

  • 监控备份恢复进度

查看整体进度

select sid,serial#,start_time,opname,target,sofar,totalwork,round(sofar/totalwork,2) process from v$session_longops where sofar<>totalwork

查看对象创建进度

select count(*) from dba_objects where owner like 'scott';

创建数据导入进度
select sum(bytes)/1024/1024/1024,owner,tablespace_name from dba_segments where owner like 'scott' group by owner,tablespace_name

查看磁盘IO速率

iostat -dmx 1

查看表空间使用情况

select c.host_name HOSTNAME,
b.tablespace_name TABLESPACE_NAME,
a.total TOTAL_SIZE,
a.total - b.free USED_SIZE,
b.free FREE_SIZE,
to_char(round(100 - (b.free/a.total) * 100),'fm9999999990.00') USED_PERCENT
from (select tablespace_name, round(sum(bytes/1024/1024)) total
from dba_data_files
where tablespace_name not in ('UNDOTBS1', 'UNDOTBS2')
group by tablespace_name) a,
(select tablespace_name, round(sum(bytes/1024/1024)) free
from dba_free_space
where tablespace_name like 'USERS'
group by tablespace_name) b,
(select host_name from v$instance) c
where a.tablespace_name = b.tablespace_name

expdp&impdp备份恢复常用命令的更多相关文章

  1. kvm快照备份及常用命令

    转载自:http://www.myjishu.com/?p=431 好文章 kvm快照备份及常用命令 kvm快照,分两种: 1种lvm快照,如果分区是lvm,可以利用lvm进行kvm的快照备份 2种由 ...

  2. expdp impdp 数据库导入导出命令详解

    一.创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建.create directory dpdata1 as 'd:\test\dump'; 二.查看管理理员目录(同时 ...

  3. expdp impdp 数据库导入导出命令具体解释

    一.创建逻辑文件夹,该命令不会在操作系统创建真正的文件夹.最好以system等管理员创建. create directory dpdata1 as 'd:\test\dump'; 二.查看管理理员文件 ...

  4. [转]Linux/Unix系统镜像/备份/恢复 (dd 命令使用)

    ref: http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=22561912&id=156879 开源系统默认安装了一个d ...

  5. ORACLE 数据泵 expdp/impdp

    ORACLE 数据泵 expdp/impdp 一.概念 Oracle Database 10g 引入了最新的数据泵(Data Dump)技术,数据泵导出导入 (EXPDP 和 IMPDP)的作用: 1 ...

  6. ORACLE表空间offline谈起,表空间备份恢复

    从ORACLE表空间offline谈起,表空间备份恢复将表空间置为offline,可能的原因包括维护.备份恢复等目的:表空间处于offline状态,那么Oracle不会允许任何对该表空间中对象的SQL ...

  7. 用数据泵技术实现逻辑备份Oracle 11g R2 数据泵技术详解(expdp impdp)

    用数据泵技术实现逻辑备份 from:https://blog.csdn.net/weixin_41078837/article/details/80618916 逻辑备份概述 逻辑备份时创建数据库对象 ...

  8. MongoDB学习(三)数据导入导出及备份恢复

    这几天想着公司要用MongoDB,自然就要用到数据导入导出,就自己学习了一下. 在Mongo学习(二)中就讲到了在bin目录下有一些工具,本篇就是使用这些工具进行数据的导入导出及备份恢复. 注意:以下 ...

  9. 通过expdp/impdp进行oracle数据库的备份恢复详细指导

    假定导出oracle数据库home目录为/opt/oracle,数据库用户为exp_user/test,导入用户为imp_user/test,给出如下样例,具体使用时根据实际情况修改路径及用户名/密码 ...

随机推荐

  1. linux磁盘分区详解

    http://blog.csdn.net/aaronychen/article/details/2270048

  2. [spring] 对实体 "characterEncoding" 的引用必须以 ';' 分隔符结尾

    org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 26 in XML document from ...

  3. 深入分析JavaWeb Item43 -- Struts2开发入门

    一.Struts2概述 1.Struts2是什么? Struts2是一个M(模型-域–范围模型)V(View视图)C(控制器)框架(模型2).框架都是一个半成品. 提高开发效率. Struts1是一个 ...

  4. 超全面的JavaWeb笔记day23<AJAX>

    AJAX AJAX概述 1 什么是AJAX AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”.即使用Javascript语言 ...

  5. Java类的设计----访问控制

    访问控制 可以对Java类中定义的属性和方法进行访问控制----规定不同的保护等级: public.protected.default.private //仅在类的内部可以访问. private St ...

  6. Effective C++ Item 17 Store newed objects in smart pointer in standalone statements

    If you trying to do multiple things in one statement, you should think carefully abnormal behavior e ...

  7. Oracle的闪回操作

    Oracle10g中引入了闪回技术,但这并不意味着所有的表都能闪回成功,当没有足够的磁盘空间,Oracle将使用回收站中的磁盘空间,而且位图连接索引和引用完整性约束也不受回收站的保护. recycle ...

  8. 改进动态设置query cache导致额外锁开销的问题分析及解决方法-mysql 5.5 以上版本

    改进动态设置query cache导致额外锁开销的问题分析及解决方法 关键字:dynamic switch for query cache,  lock overhead for query cach ...

  9. IOS中数组的使用(NSArray, NSSet, NSDictionary)

    一.Foundation framework中用于收集cocoa对象(NSObject对象)的三种集合分别是: NSArray 用于对象有序集合(数组)NSSet 用于对象无序集合(集合) NSDic ...

  10. C++中的抽象基类示例

    抽象基类(abstract base class,ABC)例子:圆与椭圆.建立一个基类BaseEllipse,建立它的恋歌继承了Ellipse和Circle.ellipse.h #ifndef ELL ...