




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据导出 1 将数据库 TEST 完全导出 用户名 system 密码 manager 导出到 D daochu dmp 中 exp system manager TEST file d daochu dmp full y 2 将数据库中 system 用户与 sys 用户的表导出 exp system manager TEST file d daochu dmp owner system sys 3 将数据库中的表 inner notify notify staff relat 导出 exp aichannel aichannel TESTDB2 file d datanewsmgnt dmp tables inner notify notify staff relat 4 将数据库中的表 table1 中的字段 filed1 以 00 打头的数据导出 exp system manager TEST file d daochu dmp tables table1 query where filed1 like 00 上面是常用的导出 对于压缩 既用 winzip 把 dmp 文件可以很好的压缩 也可以在上面命令后面 加上 compress y 来实现 数据的导入 1 将 D daochu dmp 中的数据导入 TEST 数据库中 imp system manager TEST file d daochu dmp imp aichannel aichannel HUST full y file d datanewsmgnt dmp ignore y 上面可能有点问题 因为有的表已经存在 然后它就报错 对该表就不进行 导入 在后面加上 ignore y 就可以了 2 将 d daochu dmp 中的表 table1 导入 imp system manager TEST file d daochu dmp tables table1 基本上上面的导入导出够用了 不少情况要先是将表彻底删除 然后导入 注意 操作者要有足够的权限 权限不够它会提示 数据库时可以连上的 可以用 tnsping TEST 来获得数据库 TEST 能否连上 当然 上面的方法在导出数据时可能会导出很大的包 那是因为你的用户可能 在授权的时候授予了 DBA 的权限 所以可以采用下面方法来进行数据库备份 数据库备份 建议系统过渡后 每周进行一次备份 或者在数据表发生重大改变前 对要改 变的数据表进行备份 执行以下步骤 进行备份 在命令行里 敲入 cmd 回车 进入命令行窗口 在窗口中 输入 exp mas 123456 mas 系统提示 输入数组提取缓冲区大小 4096 可以直接回车 系统提示 导出文件 EXPDAT DMP 此处输入导出文件的位置 其路径必须存在 Oracle 在这里不会自动建立路径 但可以建立文件名 备份文件以 dmp 作为后缀 输入内容如 e work mas db 090925v1 dmp 回车 系统提示 1 E 完整的数据库 2 U 用户 或 3 T 表 2 U u 此处可以输入 u 也可以直接回车 因为系统此时默认的是 U 系统提示 导出权限 yes no yes 回车 系统提示 导出表数据 yes no yes 回车 系统提示 压缩区 yes no yes 回车 系统提示 要导出的用户 RETURN 以退出 mas 系统提示 要导出的用户 RETURN 以退出 回车 此时系统会自动进行备份 本文对 Oracle 数据的导入导出 imp exp 两个命令进行了介绍 并对其相应的 参数进行了说明 然后通过一些示例进行演练 加深理解 文章最后对运用这两个命令可能出现的问题 如权限不够 不同 oracle 版本 进行 了探讨 并提出了相应的解决方案 本文部分内容摘录自网络 感谢网友的经验总结 一 说明 oracle 的 exp imp 命令用于实现对数据库的导出 导入操作 exp 命令用于把数据从远程数据库服务器导出至本地 生成 dmp 文件 imp 命令用于把本地的数据库 dmp 文件从本地导入到远程的 Oracle 数据库 中 二 语法 可以通过在命令行输入 imp help y 获取 imp 的语法信息 C Documents and Settings auduser imp help y Import Release 9 0 1 1 1 Production on 星期二 5 月 20 18 21 57 2008 c Copyright 2001 Oracle Corporation All rights reserved 可以通过输入 IMP 命令和您的用户名 口令 后接用户名 口令的命令 例程 IMP SCOTT TIGER 或者 可以通过输入 IMP 命令和各种参数来控制 导入 按照不同参数 要指定参数 您可以使用关键字 格式 IMP KEYWORD value 或 KEYWORD value1 value2 vlaueN 例程 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 下列关键字仅用于可传输的表空间 TRANSPORT TABLESPACE 导入可传输的表空间元数据 N TABLESPACES 将要传输到数据库的表空间 DATAFILES 将要传输到数据库的数据文件 TTS OWNERS 拥有可传输表空间集中数据的用户 同样可以通过输入 exp help y 获取 exp 的语法信息 Microsoft Windows XP 版本 5 1 2600 C 版权所有 1985 2001 Microsoft Corp C Documents and Settings auduser exp help y Export Release 9 0 1 1 1 Production on 星期二 5 月 20 18 26 34 2008 c Copyright 2001 Oracle Corporation 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 交叉表一致性 CONSTRAINTS 导出约束条件 Y FEEDBACK 每 x 行显示进度 0 FILESIZE 每个转储文件的最大大小 FLASHBACK SCN 用于回调会话快照的 SCN FLASHBACK TIME 用来获得最接近于指定时间的 SCN 的时间 QUERY 用来导出表的子集的选择子句 RESUMABLE 遇到与空格有关的错误时挂起 N RESUMABLE NAME 用来标识可恢复语句的文本字符串 RESUMABLE TIMEOUT RESUMABLE 的等待时间 TTS FULL CHECK 对 TTS 执行完全或部分相关性检查 TABLESPACES 要导出的表空间列表 TRANSPORT TABLESPACE 导出可传输的表空间元数据 N TEMPLATE 调用 iAS 模式导出的模板名称 三 使用示例 3 1 数据导出 1 将数据库 SampleDB 完全导出 用户名 system 密码 manager 导出到 E SampleDB dmp 中 exp system manager TestDB file E sampleDB dmp full y 2 将数据库中 system 用户与 sys 用户的表导出 exp system manager TestDB file E sampleDB dmp owner system sys 3 将数据库中的表 TableA TableB 导出 exp system manager TestDB file E sampleDB dmp tables TableA TableB 4 将数据库中的表 tableA 中的字段 filed1 值为 王五 的数据导出 exp system manager TestDB file E sampleDB dmp tables tableA query where filed1 王五 如果想对 dmp 文件进行压缩 可以在上面命令后面 加上 compress y 来实 现 3 2 数据的导入 1 将备份数据库文件中的数据导入指定的数据库 SampleDB 中 如果 SampleDB 已存在该表 则不再导入 imp system manager TEST file E sampleDB dmp full y ignore y 2 将 d daochu dmp 中的表 table1 导入 imp system manager TEST file E sampleDB dmp tables table1 3 导入一个完整数据库 imp system manager file bible db log dible db full y ignore y 4 导入一个或一组指定用户所属的全部表 索引和其他对象 imp system manager file seapark log seapark fromuser seapark imp system manager file seapark log seapark fromuser seapark amy amyc harold 5 将一个用户所属的数据导入另一个用户 imp system manager file tank log tank fromuser seapark touser seapark copy imp system manager file tank log tank fromuser seapark amy touser seapark1 amy1 6 导入一个表 imp system manager file tank log tank fromuser seapark TABLES a b 7 从多个文件导入 imp system manager file paycheck 1 paycheck 2 paycheck 3 paycheck 4 log paycheck filesize 1G full y 8 使用参数文件 imp system manager parfile bible tables par bible tables par 参数文件 Import the sample tables used for the Oracle8i Database Administrator s Bible fromuser seapark touser seapark copy file seapark log seapark import 参数文件示例见附录 9 增量导入 imp system manager inctype RECTORE FULL Y FILE A 不少情况下要先将表彻底删除 然后导入 四 参数说明 4 1 8i EXP 常用选项 1 FULL 这个用于导出整个数据库 在 ROWS N 一起使用时 可以导出整 个数据库的结构 例如 exp sys file db str dmp log db str log full y rows n compress y direct y 2 BUFFER 和 FEEDBACK 在导出比较多的数据时 我会考虑设置这两个 参数 例如 exp new file yw97 2003 dmp log yw97 2003 3 log feedback 10000 buffer 100000000 tables WO4 OK YT 3 FILL 和 LOG 这两个参数分别指定备份的 DMP 名称和 LOG 名称 包括 文件名和目录 例子见上面 需要说明的是 EXP 可以直接备份到磁带中 即使用 FILE dev rmt0 磁带设 备名 但是一般我们都不这么做 原因有二 一 这样做的速度会慢很多 二 现在一般都是使用磁带库的 不建议直接对磁带进行操作 至于没有使用磁带 库的朋友可以考虑和 UNIX 的 TAR 结合使用 如果你真想使用 EXP 直接到磁带 你可以参考 Metalink 文章 EXPORTING TO TAPE ON UNIX SYSTEMS 文档号 30428 1 该文中有详细解释 4 COMPRESS 参数将在导出的同时合并碎块 尽量把数据压缩到 initial 的 EXTENT 里 默认是 N 一般建议使用 DIRECT 参数将告诉 EXP 直接读取 数据 而不像传统的 EXP 那样 使用 SELECT 来读取表中的数据 这样就减 少了 SQL 语句处理过程 一般也建议使用 不过有些情况下 DIRECT 参数是 无法使用的 5 如何使用 SYSDBA 执行 EXP IMP 这是一个很现实的问题 有时候我们需要使用 SYSDBA 来执行 EXP IMP 如 进行传输表空间的 EXP IMP 以及在 9i 下用 SYS 用户来执行 EXP IMP 时 都需要使用 SYSDBA 才可 我们可以使用下面方式连入 EXP IMP exp sys sys as sysdba file 1 dmp tables gototop t rows n 6 QUERY 参数后面跟的是 where 条件 值得注意的是 整个 where 子句需 要使用 括起来 where 子句的写法和 SELECT 中相同 如果是 UNIX 平台所 有 和 都需要使用 u26469 屏蔽它们的特殊含义 exp gototop gototop file 1 dmp log 1 log tables cyx t query where c1 20 and c2 gototop 如果是 windows 平台 则使用下面的格式 exp c c ncn file c dmp log c log tables t query where id 1 and name gototop 4 2 8i IMP 常用选项 1 FROMUSER 和 TOUSER 使用它们实现将数据从一个 SCHEMA 中导入 到另外一个 SCHEMA 中 2 IGNORE GRANTS 和 INDEXES 其中 IGNORE 参数将忽略表的存在 继续导入 这个对于需要调整表的存储参数时很有用 我们可以先根据实际情 况用合理的存储参数建好表 然后直接导入数据 而 GRANTS 和 INDEXES 则 表示是否导入授权和索引 如果想使用新的存储参数重建索引 或者为了加快 到入速度 我们可以考虑将 INDEXES 设为 N 而 GRANTS 一般都是 Y 另外一个 EXP IMP 都有的参数是 PARFILE 它是用来定义 EXP IMP 的参数 文件 也就是说 上面的参数都可以写在一个参数文件中 但我们一般很少使 用 4 4 Oracle9i EXP 功能描述 Oracle9i EXP 在原有的基础上新增了部分新的参数 按功能主要分为以下几 个部分 1 OBJECT CONSISTENT 用于设置 EXP 对象为只读以保持对象的一致 性 默认是 N 2 FLASHBACK SCN 和 FLASHBACK TIME 用于支持 FLASHBACK 功 能而新增 3 RESUMABLE RESUMABLE NAME 和 RESUMABLE TIMEOUT 用 于支持 RESUMABLE 空间分配而新增 4 TTS FULL CHECK 用于在传输表空间时使用依赖性检查 5 TEMPLATE 用于支持 iAS 6 TABLESPACES 设置表空间导出模式 个人觉得对于一般用户而言 这 个才是新增参数中最实用的一个 可以让用户在原来的 FULL OWNER TABLES 的基础上多了一种选择 使得 EXP 更加灵活 五 不同版本的 EXP IMP 问题 一般来说 从低版本导入到高版本问题不大 麻烦的是将高版本的数据导入到 低版本中 在 Oracle9i 之前 不同版本 Oracle 之间的 EXP IMP 可以通过下面 的方法来解决 1 在高版本数据库上运行底版本的 catexp sql 2 使用低版本的 EXP 来导出高版本的数据 3 使用低版本的 IMP 将数据库导入到底版本数据库中 4 在高版本数据库上重新运行高版本的 catexp sql 脚本 但在 9i 中 上面的方法并不能解决问题 如果直接使用底版本 EXP IMP 会出 现如下错误 EXP 00008 ORACLE error lu encountered ORA 00904 invalid column name 这已经是一个公布的 BUG 需要等到 Oracle10 0 才能解决 BUG 号为 2261 你可以到 METALINK 上去查看有关此 BUG 的详细信息 BUG 归 BUG 我们的工作还是要做 在没有 Oracle 的支持之前 我们就自 己解决 在 Oracle9i 中执行下面的 SQL 重建 exu81rls 视图即可 CREATE OR REPLACE view exu81rls objown objnam policy polown polsch polfun stmts chkopt enabled spolicy AS select u name o name r pname r pfschma r ppname r pfname decode bitand r stmt type 1 0 SELECT decode bitand r stmt type 2 0 INSERT decode bitand r stmt type 4 0 UPDATE decode bitand r stmt type 8 0 DELETE r check opt r enable flag DECODE BITAND r stmt type 16 0 0 1 from user u obj o rls r where u user o owner and r obj o obj and uid 0 or uid o owner or exists select from session roles where role SELECT CATALOG ROLE grant select on sys exu81rls to public 六 其他问题 本文只讨论了 Oracle8i 和 9i 中的 EXP IMP 的一些情况 对于之前的版本 在 8 0 X 中 除了 QUERY 参数不能用外 其它差别不大 针对没有 QUERY 的 情况 我们可以先在数据库中使用查询条件建立临时中间表 然后使用 EXP 导 出这个中间表即可 至于 Oracle7 因为目前使用的人较少 gototop 不打算在此 做详细解释了 如果读者朋友有需求 你可以参考 Metalink 文档 Overview of Export and Import in Oracle7 文档号 61949 1 关于 EXP IMP 的详细 参数信息你可以通过 EXP IMP HELP Y 来获得 另外关于传输表空间的更多信息可以参考下面的 Metelink 文档 本文不再详 述 NOTE 77523 1 Transportable
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 创建课件脚本文件
- 内科心脏瓣膜病课件
- 化学品安全作业培训总结课件
- 化学品企业员工安全培训课件
- 《壶口瀑布》 公开课一等奖创新教学设计(表格式)
- 第三单元 课外古诗词诵读 庭中有奇树 公开课一等奖创新教学设计-【课堂无忧】新课标同步核心素养课堂
- 14 普罗米修斯 公开课一等奖创新教案(2课时)
- 化妆品安全科普公益培训课件
- 先兆子宫破裂课件
- 企业的股权转让协议的范本6篇
- 起重机作业人员Q2证理论考试练习题含答案
- 四川遂宁2021-2024年中考满分作文64篇
- (完整)中小学“学宪法、讲宪法”知识竞赛题库及参考答案
- 2025版防洪堤坝加固工程施工合同
- 智能培训系统构建
- 2025广东广州越秀区矿泉街招聘禁毒专职人员1人考试备考题库及答案解析
- DBJT15-147-2018 建筑智能工程施工、检测与验收规范
- 华为鸿蒙课件
- 全站仪使用课件
- 2024年云南省公务员考试行测真题参考答案详解
- 高血压防治知识课件下载
评论
0/150
提交评论