- 浏览: 659493 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
HkEndless:
不好意思,请问这确定是回调机制吗。你的例子中只是将接口的实现类 ...
Spring CallBack回调机制介绍 -
hanmiao:
写的真乱啊,完全不知所云...
Java如何调用可执行文件和批处理命令 -
junia_1:
junia_1 写道 shock: ...
为什么要使用EJB -
junia_1:
shock:
为什么要使用EJB -
coollifer:
不错
SQL Server数据导入到Oracle中的方法
--=================================
-- 数据泵IMPDP 导入工具的使用
--=================================
数据的导入导出时数据库经常处理的作业之一,Oracle 提供了IMP 和IMPDP 以及SQL* Loader 等工具来完成数据的导入工作,其中IMP 服务于早期的9i 之前的版本,在10g 及后续版本,Oracle 提供了数据泵高速导入工具,本文主要介绍IMPDP 的使用方法,关于高速导出工具请参照:数据泵EXPDP 导出工具的使用 。SQL* Loader 请参照:SQL*Loader使用方法 。
一、数据泵的体系结构
数据泵的体系结构在数据泵EXPDP 导出工具的使用已列出,再此不再赘述。
二、IMPDP 支持的接口及导入模式
导入接口
使用命令行带参数的
使用命令行带参数文件
使用命令行交互
使用database console( GUI)
几种常用的导入模式
导入表
导入方案
导入表空间
导入数据库
传输表空间模式
三、演示如何导入
1. 关于查看impdp 的帮助,使用以下命令
[oracle@oradb ~]$ impdp - ? 或[oracle@oradb ~]$ impdp - help 前者提供帮助信息并开启命令行交互模式
2. 导入表
-- 将表dept,emp 导入到scott 方案中
impdp scott/ tiger directory= dump_scott dumpfile= tab. dmp tables= dept, emp
-- 将表dept 和emp 从scott 方案导入到system 方案中,对于方案的转移,必须使用remap_shcema 参数
impdp system/ manage directory= dump_scott dumpfile= tab. dmp tables= scott. dept, scott. emp remap_schema= scott: system
3. 导入方案
-- 将dump_scott 目录下的schema.dmp 导入到scott 方案中
impdp scott/ tiger directory= dump_scott dumpfile= schema . dmp schemas= scott
-- 将scott 方案中的所有对象转移到system 方案中
impdp system/ redhat directory= dump_scott dumpfile= schema . dmp schemas= scott remap_schema= scott: system
4. 导入表空间
impdp system/ redhat directory= dump_scott dumpfile= tablespace. dmp tablespaces= user01
5. 导入数据库
impdp system/ redhat directory= dump_scott dumpfile= full . dmp full = y
6. 将数据对象原样导回( 演示从Windows 客户端来实现,数据库基于Linux 系统)
从Windows 客户端来导出scott. emp 表,导出后删除该表,再原样导回
C: /> expdp scott/ tiger@list2 directory= dump_scott dumpfile= emp. dmp tables= emp
C: /> sqlplus scott/ tiger@list2
SQL* Plus: Release 10.2.0.1.0 - Production on 星期一9 月20 20: 50: 35 2010
Copyright ( c) 1982, 2005, Oracle. All rights reserved.
Connected to :
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> drop table emp;
Table dropped.
SQL> commit ;
Commit complete.
SQL> select count ( 1) from emp;
select count ( 1) from emp
*
ERROR at line 1:
ORA- 00942: table or view does not exist
SQL> host impdp scott/ tiger@list2 directory= dump_scott dumpfile= emp. dmp
SQL> select count ( 1) from emp;
COUNT ( 1)
----------
14
7. 将导出的对象使用remap_schema 参数转移到不同的方案
a. 将dept 从scott 用户导入到system 用户下
expdp scott/ tiger directory= dump_scott dumpfile= dept. dmp tables= dept
方法一:
impdp system/ redhat tables= scott. dept directory= dump_scott dumpfile= dept. dmp remap_schema= scott: system
方法二:
sql> grant imp_full_database to scott;
impdp scott/ tiger directory= dump_scott dumpfile= dept. dmp tables= dept
remap_schema= scott: system table_exists_action= replace
b. 将scott 方案下的所有对象导入到system 方案下
expdp scott/ tiger directory= dump_scott dumpfile= allobj. dmp schemas= scott
impdp scott/ tiger directory= dump_scott dumpfile= allobj. dmp remap_schema= scott: system table_exists_action= replace
8. 使用remap_datafile 参数转移到不同的数据文件( 用于不同平台之间存在不同命名方式时)
下面的示例首先创建了一个参数文件,参数文件名为payroll. par
directory= pump_scott
full = y
dumpfile= datafile. dmp
remap_datafile= 'db$:[hrdata.payroll]tbs2.f' : '/db/hrdata/payroll/tbs2.f' -- 指明重新映射数据文件
impdp scott/ tiger PARFILE= payroll. par
9. 使用remap_tablespace 参数转移到不同的表空间
impdp scott/ scott remap_tablespace= users: tbs1 directory= dpump_scott dumpfile= users. dmp
10. 并行导入:
expdp e/ e directory= dump_e dumpfile= a_% u. dmp schemas= e parallel= 3
impdp e/ e directory= dump_e dumpfile= a_% u. dmp schemas= e parallel= 3 table_exists_action= replace
四、数据泵impdp 参数:
1.REMAP_DATAFILE
该选项用于将源数据文件名转变为目标数据文件名, 在不同平台之间搬移表空间时需要该选项.
REMAP_DATAFILE= source_datafie: target_datafile
2.REMAP_SCHEMA
该选项用于将源方案的所有对象装载到目标方案中.
REMAP_SCHEMA= source_schema: target_schema
3.REMAP_TABLESPACE
将源表空间的所有对象导入到目标表空间中
REMAP_TABLESPACE= source_tablespace: target: tablespace
4.REUSE_DATAFILES
该选项指定建立表空间时是否覆盖已存在的数据文件. 默认为N
REUSE_DATAFIELS={ Y | N}
5.SKIP_UNUSABLE_INDEXES
指定导入是是否跳过不可使用的索引, 默认为N
6, sqlfile 参数允许创建DDL 脚本文件
impdp scott/ tiger directory= dump_scott dumpfile= a1. dmp sqlfile= c. sql
默认放在directory 下,因此不要指定绝对路径
7.STREAMS_CONFIGURATION
指定是否导入流元数据( Stream Matadata), 默认值为Y.
8.TABLE_EXISTS_ACTION
该选项用于指定当表已经存在时导入作业要执行的操作, 默认为SKIP
TABBLE_EXISTS_ACTION={ SKIP | APPEND | TRUNCATE | FRPLACE }
当设置该选项为SKIP 时, 导入作业会跳过已存在表处理下一个对象;
当设置为APPEND 时, 会追加数据
当设置为TRUNCATE 时, 导入作业会截断表, 然后为其追加新数据;
当设置为REPLACE 时, 导入作业会删除已存在表, 重建表并追加数据,
注意, TRUNCATE 选项不适用与簇表和NETWORK_LINK 选项
9.TRANSFORM
该选项用于指定是否修改建立对象的DDL 语句
TRANSFORM= transform_name: value [:object_type]
transform_name 用于指定转换名, 其中SEGMENT_ATTRIBUTES 用于标识段属性( 物理属性, 存储属性, 表空间, 日志等信息),
STORAGE 用于标识段存储属性, VALUE 用于指定是否包含段属性或段存储属性, object_type 用于指定对象类型.
Impdp scott/ tiger directory= dump dumpfile= tab. dmp transform= segment_attributes: n: table
10.TRANSPORT_DATAFILES
该选项用于指定搬移空间时要被导入到目标数据库的数据文件
TRANSPORT_DATAFILE= datafile_name
Datafile_name 用于指定被复制到目标数据库的数据文件
Impdp system/ manager DIRECTORY= dump DUMPFILE= tts. dmp
TRANSPORT_DATAFILES= ’/ user01/ data/ tbs1. f’
五、影响数据泵性能的相关参数
对下列参数建议如下设置
disk_asynch_io= true
db_block_checking= false
db_block_checksum= false
对下列参数建议设置更高的值来提高并发
processes
sessions
parallel_max_servers
对下列参数应尽可能的调大空间大小
shared_pool_size
undo_tablespace
发表评论
-
ORA-14551: 无法在查询中执行 DML 操作
2013-11-30 13:45 1364最近在调试一个带DML操作的函数时,一直不成功,在PL/SQ ... -
Oracle Recursive Calls 说明
2013-04-09 23:11 1492一. Recursive Calls 说明 在执行计划 ... -
consistent gets db block gets
2013-04-09 19:58 1440consistent gets :consistent_ge ... -
SQL Server数据导入到Oracle中的方法
2012-07-17 17:09 1597在我们使用SQL Server数据库的过程中,有时需要将SQL ... -
更改ORACLE归档路径及归档模式
2012-07-16 18:23 1868在ORACLE10g和11g版本,ORAC ... -
disable/enable validate/novalidate 的区别
2012-01-08 11:41 1236启用约束: enable( validate) :启用约束,创 ... -
linux用dd测试磁盘速度
2012-01-07 21:58 1013首先要了解两个特殊的设备: /dev/null:回收站、 ... -
在数据分布严重不均的列上使用绑定变量容易错过更好的执行计划
2012-01-07 20:49 1034在数据分布严重不均的列上使用绑定变量容易错过更好的执行计划,原 ... -
Oracle hash join
2012-01-07 17:00 953hash join是oracle里面一个非常强悍的功能 ... -
恢复被rm意外删除数据文件
2012-01-05 12:30 1268一.模拟数据文件删除 [oracle ... -
oracle 块延迟清除(delayed block cleanout)
2012-01-04 22:47 1361为了保证事务的回退和满足多用户的 CR , orac ... -
Oracle数据库SCN号详解
2012-01-04 19:25 1542Oracle数据库SCN号详解: 系统检查点scn(v$da ... -
oracle常见问题与解答
2012-01-03 20:22 16911.对于sql,有几种方法查看执行计划,每种方法有什么区别,对 ... -
Oracle虚拟私有数据库(VPD)概述及简单举例
2011-12-23 12:35 1567Oracle虚拟私有数据库(VPD)概述及简单举例 1、Ora ... -
alter table move跟shrink space的区别
2011-12-17 15:02 1297都知道alter table move 或shrink spa ... -
How to dump Oracle Data Block?
2011-12-16 15:22 999Often while doing instance tuni ... -
oracle索引的5种使用模式
2011-12-14 21:19 1080索引的使用对数据库的性能有巨大的影响。 共有五类不同的使用模式 ... -
HP Unix中的dba MLOCK
2011-12-14 19:14 2236最近在HP平台上遇到两次跟dba MLOCK权限相关的错误: ... -
NESTED LOOP、HASH JOIN、SORT MERGE JOIN
2011-12-13 23:18 1379表连接方式及使用场合 ... -
Oracle用户权限
2011-12-12 19:48 1514系统权限: 1、使用GRANT语句向用户赋予系统权限: ...
相关推荐
Oracle 的 IMPDP 和 EXPDP 是两个强大的数据泵工具,用于将 Oracle 数据库中的数据导入或导出到其他数据库或文件中。在本文档中,我们将详细介绍如何使用 IMPDP 和 EXPDP 工具来实现全备数据库的导入和导出。 一、...
在Oracle数据库环境中,数据泵(Data Pump)工具是用于数据导入导出的主要手段,其中`impdp`是数据泵导入工具。当我们需要一次性导入多个数据文件时,有三种主要的方法可以实现。以下将详细介绍这三种方法。 ### ...
数据泵主要包括两个主要工具:EXPDP(Export Data Pump)和 IMPDP(Import Data Pump)。这两个工具与传统的 EXP 和 IMP 工具相比,具有更高的性能和更多的定制选项。 1. EXPDP(Export Data Pump): EXPDP 用于...
在使用Oracle Data Pump工具IMPDP(Import Data Pump)进行数据导入的过程中,可能会遇到ORA-39002和ORA-39070等错误。本文将针对这些错误的排查方法进行详细介绍,帮助用户理解问题的原因及解决策略。 ### 错误...
Oracle 10g 数据泵(Data Pump)是一个高效的数据迁移工具,它包含了两个主要的组件:expdp(导出)和 impdp(导入)。本文主要关注 impdp,它是用于将导出的数据导入到Oracle数据库中的工具。理解 impdp 的工作原理...
数据泵是Oracle数据库提供的一种高效的数据导入导出工具,主要用于数据库备份与恢复、数据迁移等场景。它比传统的`exp`和`imp`命令提供了更丰富的功能选项以及更高的性能表现。 #### 二、基本概念 在深入了解数据泵...
与传统的导出导入工具相比,数据泵能够实现更快速的数据传输,同时提供了更多的控制选项,使得数据迁移更加灵活和安全。 2. Data Pump处理数据的方式 - 直接路径方式:这是数据泵的主要工作方式,它绕过数据库缓存...
根据题目中的描述,这里详细介绍如何使用Oracle数据泵导入功能进行数据导入。 ##### 1. 创建表空间 首先,需要创建一个新的表空间用于存放即将导入的数据。在题目中给出的例子中,创建了一个名为`ABS`的表空间,其...
Oracle数据泵(expdp/impdp)替代了传统的exp/imp工具,通过使用更高效的二进制传输格式和并行执行策略,提高了数据迁移的速度。它支持多种操作,包括完整数据库、表空间、用户、表、索引等的导出和导入。 二、并行...
本文档将详细介绍如何在 Centos7.6 操作系统环境下利用 Oracle 的数据泵功能(Data Pump)来进行数据的导出(expdp)和导入(impdp)。数据泵是 Oracle 提供的一种高效的数据迁移工具,它能够帮助用户快速地将数据库...
自动`impdp`(Data Pump Import)导入备份是Oracle数据泵工具的一部分,用于将数据从DMP文件快速导入到数据库中。`impdp`命令支持多种选项,如`directory`, `dumpfile`, `table_exists_action`, `network_link`等,...
Oracle 数据泵是 Oracle 10g 以后引入的一种数据迁移工具,可以方便我们把低版本的数据库数据向高版本的数据库迁移。下面是 Oracle 数据泵的详细介绍。 一、EXPDP 和 IMPDP 使用说明 EXPDP(Data Pump Export)和...
**IMPDP(Import Data Pump)** 是对应的导入工具,用于将 EXPDP 导出的文件重新导入到数据库中。同样,IMPDP 也必须在服务器上运行。以下是一些使用 IMPDP 导入数据的步骤和选项: 1. **确认 dmp 文件位置**:确保...
Oracle 数据泵(Data Pump)是 Oracle 10g 及更高版本中提供的一种高性能的数据导出和导入工具。它可以快速地将数据从一个 Oracle 数据库导出到另一个 Oracle 数据库中。数据泵方式可以实现大规模数据的导出和导入,...
在Oracle数据库管理中,数据泵(Data Pump)是一种非常高效的数据迁移工具,它主要用于数据库对象和数据的大规模导入导出操作。本文将基于提供的文件信息,详细介绍如何利用Oracle数据泵进行数据导入,并涵盖相关的...
在使用数据泵进行数据导出或导入之前,首先需要创建一个目录对象,以便指定数据泵文件的存储位置。例如,在给定的部分内容中出现了这样的命令: ```sql SQL> CREATEDIRECTORY dump_dir AS '/home/oracle'; ``` 这...
导入数据泵文件使用`impdp`命令,这是一个交互式的数据泵导入工具。在描述中,给出的导入语句如下: ``` imp dp/hr_db file=/home/oracle/app/dmpfile/hr_db_20210809.dmp ignore=y FULL=y; ``` 这里的`hr_db`...
Oracle 数据泵是Oracle数据库系统中一个强大的数据迁移工具,它提供了高效、灵活的数据导入和导出功能。在Oracle环境中,数据泵(Data Pump)通常用于大量数据的迁移、备份和恢复,以及数据库间的同步。本篇文章将...