对数据库进行逻辑备份或数据转储,也就是对数据库实时导入、导出操作时,既可以使用常规的EXP/IMP客户端程序,也可以使用数据泵技术:IMPDP/EXPDP

使用数据泵导出或导入的优点:

1.数据泵导出与导入可以实现逻辑备份和逻辑恢复。

2.数据泵导出和导入可以在数据库用户之间移动对象

3.使用数据泵导入可以再数据库之间移动对象

4.数据泵可以实现表空间的转移,即将一个数据库的表空间转移到另一个数据库中

较之EMP/IMP速度较快

  EXPDP可以将数据库对象的元数据或数据导出的转储文件中,EXPDP可以导出表、用户模式、表空间和全数据库。EXPDP是服务器端工具,这意味着该工具只能在Oracle服务器端使用,而不能再Oracle客户端使用。

需要注意:EXPDP工具只能将导出的转储文件存放在DIRECTORY对象对应的OS目录中,而不能直接指定转储文件所在的OS目录

如:创建一个DIRECTORY对象,并为SCOTT用户授予使用该目录的权限

create directory dump_dir as 'd:\orcl';    --此目录必须设置utl_file_dire

grant read,write on directory dump_dir to scott;

导出表

  将一个或多个表的结构及其数据存储到转储文件中(其他模式,,有EXP_FULL_DATABASE|DBA角色)

在导出表中,每次只能导出一个模式中的表

如:导出SCOTT模式中的dept和emp表

expdp scott/tiger directory=dump_dir dumpfile=tab.dmp tables=emp,dept;

导出模式

  是指将一个或多个模式中的所有对象结构及数据存储到转储文件中(其他模式,,有EXP_FULL_DATABASE|DBA角色)。

如:导出scott和hr模式中的所有对象

expdp system/xcn258 directory=dump_dir dumpfile=schemas.dmp schemas=scott,hr

导出表空间

  导出表空间是指将一个或多个表空间中的所有对象及数据存储到转储文件(其他模式,,有EXP_FULL_DATABASE|DBA角色)。

expdp system/xcn258 directory=dump_dir dumpfile=tablespace.dmp tablespaces=tbsp_1;

导出全部数据库

  是指将数据库中的所有对象及数据存储到转储文件中(其他模式,,有EXP_FULL_DATABASE|DBA角色)。

需要注意的是,导出数据库时,不会导出SYS,ORDSYS,ORDPLUGINS,CTXSYS,MDSYS,LBACSYS和XDB等模式中的对象

如:导出整个数据库

expdp system/xcn258 directory=dump_dir dumpfile=fulldatabase.dmp full=y;

EXPDP命令参数

  在调用EXPDP工具导出数据时,可以为该工具附加多个命令行参数

--content

 =all| data_only| metadata_only

--query

 ='where...'

用来过滤导出数据的where

--directory

用来指定转储文件和日志文件所在的目录

--dumpfile

用于指定转储文件的名称默认名称expdat.dmp

--full

用于指定数据库模式导出(y|n 默认是n)

  数据库导出时,数据库用户必须具有EXP_FULL_DATABASE角色或DBA角色

--logfile

  该参数用于指定导出日志文件的名称,默认名称为export.log

--status

  该参数用于指定显示导出作业进程的详细状态,默认值为0

--tables

  指定表导出

--tablespaces

  指定导出的表空间列表

IMPDP导入数据

导入表 其他用户导入表,则要求该用户必须具有IMP_FULL_DATABASE或DBA角色

将表dept,emp导入到system模式

impdp system/xcn258 directory=dump_dir dumpfile=tab.dmp tables=scott.dept,scott.emp remap_schema=scott.system

导入模式 其他用户导入模式,则要求该用户必须具有IMP_FULL_DATABASE或DBA角色

impdp system/xcn258 directory=dump_dir dumpfile=schema.dmp schemas=scott remap_schema=scott.system;

导入表空间

导入全数据库

IMPDP命令参数

 --remap_schema

该参数用于将源模式中的所有对象转载到目标模式

remap_schema=sorce_schema:target_schema

--remap_tablespace

用于指定导入时更改表空间名称

remap_tablespace=source_tablespace:target_tablespace

--sqlfile

可以从dmp文件中提取DDL语句

--table_exists_action

该参数指定当表已经存在时导入作业要执行的操作

=skip| append| truncate| replace    默认是skip

--transport_datafiles

该参数用于指定移动空间时要被导入到目标数据库的数据文件

SQL*Loader工具

  可以实现将外部数据或其他数据库中的数据添加到Oracle数据库中

根据数据的存储格式,SQL*Loader所使用的数据文件可以分为两种,固定格式存储的数据和自由格式存储的数据。

固定格式:按一定规律排序,控制文件通过固定长度将数据分割

自由格式:由规定的分隔符来区分不同字段的数据

自由格式的例子:

创建一个student表,用以存储要加载的数据

create table student

(stuno number(4),

stuname varchar2(20),

sex varchar2(4),

old number(4)

);

制作一份student.txt,存储到student.txt

编辑控制文件student.ctl,确定加载方式

load data
infile 'd:\data\student.txt'
into table student
(stuno position(01:04) integer external,
stuname position(09:12) char,
sex position(13:14) char,
old position(17:19) integer external
)

sqlldr system/xcn258 control=d:\data\student.ctl log=d:\data\stu_log

---出现错误,无法打开文件

固定格式的例子:

先在EXCEL中,建立persons.csv

创建一个与excel表中对应的表persons

create table persons

(code  number(4),

name varchar2(20),

sex varchar2(4),

old number(4)

);

编辑一个控制文件persons.ctl

load data
infile 'd:\data\persons.csv'
append into table persons
fields terminated by ','
(code,name,sex,old)

sqlldr system/xcn258 control=d:\data\persons.ctl

---出现错误,无法打开文件

Oracle-数据导出和导入的更多相关文章

  1. oracle数据导出以及导入

    导出 1.服务器上mkdir创建一个真实目录/home/oracle/dump 2.sqlplus /nolog 3.conn /as sysdba; 4.SQL> create directo ...

  2. 利用PL/SQL从Oracle数据库导出和导入数据

    转自:https://www.jb51.net/article/109768.htm 本文实例为大家分享了使用PL/SQL从Oracle数据库导出和导入数据的方法,供大家参考,具体内容如下 1.导出数 ...

  3. Oracle数据泵的导入和导出

    前言 今天王子要分享的内容是关于Oracle的一个实战内容,Oracle的数据泵. 网上有很多关于此的内容,但很多都是复制粘贴别人的,导致很多小伙伴想要使用的时候不能直接上手,所以这篇文章一定能让你更 ...

  4. oracle数据导出工具sqluldr2

    oracle数据导出工具sqluldr2可以将数据以csv.txt等格式导出,适用于大批量数据的导出,导出速度非常快.导出后可以使用oracle loader工具将数据导入.下载完sqluldr2,工 ...

  5. oracle如何导出和导入数据库表

    oracle如何导出和导入数据库表 oracle如何将项目中的表导出后在导入自己的数据库中,这是一个完整的操作,对于数据库备份或在本地查看数据验证数据进场用到,一般情况下我都用dos黑窗口进行操作,简 ...

  6. oracle如何导出和导入数据库/表

    oracle如何导出和导入数据库/表 oracle如何将项目中的表导出后在导入自己的数据库中,这是一个完整的操作,对于数据库备份或在本地查看数据验证数据进场用到,一般情况下我都用dos黑窗口进行操作, ...

  7. Oracle 数据导出到PowerDesigner

    原文:Oracle 数据导出到PowerDesigner [一]配置ODBC win7 :控制面板(查看方式:小图标)→管理工具→数据源(ODBC) 在[ODBC数据源管理器]面板下,在默认[用户DN ...

  8. memcached命令行、Memcached数据导出和导入、php连接memcache、php的session存储到memcached

    1.memcached命令行 telnet 127.0.0.1 11211set key2 0 30 2abSTOREDget key2VALUE key2 0 2abEND  如: set key3 ...

  9. memcached命令行、Memcached数据导出和导入

    1.memcached命令行 telnet 127.0.0.1 11211set key2 0 30 2abSTOREDget key2VALUE key2 0 2abEND  如: set key3 ...

  10. oracle表分区、表分析及oracle数据泵文件导入导出开心版

    1.先说oracle表分区是什么吧,这样吧我们来举个桃子,栗子太小,我们就不举了,我们来举个桃子. 你有500万份文件,你要把他存在磁盘上,好嘛,我们就一个文件夹,500万分文件在那儿杵着,我们想找到 ...

随机推荐

  1. pL/Sql插入语句时报错,对表空间没有权限 对表空间 'USERS' 无权限

    进入dba为其授予权限:sqlplus sys/admin as sysdba; 为用户授予权限即可 grant unlimited tablespace to username;

  2. 【学习总结】快速上手Linux玩转典型应用-第7章-WebServer安装和配置讲解

    课程目录链接 快速上手Linux玩转典型应用-目录 目录 1. Apache的安装 2. Apache的虚拟主机配置及伪静态操作 3. Nginx的基本操作 4. Nginx伪静态的实现 5. 实例演 ...

  3. 您的浏览器没有获得Java Virtual Machine(JVM)支持。可能由于没有安装JVM或者已安装但是没有启用。请安装JVM1.5或者以上版本,如果已安装则启用它。

    您的浏览器没有获得Java Virtual Machine(JVM)支持.可能由于没有安装JVM或者已安装但是没有启用.请安装JVM1.5或者以上版本,如果已安装则启用它. https://www.j ...

  4. ## ucore Lab0 一些杂记

    ucore Lab0 一些杂记 前一阵子开始做 MIT 6.828,做了两三个实验才发现清华的 ucore 貌似更友好一些,再加上前几个实验也与6.828 有所重叠,于是决定迁移阵地. 文章计划分两类 ...

  5. 前端播放m3u8格式视频

    一.前端播放m3u8格式视频 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta chars ...

  6. Codeforces1221D. Make The Fence Great Again(dp)

    题目链接:传送门 思路: 仔细想一下可以发现:每个位置最多就增加2个高度. 所以就可以有状态: f[i][j]表示保证前i个篱笆都是great时,第i个篱笆增加j的高度所需要的最小花费(1 <= ...

  7. MySQL新增用户及赋予权限

    创建用户 USE mysql; #创建用户需要操作 mysql 表 # 语法格式为 [@'host'] host 为 'localhost' 表示本地登录用户,host 为 IP地址或 IP 地址区间 ...

  8. 使用Vscode添加中文汉化插件

    一.首先打开Vscode,找到该软件的扩展,如下: 二.点击扩展按钮之后,会出现如下的界面,有一个扩展搜索输入框,输入chinese之后,会随之产生一些匹配的插件 三.重启一下Vscode,然后就看到 ...

  9. ThinkPHP生成静态页buildHtml方法

    原来ThinkPHP自带了生成静态页的函数buildHtml,使用起来很方便!最新的手册里没写这个方法,向大家介绍一下. PHP 1 2 3 4 5 6 7 8 9 10 11     protect ...

  10. CSS3——PC以及移动端页面适配方法(流体布局)

    流体布局:使用百分比来设置元素的宽度,元素的高度按照实际值. 但是流体布局中存在一个边框的问题,元素的边线无法计入百分比. 两种解决办法: 1)width:calc(20% - 4px) 2)widt ...