文档最后,列出了常用的一些导入导出的场景,以及一些导入导出的属性说明。

一、数据库导出(expdp)

  1. 使用sys或system账号登录oracle

通过"Window + R" 打开dos命令行界面,使用sys或system登录oracle。格式:sqlplus sys/密码@数据库实例名 as sysdba

2、创建逻辑目录 : create or replace directory data_dir as 'E:\orcl\data';

data_dir为路径名称,可自命名,E:\orcl\data为数据库导出文件存放路径(路径必须存在);

创建备份逻辑目录,此目录不是真实的目录,此目录需要手动在数据库服务端创建。

通过 select * from dba_directories  可以查看所有的目录.

3、为用户授予访问数据目录的权限,输入命令:Grant read,write on directory data_dir to dbuser;

        dbuser为数据库用户名(与第4步中相同)

    

4、导入导出操作授权,输入命令:grant exp_full_database,imp_full_database to dbuser; 

5、退出,输入命令:exit;

6、数据导出,执行命令:

      expdp dbuser/123456@orcl schemas=dbuser dumpfile=expdp.dmp directory=data_dir logfile=expdp.log

注意:命令结束不需要加“;

    expdp [为用户名]/[密码]@[服务名] 
      schemas=[为用户名] 
      dumpfile=[导出数据库文件(可自命名)] 
      directory=[目录名] 
      logfile=[日志文件文件名(可自命名)]
 

数据库还原前准备

1、创建表空间

  1. create tablespace tbs_dbsunny datafile
  2. 'D:\app\Sunny\oradata\TableSpace\tbs_dbsunny.DBF' size 1G
  3. autoextend on next 100M maxsize unlimited logging
  4. extent management local autoallocate
  5. segment space management auto;

2、创建临时表空间

  1. create temporary tablespace tbs_dnsunny_temp tempfile 'D:\app\Sunny\oradata\TableSpace\tbs_dnsunny_temp.DBF' size 1000M autoextend on next 100M maxsize unlimited ;

3、创建用户

  1. create user sunny identified by sunny123 DEFAULT TABLESPACE tbs_dbsunny TEMPORARY TABLESPACE tbs_dnsunny_temp;

4、授权

  1. alter user sunny temporary tablespace tbs_dnsunny_temp;
  1. ALTER USER sunny QUOTA UNLIMITED ON TBS_DBSUNNY
  2. grant connect to sunny;
  3. grant resource to sunny;
  4. grant dba to sunny;
  5. grant create trigger to sunny;
  6. grant create session to sunny;
  7. grant create sequence to sunny;
  8. grant create synonym to sunny;
  9. grant create table to sunny;
  10. grant create view to sunny;
  11. grant create procedure to sunny;
  12. grant alter session to sunny;
  13. grant execute on ctxsys.ctx_ddl to sunny;
  14. grant create job to sunny;
  15. grant sysdba to sunny;
  16. alter user sunny default role all;

-- 删除这个用户以及这个用户下的所有对象
  DROP USER sunny CASCADE;

数据库导入(impdp)

1、使用sys或system 登录

通过"Window + R" 打开dos命令行界面,使用sys或system登录oracle。格式:sqlplus sys/密码@数据库实例名 as sysdba

  1. sqlplus sys/12345@dborcl as sysdba

2、创建逻辑目录,并手动创建真实目录,并将备份文件DMP,放进此目录下

  1. sqlplus create or replace directory data_dir as 'E:\orcl\data';

3、给目标用户授权

  1. sqlplus grant read,write on directory data_dir to sunny;

4、导入:在dos命令行,执行

注意 : impdp 语句 后面 不要加 " ; "

  1. impdp sunny/sunny123@DBSUNNY directory=data_dir dumpfile=EXPDPBUDGET.DMP logfile=impbudgett.log remap_schema =budgett:sunny remap_tablespace=PIMS:TBS_DBSUNNY

注:remap_schema=olduser:newuser               表示把左边的olduser用户的数据,导入到右边的newuser 用户里面

remap_tablespace=old_tbs:new_tbs          表示把将要导入的备份库的表空间old_tbs,导入到新库替换为 new_tbs

expdp导出数据

语法: expdp 用户名/密码@ip地址/实例 ....     ip地址不写默认就是本地

  1. 属性说明:
  2. userid=test/test            --导出的用户,本地用户!!
  3. directory=dmpfile          --导出的逻辑目录,一定要在oracle中创建完成的,并且给用户授权读写权限
  4. dumpfile=xx.dmp      --导出的数据文件的名称,如果想在指定的位置的话可以写成dumpfile=/home/oracle/userxx.dmp
  5. logfile=xx.log          --日志文件,如果不写这个参数的话默认名称就是export.log,可以在本地的文件夹中找到
  6. schemas=userxx       --使用dblink导出的用户不是本地的用户,需要加上schema来确定导出的用户,类似于exp中的owner,但还有一定的区别
  7. EXCLUDE=TABLE:"IN('T1','T2','T3')"     --exclude 可以指定不导出的东西,tableindex等,后面加上不想导出的表名
  8. network_link=db_local          --这个参数是使用的dblink来远程导出,需要指定dblink的名称

列出一些场景:

  1. 1)导出用户及其对象
  2. expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp directory=dump_dir logfile=expdp.log;
  3.  
  4. 2)导出指定表
  5. expdp scott/tiger@orcl tables=emp,dept dumpfile=expdp.dmp directory=dump_dir logfile=expdp.log;
  6.  
  7. 3)按查询条件导
  8. expdp scott/tiger@orcl directory=dump_dir dumpfile=expdp.dmp tables=empquery='where deptno=20' logfile=expdp.log;
  9.  
  10. 4)按表空间导
  11. expdp system/manager@orcl directory=dump_dir dumpfile=tablespace.dmp tablespaces=temp,example logfile=expdp.log;
  12.  
  13. 5)导整个数据库
  14. expdp scott/123@127.0.0.1/orcl directory=dump_dir dumpfile=ly.dmp full=y  logfile=expdp.log;
  1. 一般用的都是导出整个数据库,本人使用的代码:
  1. //包含所有用户的表、视图、索引等
  2. expdp JCPT/123@127.0.0.1/orcl directory=mydata dumpfile=ly.dmp full=y logfile=expdp.log;
  3. //指定用户的表、视图、索引等
  4. expdp JCPT/123@127.0.0.1/orcl directory=mydata schemas=jcpt dumpfile=ly.dmp logfile=expdp.log;

impdp 导入

列出一些场景:

  1. 1)导入用户(从用户scott导入到用户scott
  2. impdp scott/tiger@orcl directory=dump_dir dumpfile=expdp.dmp schemas=scott logfile=impdp.log;
  3.  
  4. 2)导入表(从scott用户中把表deptemp导入到system用户中)
  5. impdp system/manager@orcl directory=dump_dir dumpfile=expdp.dmp tables=scott.dept,scott.emp remap_schema=scott:system logfile=impdp.log table_exists_action=replace (表空间已存在则替换);
  6.  
  7. 3)导入表空间
  8. impdp system/manager@orcl directory=dump_dir dumpfile=tablespace.dmp tablespaces=example logfile=impdp.log;
  9.  
  10. 4)导入整个数据库
  11. impdb system/manager@orcl directory=dump_dir dumpfile=full.dmp full=y logfile=impdp.log;
  12.  
  13. 5)追加数据
  14. impdp system/manager@orcl directory=dump_dir dumpfile=expdp.dmp schemas=systemtable_exists_action logfile=impdp.log;

日常使用的:

  1. //把用户jcpt中所有的表导入到lyxt用户下
  2. impdp lyxt/lyxt123@127.0.0.1/orcl directory=mydata dumpfile=LY.DMP remap_schema=jcpt:lyxt logfile=ims20171122.log table_exists_action=replace

Oracle数据库导入(expdp)和导出(impdp)的更多相关文章

  1. oracle导入expdp、导出impdp数据库用户

    仅限oracle服务器上执行:把172.16.251.136:1521/orcl的AMI4_2用户导入到192.168.2.30:1521/orclss中的AMI1用户:  关于导入导出更详细的见文章 ...

  2. Oracle 数据库导入与出

    Oracle 数据库导入与出 导出( EXPORT )是用 EXP 将数据库部分或全对象的结构和导出 . 导入( 导入( IMPORT )是用 )是用 IMP IMP将 OS 文件中的对象结构和数据装 ...

  3. oracle数据库导入导出命令!(转)

    oracle数据库导入导出命令! Oracle数据导入导出imp/exp 功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份. 大多情况都可以用Oracle数据导入导出完成 ...

  4. Oracle数据库导入csv文件(sqlldr命令行)

    1.说明 Oracle数据库导入csv文件, 当csv文件较小时, 可以使用数据库管理工具, 比如DBevaer导入到数据库, 当csv文件很大时, 可以使用Oracle提供的sqlldr命令行工具, ...

  5. Oracle数据库备份 expdp/impdp导出导入命令

    使用EXPDP和IMPDP时应该注意的事项: EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用. EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用, ...

  6. oracle数据库导入导出

    简单记录下数据泵导出导入expdp .impdp 和 普通导出导入 exp.imp 一.数据泵导出数据库(按用户)步骤: 1.以oracle用户登录oracle所在服务器,创建数据库备份文件目录 &g ...

  7. oracle数据库导入导出问题

    场景描述: 1.做一个从UAT到PRD的Schema迁移,UAT环境有sys用户,PRD环境没有sys用户,由于权限限制,没办法使用expdp/impdp,只好选择exp/imp命令: 2.UAT和P ...

  8. oracle数据库导入导出方法

    Oracle Database 10g以后引入了最新的数据泵(Data Dump)技术,使DBA或开发人员可以将数据库元数据(对象定义)和数据快速移动到另一个oracle数据库中. 数据泵导出导入(E ...

  9. Oracle数据库导入、导出(远程、10g、11g)

    1  查看oracle的版本信息 (1)用客户端连接到数据库,执行select * from v$instance             查看version项 (2)select * from pr ...

随机推荐

  1. 如何通过字符串形式导包(importlib模块的使用)

    1 模块简介 Python提供了importlib包作为标准库的一部分.目的就是提供Python中import语句的实现(以及__import__函数).另外,importlib允许程序员创建他们自定 ...

  2. PHP 提取数组中奇数或偶数的元素array_filter

    //提取奇数 $filter = array_filter($ql,function($var){ return($var & 1); },ARRAY_FILTER_USE_KEY); pri ...

  3. USC-- compute shader ps vs

    http://cdn.imgtec.com/sdk-documentation/PowerVR%20Compute%20Development%20Recommendations.pdf powerV ...

  4. JS用正则替换特殊字符

    'abcabce'.replace(/abc/g,'') "e" 'abcabce$E$'.replace(/$E$/g,'') "abcabce$E$" 'a ...

  5. 05 vue项目01-组件关系、bootstrap

    1.django后端项目 1.项目预期 配置前端静态资源            页面展示 2.django项目代码 主url from django.contrib import admin from ...

  6. svn 跟 git的区别

    1.svn是集中式版本控制系统,git是分布式版本控制系统 2.svn是直接与服务器进行交互,git是将文件存到本地然后再推送到服务器 3.svn必须在连网的情况下工作,git可以不连网开发 4.sv ...

  7. 隐藏IDEA project 中的指定文件

    例如隐藏project下的.idea文件目录,以及.iml文件 在 Settings>File Types > ignore files and folders 中添加    .idea; ...

  8. MFC 线程启动、暂停、继续、终止

    CWinThread* p_myThread;//创建线程指针 BOOL flag_myThread = FALSE;//是否终止 //头文件中声明(放类内) static UINT MyThread ...

  9. andSelf() V1.2 加入先前所选的加入当前元素中

    andSelf() V1.2概述 加入先前所选的加入当前元素中 对于筛选或查找后的元素,要加入先前所选元素时将会很有用.直线电机生产厂家 从jQuery1.8开始,.andSelf()方法已经被标注过 ...

  10. PHP mysqli_get_server_info() 函数

    定义和用法 mysqli_get_server_info() 函数返回 MySQL 服务器版本. 语法 mysqli_get_server_info(connection); 实例 返回 MySQL ...