推荐设备MORE

SeoQuake代表什么意思

SeoQuake代表什么意思

行业知识

exp imp,

日期:2020-11-16
我要分享

exp imp,

一.表明

  oracle 的exp/imp指令用以完成多数据库的导出来/导进实际操作;
  exp指令用以把数据信息从远程控制数据信息库server导出来至当地,转化成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 礼拜二 五月 20 18:21:57 2008

 (c) Copyright 2001 Oracle Corporation.  All rights reserved.

 可以根据键入 IMP 指令和您的username/动态口令
 后接username/动态口令的指令:

 例程: IMP SCOTT/TIGER

 或是, 可以根据键入 IMP 指令和各种各样參数来操纵 导进
 按照不一样參数。要特定參数,您可以应用keyword:

 文件格式: IMP KEYWORD=value 或 KEYWORD=(value1,value2,...,vlaueN)
 例程: IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT) FULL=N
 或 TABLES=(T1: P1,T1: P2),假定 T1 是系统分区表

 USERID 务必是指令行中的第一个參数。

 keyword  表明(默认设置)  keyword  表明(默认设置)
 --------------------------------------------------------------------------
 USERID  username/动态口令  FULL  导进全部文档 (N)
 BUFFER  数据信息缓存区尺寸  FROMUSER  所有人username目录
 FILE  键入文档 (EXPDAT.DMP)  TOUSER  username目录
 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)

 以下keyword仅用以可传送的表室内空间
 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 礼拜二 五月 20 18:26:34 2008

 (c) Copyright 2001 Oracle Corporation.  All rights reserved.

 

 根据键入 EXP 指令和username/动态口令,您可以
 后接username/动态口令的指令:

 例程: EXP SCOTT/TIGER

 或是,您也可以够根据键入跟有各种各样參数的 EXP 指令来操纵 导出来
 按照不一样參数。要特定參数,您可以应用keyword:

 文件格式: EXP KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)
 例程: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)
 或 TABLES=(T1: P1,T1: P2),假定 T1 是系统分区表

 USERID 务必是指令行中的第一个參数。

 keyword  表明(默认设置)  keyword  表明(默认设置)
 --------------------------------------------------------------------------
 USERID  username/动态口令  FULL  导出来全部文档 (N)
 BUFFER  数据信息缓存区尺寸  OWNER  所有者username目录
 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全然导出来,usernamesystem passwordmanager 导出来到E:/SampleDB.dmp中

  exp system/=E:/sampleDB.dmp full=y

 2 将数据信息库文件system客户与sys客户的表导出来

  exp system/=E:/sampleDB.dmp  owner=(system,sys)

 3 将数据信息库文件的表 TableA,TableB 导出来

  exp system/; file=E:/sampleDB.dmp  tables=(TableA,TableB)

 4 将数据信息库文件的表tableA中的字段名filed1 数值 "王五" 的数据信息导出来

  exp system/; file=E:/sampleDB.dmp  tables=(tableA)  query=' where filed1='王五'
 
  假定想对dmp文档开展缩小,press=y 来完成。

3.2 数据信息的导进

 1 将备份数据数据信息库文档里的数据信息导进特定的数据信息库SampleDB 中,假定 SampleDB 已存有该表,则已不导进;

  imp system/; file=E:/sampleDB.dmp  full=y  ignore=y
 

 2 将d:/daochu.dmp中的表table1 导进

 imp system/; 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=2GB 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

 
很多状况下要先将表完全删掉,随后导进。
 

 

四.參数表明

五、不一样版本号号的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 Tablespaces -- An Example to setup and use. 
 [NOTE:100698.1] Perform tablespace point-in-time recovery using Transportable Tablespace. 
 在开展并行处理EXP/IMP的情况下,假定IMP全过程建数据库索引得话不提议同一情况下实行五个之上的IMP,假定你要加宽速率,可以在IMP的情况下不建数据库索引,那样只是要运行内存愿意,可以多跑好多个,随后是SQL脚本制作建立需要的数据库索引。 


留意:
 实际操作者要有充足的管理权限,管理权限不足它会提醒。
 数据信息库可否够连上, 可以用tnsping TestDB  来得到数据信息库 TestDB 可否连上。

附录一:
 给客户加上导进数据信息管理权限的实际操作
 第一, 起动sql*puls
 第二,以system/manager登录
 第三,create user username IDENTIFIED BY password (假定早已建立过客户,这步可以省去)
 第四,GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,
  DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
  DBA,CONNECT,RESOURCE,CREATE SESSION  TO username字
 第五, 实行-cmd-进到dmp文档所属的文档夹,
  imp userid=system/manager full=y file=*.dmp
  或是 imp userid=system/manager full=y file=filename.dmp

  附录二:
 Oracle 不一样意立即更改表的有着者, 运用Export/Import可以做到这一目地.
  先创建import9.par,
  随后,应用时指令比如下列:imp parfile=/filepath/import9.par
  例 import9.par 內容比如下列:
  FROMUSER=TGPMS 
  TOUSER=TGPMS2  (注:把表的有着者由FROMUSER改成TOUSER,FROMUSER和TOUSER的客户可以不一样) 
  ROWS=Y
  INDEXES=Y
  GRANTS=Y
  CONSTRAINTS=Y
  BUFFER=409600
  file==/backup/ctgpc_.dmp
  log==/backup/import_.log

dengb.TechArticleexp imp, 一.表明 oracle 的exp/imp指令用以完成多数据库的导出来/导进实际操作; exp指令用以把数据信息从远程控制数据信息库server导出来至当地,转化成dmp文档; imp指令...