Oracle数据库的导出和导入

导出Oralce数据库:

在Dos窗口执行

 $ exp user/pwd file=/oracle/test.dmp full=y    // 导出命令 用户名/密码 导出的地址 全部导出

三种模式

(1)表方式,将指定表的数据导出/导入。

$ exp user/pwd file=/dir/xxx.dmp log=xxx.log tables=table1,table2
//导出某张表的部分数据
$ exp user/pwd file=/dir/xxx.dmp log=xxx.log tables=table1 query=\“where col1=\‘…\’and col2 \<…\”
//导入:导入一张或几张表
$ imp  user/pwd  file=/dir/xxx.dmp  log=xxx.log  tables=table1,
  table2  fromuser=dbuser touser=dbuser2 commit=y ignore=y

(2)用户方式,将指定用户的所有对象及数据导出/导入。

//导出:
$ exp user/pwd file=/dir/xxx.dmp log=xxx.log owner=(xx, yy)
//只导出数据对象,不导出数据  (rows=n )
$ exp user/pwd file=/dir/xxx.dmp log=xxx.log owner=user rows=n
//导入:
$  imp  user/pwd  file=/dir/xxx.dmp  log=xxx.log  fromuser=dbuser  touser=dbuser2
 commit=y ignore=y

(3)全库方式,将数据库中的所有对象导出/导入导出:

$ exp user/pwd file=/dir/xxx.dmp log=xxx.log full=ycommit=y ignore=y
//导入:
$ imp user/pwd file=/dir/xxx.dmp log=xxx.log fromuser=dbuser touser=dbuser2 


高级选项

1. 分割成多个文件

//以多个固定大小文件方式导出:这种做法通常用在表数据量较大,单个 dump文件可能会超出文件系统的限制的情况
$ exp user/pwd file=1.dmp,2.dmp,3.dmp,…filesize=1000m    log=xxx.log full=y
//以多个固定大小文件方式导入
$  imp  user/pwd file=1.dmp,2.dmp,3.dmp,…  filesize=1000m
tables=xxx  fromuser=dbuser touser=dbuser2    commit=y ignore=y

2. 增量导出/导入

// oracle 9i 以后 exp 不再支持 inctype

必须为 SYS 或 SYSTEM 才可执行增量导出导入

增量导出: 包括三个类型:

1)“完全”增量导出(Complete) // 备份整个数据库

$ exp user/pwd file=/dir/xxx.dmp log=xxx.log inctype=complete

2)“增量型”增量导出 导出上一次备份后改变的数据。

$ exp user/pwd file=/dir/xxx.dmp log=xxx.log inctype=incremental

3) “累计型”增量导出(Cumulative)只导出自上次“完全”导出之后数据库中变化 了的信息。

$ exp user/pwd file=/dir/xxx.dmp log=xxx.log inctype=cumulative

增量导入:

$ imp usr/pwd FULL=y inctype=system/restore/inct ype

其中:

SYSTEM: 导入系统对象

RESTORE: 导入所有用户对象






猜你喜欢

转载自javawebxy.iteye.com/blog/2002945