本系列链接导航:

[独孤九剑]Oracle知识点梳理(一)表空间、用户

[独孤九剑]Oracle知识点梳理(二)数据库的连接

[独孤九剑]Oracle知识点梳理(三)导入、导出

[独孤九剑]Oracle知识点梳理(四)SQL语句之DML和DDL

[独孤九剑]Oracle知识点梳理(五)数据库常用对象之Table、View

[独孤九剑]Oracle知识点梳理(六)数据库常用对象之Procedure、function、Sequence

[独孤九剑]Oracle知识点梳理(七)数据库常用对象之Cursor

[独孤九剑]Oracle知识点梳理(八)常见Exception

[独孤九剑]Oracle知识点梳理(九)数据库常用对象之package

[独孤九剑]Oracle知识点梳理(十)%type与%rowtype及常用函数

3、数据库的导入导出(在命令提示符cmd下直接执行)

  Oracle 9i之前,使用imp/exp命令完成导入/导出操作。

3.1、数据导出

   --将数据库orcl完全导出到D盘指定目录
exp userName/password@orcl file=d:\backup\userName01.dmp log=d:\backup\userName01.log full=y
--将 数据库中userName用户和userName2用户的相关内容导出
exp userName/password@orcl file=d:\backup\userName01.dmp log=d:\backup\userName01.log owner=(userName,userName2)
--将表t1和t2导出
exp userName/password@orcl file=d:\backup\userName01.dmp log=d:\backup\userName01.log tables=(t1,t2)
--将表t1中以00开头的数据导出
exp userName/password@orcl file=d:\backup\userName01.dmp log=d:\backup\userName01.log tables=(t1) query=\" where field1 like '00%'\"

3.2、数据导入

  导入的前提:数据库中用于即将导入的数据的一致的表空间同名用户见的导入:

1  --将备份文件全部导入
2  imp userName/password@orcl file=d:\backup\userName01.dmp log=d:\backup\userName01.log full=y
3  --其中ignore=y表示忽略已存在的表,不加,遇到同名的表,对该表就不导入
4  imp userName/password@orcl file=d:\backup\userName01.dmp log=d:\backup\userName01.log full=y ignore=y
5  --将表t1 导入
6  imp userName/password@orcl file=d:\backup\userName01.dmp log=d:\backup\userName01.log tables=(t1)

  不同名用户间的导入:

imp userName/password@orcl file=d:\backup\userName01.dmp 
  log=d:\backup\userName01.log
  fromuser=userNameA touser=userNameB --注意fromuser和touser

  Oracle 10i之后,Oracle推荐使用数据泵方式导入/导出数据【impdp/expdp】;使用数据泵方式,只能在服务器上进行导入/导出操作。

3.3、数据泵导出步骤:

a) 创建Directory

create directory dir_dp as 'D:\backup\dir_dp';

b) 授权

create read,write on directory dir_dp on userName;

b.1) 查看目录及权限

select privilege,directory_name,directory_path 
  from user_tab_privs t,all_directories d
    where t.table_name(+)=d.directory_name;

c) 执行导出

expdp userName/password@orcl schemas=userName 
  directory=dir_dp dmpfile=expdp_userName.dmp logfile=expdp_userName.log

注意:

  1、directory=dir_dp必须放在前面,如果将其放置最后,会提示 ORA-39002: 操作无效
    ORA-39070: 无法打开日志文件。
    ORA-39087: 目录名 DATA_PUMP_DIR; 无效
  2、在导出过程中,DATA DUMP 创建并使用了一个名为SYS_EXPORT_SCHEMA_01的对象,此对象就是DATA DUMP导出过程中所用的JOB名字,如果在执行这个命令时如果没有指定导出的JOB名字那么就会产生一个默认的JOB名字,如果在导出过程中指定JOB名字就为以指定名字出现。
如下改成:

expdp userName/password@orcl schemas=userName 
  directory=dir_dp dumpfile =expdp_test1.dmp logfile=expdp_test1.log,job_name=my_job1;

  3、导出语句后面不要有分号,否则如上的导出语句中的job表名为‘my_job1;’,而不是my_job1。因此导致expdp userName/password attach=userName.my_job1执行该命令时一直提示找不到job表

  4、创建的目录一定要在数据库所在的机器上。否则也是提示:
    ORA-39002: 操作无效
    ORA-39070: 无法打开日志文件。
    ORA-39087: 目录名 DATA_PUMP_DIR; 无效

数据泵导出的各种模式:

  • 按表模式导出:
expdp userName/password@orcl tables=userName.b$i_exch_info,userName.b$i_manhole_info 
  dumpfile =expdp_test2.dmp logfile=expdp_test2.log directory=dir_dp job_name=my_job
  • 按查询条件导出:
expdp userName/password@orcl tables=userName.b$i_exch_info 
  dumpfile=expdp_test3.dmp logfile=expdp_test3.log directory=dir_dp job_name=my_job query='"where rownum<11"'
  • 按表空间导出:
Expdp userName/password@orcl dumpfile=expdp_tablespace.dmp 
  tablespaces=GCOMM.DBF logfile=expdp_tablespace.log directory=dir_dp job_name=my_job
  • 导出方案
Expdp userName/password DIRECTORY=dir_dp DUMPFILE=schema.dmp SCHEMAS=userName,gwm
  • 导出整个数据库:
expdp userName/password@orcl dumpfile =full.dmp full=y logfile=full.log directory=dir_dp job_name=my_job

3.4、数据泵导入步骤:

准备:1.建库2.建表空间3.建用户并授权4.将aa.dmp拷贝到dpdump目录下(如果不修改并指定备份文件目录的话)

  • 按表导入(p_street_area.dmp文件中的表,此文件是以gwm用户按schemas=gwm导出的:)
impdp gwm/gwm@fgisdb dumpfile =p_street_area.dmp logfile=imp_p_street_area.log directory=dir_dp tables=p_street_area job_name=my_job
  • 按用户导入(可以将用户信息直接导入,即如果用户信息不存在的情况下也可以直接导入)
impdp gwm/gwm@fgisdb schemas=gwm dumpfile =expdp_test.dmp logfile=expdp_test.log directory=dir_dp job_name=my_job
  • 不通过expdp的步骤生成dmp文件而直接导入的方法:(从源数据库中向目标数据库导入表p_street_area)
impdp gwm/gwm directory=dir_dp NETWORK_LINK=igisdb tables=p_street_area logfile=p_street_area.log job_name=my_job
-- igisdb是目的数据库与源数据的链接名,dir_dp是目的数据库上的目录
  • 更换表空间(采用remap_tablespace参数 ,--导出gwm用户下的所有数据)
expdp system/orcl directory=data_pump_dir dumpfile=gwm.dmp SCHEMAS=gwm

注意:

  如果是用sys用户导出的用户数据,包括用户创建、授权部分,用自身用户导出则不含这些内容

--以下是将gwm用户下的数据全部导入到表空间gcomm(原来为gmapdata表空间下)下
impdp system/orcl directory=data_pump_dir dumpfile=gwm.dmp remap_tablespace=gmapdata:gcomm

3.5、不同版本数据库间的数据导入/导出

3.5.1、Oracle 10g与Oracle 11g之间的导入导出

  • 导出
 create directory dir_dp as 'D:\backup\dir_dp';
create read,write on directory dir_dp on userName;
expdp userName/password@orcl schemas=userName directory=dir_dp
    dumpfile=expdp_userName.dmp logfile=expdp_userName.log version=10.2.0.1.0 --带上版本号
  • 导入
impdp userName/password@orcl schemas=userName directory=dir_dp 
    dumpfile=expdp_userName.dmp logfile=expdp_userName.log version=10.2.0.1.0 --带上版本号

3.5.2、其他方法

  用Notepad++或其它文本编辑工具软件查看dmp文件,将头部修改成你将导入目标数据库的版本号
  以下对应的版本号: 11g R2:V11.02.00   11g R1:V11.01.00   10g:V10.02.01

  这样,ORACLE10g就可以导入此文件了,当然也可能考验人品。

[独孤九剑]Oracle知识点梳理(三)导入、导出的更多相关文章

  1. [独孤九剑]Oracle知识点梳理(十)%type与%rowtype及常用函数

    本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...

  2. [独孤九剑]Oracle知识点梳理(九)数据库常用对象之package

    本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...

  3. [独孤九剑]Oracle知识点梳理(八)常见Exception

    本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...

  4. [独孤九剑]Oracle知识点梳理(七)数据库常用对象之Cursor

    本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...

  5. [独孤九剑]Oracle知识点梳理(六)数据库常用对象之Procedure、function、Sequence

    本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...

  6. [独孤九剑]Oracle知识点梳理(五)数据库常用对象之Table、View

    本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...

  7. [独孤九剑]Oracle知识点梳理(四)SQL语句之DML和DDL

    本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...

  8. [独孤九剑]Oracle知识点梳理(二)数据库的连接

    本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...

  9. [独孤九剑]Oracle知识点梳理(一)表空间、用户

    本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...

随机推荐

  1. java FileUtils 文件工具类

    package com.sicdt.library.core.utils; import java.io.BufferedInputStream; import java.io.File; impor ...

  2. 8位单片机可用的 mktime localtime函数

    8位单片机可用的 mktime  localtime函数及源码 最近在做一个8位单片机项目,其中用到了时间戳转换函数,这个在32位机上一个库函数就解决了问题,没想到在8位单片机中没有对应库(time. ...

  3. CMD mysql 备份脚本

    创建.bat文件 echo. echo MySQL数据库备份脚本 echo ***************************** echo. echo 备份日期:%date% echo 备份时间 ...

  4. rem布局原理

    昨天去面试,面试官竟然说他们用媒体查询针对不同的屏幕宽度做了9个不同的rem布局,呵呵... eg: html{font-size:20px;} div{width:16rem;height:100p ...

  5. gcc编译c、c++入门

    一.c语言 1.在当前目录下新建c文件 $:vim hello.c 2.按i进入编辑模式.按esc退出编辑模式,输入源代码 #include <stdio.h> int main(void ...

  6. INSPIRED启示录 读书笔记 - 第6章 招聘产品经理

    产品经理应有的特质 个人素质和态度:技术可以学习,素质却难以培养,有些素质是成功的产品经理必不可少的 对产品的热情:对产品有一种本能的热爱,是夜以继日克服困难.完善产品的动力 用户立场:能换位思考,能 ...

  7. 什么是make config,make menuconfig,make oldconfig,make xconfig,make defconfig,make gconfig?【转】

    本文转载自;https://blog.csdn.net/baweiyaoji/article/details/52876701 在进行内核配置,或者是对一些软件的配置和编译中,常常会遇到: make ...

  8. 【codevs3031】最富有的人(字典树)

    网址:http://codevs.cn/problem/3031/ 这是蒟蒻写的第一道字典树……听说出市选题的神犇要出字符串,于是就赶紧滚去学了学(然而高精度算字符串算法?) 简单来说,字典树就是把一 ...

  9. input ajax自动补全

    页面 <div class="manage-Car-add-info-sn"> <p style="width:25%; height:70%;floa ...

  10. HBase-scan简介及优化(缓存与批量处理)

    扫描(scan) 这种技术类似于数据库系统中的游标(cursor),并利用到了HBase提供的底层顺序存储的数据结构. 扫描操作的使用跟get方法非常类似.由于扫描操作的工作方式类似于迭代器,所以用户 ...