export/import的使用
1、exp/imp相当于oracle数据库的还原与备份
2、exp把数据导出到本地dmp文件,imp把本地文件导入数据库
3、exp/imp可以在cmd.exe中执行
一、数据的导出:
1 将数据库EDWTEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中
> exp edwdata/edwdata@EDWTEST file=c:\fot\daochu.dmp log=c:\fot\daochu.log full=y
2 将数据库EDWTEST中system用户与sys用户的表导出
> exp edwdata/edwdata@EDWTEST file=c:\fot\daochu.dmp log=c:\fot\daochu.log owner=(system,sys)
3 将数据库EDWTEST中的表s_data_d、stu导出
> exp edwdata/edwdata@EDWTEST file= c:\fot\new.dmp log=c:\fot\new.log tables=(s_data_d,stu)
4 将数据库EDWDATA中的表s_data_d中的字段statdate等于'20110430'的数据导出,query的\"------------------\"中包含单个或多个条件均可
> exp edwdata/edwdata@EDWTEST file=c:\fot\s_data_d.dmp log=c:\fot\s_data_d.log tables=(s_data_d) query=\" where statdate='20110430'\"
二、数据的导入:
1 将c:\fot\new.dmp全部导入数据库EDWTEST1(EDWTEST1中原本不存在表s_data_d,stu),'tables=(s_data_d,stu)'与'full=y'等价,因为这个文件只包含表s_data_d,表stu的数据。
> imp edwdata/edwdata@EDWTEST1 file= c:\fot\new.dmp log=c:\fot\new.log tables=(s_data_d,stu)
> imp edwdata/edwdata@EDWTEST1 file= c:\fot\new.dmp log=c:\fot\new.log full=y
2 由imp导入数据时,首先需要create table,如果table已经存在,不管表里是否有数据,都会报错。
将c:\fot\new.dmp导入数据库EDWTEST(EDWTEST已存在表s_data_d,stu),结果如下:
> imp edwdata/edwdata@EDWTEST file=c:\fot\new.dmp log=c:\fot\new.log tables=(s_data_d,stu)
3 如果表已存在,可以使用关键字ignore=y来直接导入数据
情况一:表存在,但是表为空表,没有数据,则跳过建表,数据被全部导入
> imp edwdata/edwdata@EDWTEST file= c:\fot\new.dmp log=c:\fot\new.log tables=(s_data_d,stu) ignore=y
情况二:表存在,表中已有数据,但是表没有约束条件,则不管是否重复,全部导入
>imp edwdata/edwdata@EDWTEST file= c:\fot\s_data_d_1.dmp ignore=y
情况三:表存在,表中已经有数据,但是表存在主键约束或其他约束,则跳过建表,开始逐条对比数据,若数据库表中没有该条数据则导入,若已存在则跳过。
>imp edwdata/edwdata@EDWTEST file= c:\fot\s_data_d_1.dmp ignore=y
作者“To_Be_Monster_Of_IT”
相关新闻>>
- 发表评论
-
- 最新评论 更多>>