关闭

oracle 备份与还原 exp/imp

288人阅读 评论(0) 收藏 举报

获取帮助

===================================================================

imp help=y

 

准备工作

=====================================================================

在命令行中执行下面的命令设置环境变量

c:>set ORACLE_SID=orcl

没有设置这个环境变量有可能会导致:ORA-12560 错误

 

exp.exe 备份数据库

=====================================================================

1、完全备份数据库

EXP SYSTEM/MANAGER BUFFER=64000 FILE=C:\FULL.DMP FULL=Y

如果要执行完全导出,必须具有特殊的权限

2、用户模式(一个):

EXP <user>/<pwd> BUFFER=64000 FILE=C:\back.DMP OWNER=<user>

这样用户<user>的所有对象被输出到文件中。

3、表模式:

EXP <user>/<pwd> BUFFER=64000 FILE=C:\back.DMP OWNER=<user> TABLES=(t1,t2)

这样用户<user>的表t1, t2就被导出

 

imp 导入备份

=====================================================================

1. 导入一个完整数据库

imp system/manager file=full.dmp log=full.log full=y ignore=y

如果要执行完全导出,必须具有特殊的权限

2. 导入一个或一组指定用户所属的全部表、索引和其他对象

imp <user>/<pwd> file=back.dmp [log=back.log] fromuser=seapark

imp system/manager file=back.dmp [log=back.log] fromuser=(seapark,amy,amyc,harold)

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

imp system/manager file=back.dmp [log=back.log] fromuser=seapark touser=seapark_copy

imp system/manager file=back.dmp [log=back.log] fromuser=(seapark,amy) touser=(seapark1, amy1)

4. 导入一个表

imp <user>/<pwd> file=back.dmp [log=back.log] fromuser=<user> TABLES=(a,b)

 

参数说明

=====================================================================

imp.exe <user>/<pwd> <key>=<val>

USERID: 用户名/口令

FILE 输入/输出文件名 (EXPDAT.DMP)

OWNER: 所有者用户名列表

FULL: Y/N,导出整个文件 (N)

BUFFER: 数据缓冲区大小

TABLES: 表名称列表

DIRECT: 直接路径 (N)

GRANTS:导出权限 (Y)

INCTYPE:增量导出类型

ROWS: 导出数据行 (Y)

PARFILE:参数文件名

 

优化exp和imp的性能

================================================================

exp /imp 可配置一些参数,以改进Export和Import的性能。至于性能具体能提升多高,则取决于要导出或导入的数据,以及数据量的大小。

用以下通用参数改进Export的性能:

DIRECT:对一个Export,将DIRECT参数设为DIRECT=Y,将数据直接转移

到Export客户端。这样的转移绕过SQL命令处理层(估值缓冲区),从而避免了

无谓的数据转换。

RECORDLENGTH:增大RECORDLENGTH参数值,来改进性能。为该参数

推荐的值是DB_BLOCK_SIZE的一个整数倍,或者是文件系统I/O块大小的一个

整数倍。更改这个参数的值会影响写入磁盘前积累的数据量。该参数的最大值为

64千字节(64 KB)。

用以下通用参数改进Import的性能:

BUFFER:BUFFER参数指定了缓冲区的大小,数据行将通过这个缓冲区进行转

移,由此便决定了由Import导入的每个阵列插入中的行数。如配合COMMIT=Y

参数指定BUFFER参数,则Import会在每一个阵列插入之后进行提交,而不是在

载入完整的表之后再默认地提交。一个较大的BUFFER参数值有助于改善性能。

但假如BUFFER值过高,会造成OS分页和换行,反而影响性能。

INDEXES。INDEXES参数指定是否导入用户生成的索引。如指定

INDEXES=N,则将提高Import的性能,因为在一个无索引的表中导入数据要快得

多。注意,如果首先用INDEXFILE=返回Import,来在请求的Import模式下提取

索引创建命令,再将其写入指定的文件,那么以后仍可重建索引。

使用INDEXFILE选项时,不会导入数据对象。可对输出文件()进行编辑,

并将其作为一个SQL脚本使用,以便在Import之后创建索引。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:32096次
    • 积分:481
    • 等级:
    • 排名:千里之外
    • 原创:15篇
    • 转载:1篇
    • 译文:0篇
    • 评论:2条
    文章分类