前言

本文是为基于Centos6.*(linux)系列的Oracle备份和还原的操作记录,其中根据expdp和impdp不同参数可实现不同场景下的导出导入,为不同OS下面的Oracle迁移打下基础。

正文

1.准备工作

  1.0导入账号准备    

create tablespace EXPDP_DATA datafile '/home/oracle/app/oracle/oradata/EXPDP_DATA.dbf' size 100m autoextend on  next 50m maxsize 10240m  extent management local; 

create temporary tablespace EXPDP_TEMP   tempfile '/home/oracle/app/oracle/oradata/EXPDP_TEMP.DBF' size 50m  autoextend on  next 50m maxsize 10240m  extent management local;

create user EXPDP_USER identified by   account unlock default tablespace EXPDP_DATA  TEMPORARY TABLESPACE EXPDP_TEMP; 

grant connect,resource to EXPDP_USER;

   1.1.xshell:oracle账号登录

    mkdir ora_back;

    查看目录:pwd 显示 /home/oracle/ora_back

  1.2oracle新建逻辑目录

    create directory ora_back as '/home/oracle/ora_back/';

    查看目录是否存在

    select * from dba_directories;

    

  1.3逻辑目录账号授权

    grant read,write on directory ora_back to scott;         导出账号目录对象授权(此处备份操作建议使用system账号,本文以scott为例)。

    grant read,write on directory ora_back to EXPDP_USER;   导入账号目录对象授权

   1.4设置oracle导出支持

    exec dbms_metadata_util.load_stylesheets;

    1.5设置导出账号0条记录表支持导出(已设置过,就不需要再次执行)

    select table_name from user_tables where NUM_ROWS=0;

    alter table table1 allocate extend;(设置指定的表支持导出)

    select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;(已有空表添加导出支持)

     1.6新表支持自动导出(已设置过,就不需要再次执行)

    sqlplus:    

      show parameter deferred_segment_creation

      alter system set deferred_segment_creation=false

2.导出导入

  2.1expdp 主要参数说明:

     TABLES=需要导出的表名1,表名2

     TABLESPACES=需要导出的表空间

     VERSION=需要导入的oracle版本号

     SCHEMAS=需要导出的方案列表

     JOB_NAME=导出作业名称

     INCLUDE=需要包含的特定对象

     FULL=Y/N是否需要导出整个库

     DIRECTORY=存储导出文件的目录对象

  2.2导出操作

    linux 终端模式(非sqlplus模式)执行下面导出语句

    expdp scott/orcl directory=ora_back dumpfile=scott_expdp.dmp schemas=scott

    执行结果:

          

3.导入工作

  3.1导入参数

    remap_schema=导出登录账号:导入登陆账号

    dumpfile=dmp备份文件

    table_exists_action=replace对象已存在时采取替换策略(SKIP | APPEND | TRUNCATE | FRPLACE)

    directory=目录对象

    

  3.2导入操作
    linux 终端模式(非sqlplus模式)执行下面导出语句

    impdp EXPDP_USER/ directory=ora_back dumpfile=scott_expdp.dmp TABLE_EXISTS_ACTION=REPLACE remap_schema=SCOTT:EXPDP_USER

    执行结果:

      

  3.3导入对比:

      导入前:

         

      导入后:

        

      对比结果表明导出导入操作Ok

4.实际应用

  4.1请参考前面步骤操作。

    

Centos610-oracle 备份和还原的更多相关文章

  1. Oracle 备份与还原

    oracle 备份与还原 一.备份数据库(exp) 1.完全备份 exp demo/demo@orcl buffer=1024 file=d:\back.dmp full=y demo:用户名.密码 ...

  2. C#oracle备份和还原

    最近公司的oracle备份工具不好使了,原来是公司的人用VB写的,由于我是主攻C#的,所以想着自己来写一个C#版本的oracle备份和还原工具. 一开始,我按照原来的设计思路来进行编写,想在pluss ...

  3. oracle 备份与还原 及相关操作

    drop user 用户名 cascade; ........删除用户 create user 用户名 identified by 密码 default tablespace 数据文件名 tempor ...

  4. oracle备份与还原(导入导出)

    Oracle数据导入导出imp/exp 功能:Oracle数据导入导出imp/exp相当于oracle数据还原与备份.说明:大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的 ...

  5. oracle备份与还原数据

    一.表数据备份与还原 creat table  备份表   select * from  原表  where insert  into  原表  select  *  from  备份表 二.利用备份 ...

  6. oracle 备份和还原还有创建用户、表空间、授权

    --找到存放dbf文件的路径--E:\oracle\product\10.2.0\oradata\orcl--可以通过此语句进行查询select * from v$datafile; --创建表空间c ...

  7. oracle备份、还原

    ----第一步:设置空表导出 ----由于Oracle 11G在用EXPORT导出时,空表不能导出.解决方法如下:(11G中有个新特性,当表无数据时,不分配segment,以节省空间) select ...

  8. Oracle备份、还原数据库

    备份数据库 创建备份目录(用sys账号),若已创建备份目录,此步可忽略 create directory db_bak as 'D:\ ECIMS_DB' --查看创建的目录 select * fro ...

  9. oracle备份和还原

    用exp命令即可完成,但要看具体的备份方式. 1. 导出一个完整数据库 exp system/manager file=bible_db log=dible_db full=y 2. 导出数据库定义而 ...

  10. oracle数据泵备份与还原

    完整的常用的一套oracle备份以及还原方案 --在新库中新建数据目录,我没有特别说明在哪执行的语句都可在plsql中执行 CREATE OR REPLACE DIRECTORY dump_dir A ...

随机推荐

  1. Spring里面AOP的和IOC的理解

    1.Spring里面AOP的理解:https://www.cnblogs.com/hongwz/p/5764917.html例如日志功能.日志代码往往横向地散布在所有对象层次中,而与它对应的对象的核心 ...

  2. Linux C++ 单链表添加,删除,输出,逆序操作

    /*单链表操作*/#include <iostream>using namespace std; class Node{ public: Node(){ next=0; } Node(in ...

  3. 基于EFCore3.0+Dapper 封装Repository

    Wei.Repository 基于EFCore3.0+Dapper 封装Repository,实现UnitOfWork,提供基本的CURD操作,可直接注入泛型Repository,也可以继承Repos ...

  4. springboot里面的缓存注解

    https://blog.csdn.net/u012240455/article/details/80844361 https://lfvepclr.gitbooks.io/spring-framew ...

  5. python开发第一篇:初识python

    一. Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为AB ...

  6. 疫情下的传统商企自救|4个Tips搭建销量过亿直播间

    新冠肺炎爆发以来,线下商企遭受巨大冲击.出于疫情防控需要,不少门店选择暂时停业:而消费者们更是响应号召.足不出户.这场疫情促使消费者的消费习惯和方式进一步转向线上订购转变,直播.短视频等领域逆势而起, ...

  7. 计算器程序编写_python

    一.计算一串字符串的最终值,相当于eval函数功能: #!/usr/bin/env python # _*_ coding:utf-8 _*_ #Author:chenxz import re def ...

  8. Linux系统搭建Java环境【JDK、Tomcat、MySQL】一篇就够

      前言:所有项目在完成开发后都会部署上线的,一般都是用Linux系统作为服务器的,很少使用Windows Server(大多数项目的开发都是在Windows桌面系统完成的),一般有专门负责上线的人员 ...

  9. JUC-线程间通信

    面试题: 两个线程,一个线程打印1-52,另一个打印字母A-Z打印顺序为12A34B...5152Z, 要求用线程间通信 线程间通信:1.生产者+消费者2.通知等待唤醒机制 多线程编程模版中 1.判断 ...

  10. OpenGL 编程指南 (2)

    1.OpenGL对共享的边有严格的规定:1)共享边上的像素因为同事被两者所覆盖,因此不可能不受到光照计算的影响: 2)共享边上的像素值,不可能受到多于一个三角形的光照计算的影响. 2.多边形存在正面与 ...