`
cdzm5211314
  • 浏览: 8715 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Oracle数据库的导出导入

 
阅读更多
一、背景介绍

9i,10g,11g 支持Export 与 Import工具,以后的版本将不在支持。建议改用数据泵,数据泵是Export 与 Import工具加强。

Export 与 Import的操作是针对*.dmp文件的,是oracle专有的二进制格式。适合从oracle导入到oracle。

Export 与 Import对于大数据量(上G) 的导入导出已不适合。

SQL Loader这种导入工具是针对文本文件的。适合从文本文件导入到oracle。是执行insert语句的插入原理

Direct Load工具,直接加载,是从oracle块对oracle块的导数据,速度很多,适合从oracle导入到oracle。


二、使用Export 与 Import工具 对数据导入导出

工具在oracle  bin 目录下的 exp.exe , imp.exe 这两个工具
可在客户端或服务端运行

2.1、导出*.dmp文件

2.1.1 exp的四种模式:
1、表模式,用于导出某张表。
2、用户模式,用于导出某用户的Schema。
3、表空间模式,用于导出表空间。表空间的是由数据文件组成的,把数据文件从当前库copy到目标库,在用exp工具从当前库导出这个表空间的字典信息再导入到目标库,分两步走。限制较多。
4、数据库模式。用于导出整个数据库,不适合大数据量。

2.1.2  导出例子

导出1--用户模式
exp 用户名/密码@网络服务名 file=d:/oralce_bak_20101001.dmp owner=用户名 log=d:/exp.log direct=y
file:导出的*.dmp文件输出到指定目录
owner:导出哪个用户的Schema
log:日志文件输了到指定目录 (可选)
direct:y表示直接导出 (可选) 速度比一般导出快一倍以上,默认n
rows:y表示同时导出数据 (可选),默认值y,n表示只导表结构

导出2--表模式
exp 用户名/密码@网络服务名 file=20101001.dmp tables=表名1,表名2 rows=y  log=exp.log
file:导出的*.dmp文件输出到当前目录
tables:指定导出的表名,可以是多个,用逗号分隔
rows:y表示同时导出数据 (可选),默认值y,n表示只导表结构
log:日志文件输了到当前目录 (可选)

导出3--数据库模式
exp 用户名/密码@网络服务名 file=20101001.dmp full=y rows=y  log=exp.log grants=y
file:导出的*.dmp文件输出到当前目录
full:导出整个库
rows:y表示同时导出数据 (可选),默认值y ,n表示只导库结构
log:日志文件输了到当前目录 (可选)
grants: y表示导出授权 (可选)

2.1.3  导出时的字符集处理
在源数据库与目标数据库字符集不同时,会发生字符集转换
四个地方的字符集要先整清楚:
1、源数据库的字符集
2、exp工具所在环境的字符集,你很可能在windows xp上运行exp导出远程oracle数据库的数据。
3、imp工具所在环境的字符集,你很可能在windows xp上运行imp向远程的oracle数据库导入数据。
4、目标数据库的字符集
按最坏的情况计算,上面4个地方的字符集都不一样,最多会发生3次字符集的转换。转换时字符集不兼容就会发生乱码。

查看数据库的字符集,数据库是英文linux系统:
select * from nls_database_parameters;
在查询结果中找三个地方:
     NLS_LANGUAGE -- American
     NLA_TERRITORY -- America
     NLS_CHARACTEREST -- AL32UTF8
     说明是:美国 AL32UTF8

查看exp,imp工具所在环境的字符集,是windows xp系统:
看注册表:HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/可能有多个oracle,一般是KEY_OraClient10g_home1  到这里,看右侧,找NLS_LANG项的值是:简体中文ZHS16GBK。
说明是: 简体中文ZHS16GBK

由于上面两处字符集不同,在导出导入时,共会发生两次字符集转换,如果想避免转换,做如下修改:

修改exp,imp工具所在环境的字符集:
在windows xp命令行输入:SET NLS_LANG=American_America.AL32UTF8
与数据库的字符集一致,是上面英文linux系统中数据库字符集的三个名称的组合。

  如果源数据库与目标数据库字符集不同,但exp工具与源数据库字符集一致, imp工具与目标数据库符集一致, 那么会在imp读*.dmp文件时发生字符集转换。
如果源数据库与目标数据库字符集不同,但exp,imp工具与源数据库字符集一致, 那么会在目标数据库接收*.dmp时发生字符集转换。

2.1.4 导出的权限
用户默认可导出自己的表,想导出别人的表或Schema,要有exp_full_database权限
grant exp_full_database to 用户名




2.2导入*.dmp文件
2.2.1 imp的四种模式:
与exp工具一样有四种模式,详见上面的exp的四种模式。

2.2.2  导入例子

导入1--用户模式
imp 用户名/密码@网络服务名 file=d:/oralce_bak_20101001.dmp ignore=y  fromuser=从哪个用户 touser=导入到哪个用户 tables=表名1,表名2
file:指明*.dmp文件位置
ignore:y:表已存在就不用再创建表了直接导入。 n表示创建表再导入。   默认为n,(可选)
fromuser:从哪个用户来 (可选)
touser:导入到哪个用户 (可选)
tables:指定导入的表名,可以是多个,用逗号分隔 (可选)

导入2--表模式
imp 用户名/密码@网络服务名 tables=表名1,表名2 rows=y file=2010.dmp
tables:指定导入的表名,可以是多个,用逗号分隔
rows:y表示同时导出数据 (可选),默认值y,n表示只导表结构
file:导入当前目录的*.dmp文件到数据库

imp 用户名/密码@网络服务名 file=d:/oralce_bak_20101001.dmp  show=y
show: y表示不导入,只看看。可以看看*.dmp是从哪个版本的库导出来的,好像也能看字符集。

使用DBA身份导入,空格部分要加单引号
imp \'用户名/密码@网络服务名 AS SYSDBA\'   tables=表名1,表名2 rows=y file=2010.dmp


2.2.4 导入的权限
用户默认可导入自己的表,想导入别人的表或Schema,要有exp_full_database权限
grant exp_full_database to 用户名





三、使用数据泵 对数据导入导出

数据泵是Export 与 Import工具加强,工具在oracle  bin 目录下的 expdp.exe , impdp.exe 两个工具
只能在服务端运行
分享到:
评论

相关推荐

    Oracle数据库导入导出工具

    本工具是一款基于Java编写的桌面应用程序,专为Oracle数据库的导入导出提供便利。 1. **Oracle数据库导入导出的重要性** - 数据迁移:当需要将数据从一个Oracle实例迁移到另一个实例时,导入导出工具是关键。 - ...

    Oracle数据库导出导入流程

    Oracle数据库导出导入流程;Oracle数据库导出导入流程

    Oracle 数据库导出导入命令及详解

    **一、Oracle数据库导出命令(EXP)** 1. **USERID参数** `USERID=demo/demopwd@orcl`:这部分指定了连接到Oracle数据库的凭证。`demo`是用户名,`demopwd`是密码,`orcl`是Oracle服务名或连接字符串,代表你想要...

    oracle数据库导出导入脚本

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,它的数据导入导出功能对于数据库管理和维护至关重要。本压缩包文件“oracle_exp_imp”包含了用于Oracle数据库导入导出的脚本,这些脚本可以帮助用户轻松...

    oracle数据库导出导入操作指南.doc

    Oracle数据库的导出导入操作是数据库管理中常见的任务,主要用于数据备份、迁移和恢复。以下是对这个操作指南的详细解释: 1. **数据库导出**: - **基本流程**:在Windows系统中,通过"开始"-"运行"输入Oracle的...

    Oracle导入导出命令bat执行命.rar

    总的来说,这个"Oracle导入导出命令bat执行命.rar"文件提供了一套全面的解决方案,可以帮助数据库管理员简化Oracle数据库的维护工作。通过自动化这些过程,用户可以节省大量手动操作的时间,同时减少人为错误的可能...

    Oracle数据库导入导出(备份与恢复).docx

    Oracle数据库导入导出命令(备份与恢复) Oracle数据库是目前最流行的RELATIONAL DATABASE MANAGEMENT SYSTEM(关系数据库管理系统),它提供了强大且灵活的数据存储和管理功能。为了确保数据的安全和可靠性,Oracle...

    教案orcale数据库导出导入.pdf

    Oracle 数据库导出导入 Oracle 数据库导出导入是数据库管理员和开发人员经常使用的一种技术,主要用于数据库的备份和恢复。下面将对 Oracle 数据库导出导入进行详细的介绍。 什么是 Oracle 数据库导出导入? ...

    Oracle数据库导入导出命令[参考].pdf

    Oracle数据库导入导出命令详解 Oracle数据库导入导出命令是数据库管理员和开发人员必备的技能之一。今天,我们将详细介绍如何使用命令行来操作Oracle数据库的导入和导出。 备份数据 备份数据是数据库管理员的重要...

    Oracle导入导出笔记

    在Oracle数据库管理中,数据的备份与恢复是一项重要的工作。Oracle提供了多种工具来实现这一目标,其中最为常用的便是`exp`(Export)和`imp`(Import)。这两种工具允许用户将数据从一个Oracle数据库复制到另一个...

    Java导出Oracle数据库数据

    本文将介绍如何使用 Java 语言将 Oracle 数据库数据导出到文件中,并将其导入到 Oracle 数据库中。 从标题和描述中可以看到,本文的主要内容是使用 Java 语言将 Oracle 数据库数据导出到文件中,并将其导入到 ...

    oracle 数据库导入导出

    Oracle数据库的导入导出是数据库管理中的重要环节,主要用于数据迁移、备份恢复和系统复制等操作。本篇文章将深入探讨Oracle数据库的导入导出过程,以及处理“process挂起”问题的方法。 首先,Oracle数据库提供了...

    Oracle数据库导入导出

    Oracle数据库的导入导出是数据库管理中常见的操作,主要用于数据迁移、备份恢复和系统复制等场景。本文将详细讲解Oracle数据库的DMP文件及其相关的EXP(导出)和IMP(导入)工具。 DMP文件是Oracle数据库的转储文件...

    Oracle数据库如何导入导出表

    Oracle数据库的导入导出是数据库管理中至关重要的操作,它涉及到数据备份、恢复以及数据迁移等场景。本文将详细介绍如何在Oracle数据库中执行这些操作。 首先,我们来看数据导出的过程。导出数据的主要目的是备份...

    oracle数据库导入导出命令

    ### Oracle数据库导入导出命令详解 #### 一、Oracle 导入导出命令概述 Oracle 数据库提供了强大的数据导入导出功能,通过 `exp` 和 `imp` 命令来实现数据的备份与恢复。这些命令对于日常的数据库管理来说至关重要...

    oracle数据库导入导出备份与恢复

    Oracle数据库的导入导出是数据库管理和维护中至关重要的部分,它涉及到数据的备份与恢复,确保数据的安全性和可恢复性。Oracle提供了Export和Import工具来实现这一目标。 **Export工具**用于从数据库中提取数据和元...

    oracle数据库导入导出命令使用方法

    最近做项目的时候遇到过oracle数据库导入导出,在这里我做下记录,防止自己忘记了,有什么不对或者不足的地方,欢迎广大博友拍砖,哈哈~导出命令:1)单表导出:exp 用户名/密码@服务器别名 tables=表名 file=d:\名称...

    Oracle数据库导出数据工具

    "Oracle数据库导出数据工具"就是为了满足这种需求而存在的。 Oracle数据库提供了多种导出数据的方法,其中最常用的是Data Pump(也称为expdp)和传统的Export工具(exp)。这两种工具都有其特定的用途和优缺点。 1...

    Oracle数据库导入导出(备份与恢复)[参考].pdf

    1. **Oracle数据库导出(Export)** - **获取帮助**:使用`exp help=y`可以查看导出命令的帮助信息,了解各种参数的用法。 - **完整数据库导出**:使用`exp user/pwd@instance file=path full=y`,例如`exp system...

Global site tag (gtag.js) - Google Analytics