首页 Oracle数据库的数据迁移

Oracle数据库的数据迁移

举报
开通vip

Oracle数据库的数据迁移Oracle数据库的数据迁移 DBA 经常会需要在多个数据库之间迁移数据 测试数据库中的数据发布到产品库 OLTP数据库中的数据加载到数据仓库中 等等 Oracle 10g中存在很多的迁移数据的方式,我们这章一一介绍。 导出导入 1、不同的Oracle数据库之间转移数据对象,即使这些数据库位于不同的硬件或软件平台。 2、我们可以使用导出工具,将指定的数据库对象(比如表)所包含的数据导出到一个特殊格式的文件中。该文件是一个专用的二进制格式的转储文件,他只能被导入工具所读取。如果这些被导出的对象还存在其他...

Oracle数据库的数据迁移
Oracle数据库的数据迁移 DBA 经常会需要在多个数据库之间迁移数据 测试数据库中的数据发布到产品库 OLTP数据库中的数据加载到数据仓库中 等等 Oracle 10g中存在很多的迁移数据的方式,我们这章一一介绍。 导出导入 1、不同的Oracle数据库之间转移数据对象,即使这些数据库位于不同的硬件或软件平台。 2、我们可以使用导出工具,将指定的数据库对象(比如表)所包含的数据导出到一个特殊格式的文件中。该文件是一个专用的二进制格式的转储文件,他只能被导入工具所读取。如果这些被导出的对象还存在其他的相关对象,比如要被导出的表上还存在索引等,则导出工具会自动将这些相关的对象也提取出来,并放入到导出文件中。 3、导出工具导出的转储文件中,包含对象的定义信息以及实际的数据行 4、导入导出是一个客户端工具,生成的文件是客户端的平台格式。 5、导入导出还可以作为备份的补充手段,对数据库进行逻辑备份,例如可以通过导出工具,将某些重要表的数据抽取出来,生成转储文件。 使用导出工具,具有四种模式,也就是可以导出四种数据 1、表模式:可以导出某个用户下指定的表,授权的用户可以导出其他用户下的表 2、用户模式:导出某个指定用户下所有的对象,授权的用户可以导出其他用户下面的所有对象 3、数据库模式:导出除了sys以外的、数据库里所有的对象,只有已授权的用户才能在该模式中执行导出 4、可传输表空间模式:导出某个指定表空间中的所有对象时,可以使用该模式。通过使用该模式,可以将一组表空间从一个数据库快速的转移到另一个数据库里。速度相对数据库的导入导出来说,要快得多。因为就两个步骤: 复制数据文件 表空间的结构信息倒入到目标数据库 C:\Documents and Settings\li>exp -help Export: Release 10.2.0.1.0 - Production on 星期六 3月 6 10:01:35 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. 通过输入 EXP 命令和您的用户名/口令, 导出 操作将提示您输入参数: 例如: EXP SCOTT/TIGER 或者, 您也可以通过输入跟有各种参数的 EXP 命令来控制导出 的运行方式。要指定参数, 您可以使用关键字: 格式: EXP KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN) 例如: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR) 或 TABLES=(T1:P1,T1:P2), 如果 T1 是分区表 USERID 必须是命令行中的第一个参数。 关键字 说明 (默认值) 关键字 说明 (默认值) -------------------------------------------------------------------------- USERID 用户名/口令 FULL 导出整个文件 (N) BUFFER 数据缓冲区大小 OWNER 所有者用户名列表 FILE 输出文件 (EXPDAT.DMP) TABLES 表名列表 COMPRESS 导入到一个区 (Y) RECORDLENGTH IO 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 的长度 GRANTS 导出权限 (Y) INCTYPE 增量导出类型 INDEXES 导出索引 (Y) RECORD 跟踪增量导出 (Y) DIRECT 直接路径 (N) TRIGGERS 导出触发器 (Y) LOG 屏幕输出的日志文件 STATISTICS 分析对象 (ESTIMATE) ROWS 导出数据行 (Y) PARFILE 参数文件名 CONSISTENT 交叉表的一致性 (N) CONSTRAINTS 导出的约束条件 (Y) OBJECT_CONSISTENT 只在对象导出期间设置为只读的事务处理 (N) FEEDBACK 每 x 行显示进度 (0) FILESIZE 每个转储文件的最大大小 FLASHBACK_SCN 用于将会话快照设置回以前状态的 SCN FLASHBACK_TIME 用于获取最接近指定时间的 SCN 的时间 QUERY 用于导出表的子集的 select 子句 RESUMABLE 遇到与空格相关的错误时挂起 (N) RESUMABLE_NAME 用于标识可恢复语句的文本字符串 RESUMABLE_TIMEOUT RESUMABLE 的等待时间 TTS_FULL_CHECK 对 TTS 执行完整或部分相关性检查 TABLESPACES 要导出的表空间列表 TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N) TEMPLATE 调用 iAS 模式导出的 模板 个人简介word模板免费下载关于员工迟到处罚通告模板康奈尔office模板下载康奈尔 笔记本 模板 下载软件方案模板免费下载 名 成功终止导出, 没有出现警告。 C:\Documents and Settings\li>exp a/a file='E:\oracle\product\10.2.0\oradata\ORA1 0G\DATAFILE\a.dmp' tables=a.a log='E:\oracle\product\10.2.0\oradata\ORA10G\DATAF ILE\order.log' Export: Release 10.2.0.1.0 - Production on 星期六 3月 6 10:12:08 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集 即将导出指定的表通过常规路径... . . 正在导出表 A导出了 49745 行 成功终止导出, 没有出现警告。 导出用户下指定的表(表模式),以a用户进行导出。 C:\Documents and Settings\li>exp a/a file='E:\oracle\product\10.2.0\oradata\ORA1 0G\DATAFILE\a.dmp' tables=sys.dba_objects Export: Release 10.2.0.1.0 - Production on 星期六 3月 6 10:17:03 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集 即将导出指定的表通过常规路径... EXP-00009: 没有导出 SYS 的表 DBA_OBJECTS 的权限 导出成功终止, 但出现警告。 导出另外一个用户下面的对象时,权限不够。 C:\Documents and Settings\li>exp a/a file='E:\oracle\product\10.2.0\oradata\ORA1 0G\DATAFILE\a.dmp' owner=a log='E:\oracle\product\10.2.0\oradata\ORA10G\DATAFILE \order.log' Export: Release 10.2.0.1.0 - Production on 星期六 3月 6 10:30:17 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集 . 正在导出 pre-schema 过程对象和操作 . 正在导出用户 A 的外部函数库名 . 导出 PUBLIC 类型同义词 . 正在导出专用类型同义词 . 正在导出用户 A 的对象类型定义 即将导出 A 的对象... . 正在导出数据库链接 . 正在导出序号 . 正在导出簇定义 . 即将导出 A 的表通过常规路径... . . 正在导出表 A导出了 49745 行 . 正在导出同义词 . 正在导出视图 . 正在导出存储过程 . 正在导出运算符 . 正在导出引用完整性约束条件 . 正在导出触发器 . 正在导出索引类型 . 正在导出位图, 功能性索引和可扩展索引 . 正在导出后期表活动 . 正在导出实体化视图 . 正在导出快照日志 . 正在导出作业队列 . 正在导出刷新组和子组 . 正在导出维 . 正在导出 post-schema 过程对象和操作 . 正在导出统计信息 成功终止导出, 没有出现警告。 导出某个用户下所有的对象。 C:\Documents and Settings\li>exp a/a file='E:\oracle\product\10.2.0\oradata\ORA1 0G\DATAFILE\a.dmp' full=y log='E:\oracle\product\10.2.0\oradata\ORA10G\DATAFILE\ order.log' Export: Release 10.2.0.1.0 - Production on 星期六 3月 6 10:33:33 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options EXP-00023: 必须是 DBA 才能执行完整数据库或表空间导出操作 在导出整个数据库以前,所连接的用户必须具有exp_full_database的系统权限 SQL> grant exp_full_database to a; 授权成功。 C:\Documents and Settings\li>exp a/a file='E:\oracle\product\10.2.0\oradata\ORA1 0G\DATAFILE\a.dmp' full=y log='E:\oracle\product\10.2.0\oradata\ORA10G\DATAFILE\ order.log' 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集 即将导出整个数据库... . 正在导出表空间定义 . 正在导出概要文件 . 正在导出用户定义 . 正在导出角色 . 正在导出资源成本 . 正在导出回退段定义 . 正在导出数据库链接 . 正在导出序号 . 正在导出目录别名 . 正在导出上下文名称空间 . 正在导出外部函数库名 . 导出 PUBLIC 类型同义词 . 正在导出专用类型同义词 . 正在导出对象类型定义 . 正在导出系统过程对象和操作 . 正在导出 pre-schema 过程对象和操作 . 正在导出簇定义 . 即将导出 SYSTEM 的表通过常规路径... . . 正在导出表 DEF$_AQCALL导出了 0 行 . . 正在导出表 DEF$_AQERROR导出了 0 行 . . 正在导出表 DEF$_CALLDEST导出了 0 行 . . 正在导出表 DEF$_DEFAULTDEST导出了 0 行 . . 正在导出表 DEF$_DESTINATION导出了 0 行 . . 正在导出表 DEF$_ERROR导出了 0 行 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 使用参数文件进行导出 C:\Documents and Settings\li>exp parfile=E:\oracle\product\10.2.0\oradata\ORA10G \DATAFILE\exp.txt 使用exp命令进行导出工作时,可以采取以下两种方式完成。 1、传统路径方式 exp采用SQL语句的方式把要导出的表的数据检索出来,然后通过网络,将这些数据 传输到客户端,并在客户端上生成转储文件。既然是SQL语句的方式,就需要在shared_pool 中解析生成执行计划以后,将数据缓存到buffer中,然后传递到客户端,该方式是默认的导 出方式。 2、直接路径方式 在这种方式下,exp不采用SQL的方式,而是直接获得数据块,并绕过shared_pool和buffer cache。将数据块里的数据直接抽出来以后直接传递到客户端上,这种方式相对于传统路径来说,速度要快很多。在导出时,加上direct=y则表示进行直接路径导出,该方式有一些限制。比如不能导出含有LOB、BFILE等大对象的表等。 C:\Documents and Settings\li>exp a/a file='E:\oracle\product\10.2.0\oradata\ORA1 0G\DATAFILE\a.dmp' full=y direct=y log='E:\oracle\product\10.2.0\oradata\ORA10G\ DATAFILE\order.log' 导入工具:导出工具生成的转储文件只能被导入工具所读取 1、表模式:将转储文件中指定的表导入到目标数据库 2、用户模式:将转储文件中指定的用户导入到目标数据库中 3、数据库模式:将转储文件(该转储文件必须是以数据库模式导出的)中所有的数据都导入到目标数据库 4、可传输表空间:将转储文件(该转储文件必须是以可传输表空间模式导出的)中的表空间的元数据导入到目标数据库 C:\Documents and Settings\li>imp help=y Import: Release 10.2.0.1.0 - Production on 星期六 3月 6 11:16:51 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. 通过输入 IMP 命令和您的用户名/口令, 导入 操作将提示您输入参数: 例如: IMP SCOTT/TIGER 或者, 可以通过输入 IMP 命令和各种参数来控制导入 的运行方式。要指定参数, 您可以使用关键字: 格式: IMP KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN) 例如: IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT) FULL=N 或 TABLES=(T1:P1,T1:P2), 如果 T1 是分区表 USERID 必须是命令行中的第一个参数。 关键字 说明 (默认值) 关键字 说明 (默认值) -------------------------------------------------------------------------- USERID 用户名/口令 FULL 导入整个文件 (N) BUFFER 数据缓冲区大小 FROMUSER 所有者用户名列表 FILE 输入文件 (EXPDAT.DMP) TOUSER 用户名列表 SHOW 只列出文件内容 (N) TABLES 表名列表 IGNORE 忽略创建错误 (N) RECORDLENGTH IO 记录的长度 GRANTS 导入权限 (Y) INCTYPE 增量导入类型 INDEXES 导入索引 (Y) COMMIT 提交数组插入 (N) ROWS 导入数据行 (Y) PARFILE 参数文件名 LOG 屏幕输出的日志文件 CONSTRAINTS 导入限制 (Y) DESTROY 覆盖表空间数据文件 (N) INDEXFILE 将表/索引信息写入指定的文件 SKIP_UNUSABLE_INDEXES 跳过不可用索引的维护 (N) FEEDBACK 每 x 行显示进度 (0) TOID_NOVALIDATE 跳过指定类型 ID 的验证 FILESIZE 每个转储文件的最大大小 STATISTICS 始终导入预计算的统计信息 RESUMABLE 在遇到有关空间的错误时挂起 (N) RESUMABLE_NAME 用来标识可恢复语句的文本字符串 RESUMABLE_TIMEOUT RESUMABLE 的等待时间 COMPILE 编译过程, 程序包和函数 (Y) STREAMS_CONFIGURATION 导入流的一般元数据 (Y) STREAMS_INSTANTIATION 导入流实例化元数据 (N) 下列关键字仅用于可传输的表空间 TRANSPORT_TABLESPACE 导入可传输的表空间元数据 (N) TABLESPACES 将要传输到数据库的表空间 DATAFILES 将要传输到数据库的数据文件 TTS_OWNERS 拥有可传输表空间集中数据的用户 成功终止导入, 没有出现警告。 SQL> drop table a.a; 表已删除。 SQL> select * from a.a; select * from a.a * 第 1 行出现错误: ORA-00942: 表或视图不存在 C:\Documents and Settings\li>imp a/a file='E:\oracle\product\10.2.0\oradata\ORA1 0G\DATAFILE\a.dmp' tables=a.a Import: Release 10.2.0.1.0 - Production on 星期六 3月 6 11:49:24 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 经由常规路径由 EXPORT:V10.02.01 创建的导出文件 IMP-00013: 只有 DBA 才能导入由其他 DBA 导出的文件 IMP-00000: 未成功终止导入 出现这个问题的原因是因为前面为用户授予了exp_full_database权限,造成此用户导出的数 据具有dba身份。解决方法有几种 1, 授予对应的权限,imp_full_database 2, 收回exp_full_database,然后重新导出,再导入 非要使用dba身份导入呢, C:\Documents and Settings\li>imp 'sys/oracle as sysdba' file='E:\oracle\product\ 10.2.0\oradata\ORA10G\DATAFILE\a.dmp' tables=(a,a) 结果就是在sys表空间下增加了一个新的a,将数据导入到了sys用户下,a用户下没有导入 授予对应权限后就可以导入了 SQL> grant imp_full_database to a; 授权成功。 C:\Documents and Settings\li>imp a/a file='E:\oracle\product\10.2.0\oradata\ORA1 0G\DATAFILE\a.dmp' tables=(a,a) Import: Release 10.2.0.1.0 - Production on 星期六 3月 6 12:07:11 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 经由常规路径由 EXPORT:V10.02.01 创建的导出文件 已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入 . 正在将 A 的对象导入到 A . 正在将 A 的对象导入到 A . . 正在导入表 "A"导入了 49751 行 成功终止导入, 没有出现警告。 C:\Documents and Settings\li>imp b/b file='e:\a.dmp' fromuser=a touser=b Import: Release 10.2.0.1.0 - Production on 星期六 3月 6 21:22:50 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 经由常规路径由 EXPORT:V10.02.01 创建的导出文件 警告: 这些对象由 A 导出, 而不是当前用户 已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入 . 正在将 A 的对象导入到 B . . 正在导入表 "A"导入了 49745 行 成功终止导入, 没有出现警告。 C:\Documents and Settings\li>imp b/b file='e:\b.dmp' fromuser=b touser=a Import: Release 10.2.0.1.0 - Production on 星期六 3月 6 21:23:05 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 经由常规路径由 EXPORT:V10.02.01 创建的导出文件 已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入 IMP-00007: 必须为 DBA 才能将对象导入另一个用户帐户 IMP-00000: 未成功终止导入 C:\Documents and Settings\li>imp 'sys/oracle as sysdba' file='e:\b.dmp' fromuser =b touser=a Import: Release 10.2.0.1.0 - Production on 星期六 3月 6 21:23:23 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 经由常规路径由 EXPORT:V10.02.01 创建的导出文件 警告: 这些对象由 B 导出, 而不是当前用户 已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入 . 正在将 B 的对象导入到 A . . 正在导入表 "B"导入了 49746 行 成功终止导入, 没有出现警告。 导入时如果报错,那么使用日志进行排错。修改错误以后,删除用户,然后继续进行导入,一直到没有错误为止。 注意导入和导出操作中没有分号做结尾,不要与sql语句混淆 在导入以前要进行删除用户的操作。 在导出以前最好进行数据库对象的查看,然后进行导出。 导入的时候最好是另外一个新的数据库。 如果有些错误可以忽略,那么可以使用下面的参数ignore=y。 使用ignore表示如果创建表的时候,发现该表已经存在,则忽略该错误,继续进行下面的步骤,这样就出现数据的累加。 C:\Documents and Settings\li>imp a/a file='e:\b.dmp' fromuser=b touser=a Import: Release 10.2.0.1.0 - Production on 星期六 3月 6 21:31:40 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 经由常规路径由 EXPORT:V10.02.01 创建的导出文件 警告: 这些对象由 B 导出, 而不是当前用户 已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入 . 正在将 B 的对象导入到 A IMP-00015: 由于对象已存在, 下列语句失败: "CREATE TABLE "B" ("B" NUMBER(*,0)) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRA" "NS 255 STORAGE(INITIAL 720896 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEF" "AULT) LOGGING NOCOMPRESS" 成功终止导入, 但出现警告。 C:\Documents and Settings\li>imp a/a file='e:\b.dmp' fromuser=b touser=a ignore=y Import: Release 10.2.0.1.0 - Production on 星期六 3月 6 21:31:53 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 经由常规路径由 EXPORT:V10.02.01 创建的导出文件 警告: 这些对象由 B 导出, 而不是当前用户 已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入 . 正在将 B 的对象导入到 A . . 正在导入表 "B"导入了 49746 行 成功终止导入, 没有出现警告。 SQL> select count(*) from a.b; COUNT(*) ---------- 99492 在执行导入命令的过程中,按照下面的顺序导入表、表里的数据、以及其他一些对象。 1、创建表结构 2、导入表的数据 3、创建索引 4、导入触发器 5、对导入的表启用完整性约束 6、建立所有位图、函数、以及其他索引 即使具有DBA权限,但是也不能导出SYS用户的对象 SQL> grant sysdba to a; 授权成功。 C:\Documents and Settings\li>exp a/a file='e:\a.dmp' owner=a Export: Release 10.2.0.1.0 - Production on 星期六 3月 6 21:36:55 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集 . 正在导出 pre-schema 过程对象和操作 . 正在导出用户 A 的外部函数库名 . 导出 PUBLIC 类型同义词 . 正在导出专用类型同义词 . 正在导出用户 A 的对象类型定义 即将导出 A 的对象... . 正在导出数据库链接 . 正在导出序号 . 正在导出簇定义 . 即将导出 A 的表通过常规路径... . . 正在导出表 B导出了 99492 行 . 正在导出同义词 . 正在导出视图 . 正在导出存储过程 . 正在导出运算符 . 正在导出引用完整性约束条件 . 正在导出触发器 . 正在导出索引类型 . 正在导出位图, 功能性索引和可扩展索引 . 正在导出后期表活动 . 正在导出实体化视图 . 正在导出快照日志 . 正在导出作业队列 . 正在导出刷新组和子组 . 正在导出维 . 正在导出 post-schema 过程对象和操作 . 正在导出统计信息 成功终止导出, 没有出现警告。 SQL> conn a/a 已连接。 SQL> select * from user_objects; OBJECT_NAME ------------------------------------------------------------------------------- SUBOBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE ------------------------------ ---------- -------------- ------------------- CREATED LAST_DDL_TIME TIMESTAMP STATUS T G S -------------- -------------- ------------------- ------- - - - B 51351 51351 TABLE 06-3月 -10 06-3月 -10 2010-03-06:21:31:37 VALID N N N A用户下面没有sys表空间中的对象 C:\Documents and Settings\li>exp 'a/a as sysdba' file='e:\a.dmp' owner=a Export: Release 10.2.0.1.0 - Production on 星期六 3月 6 21:46:27 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集 即将导出指定的用户... . 正在导出 pre-schema 过程对象和操作 . 正在导出用户 A 的外部函数库名 . 导出 PUBLIC 类型同义词 . 正在导出专用类型同义词 . 正在导出用户 A 的对象类型定义 即将导出 A 的对象... . 正在导出数据库链接 . 正在导出序号 . 正在导出簇定义 . 即将导出 A 的表通过常规路径... . . 正在导出表 B导出了 99492 行 . 正在导出同义词 . 正在导出视图 . 正在导出存储过程 . 正在导出运算符 . 正在导出引用完整性约束条件 . 正在导出触发器 . 正在导出索引类型 . 正在导出位图, 功能性索引和可扩展索引 . 正在导出后期表活动 . 正在导出实体化视图 . 正在导出快照日志 . 正在导出作业队列 . 正在导出刷新组和子组 . 正在导出维 . 正在导出 post-schema 过程对象和操作 . 正在导出统计信息 成功终止导出, 没有出现警告。 C:\Documents and Settings\li>exp 'a/a as sysdba' file='e:\full.dmp' full=y Export: Release 10.2.0.1.0 - Production on 星期六 3月 6 21:44:18 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集 即将导出整个数据库... . 正在导出表空间定义 . 正在导出概要文件 . 正在导出用户定义 . 正在导出角色 . 正在导出资源成本 。。。。。。。。。。。。。。。。。。。。。 正在导出表 CWM2$MRALL_AWVIEWS导出了 0 行 正在导出表 CWM2$MRALL_CATALOGS导出了 0 行 正在导出表 CWM2$MRALL_CATALOG_ENTITY_USES导出了 0 行 正在导出表 CWM2$MRALL_CUBE_MEASURES导出了 0 行 正在导出表 CWM2$MRALL_CWM1_AGGOP导出了 0 行 正在导出表 CWM2$MRALL_CWM1_AGGORD导出了 0 行 正在导出表 CWM2$MRALL_DESCRIPTORS导出了 41 行 正在导出表 CWM2$MRALL_DIM_ATTRIBUTES导出了 0 行 正在导出表 CWM2$MRALL_DIM_HIERS导出了 0 行 正在导出表 CWM2$MRALL_DIM_HIER_LEVEL_USES导出了 0 行 正在导出表 CWM2$MRALL_DIM_LEVEL_ATTR_MAPS导出了 0 行 正在导出表 CWM2$MRALL_ENTITY_DESC_USES导出了 0 行 正在导出表 CWM2$MRALL_ENTITY_EXT_PARMS导出了 0 行 正在导出表 CWM2$MRALL_ENTITY_PARAMETERS导出了 0 行 正在导出表 CWM2$MRALL_FACTTBLFCTMAPS导出了 0 行 正在导出表 CWM2$MRALL_FACTTBLKEYMAPS导出了 0 行 正在导出表 CWM2$MRALL_HIERDIMS导出了 0 行 正在导出表 CWM2$MRALL_HIERDIM_KEYCOL_MAP导出了 0 行 正在导出表 CWM2$MRALL_HIER_CUSTOM_SORT导出了 0 行 正在导出表 CWM2$MRALL_JOIN_KEY_COL_USES导出了 0 行 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 尽量少使用全库的导入和导出。而是分解成用户的导入和导出。 具体见导出日志文件,所有的用户都进行了导出,包括system等用户。 可以测试一下sys用户是否也进行了导出。 具体是sys下面建立一个表,看是否导出。 可传输表空间 1、导入和导出的方式,先将要迁移的数据通过exp工具导出,生成转储文件,然后通过imp 工具读取导出文件,并导入到目标数据库。 缺点:如果要迁移的数据量很大的话,则该方式会很慢 可以使用表空间传输的方式来迁移数据 只包含表空间的元数据,也就是表空间 里所有对象的定义信息 导入 表空间A 表空间A 导出 数据文数据文数据文导出文件 导出文件 数据数据数据……… ……… 件1 件2 件n 文件n 文件2 文件1 拷贝 拷贝 拷贝 拷贝 要传输的表空间的元数据指的是要传输的表空间的所有对象的定义信息。 导出和导入的速度非常的快。 具体步骤如下 1、检查要传输的表空间是否是自我包含的(self-contained) 具体含义指的是要传输的表空间里的对象,没有引用位于其他表空间里的对象。 例如:要传输的表空间example里某个表的索引位于indx表空间,则example表空间就不是 自包含的。 解决 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 :要么将索引转移到一个表空间,要么一起传输多个表空间 另外一个情况就是主外键的情况,要传输的表空间里的表上存在外键,引用了位于别的表空 间的表 SQL> create tablespace tb1 datafile 'E:\oracle\product\10.2.0\oradata\ORA10G\DAT AFILE\tb1.dbf' size 10m; 表空间已创建。 SQL> create tablespace tb2 datafile 'E:\oracle\product\10.2.0\oradata\ORA10G\DAT AFILE\tb2.dbf' size 10m; 表空间已创建。 SQL> create table t1 tablespace tb1 as select * from dba_objects; 表已创建。 SQL> create table t2 tablespace tb2 as select * from dba_objects; 表已创建。 SQL> alter table t1 add constraint pk_t1 primary key (object_id); 表已更改。 SQL> alter table t2 add constraint fk_t2 foreign key (object_id) references t1( object_id); alter table t2 add constraint fk_t2 foreign key (object_id) references t1(objec t_id) * 第 1 行出现错误: ORA-02298: 无法验证 (SYS.FK_T2) - 未找到父项关键字 SQL> delete from t1; 已删除49746行。 SQL> insert into t1 select * from dba_objects; 已创建49748行。 问题就出在dba_objects,因为我们在创建对象,对象创建完后会增加object_id,所以才会报 错 SQL> alter table t2 add constraint fk_t2 foreign key (object_id) references t1( object_id); 表已更改。 SQL> show user; USER 为 "SYS" SQL> execute dbms_tts.transport_set_check('tb2',incl_constraints=>true); PL/SQL 过程已成功完成。 SQL> select * from transport_set_violations; VIOLATIONS -------------------------------------------------------------------------------- Constraint FK_T2 between table SYS.T1 in tablespace TB1 and table SYS.T2 in tabl espace TB2 Sys owned object T2 in tablespace TB2 not allowed in pluggable set 设置成false以后,冲突不再提示。 SQL> execute dbms_tts.transport_set_check('tb2',incl_constraints=>false); PL/SQL 过程已成功完成。 SQL> select * from transport_set_violations; VIOLATIONS -------------------------------------------------------------------------- Sys owned object T2 in tablespace TB2 not allowed in pluggable set 注意:在建立数据库对象的时候,特别是生产表的时候,不要使用SYS用户,一定要使用 另外一个生产用户,将生产对象放在相应的生产用户里面。 SQL> execute dbms_tts.transport_set_check('tb1,tb2',incl_constraints=>true); PL/SQL 过程已成功完成。 SQL> select * from transport_set_violations; VIOLATIONS ------------------------------------------------------------------------------- Index SYS.PK_T1 in tablespace SYSTEM enforces primary constriants of table SYS T1 in tablespace TB1 Sys owned object T2 in tablespace TB2 not allowed in pluggable set Sys owned object T1 in tablespace TB1 not allowed in pluggable set 两个表同时进行check,因为主外键包含在里面,因此不会产生自包含冲突 我们使用普通用户重新做一次 SQL> create table a.t2 tablespace tb2 as select * from dba_objects; 表已创建。 SQL> create table a.t1 tablespace tb1 as select * from dba_objects; 表已创建。 SQL> alter table a.t1 add constraint pk_t1 primary key (object_id); 表已更改。 SQL> alter table a.t2 add constraint fk_t2 foreign key (object_id) references a .t1(object_id); 表已更改。 SQL> execute dbms_tts.transport_set_check('tb1',incl_constraints=>true); PL/SQL 过程已成功完成。 SQL> select * from transport_set_violations; VIOLATIONS -------------------------------------------------------------------------------- Index A.PK_T1 in tablespace USERS enforces primary constriants of table A.T1 in tablespace TB1 SQL> execute dbms_tts.transport_set_check('tb2',incl_constraints=>true); PL/SQL 过程已成功完成。 SQL> select * from transport_set_violations; VIOLATIONS -------------------------------------------------------------------------------- Constraint FK_T2 between table A.T1 in tablespace TB1 and table A.T2 in tablespa ce TB2 SQL> execute dbms_tts.transport_set_check('tb1,tb2',incl_constraints=>true); PL/SQL 过程已成功完成。 SQL> select * from transport_set_violations; VIOLATIONS -------------------------------------------------------------------------------- Index A.PK_T1 in tablespace USERS enforces primary constriants of table A.T1 in tablespace TB1 同时检查tb1和tb2时候,发现两个表空间至今的冲突没有了,但是主键索引冲突又来了。Tb1和users之间的主键索引冲突又出现了。 因此对于自包含问题,有两种解决方法 1、删除索引或者外键,让表空间自包含 2、表空间同时传输 SQL> alter table a.t2 drop constraint fk_t2 ; 表已更改。 SQL> alter table a.t1 drop constraint pk_t1 ; 表已更改。 SQL> execute dbms_tts.transport_set_check('tb1,tb2',incl_constraints=>true); PL/SQL 过程已成功完成。 SQL> select * from transport_set_violations; 未选定行 解决完成自包含以后,将表空间设置成只读状态 SQL> alter tablespace tb1 read only; 表空间已更改。 SQL> alter tablespace tb2 read only; 表空间已更改。 调入导出命令,进行可传输表空间模式的导出,必须以sysdba权限进行登录数据库 C:\Documents and Settings\li>exp '/ as sysdba' file='e:\tb2.dmp' transport_table space=y tablespaces=tb2 Export: Release 10.2.0.1.0 - Production on 星期日 3月 7 12:26:06 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集 注: 将不导出表数据 (行) 即将导出可传输的表空间元数据... 对于表空间 TB2... . 正在导出簇定义 . 正在导出表定义 . . 正在导出表 T2 . 正在导出引用完整性约束条件 . 正在导出触发器 . 结束导出可传输的表空间元数据 成功终止导出, 没有出现警告。 如果是unix或者linux,需要进行转义 exp \'/ as sysdba\' file=tb3.dmp transport_tablespace=y tablespaces=tb3 将导出文件、数据文件(tb3对应的数据文件)一起复制到目标数据库上 我们在一台机器上建立了第二个数据库 SQL> show parameter instance_name; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ instance_name string test windows上显示了2个oracle进程 已经建立了2个oracle_home 在目标数据库上创建被传输的表空间所包含的对象的属主 SQL> create user a identified by a account unlock; 用户已创建。 调用导入命令,进行可传输表空间模式的导入 C:\Documents and Settings\li>imp '/ as sysdba' file='E:\oracle\product\10.2.0\or adata\TEST\tb2.dmp' transport_tablespace=y tablespaces=tb2 datafiles='E:\oracle\ product\10.2.0\oradata\TEST\DATAFILE\tb2.dbf' Import: Release 10.2.0.1.0 - Production on 星期日 3月 7 12:55:52 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 经由常规路径由 EXPORT:V10.02.01 创建的导出文件 即将导入可传输的表空间元数据... 已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入 . 正在将 SYS 的对象导入到 SYS . 正在将 SYS 的对象导入到 SYS . 正在将 A 的对象导入到 A . . 正在导入表 "T2" . 正在将 SYS 的对象导入到 SYS 成功终止导入, 没有出现警告。 需要为表空间指出新的数据文件位置。 SQL> alter tablespace tb2 online; 表空间已更改。 导入完毕,在目标数据库上,将导入的表空间设置为读写状态。 SQL> select count(*) from a.t2; COUNT(*) ---------- 49751 在oracle 10g之前,我们只能在相同平台之间进行表空间的传输,到了10g以后,我们可以在不同的平台之间进行表空间的传输。 不同平台的数据文件之所以不能够通用,主要在于不同的平台对相同的数据采用了不同的字节顺序的原因。目前存在两种主要的字节排列顺序: little-endian和big-endian 对于采用两个字节来表示的整数1来说,在big-endian平台上(sun的 SPARC Soalris)会以0x0001(较大的值排在前面,较小的排在后面),对于little-endian来说,则会以0x0100来表示(较小的值排在前面,较大的值排在后面) Oracle 10g中,我们可以通过RMAN命令在不同的平台之间,对数据文件进行格式转换。 SQL> select platform_name,endian_format from v$transportable_platform order by 2 ,1; PLATFORM_NAME ENDIAN_FORMAT ---------------------------------------- -------------- AIX-Based Systems (64-bit) Big Apple Mac OS Big HP-UX (64-bit) Big HP-UX IA (64-bit) Big IBM Power Based Linux Big IBM zSeries Based Linux Big Solaris[tm] OE (32-bit) Big Solaris[tm] OE (64-bit) Big HP Open VMS Little HP Tru64 UNIX Little Linux 64-bit for AMD Little PLATFORM_NAME ENDIAN_FORMAT ---------------------------------------- -------------- Linux IA (32-bit) Little Linux IA (64-bit) Little Microsoft Windows 64-bit for AMD Little Microsoft Windows IA (32-bit) Little Microsoft Windows IA (64-bit) Little Solaris Operating System (x86) Little 已选择17行。 当前操作系统 SQL> select platform_name from v$database; PLATFORM_NAME ---------------------------------------- Microsoft Windows IA (32-bit) 在进行转换之前,我们必须确保满足以下的条件 1、源数据库和目标数据库的初始化参数compatible必须设置为10.0.0或以上 SQL> show parameter compatible NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ compatible string 10.2.0.1.0 2、数据文件头部必须是平台认知(platform-aware)的 当初始化参数compatible设置为10.0.0或以上时,数据文件在第一次以读写方式打开的时候,会在数据文件头部记录平台相关的信息,这个过程叫做平台认知。如果要进行跨平台传输的数据文件当前为只读或者离线状态,同时在将该数据文件设置为只读或者离线时,compatible为10.0.0之前的值,那么首先需要将数据文件设置为读写或者在线,从而使得数据文件成为平台认知以后,再将这些数据文件返回到只读或者离线状态 进行数据文件平台转换工作时,按照下面的步骤完成 1、把要传输的表空间设置为只读状态 2、以传输表空间模式(transport_tablespace=y)将表空间的元数据导出到转储文件 3、判断源数据库和目标数据库所在的平台是否是相同的endian,如果相同,直接将导出和数据文件一起发送到目标平台上,如果不同,需要进行endian的转换。 4、转换数据文件格式(既可以在源数据库上完成,也可以在目标数据库上完成) 例如我们需要将users表空间从aix平台转换到windows平台 1、在源数据库完成 启动rman,与源数据库建立连接 RMAN>convert tablespace users to platform ‘Microsoft Window IA (32-bit)’ format ‘/u01/trans/%N_%f’; 执行完成该命令以后,RMAN会将users表空间里所有的数据文件转换为windows平台的 little-endian格式并将这些文件放在/u01/trans目录下,然后我们就可以将这些数据文件、转 储文件一起发送到目标平台。 2、可以先不进行转换,而是直接将数据文件从源平台发送到目标平台上去,然后在目标平 台上再进行转化 RMAN> convert datafile '/temp/TB2.DBF' from platform 'Microsoft Windows IA (32-bit)' format '/temp/trans/tb2.dbf'; Starting backup at 09-JAN-10 using channel ORA_DISK_1 channel ORA_DISK_1: starting datafile conversion input filename=/temp/TB2.DBF converted datafile=/temp/trans/tb2.dbf channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:01 Finished backup at 09-JAN-10 本例中没有做转换,因为linux系统和windows的编码规则是相同的 [oracle@localhost ~]$ imp \'/ as sysdba\' file='/temp/tb2.dmp' transport_tablespace=y tablespaces=tb2 datafiles='/temp/TB2.DBF' Import: Release 10.2.0.1.0 - Production on Sat Jan 9 21:24:24 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 Export file created by EXPORT:V10.02.01 via conventional path About to import transportable tablespace(s) metadata... import done in US7ASCII character set and AL16UTF16 NCHAR character set import server uses ZHS16GBK character set (possible charset conversion) export client uses ZHS16GBK character set (possible charset conversion) . importing SYS's objects into SYS . importing SYS's objects into SYS . importing A's objects into A . . importing table "T2" . importing SYS's objects into SYS Import terminated successfully without warnings. 本例中发生过一个错误,图示如下 [oracle@localhost ora10g]$ imp \'/ as sysdba\' file='/temp/tb2.dmp' transport_tablespace=y tablespaces=tb2 datafiles='/temp/TB2.DBF' Import: Release 10.2.0.1.0 - Production on Sat Jan 9 20:57:28 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 Export file created by EXPORT:V10.02.01 via conventional path About to import transportable tablespace(s) metadata... import done in US7ASCII character set and AL16UTF16 NCHAR character set import server uses WE8ISO8859P1 character set (possible charset conversion) export client uses ZHS16GBK character set (possible charset conversion) . importing SYS's objects into SYS . importing SYS's objects into SYS IMP-00017: following statement failed with ORACLE error 29345: "BEGIN sys.dbms_plugts.beginImport ('10.2.0.1.0',852,'2000',7,'Microsoft W" "indows IA (32-bit)',51366,65801,1,0,0,0); END;" IMP-00003: ORACLE error 29345 encountered ORA-29345: cannot plug a tablespace into a database using an incompatible character set ORA-06512: at "SYS.DBMS_PLUGTS", line 2386 ORA-06512: at "SYS.DBMS_PLUGTS", line 1946 ORA-06512: at line 1 IMP-00000: Import terminated unsuccessfully 原因就是语言不同,windows是简体中文,而linux是英文,需要调整语言在做导入 数据泵(data pump) 从oracle 10g开始,引入了一个全新的、用于快速迁移数据的方式:数据泵 1、导出数据泵生成二进制的转储文件 2、导入数据泵读取转储文件 3、数据泵是位于服务器端的工具,通过数据泵导出的转储文件只能位于数据库服务器端,不能将转储文件导出到客户端 4、导入和导出通过包DBMS_DATAPUMP来实现 数据泵自动选择使用何种方式访问数据 直接路径:直接读取数据块的方式 外部表 如果表结构允许使用直接路径导出和导入,则数据泵会使用直接路径方式进行导出或导入。 如果要导出的表是簇表、或者表上存在引用完整性的约束条件、加密列或其他一些选项,数据泵会采用外部表的方式 使用数据泵的好处 1、断点记录 在数据泵运行过程中,主表(Master Table)起到了关键作用。在MT表中,保存了整个数 据泵运行过程中的相关信息,包括要处理的所有的对象信息、正在处理的对象信息等。 启动数据泵时,如果我们同时指定了任务名称,则该MT表的名称等于任务名称,用户下面不能存在这个名称的对象,否则失败。如果没有指定任务名称,数据泵自动为MT表生成一个名称。因为MT表的存在,我们可以重新启动被终止的任务。 2、可以只处理某些对象,或者不处理某些对象,或者只处理某些对象下面满足条件的数据等 3、不实际导出的情况下,估计整个导出工作需要占用的磁盘空间 3、通过数据库链接db link,将远程数据库导出到转储文件 4、通过数据库链接db link,直接将远程的、位于其他主机的数据库里的数据导入到当前数据库中,从而实现跨平台的数据迁移 5、在导入时,可以修改导入数据所在的schema名称、表空间名称以及数据文件名称 6、通过采样,导出部分数据 7、只导出元数据(例如表结构等),不导出实际的数据,可以指定是否进行压缩 8、可以进行并行操作 数据泵在将数据库导出到服务器端时,通过指定目录对象(directory object)来控制生成的转储文件应该放在服务器端的哪个目录下面。目录对象只能被sys拥有 SQL> create directory my as 'e:\data'; 目录已创建。 SQL> grant read,write on directory my to a; 授权成功。 用户a可以在目录my下面进行读写。 导出数据泵(expdp) 1、执行导出时,expdp先创建MT表,并将对象的信息插入MT表,开始执行实际的导出任务。当所有的对象都导出以后,将MT表也一起导出到转储文件中,等到导出任务成功完成或通过命令删除导出任务以后,将MT表也一并删除,如果是任务异常的终止,则MT表会保留。 2、执行导入时,impdp先将MT表从转储文件读出,并写入到目标数据库中,然后读取MT表中所有的对象信息,根据读取出来的对象名称,将这些对象从转储文件中提取出来,并插入到目标数据库中。 四种模式:表模式、用户模式、全数据库模式、可传输表空间模式 C:\Documents and Settings\li>expdp help=y Export: Release 10.2.0.1.0 - Production on 星期日, 07 3月, 2010 15:51:13 Copyright (c) 2003, 2005, Oracle. All rights reserved. 数据泵导出实用程序提供了一种用于在 Oracle 数据库之间传输 数据对象的机制。该实用程序可以使用以下命令进行调用: 示例: expdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp 您可以控制导出的运行方式。具体方法是: 在 'expdp' 命令后输入 各种参数。要指定各参数, 请使用关键字: 格式: expdp KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN) 示例: expdp scott/tiger DUMPFILE=scott.dmp DIRECTORY=dmpdir SCHEMAS=scott 或 TABLES=(T1:P1,T1:P2), 如果 T1 是分区表 USERID 必须是命令行中的第一个参数。 关键字 说明 (默认) ------------------------------------------------------------------------------ ATTACH 连接到现有作业, 例如 ATTACH [=作业名]。 COMPRESSION 减小有效的转储文件内容的大小 关键字值为: (METADATA_ONLY) 和 NONE。 CONTENT 指定要卸载的数据, 其中有效关键字为: (ALL), DATA_ONLY 和 METADATA_ONLY。 DIRECTORY 供转储文件和日志文件使用的目录对象。 DUMPFILE 目标转储文件 (expdat.dmp) 的列表, 例如 DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.dmp。 ENCRYPTION_PASSWORD 用于创建加密列数据的口令关键字。 ESTIMATE 计算作业估计值, 其中有效关键字为: (BLOCKS) 和 STATISTICS。 ESTIMATE_ONLY 在不执行导出的情况下计算作业估计值。 EXCLUDE 排除特定的对象类型, 例如 EXCLUDE=TABLE:EMP。 FILESIZE 以字节为单位指定每个转储文件的大小。 FLASHBACK_SCN 用于将会话快照设置回以前状态的 SCN。 FLASHBACK_TIME 用于获取最接近指定时间的 SCN 的时间。 FULL 导出整个数据库 (N)。 HELP 显示帮助消息 (N)。 INCLUDE 包括特定的对象类型, 例如 INCLUDE=TABLE_DATA。 JOB_NAME 要创建的导出作业的名称。 LOGFILE 日志文件名 (export.log)。 NETWORK_LINK 链接到源系统的远程数据库的名称。 NOLOGFILE 不写入日志文件 (N)。 PARALLEL 更改当前作业的活动 worker 的数目。 PARFILE 指定参数文件。 QUERY 用于导出表的子集的谓词子句。 SAMPLE 要导出的数据的百分比; SCHEMAS 要导出的方案的列表 (登录方案)。 STATUS 在默认值 (0) 将显示可用时的新状态的情况下, 要监视的频率 (以秒计) 作业状态。 TABLES 标识要导出的表的列表 - 只有一个方案。 TABLESPACES 标识要导出的表空间的列表。 TRANSPORT_FULL_CHECK 验证所有表的存储段 (N)。 TRANSPORT_TABLESPACES 要从中卸载元数据的表空间的列表。 VERSION 要导出的对象的版本, 其中有效关键字为: (COMPATIBLE), LATEST 或任何有效的数据库版本。 下列命令在交互模式下有效。 注: 允许使用缩写 命令 说明 ------------------------------------------------------------------------------ ADD_FILE 向转储文件集中添加转储文件。 CONTINUE_CLIENT 返回到记录模式。如果处于空闲状态, 将重新启动作业。 EXIT_CLIENT 退出客户机会话并使作业处于运行状态。 FILESIZE 后续 ADD_FILE 命令的默认文件大小 (字节)。 HELP 总结交互命令。 KILL_JOB 分离和删除作业。 PARALLEL 更改当前作业的活动 worker 的数目。 PARALLEL=。 START_JOB 启动/恢复当前作业。 STATUS 在默认值 (0) 将显示可用时的新状态的情况下, 要监视的频率 (以秒计) 作业状态。 STATUS[=interval] STOP_JOB 顺序关闭执行的作业并退出客户机。 STOP_JOB=IMMEDIATE 将立即关闭 数据泵作业。 C:\Documents and Settings\li>impdp help=y Import: Release 10.2.0.1.0 - Production on 星期日, 07 3月, 2010 15:52:24 Copyright (c) 2003, 2005, Oracle. All rights reserved. 数据泵导入实用程序提供了一种用于在 Oracle 数据库之间传输 数据对象的机制。该实用程序可以使用以下命令进行调用: 示例: impdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp 您可以控制导入的运行方式。具体方法是: 在 'impdp' 命令后输入 各种参数。要指定各参数, 请使用关键字: 格式: impdp KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN) 示例: impdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp USERID 必须是命令行中的第一个参数。 关键字 说明 (默认) ------------------------------------------------------------------------------ ATTACH 连接到现有作业, 例如 ATTACH [=作业名]。 CONTENT 指定要加载的数据, 其中有效关键字为: (ALL), DATA_ONLY 和 METADATA_ONLY。 DIRECTORY 供转储文件, 日志文件和 sql 文件使用的目录对象。 DUMPFILE 要从 (expdat.dmp) 中导入的转储文件的列表, 例如 DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.dmp。 ENCRYPTION_PASSWORD 用于访问加密列数据的口令关键字。 此参数对网络导入作业无效。 ESTIMATE 计算作业估计值, 其中有效关键字为: (BLOCKS) 和 STATISTICS。 EXCLUDE 排除特定的对象类型, 例如 EXCLUDE=TABLE:EMP。 FLASHBACK_SCN 用于将会话快照设置回以前状态的 SCN。 FLASHBACK_TIME 用于获取最接近指定时间的 SCN 的时间。 FULL 从源导入全部对象 (Y)。 HELP 显示帮助消息 (N)。 INCLUDE 包括特定的对象类型, 例如 INCLUDE=TABLE_DATA。 JOB_NAME 要创建的导入作业的名称。 LOGFILE 日志文件名 (import.log)。 NETWORK_LINK 链接到源系统的远程数据库的名称。 NOLOGFILE 不写入日志文件。 PARALLEL 更改当前作业的活动 worker 的数目。 PARFILE 指定参数文件。 QUERY 用于导入表的子集的谓词子句。 REMAP_DATAFILE 在所有 DDL 语句中重新定义数据文件引用。 REMAP_SCHEMA 将一个方案中的对象加载到另一个方案。 REMAP_TABLESPACE 将表空间对象重新映射到另一个表空间。 REUSE_DATAFILES 如果表空间已存在, 则将其初始化 (N)。 SCHEMAS 要导入的方案的列表。 SKIP_UNUSABLE_INDEXES 跳过设置为无用索引状态的索引。 SQLFILE 将所有的 SQL DDL 写入指定的文件。 STATUS 在默认值 (0) 将显示可用时的新状态的情况下, 要监视的频率 (以秒计) 作业状态。 STREAMS_CONFIGURATION 启用流元数据的加载 TABLE_EXISTS_ACTION 导入对象已存在时执行的操作。 有效关键字: (SKIP), APPEND, REPLACE 和 TRUNCATE。 TABLES 标识要导入的表的列表。 TABLESPACES 标识要导入的表空间的列表。 TRANSFORM 要应用于适用对象的元数据转换。 有效的转换关键字: SEGMENT_ATTRIBUTES, STORAGE OID 和 PCTSPACE。 TRANSPORT_DATAFILES 按可传输模式导入的数据文件的列表。 TRANSPORT_FULL_CHECK 验证所有表的存储段 (N)。 TRANSPORT_TABLESPACES 要从中加载元数据的表空间的列表。 仅在 NETWORK_LINK 模式导入操作中有效。 VERSION 要导出的对象的版本, 其中有效关键字为: (COMPATIBLE), LATEST 或任何有效的数据库版本。 仅对 NETWORK_LINK 和 SQLFILE 有效。 下列命令在交互模式下有效。 注: 允许使用缩写 命令 说明 (默认) ------------------------------------------------------------------------------ CONTINUE_CLIENT 返回到记录模式。如果处于空闲状态, 将重新启动作业。 EXIT_CLIENT 退出客户机会话并使作业处于运行状态。 HELP 总结交互命令。 KILL_JOB 分离和删除作业。 PARALLEL 更改当前作业的活动 worker 的数目。 PARALLEL=。 START_JOB 启动/恢复当前作业。 START_JOB=SKIP_CURRENT 在开始作业之前将跳过 作业停止时执行的任意操作。 STATUS 在默认值 (0) 将显示可用时的新状态的情况下, 要监视的频率 (以秒计) 作业状态。 STATUS[=interval] STOP_JOB 顺序关闭执行的作业并退出客户机。 STOP_JOB=IMMEDIATE 将立即关闭 数据泵作业。 1、导出某个指定的表 C:\Documents and Settings\li>expdp a/a directory=my dumpfile=a%U.dmp tables=t1 j ob_name=exp logfile=dump.log Export: Release 10.2.0.1.0 - Production on 星期日, 07 3月, 2010 16:06:15 Copyright (c) 2003, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options ORA-39002: 操作无效 ORA-39070: 无法打开日志文件。 ORA-29283: 文件操作无效 ORA-06512: 在 "SYS.UTL_FILE", line 475 ORA-29283: 文件操作无效 发生这种错误的原因是需要在操作系统上手动添加这个data目录才可以 C:\Documents and Settings\li>expdp a/a directory=my dumpfile=a%U.dmp tables=t1 j ob_name=exp Export: Release 10.2.0.1.0 - Production on 星期日, 07 3月, 2010 16:08:25 Copyright (c) 2003, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 启动 "A"."EXP": a/******** directory=my dumpfile=a%U.dmp tables=t1 job_name=exp 正在使用 BLOCKS 方法进行估计... 处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA 使用 BLOCKS 方法的总估计: 7 MB 处理对象类型 TABLE_EXPORT/TABLE/TABLE . . 导出了 "A"."T1" 4.642 MB 49751 行 已成功加载/卸载了主表 "A"."EXP" ****************************************************************************** A.EXP 的转储文件集为: E:\DATA\A01.DMP 作业 "A"."EXP" 已于 16:08:49 成功完成 %U表示的是01开始单调递增的数字 2、导出某个或者某几个用户 C:\Documents and Settings\li>expdp '/ as sysdba' directory=my dumpfile=b%U.dmp schemas=(a,b) job_name=exp_b Export: Release 10.2.0.1.0 - Production on 星期日, 07 3月, 2010 16:13:51 Copyright (c) 2003, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 启动 "SYS"."EXP_B": '/******** AS SYSDBA' directory=my dumpfile=b%U.dmp schemas =(a,b) job_name=exp_b 正在使用 BLOCKS 方法进行估计... 处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA 使用 BLOCKS 方法的总估计: 16 MB 处理对象类型 SCHEMA_EXPORT/USER 处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT 处理对象类型 SCHEMA_EXPORT/ROLE_GRANT 处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE 处理对象类型 SCHEMA_EXPORT/TABLESPACE_QUOTA 处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA 处理对象类型 SCHEMA_EXPORT/TABLE/TABLE . . 导出了 "A"."T1" 4.642 MB 49751 行 . . 导出了 "A"."T2" 4.642 MB 49751 行 . . 导出了 "A"."B" 859.4 KB 99492 行 已成功加载/卸载了主表 "SYS"."EXP_B" ****************************************************************************** SYS.EXP_B 的转储文件集为: E:\DATA\B01.DMP 作业 "SYS"."EXP_B" 已于 16:14:25 成功完成 3、导出整个数据库(采用了4个并行进程导出整个数据库) C:\Documents and Settings\li>expdp '/ as sysdba' directory=my dumpfile=full%U.dm p full=y job_name=full parallel=4 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/TRIGGER 处理对象类型 DATABASE_EXPORT/SCHEMA/VIEW/TRIGGER 处理对象类型 DATABASE_EXPORT/SCHEMA/JOB 处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/POST_INSTANCE/PROCACT_INSTANCE 处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/POST_INSTANCE/PROCDEPOBJ 处理对象类型 DATABASE_EXPORT/SCHEMA/POST_SCHEMA/PROCOBJ 处理对象类型 DATABASE_EXPORT/SCHEMA/POST_SCHEMA/PROCACT_SCHEMA 已成功加载/卸载了主表 "SYS"."FULL" ***************************************************************************** YS.FULL 的转储文件集为: E:\DATA\FULL01.DMP E:\DATA\FULL02.DMP E:\DATA\FULL03.DMP E:\DATA\FULL04.DMP 作业 "SYS"."FULL" 已于 16:20:43 成功完成 4个并行进程就生成4个文件。 4、指定文件的大小 C:\Documents and Settings\li>expdp '/ as sysdba' directory=my dumpfile=full%U.dm p full=y job_name=full_size filesize=10m Export: Release 10.2.0.1.0 - Production on 星期日, 07 3月, 2010 16:26:08 Copyright (c) 2003, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 启动 "SYS"."FULL_SIZE": '/******** AS SYSDBA' directory=my dumpfile=full%U.dmp full=y job_name=full_size filesize=10m 正在使用 BLOCKS 方法进行估计... 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/POST_INSTANCE/PROCDEPOBJ 处理对象类型 DATABASE_EXPORT/SCHEMA/POST_SCHEMA/PROCOBJ 处理对象类型 DATABASE_EXPORT/SCHEMA/POST_SCHEMA/PROCACT_SCHEMA . . 导出了 "A"."T1" 4.642 MB 49751 行 . . 导出了 "A"."T2" 4.642 MB 49751 行 . . 导出了 "A"."B" 859.4 KB 99492 行 . . 导出了 "SYSMAN"."MGMT_JOB_CRED_PARAMS" 11.69 KB 18 行 . . 导出了 "SYSMAN"."MGMT_JOB_PROP_PARAMS" 8.820 KB 12 行 . . 导出了 "SYSMAN"."MGMT_JOB_STEP_PARAMS" 127.3 KB 1128 行 . . 导出了 "SYSMAN"."MGMT_JOB_SCHEDULE" 9.437 KB 1 行 . . 导出了 "SYSMAN"."MGMT_JOB_SEC_INFO" 8.046 KB 4 行 . . 导出了 "SYSMAN"."MGMT_JOB_USER_PARAMS" 6.210 KB 1 行 . . 导出了 "SYSMAN"."MGMT_SEC_INFO" 5.851 KB 1 行 . . 导出了 "SYSMAN"."MGMT_ARU_PRODUCT_RELEASE_MAP" 39.28 KB 2621 行 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 . . 导出了 "SYSTEM"."REPCAT$_SITE_OBJECTS" 0 KB 0 行 . . 导出了 "SYSTEM"."REPCAT$_SNAPGROUP" 0 KB 0 行 . . 导出了 "SYSTEM"."REPCAT$_TEMPLATE_OBJECTS" 0 KB 0 行 . . 导出了 "SYSTEM"."REPCAT$_TEMPLATE_PARMS" 0 KB 0 行 . . 导出了 "SYSTEM"."REPCAT$_TEMPLATE_REFGROUPS" 0 KB 0 行 . . 导出了 "SYSTEM"."REPCAT$_TEMPLATE_SITES" 0 KB 0 行 . . 导出了 "SYSTEM"."REPCAT$_TEMPLATE_TARGETS" 0 KB 0 行 . . 导出了 "SYSTEM"."REPCAT$_USER_AUTHORIZATIONS" 0 KB 0 行 . . 导出了 "SYSTEM"."REPCAT$_USER_PARM_VALUES" 0 KB 0 行 . . 导出了 "SYSTEM"."SQLPLUS_PRODUCT_PROFILE" 0 KB 0 行 . . 导出了 "TSMSYS"."SRS$" 0 KB 0 行 ORA-31694: 加载/卸载主表 "SYS"."FULL_SIZE" 失败 ORA-39095: 转储文件空间已耗尽: 无法分配 10493952 字节 作业 "SYS"."FULL_SIZE" 因致命错误于 16:28:21 停止 因为超出了文件长度,所以退出 调整文件长度 C:\Documents and Settings\li>expdp '/ as sysdba' directory=my dumpfile=ful%U full=y job_name=ful_size filesize=100m 或者(两个文件名称必须要有区别) C:\Documents and Settings\li>expdp '/ as sysdba' directory=my dumpfile=my:f1%U.dm p,my:f2%U.dmp full=y job_name=f_size filesize=20m Export: Release 10.2.0.1.0 - Production on 星期日, 07 3月, 2010 16:37:39 Copyright (c) 2003, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 启动 "SYS"."FUL_SIZE": '/******** AS SYSDBA' directory=my dumpfile=my:ful1%U.dm p,my:ful2%U.dmp full=y job_name=ful_size filesize=100m 正在使用 BLOCKS 方法进行估计... 处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA 使用 BLOCKS 方法的总估计: 25.37 MB 处理对象类型 DATABASE_EXPORT/TABLESPACE 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 已成功加载/卸载了主表 "SYS"."F_SIZE" ****************************************************************************** SYS.F_SIZE 的转储文件集为: E:\DATA\F01.DMP E:\DATA\F201.DMP 作业 "SYS"."F_SIZE" 已于 16:59:13 成功完成 最后结果就是生成2个文件,每个文件承担20M,这样做的好处就是将一个大文件分包成2个小文件 每次操作的操作名称和文件名称不能相同,即使是一个失败的操作,也算是一个名字,如果使用了相同的名字,会报错而中断,但在哪里记录了这些名字,还没有找到 5、指定不导出某些对象,必须使用参数文件 C:\Documents and Settings\li>expdp a/a directory=my dumpfile=a.dmp parfile=para.txt LRM-00109: 无法打开参数文件 'e:\para.txt' LRM-00113: 处理文件 'e:\para.txt' 时出错 C:\Documents and Settings\li>e: E:\>dir 驱动器 E 中的卷是 新加卷 卷的序列号是 DCB3-7275 E:\ 的目录 2010-03-06 21:46 780,288 a.dmp 2010-03-06 20:57 391,168 b.dmp 2010-03-07 22:45 data 2010-03-06 21:46 13,160,448 full.dmp 2010-03-06 20:34 oracle 2010-03-06 20:57 318 order.log; 2010-03-07 22:41 37 para.txt.txt 2010-03-07 12:26 4,096 tb2.dmp 6 个文件 14,336,355 字节 2 个目录 17,460,895,744 可用字节 Windows的有些功能可真是害人啊 E:\>expdp '/ as sysdba' directory=my dumpfile=a.dmp parfile=para.txt 。。。。。。。。。。。。。。。。。。。。。。 处理对象类型 SCHEMA_EXPORT/TABLE/TABLE . . 导出了 "A"."T2" 4.642 MB 49751 行 . . 导出了 "A"."B" 859.4 KB 99492 行 . . 导出了 "A"."TT" 432.5 KB 49789 行 已成功加载/卸载了主表 "SYS"."SYS_EXPORT_SCHEMA_01" ****************************************************************************** Tables的格式不能改,因为采用了类似where语法,所以表名必须要大写,like必须存在,或者是这种格式 不导出这两个表 。。。。。。。。。。。。。。。。。。。。。。。。。。。。 处理对象类型 SCHEMA_EXPORT/TABLE/TABLE . 导出了 "A"."B" 859.4 KB 99492 行 . 导出了 "A"."TT" 432.5 KB 49789 行 已成功加载/卸载了主表 "SYS"."SYS_EXPORT_SCHEMA_01" 6、只导出指定类型的表,必须使用参数文件 E:\>expdp '/ as sysdba' directory=my dumpfile=a.dmp parfile=para.txt Export: Release 10.2.0.1.0 - Production on 星期日, 07 3月, 2010 23:29:43 Copyright (c) 2003, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 启动 "SYS"."SYS_EXPORT_SCHEMA_01": '/******** AS SYSDBA' directory=my dumpfile= a.dmp parfile=para.txt 正在使用 BLOCKS 方法进行估计... 处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA 使用 BLOCKS 方法的总估计: 0 KB 处理对象类型 SCHEMA_EXPORT/PACKAGE/PACKAGE_SPEC 处理对象类型 SCHEMA_EXPORT/PROCEDURE/PROCEDURE 处理对象类型 SCHEMA_EXPORT/PACKAGE/COMPILE_PACKAGE/PACKAGE_SPEC/ALTER_PACKAGE_SP EC 处理对象类型 SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE 处理对象类型 SCHEMA_EXPORT/PACKAGE/PACKAGE_BODY ORA-39168: 未找到对象路径 FUNCTION。 已成功加载/卸载了主表 "SYS"."SYS_EXPORT_SCHEMA_01" ****************************************************************************** SYS.SYS_EXPORT_SCHEMA_01 的转储文件集为: E:\DATA\A.DMP 作业 "SYS"."SYS_EXPORT_SCHEMA_01" 已经完成, 但是有 1 个错误 (于 23:29:50 完成) Sys用户的sechma是system 7、只导出表定义,不导出数据 参数content的三个取值 METADATA_ONLY:表示只导出对象的定义信息 DATA_ONLY:表示只导出表里的实际数据 ALL:导出上面两者,默认是ALL E:\>expdp '/ as sysdba' directory=my dumpfile=a.dmp schemas=a content=metadata_only Export: Release 10.2.0.1.0 - Production on 星期日, 07 3月, 2010 23:33:47 Copyright (c) 2003, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 启动 "SYS"."SYS_EXPORT_SCHEMA_01": '/******** AS SYSDBA' directory=my dumpfile= a.dmp schemas=a content=metadata_only 处理对象类型 SCHEMA_EXPORT/USER 处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT 处理对象类型 SCHEMA_EXPORT/ROLE_GRANT 处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE 处理对象类型 SCHEMA_EXPORT/TABLESPACE_QUOTA 处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA 处理对象类型 SCHEMA_EXPORT/TABLE/TABLE 已成功加载/卸载了主表 "SYS"."SYS_EXPORT_SCHEMA_01" ****************************************************************************** SYS.SYS_EXPORT_SCHEMA_01 的转储文件集为: E:\DATA\A.DMP 作业 "SYS"."SYS_EXPORT_SCHEMA_01" 已于 23:33:59 成功完成 8.只导出符合指定条件的数据行 E:\>expdp a/a directory=my dumpfile=a.dmp parfile=para.txt Export: Release 10.2.0.1.0 - Production on 星期日, 07 3月, 2010 23:44:38 Copyright (c) 2003, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 启动 "A"."SYS_EXPORT_SCHEMA_01": a/******** directory=my dumpfile=a.dmp parfile =para.txt 正在使用 BLOCKS 方法进行估计... 处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA 使用 BLOCKS 方法的总估计: 16.68 MB 处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA 处理对象类型 SCHEMA_EXPORT/TABLE/TABLE 处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX 处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT 处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS 处理对象类型 SCHEMA_EXPORT/TABLE/COMMENT . . 导出了 "A"."T1" 4.318 MB 45810 行 . . 导出了 "A"."T2" 339.9 KB 3942 行 . . 导出了 "A"."B" 859.4 KB 99492 行 . . 导出了 "A"."TT" 432.5 KB 49789 行 已成功加载/卸载了主表 "A"."SYS_EXPORT_SCHEMA_01" ****************************************************************************** A.SYS_EXPORT_SCHEMA_01 的转储文件集为: E:\DATA\A.DMP 作业 "A"."SYS_EXPORT_SCHEMA_01" 已于 23:45:13 成功完成 9、对数据库进行采样以后,导出采样的数据 对用户a下面所有的表。随机抽取30%的数据进行导出 E:\>expdp a/a directory=my dumpfile=a.dmp sample=30 Export: Release 10.2.0.1.0 - Production on 星期日, 07 3月, 2010 23:47:52 Copyright (c) 2003, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 启动 "A"."SYS_EXPORT_SCHEMA_01": a/******** directory=my dumpfile=a.dmp sample= 30 正在使用 BLOCKS 方法进行估计... 处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA 使用 BLOCKS 方法的总估计: 16.68 MB 处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA 处理对象类型 SCHEMA_EXPORT/TABLE/TABLE 处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX 处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT 处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS 处理对象类型 SCHEMA_EXPORT/TABLE/COMMENT . . 导出了 "A"."T1" 1.386 MB 14796 行 . . 导出了 "A"."T2" 1.407 MB 15010 行 . . 导出了 "A"."B" 260.8 KB 29797 行 . . 导出了 "A"."TT" 134.0 KB 15032 行 已成功加载/卸载了主表 "A"."SYS_EXPORT_SCHEMA_01" ****************************************************************************** A.SYS_EXPORT_SCHEMA_01 的转储文件集为: E:\DATA\A.DMP 表t1采样30%,其余表全部导出 E:\>expdp a/a directory=my dumpfile=a.dmp sample=T1:30 Export: Release 10.2.0.1.0 - Production on 星期日, 07 3月, 2010 23:49:22 Copyright (c) 2003, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 启动 "A"."SYS_EXPORT_SCHEMA_01": a/******** directory=my dumpfile=a.dmp sample= T1:30 正在使用 BLOCKS 方法进行估计... 处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA 使用 BLOCKS 方法的总估计: 16.68 MB 处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA 处理对象类型 SCHEMA_EXPORT/TABLE/TABLE 处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX 处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT 处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS 处理对象类型 SCHEMA_EXPORT/TABLE/COMMENT . . 导出了 "A"."T1" 1.402 MB 14964 行 . . 导出了 "A"."T2" 4.642 MB 49751 行 . . 导出了 "A"."B" 859.4 KB 99492 行 . . 导出了 "A"."TT" 432.5 KB 49789 行 已成功加载/卸载了主表 "A"."SYS_EXPORT_SCHEMA_01" ****************************************************************************** A.SYS_EXPORT_SCHEMA_01 的转储文件集为: E:\DATA\A.DMP 10、中断导出任务以后,从中断处再次启动导出任务 E:\>expdp a/a directory=my dumpfile=a.dmp parfile=para.txt job_name=exp Export: Release 10.2.0.1.0 - Production on 星期日, 07 3月, 2010 23:54:43 Copyright (c) 2003, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 启动 "A"."SYS_EXPORT_SCHEMA_01": a/******** directory=my dumpfile=a.dmp parfil =para.txt job_name=exp 正在使用 BLOCKS 方法进行估计... 处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA 出现starting以后,CTRL+C,任务进入后台执行,输入stop_job停止任务 Export> Export> stop_job 是否确实要停止此作业 ([Y]/N): yes E:\>expdp a/a attach=exp Export: Release 10.2.0.1.0 - Production on 星期一, 08 3月, 2010 0:00:22 Copyright (c) 2003, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 作业: EXP 所有者: A 操作: EXPORT 创建者权限: FALSE GUID: 07581D35DA9344A2A0B583BE6A348554 起始时间: 星期一, 08 3月, 2010 0:00:26 模式: SCHEMA 实例: ora10g 最大并行度: 1 EXPORT 个作业参数: 参数名 参数值: CLIENT_COMMAND a/******** directory=my dumpfile=a.dmp parfile=para.t xt job_name=exp 状态: IDLING 处理的字节: 0 当前并行度: 1 作业错误计数: 0 转储文件: e:\data\a.dmp 写入的字节: 4,096 Worker 1 状态: 状态: UNDEFINED Export> help 下列命令在交互模式下有效。 注: 允许使用缩写 命令 说明 ------------------------------------------------------------------------------ ADD_FILE 向转储文件集中添加转储文件。 CONTINUE_CLIENT 返回到记录模式。如果处于空闲状态, 将重新启动作业。 EXIT_CLIENT 退出客户机会话并使作业处于运行状态。 FILESIZE 后续 ADD_FILE 命令的默认文件大小 (字节)。 HELP 总结交互命令。 KILL_JOB 分离和删除作业。 PARALLEL 更改当前作业的活动 worker 的数目。 PARALLEL=。 START_JOB 启动/恢复当前作业。 STATUS 在默认值 (0) 将显示可用时的新状态的情况下, 要监视的频率 (以秒计) 作业状态。 STATUS[=interval] STOP_JOB 顺序关闭执行的作业并退出客户机。 STOP_JOB=IMMEDIATE 将立即关闭 数据泵作业。 Export> parallel=2 Export> start_job Export> continue_client 作业 EXP 已在 星期一, 08 3月, 2010 0:00 重新打开 重新启动 "A"."EXP": a/******** directory=my dumpfile=a.dmp parfile=para.txt job _name=exp 处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA 处理对象类型 SCHEMA_EXPORT/TABLE/TABLE 处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX 处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT 处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS 处理对象类型 SCHEMA_EXPORT/TABLE/COMMENT . . 导出了 "A"."T2" 339.9 KB 3942 行 . . 导出了 "A"."T1" 4.318 MB 45810 行 . . 导出了 "A"."B" 859.4 KB 99492 行 . . 导出了 "A"."TT" 432.5 KB 49789 行 . . 导出了 "A"."SYS_EXPORT_SCHEMA_01" 143.9 KB 1051 行 . . 导出了 "A"."SYS_EXPORT_SCHEMA_02" 112.6 KB 1046 行 已成功加载/卸载了主表 "A"."EXP" ****************************************************************************** A.EXP 的转储文件集为: e:\data\a.dmp 作业 "A"."EXP" 已于 00:03:41 成功完成 导入数据泵(impdp) 很多的用法和expdp相似 最有特点的地方是转换参数 1、remap_datafile,转换数据文件路径,原来的路径是什么,现在的路径是什么 2、remap_tablespace:将对象从一个表空间导入到另一个表空间 remap_tablespace=users:example,则说明导出文件中的对象位于users表空间,导入以后,对象导入到example表空间中 3、remap_schema:将对象从一个用户下导入到另一个用户下 remap_shcema=hr:xkj,则说明导出文件中的对象位于hr下面,导入以后,将其导入到用户xkj下面 1、导入某个指定的表 先对数据库执行一次全部方式的导出,然后做导入使用 E:\>impdp a/a directory=my dumpfile=full.dmp tables=(a,t2) Import: Release 10.2.0.1.0 - Production on 星期一, 08 3月, 2010 20:43:35 Copyright (c) 2003, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 已成功加载/卸载了主表 "A"."SYS_IMPORT_TABLE_01" 启动 "A"."SYS_IMPORT_TABLE_01": a/******** directory=my dumpfile=full.dmp table s=(a,t2) 处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/TABLE 处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA . . 导入了 "A"."T2" 4.642 MB 49751 行 作业 "A"."SYS_IMPORT_TABLE_01" 已于 20:43:47 成功完成 SQL> select segment_name,tablespace_name,owner,file_id,extent_id from dba_extent s where segment_name='T2'; SEGMENT_NA TABLESPACE OWNER FILE_ID EXTENT_ID ---------- ---------- ------------------------------ ---------- ---------- T2 TB2 A 6 0 SQL> drop table a.t2; 表已删除。 E:\>impdp a/a directory=my dumpfile=full.dmp tables=(a,t2) remap_tablespace=tb2: users Import: Release 10.2.0.1.0 - Production on 星期一, 08 3月, 2010 20:59:16 Copyright (c) 2003, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 已成功加载/卸载了主表 "A"."SYS_IMPORT_TABLE_01" 启动 "A"."SYS_IMPORT_TABLE_01": a/******** directory=my dumpfile=full.dmp table s=(a,t2) remap_tablespace=tb2:users 处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/TABLE 处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA . . 导入了 "A"."T2" 4.642 MB 49751 行 作业 "A"."SYS_IMPORT_TABLE_01" 已于 20:59:28 成功完成 SQL> select segment_name,tablespace_name,owner,file_id,extent_id from dba_extent s where segment_name='T2'; SEGMENT_NA TABLESPACE OWNER FILE_ID EXTENT_ID ---------- ---------- ------------------------------ ---------- ---------- T2 USERS A 4 0 SQL> drop table a.t2; 表已删除。 E:\>impdp b/b directory=my dumpfile=full.dmp tables=(a,t2) remap_tablespace=tb2: users remap_schema=a:b Import: Release 10.2.0.1.0 - Production on 星期一, 08 3月, 2010 21:02:04 Copyright (c) 2003, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options ORA-39002: 操作无效 ORA-39070: 无法打开日志文件。 ORA-39087: 目录名 MY 无效 B用户没有操纵my目录的权限,因此除了a用户是实现设置的以外只有sys有权使用目录 E:\>impdp '/ as sysdba' directory=my dumpfile=full.dmp tables=(a,t2) remap_table space=tb2:users remap_schema=a:b Import: Release 10.2.0.1.0 - Production on 星期一, 08 3月, 2010 21:02:25 Copyright (c) 2003, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 已成功加载/卸载了主表 "SYS"."SYS_IMPORT_TABLE_01" 启动 "SYS"."SYS_IMPORT_TABLE_01": '/******** AS SYSDBA' directory=my dumpfile=f ull.dmp tables=(a,t2) remap_tablespace=tb2:users remap_schema=a:b 处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/TABLE 处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA . . 导入了 "B"."T2" 4.642 MB 49751 行 作业 "SYS"."SYS_IMPORT_TABLE_01" 已于 21:02:34 成功完成 SQL> select segment_name,tablespace_name,owner,file_id,extent_id from dba_extent s where segment_name='T2'; SEGMENT_NA TABLESPACE OWNER FILE_ID EXTENT_ID ---------- ---------- ------------------------------ ---------- ---------- T2 USERS B 4 0 2、导入某个或者某几个用户 E:\>impdp '/ as sysdba' directory=my dumpfile=full.dmp tables=(a,t2) remap_sche ma=a:b Import: Release 10.2.0.1.0 - Production on 星期一, 08 3月, 2010 21:08:38 Copyright (c) 2003, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 已成功加载/卸载了主表 "SYS"."SYS_IMPORT_TABLE_01" 启动 "SYS"."SYS_IMPORT_TABLE_01": '/******** AS SYSDBA' directory=my dumpfile=f ull.dmp tables=(a,t2) remap_schema=a:b 处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/TABLE 处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA . . 导入了 "B"."T2" 4.642 MB 49751 行 作业 "SYS"."SYS_IMPORT_TABLE_01" 已于 21:08:46 成功完成 3、导入整个数据库 E:\>impdp '/ as sysdba' directory=my dumpfile=full.dmp full=y 4、可以使用参数文件的include、exclude来控制要导入的对象以及使用query来控制要导入的数据行。 E:\>impdp '/ as sysdba' directory=my dumpfile=full.dmp parfile=para.txt Import: Release 10.2.0.1.0 - Production on 星期一, 08 3月, 2010 21:25:52 Copyright (c) 2003, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 已成功加载/卸载了主表 "SYS"."SYS_IMPORT_TABLE_01" 启动 "SYS"."SYS_IMPORT_TABLE_01": '/******** AS SYSDBA' directory=my dumpfile=f ull.dmp parfile=para.txt 处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/TABLE 处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA . . 导入的 "A"."T2" 4.642 MB 3942 用完了 4 9751 行 作业 "SYS"."SYS_IMPORT_TABLE_01" 已于 21:26:03 成功完成 5、可以使用content控制导入的是表定义、数据行、还是所有 E:\>impdp '/ as sysdba' directory=my dumpfile=full.dmp tables=(a,t2) content=met adata_only Import: Release 10.2.0.1.0 - Production on 星期一, 08 3月, 2010 21:28:37 Copyright (c) 2003, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 已成功加载/卸载了主表 "SYS"."SYS_IMPORT_TABLE_01" 启动 "SYS"."SYS_IMPORT_TABLE_01": '/******** AS SYSDBA' directory=my dumpfile=f ull.dmp tables=(a,t2) content=metadata_only 处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/TABLE 作业 "SYS"."SYS_IMPORT_TABLE_01" 已于 21:28:45 成功完成 SQL> select * from a.t2; 未选定行 6、数据库链接db link和数据泵 数据库链接的作用就是在本地数据库中,定义一个连接远程数据库的链接,然后可以通过调用这个链接,直接访问远程数据库 本地数据库时orcl远程数据库是ora10g 1)建立数据库连接 网上介绍的数据库连接方法有两周,一种是配置了本地服务,另一重视没有配置本地服务,我们是我最熟悉的使用本地服务的方法 *通过netca,配置好本地服务,使得本地能够解析远端数据库实例ora10g E:\>tnsping ora10g TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 08-3月 - 2010 23:43:33 Copyright (c) 1997, 2005, Oracle. All rights reserved. 已使用的参数文件: E:\oracle\product\10.2.0\db_1\network\admin\sqlnet.ora 已使用 TNSNAMES 适配器来解析别名 Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = 59.66.51.100)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = ora10g))) OK (10 毫秒) *创建dblink SQL> create database link ora10g connect to a identified by a using 'ora10g'; 数据库链接已创建。 CREATE DATABASE LINK数据库链接名CONNECT TO 用户名 IDENTIFIED BY 密码 USING ‘本地配置的数据的实例名’; (源数据库) (源) 没有配置本地服务时 create database link ora10g connect to a identified by a using ''(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 59.66.51.100)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = ora10g) ) )''; 当数据库参数global_name=true时要求数据库链接名称跟远端数据库名称一样 SQL> show parameter global_name; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ global_names boolean FALSE 查询远端数据库里的表 SELECT „„ FROM 表名@数据库链接名; 查询、删除和插入数据和操作本地的数据库是一样的,只不过表名需要写成“表名@dblink服务器”而已。 SQL> select count(*) from a.test@ora10g; COUNT(*) ---------- 3 2)使用impdp导入数据库 在源数据库上分配a用户exp_full_database权限 一定要分配,否则无法会 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 : ORA-31631: 需要权限 ORA-39149: 无法将特权用户链接到非特权用户 编写配置文件 使用imp命令 E:\>impdp '/ as sysdba' parfile=para.txt Import: Release 10.2.0.1.0 - Production on 星期二, 09 3月, 2010 20:56:34 Copyright (c) 2003, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 启动 "SYS"."SYS_IMPORT_SCHEMA_01": '/******** AS SYSDBA' parfile=para.txt 正在使用 BLOCKS 方法进行估计... 处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA 使用 BLOCKS 方法的总估计: 64 KB 处理对象类型 SCHEMA_EXPORT/USER ORA-31684: 对象类型 USER:"B" 已存在 处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT 处理对象类型 SCHEMA_EXPORT/ROLE_GRANT 处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE 处理对象类型 SCHEMA_EXPORT/TABLESPACE_QUOTA 处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA 处理对象类型 SCHEMA_EXPORT/TABLE/TABLE . . 导入了 "B"."TEST" 3 行 作业 "SYS"."SYS_IMPORT_SCHEMA_01" 已经完成, 但是有 1 个错误 (于 20:57:24 完成) 为什么使用dba权限呢,这里其实就是imp的问题了 Imp是将导出记录导入库中,对记录而言在从数据库里导出以后就不在有权限而言,而将数据导入数据库时有数据库的操作权限,因此你想将记录导入到库里就得需要权限。本例中是将记录导入users表空间里,因此你就得需要有权使用A用户的表空间的用户完成导入。那么我授予普通用户表空间A权限以后,不是就可以了吗,还是不可以的 问题出在database link上 SQL> select owner,object_name from dba_objects where object_type='DATABASE LINK' ; OWNER ------------------------------ OBJECT_NAME -------------------------------------------------------------------------------- SYS ORA10G.REGRESS.RDBMS.DEV.US.ORACLE.COM 我们看到database link权限作为一个对象是存在于数据库中,这个对象目前是属于SYS用户,因此只有sys用户有权使用 A用户就不能够使用 SQL> conn a/a 已连接。 SQL> select * from a.test@ora10g; select * from a.test@ora10g * 第 1 行出现错误: ORA-02019: 未找到远程数据库的连接说明 因此我们就需要解决这个对象的归属权问题 SQL> create public database link ora10g connect to a identified by a using 'ora 10g' 2 ; 数据库链接已创建。 SQL> select owner,object_name from dba_objects where object_type='DATABASE LINK' ; OWNER ------------------------------ OBJECT_NAME -------------------------------------------------------------------------------- SYS ORA10G.REGRESS.RDBMS.DEV.US.ORACLE.COM PUBLIC ORA10G.REGRESS.RDBMS.DEV.US.ORACLE.COM 现在普通用户就有权限使用database link资源了 SQL> select * from a.test@ora10g; A ---------- 1 1 1 E:\>impdp a/a parfile=para.txt Import: Release 10.2.0.1.0 - Production on 星期二, 09 3月, 2010 21:46:37 Copyright (c) 2003, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 启动 "A"."SYS_IMPORT_SCHEMA_01": a/******** parfile=para.txt 正在使用 BLOCKS 方法进行估计... 处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA 使用 BLOCKS 方法的总估计: 64 KB 在目标数据库本身A用户本身没有赋予什么特别权限 SQL> revoke exp_full_database from A; revoke exp_full_database from A * 第 1 行出现错误: ORA-01932: ADMIN 选项未授权给角色 'EXP_FULL_DATABASE' SQL> revoke imp_full_database from A; revoke imp_full_database from A * 第 1 行出现错误: ORA-01932: ADMIN 选项未授权给角色 'IMP_FULL_DATABASE' 外部表 表示数据库中只有表的结构定义信息,而实际的数据位于操作系统上的平面文件中。在数据库中,就像访问正常表一样,通过select语句访问操作系统上的平面文件里所含有的数据。 Oracle 10g中,有两种类型的外部表:一种是通过数据泵引擎,将数据库中正常表的数据存储到操作系统的二进制文件中。二进制文件与通过expdp导出的文件类似,可以将二进制文件转移到其他数据库所在的操作系统平台上,然后在其数据库中创建外部表。另外一种外部表是先按照一定的格式编辑文本文件,然后在数据库中创建基于文本文件的外部表,通过该外部表,访问文本文件里的数据。 外部表只能查询,对于DML语句会报错,也不能在外部表上创建索引。 1、 使用数据泵引擎生成的外部表 SQL> grant select on sys.dba_objects to test; 授权成功。 SQL> create directory my as 'e:\data'; 目录已创建。 SQL> grant read,write on directory my to test; 授权成功。 SQL> create table test(object_id) 2 organization external 3 ( 4 type oracle_datapump 5 default directory my 6 location('1.dmp','2.dmp') 7 ) 8 parallel 9 as select object_id from dba_objects; 表已创建。 指定了多个location,必须配合parallel使用,否则只生成一个文件。 select出来的数据分布到了两文件中 外部表作用:加载和卸载数据 外部表都是只读表,不能进行update,insert,delete操作. Oracle 提供两种访问驱动: ORACLE_LOADER, ORACLE_DATAPUMP(oracle 10.2后新增的驱动) ORACLE_LOADER: 它利用oracle loader技术从外部表读取数据. 它还具有类似SQL*Loader工具控制文件语法的数据映射能力. ORACLE_DATAPUMP: 它提供卸载数据的能力,即把数据从数据库里导入一个外部表,再由一个或几个外部表导入到数据库里. 对于AS subquery的子句必须使用ORACLE_DATAPUMP .创建用于卸载数据的外部表时,不能制定列名。 同时,不支持badfile、discardfile参数,因为其无效或者丢弃数据将不予以记录为操作系统文件,没有fields terminated by(或者missing field values are null)参数 ORACLE_DATAPUMP一般使用在进行日志表等大数据表的备份和数据转移上.唯一不足的是Oracle只能将数据写成二进制格式,所以用外部表来生成Excel报表之类的是行不通的.不过在web应用中用外部表加载Excel数据却是可以的而且很大程度上提高应用的性能 SQL> select count(*) from test; COUNT(*) ---------- 49772 将两个文件转移到其他的数据库中,然后在目标数据库中执行下面的,命令创建外部表,从 而可以在目标数据库中访问这两个二进制文件所包含的数据。 2011/06/18 01:01 110kV肇庆变电站电气部分初步 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 2011/06/18 01:01 468Q发动机缸体双面卧式钻床总体设计及左主轴箱设计 2011/06/18 01:01 ABS防抱死系统设计 2011/07/07 13:35 CA1050汽车驱动桥主减速器设计 2011/06/18 01:01 CA6110发动机曲轴的加工工艺及夹具设计 2011/06/18 01:01 CA6140拨叉专用夹具设计(831008型号) 2011/06/18 01:01 CA6140拨叉零件工艺及工装设计 2011/06/18 01:01 CA6140机床后托架加工工艺及夹具设计 2011/06/18 01:01 CA6140机床法兰盘课程设计 2011/06/18 01:01 CA6140车床主轴箱体的设计与工艺分析及镗模设计 2011/06/18 12:57 CA6140车床刀架的工艺规程和铣上顶面工装设计 2011/06/18 01:01 CA6140车床床身加工工艺及夹具设计 2011/06/18 01:01 CA6140车床手柄座设计 2011/06/18 01:01 CA6140车床拨叉(831007型号)设计 2011/06/18 01:01 CA6140车床拨叉机械加工工艺规程及工艺装备设计831007 2011/08/06 19:24 CA6140车床拨叉零件的机械加工工艺规程及夹具设计831003 2011/06/18 01:01 CA6140车床法兰盘831004工艺规程设计 2011/06/18 01:01 CA6140车床法兰盘工艺规程设计 2011/06/18 01:01 CA6140车床法杠杆的加工工艺设计(φ25mm孔的铣床夹具) 2011/06/18 01:01 CA6140车床进行改造设计 2011/07/07 13:35 CA6140车床齿轮工艺规程与夹具设计 2011/06/18 01:01 CA6150车床横向进给改造的设计 2011/06/18 01:01 CD盒塑料膜毕业设计 2011/06/18 01:01 CK6140进给系统设计 2011/06/18 01:01 DZ038数字频率计的设计 2011/06/18 01:01 NGW-S62-45行星减速器设计 2011/07/07 13:34 POM水龙头壳体注塑模设计与制造设计 2011/06/18 01:01 QY-A型液压支架设计 2011/06/18 01:01 Santana2000轿车制动系统设计 2011/06/18 01:01 T350搅拌机工艺工装设计 2011/06/18 01:01 U型管式换热器设计 2011/06/18 01:01 YMT-50液压马达试验台的设计 2011/06/18 01:01 一级圆锥齿轮减速器设计 2011/07/07 13:35 三坐标数控磨床设计 2011/06/18 01:01 两级圆柱齿轮减速器课程设计 2011/06/18 01:01 中型货车万向节与传动轴设计 2011/06/18 01:01 乘用车变速器设计 2011/06/18 01:01 二级展开式斜齿轮减速器设计 2011/06/18 01:01 五吨单头液压放料机设计 2011/06/18 01:01 仿生机器人的机构设计与运动仿真 2011/06/18 01:01 传动箱体工艺与夹具设计 2011/06/18 01:01 免烧砖的压制设备设计 2011/06/18 01:01 具有托起机构的三辊卷板机设计 2011/06/18 01:01 冲单孔垫圈模具设计
本文档为【Oracle数据库的数据迁移】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_594886
暂无简介~
格式:doc
大小:361KB
软件:Word
页数:86
分类:
上传时间:2017-11-26
浏览量:45