oracle数据导出导入

EXP 命令导出参数

USERID 用户名/口令                            QUERY 用于导出表的子集的 select 子句

FULL 导出整个文件 (N)                        ROWS 导出数据行 (Y)

BUFFER 数据缓冲区大小                    FEEDBACK 每 x 行的显示进度 (0)

TABLES 表名称列表                             OWNER 所有者用户名列表

FILE 输出文件 (EXPDAT.DMP)          LOG 屏幕输出的日志文件

COMPRESS 导入到一个区 (Y)           DIRECT 直接路径 (N)

RECORDLENGTH IO 记录的长度      TRIGGERS 导出触发器 (Y)

GRANTS 导出权限 (Y)                          INCTYPE 增量导出类型

INDEXES 导出索引 (Y)                         RECORD 跟踪增量导出 (Y)                       

STATISTICS 分析对象 (ESTIMATE)    PARFILE 参数文件名

CONSISTENT 交叉表的一致性 (N)     CONSTRAINTS 导出的约束条件 (Y)

FILESIZE 每个转储文件的最大大小    TABLESPACES 要导出的表空间列表 (- 设置表空间导出模式)

OBJECT_CONSISTENT 只在对象导出期间设置为读的事务处理 (N)

(- 用于设置EXP对象为只读以保持对象的一致性。默认是N)

FLASHBACK_SCN 用于将会话快照设置回以前状态的 SCN

FLASHBACK_TIME 用于获取最接近指定时间的 SCN 的时间

(FLASHBACK_SCN和FLASHBACK_TIME - 用于支持FLASHBACK功能而新增。)

RESUMABLE 遇到与空格相关的错误时挂起 (N)

RESUMABLE_NAME 用于标识可恢复语句的文本字符串

RESUMABLE_TIMEOUT RESUMABLE 的等待时间

(RESUMABLE、RESUMABLE_NAME和RESUMABLE_TIMEOUT - 用于支持RESUMABLE空间分配而新增。)

TTS_FULL_CHECK 对 TTS 执行完整的或部分相关性检查

(- 用于在传输表空间时使用依赖性检查。)

TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N)

TEMPLATE 调用 iAS 模式导出的模板名

设置字符集,为UTF-8  (注意:字符集一定要保持一直,不然导出时会报PLS_00091 的错误)
设置字符集命令:   exprot  NLS_LANG='AMERICAN_AMERICA.AL32UTF8'

1、FULL,这个用于导出整个数据库,在ROWS=N      一起使用时,可以导出整个数据库的结构。
例如:      exp sys file=./db_str.dmp log=./db_str.log full=y rows=n compress=y direct=y

 

      导出一个完整的数据库:  

 

                  exp XXX/XXX@XXX  file=XXX.dmp    log=XXX.log    full=y

 

导出数据库定义不倒出数据:

 

                  exp  XXX/XXX@XXX file=XXX.dmp log=XXX.log  full=y rows=n (导出数据行: n 不倒出 ,y 导出)

 

      导出多个用户或一组 用户下的所有对象:

   

                  exp XXX/XXX@XXX file=XXX.dmp  log=XXX.log   owner=(user1,user2,user3)

 

2、BUFFER  和  FEEDBACK,在导出比较多的数据时,会考虑设置这两个参数。

例如:       

                    exp new file=yw97_2003.dmp log=yw97_2003_3.log feedback=10000 buffer=100000000  tables=WO4,OK_YT

3、FILE 和   LOG,这两个参数分别指定备份的DMP名称和LOG名称,包括文件名和目录
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'"""

   模糊匹配导出表:                 exp study/study tables=(study.toms_test%) file=toms_test.dmp rows=y

 

                                                exp study/study tables=(study.%test%) file=test.dmp rows=y

 

                                                exp study/study tables=(%test%) file=test.dmp rows=y

 

                                                exp study/study tables=(%test%,toms.stu%) file=test.dmp rows=y

 
 

 

 

 

 

 

IMP 命令和各种参数

USERID 用户名/口令                                  FULL 导入整个文件 (N)

BUFFER 数据缓冲区大小                          

FROMUSER 所有人用户名列表              TOUSER 用户名列表

FILE 输入文件 (EXPDAT.DMP)                LOG 屏幕输出的日志文件

SHOW 只列出文件内容 (N)                       TABLES 表名列表

IGNORE 忽略创建错误 (N)                        GRANTS 导入权限 (Y)          INDEXES 导入索引 (Y)         PARFILE 参数文件名

RECORDLENGTH IO 记录的长度                             

INCTYPE 增量导入类型       COMMIT 提交数组插入 (N)

ROWS 导入数据行 (Y)         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 导入 Streams 的一般元数据 (Y)

STREAMS_INSTANITATION 导入 Streams 的实例化元数据 (N)

下列关键字仅用于可传输的表空间

TRANSPORT_TABLESPACE 导入可传输的表空间元数据 (N)

TABLESPACES 将要传输到数据库的表空间

DATAFILES 将要传输到数据库的数据文件

TTS_OWNERS 拥有可传输表空间集中数据的用户

1、FROMUSER  和  TOUSER,使用它们实现将数据从一个SCHEMA中导入到另外一个SCHEMA中。

2、IGNORE、GRANTS和INDEXES,其中IGNORE参数将忽略表的存在,继续导入,这个对于需要调整表的存储参数时很有用,我们可以先根据实际情况用合理的存储参数建好表,然后直接导入数据。而GRANTS和INDEXES则表示是否导入授权和索引,如果想使用新的存储参数重建索引,或者为了加快到入速度,我们可以考虑将INDEXES设为N,而GRANTS一般都是Y。另外一个EXP/IMP都有的参数是PARFILE,它是用来定义EXP/IMP的参数文件,也就是说,上面的参数都可以写在一个参数文件中,但我们一般很少使用。

 
1. 设置字符集,为UTF-8  (注意:字符集一定要保持一直,不然导出时会报PLS_00091 的错误)
设置字符集命令:   exprot  NLS_LANG='AMERICAN_AMERICA.AL32UTF8'

2. 导入一个完整数据库

导入命令:              imp system/manager   file=bible_db   log=dible_db   full=y   ignore=y
3. 导入一个或一组指定用户所属的全部表、索引和其他对象

导入一个:              imp system/manager  file=XXX.dmp  log=XXX.log  fromuser=XXX

导入一组:              imp system/manager  file=XXX.dmp  log=XXX.log  fromuser=(XXX1,XXX2,XXX3,XXX4)

4. 将一个用户所属的数据导入另一个用户

                                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)

5. 导入一个表
                               imp system/manager file=tank log=tank fromuser=seapark TABLES=(a,b)
6. 从多个文件导入
              imp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4) log=paycheck,filesize=1G full=y
 

 

整库导入步骤

1. 设置字符集,为UTF-8

 exprot  NLS_LANG='AMERICAN_AMERICA.AL32UTF8'

2.导出将要导入的数据进行备份

 exp  用户名/密码@实例名    file=./20160617_20.dmp  log=./20160617_20.log owner=cbs_dev

3.导出数据需要 同步的数据库

exp  用户名/密码@实例名    file=./20160617_63.dmp  log=./20160617_63.log owner=cbs_dev

4.为了 保证不出错, 删除之前用户(所包含的对象),重新新建,并且授权,分配表空间等

drop user 用户名  cascade;

 create user 用户名 identified by 密码  default tablespace 表空间。

grant session ,dba to 用户名。

5.导出数据

imp 用户名/密码@实例名 file=./20160618_63.dmp log=./20160618_63.log  full=y dectory=y;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值