Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。利用这个功能我们可以从生产库中导出数据库,再导入数据库到测试库中。

执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,DOS中可以执行是由于在oracle中,安装目录\ora9i\bin被设置为全局路径(也可直接在系统环境变量中设置),该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。

下面是导入导出的实例。

数据导出:

1 将数据库zxcc完全导出,用户名kf密码zx导出到D:\zxcc.dmp中

exp kf/zx@zxcc file=d:\zxcc.dmp full=y

full=y 表示全库导出。full总共有2个可选项yes(y)/no(n),缺省情况下full=no,这时只会将该用户下的对象导出。

2 将数据库zxcc中kf用户与cc用户的表导出

exp kf/zx@zxcc file=d:\zxcc_ur.dmp owner=(kf,cc)

full方式可以备份所有用户的数据库对象,包括表空间、用户信息等,owner=XX只能备份指定用户的对象,其他用户下的就不备份了,EXP中full=y和owner=XX是不能同时使用的。

3 将数据库zxcc中的表kf_operator、kf_role导出

exp kf/zx@zxcc file= d:\zxcc_tb.dmp tables=(kf_operator,kf_role)

tables=xx 表示备份相关表,不能同时和owner、full使用。

4 将数据库中的表kf_operator中的字段oper_id以"00"打头的数据导出

exp kf/zx@zxcc file=d:\zxcc_t.dmp tables=(kf_operator) query=\" where oper_id like '00%'\"

query主要是导出合适条件的数据。使用该参数时,需要注意对所有操作系统保留字符都要使用转义符号。若有括号()也需要转义:

query=\"where dt=to_date\(\'2007-09-22\',\'yyyy-mm-dd\'\)\" 。

如果遇到条件比较繁琐的语句,频繁的转义操作不仅费时,还很容易出错。我们可以使用exp或expdp的PARFILE参数避免query内容的繁琐转义问题。

例:

oracle DBALNP01 > cat > zxcc.par

tables=kf_operator

file=zxcc.dmp

query="where dt_time=to_date('2010-06-25','yyyy-mm-dd')"

这时就可以尽情的再双引号中写条件语句了。

上面是常用的导出,对于比较大的数据库,我们可以对导出文件进行压缩处理,可用winzip把dmp文件进行压缩。

也可以在上面命令后面加上 compress=y来实现。

数据的导入:

1、将D:\zxcc.dmp中的数据导入zxcc数据库中。

imp kf/zx@zxcc file=D:\zxcc.dmp

导数据得时候,有可能报错。为什么?有以下主要的原因:

A.导入的对象(表,视图,方法等)原本不属于当前连接的用户的

B.导入的对象在该数据库的指定用户下已经存在

C.导入的对象的原本用户不在这个数据库里

对于这三个问题的处理方法如下:

a/c、所有对象全部导入到指定的账户下:

imp kf_new/zx@zxcc_new file=d:\zxcc.dmp fromuser=kf touser=kf_new

其中fromuser=kf为.dmp文件里的对象的原先的owner, touser=kf_new为作为导入的对象的新的Owner.

b、忽略/插入数据:

impkf_new/zx@zxcc_newfile=d:\zxcc.dmpignore=y

其中ignore=y告诉imp.exe把数据直接插入到相应对象(并且如果导入的对象里面有其他的对象,如约束,索引等,会在数据插入后被创建)。

2、将d:\zxcc_tb.dmp中的表tb_operator导入

imp kf/zx@zxcc  file=d:\zxcc_tb.dmp  tables=(tb_operator)

忽略加载约束

有时候导数据进来的时候,我们不需要把它的约束,比如一些外键约束等都导进来,可以加上参数constraints=N

不加载索引(比如唯一性的索引),可以加上参数indexs=N

只加载结构,不加载数据,如果只要表的结构等定义(约束,触发器),而不要里面的数据,可以加上参数rows=N

对于上述操作登陆操作的用户需是管理员,如果不是管理员,而是普通用户,那么这个用户必须有创建删除对象的权利,对象可能包括表,视图,方法,存储过程等等常见的对象。为什么“可能”包括?因为这个视导入导出的时候是否涉及相关类型的对象而定。

Imp kf/zx@zxcc_new file=d:\zxcc.dmp fromuser=kf touser=kf_new ignore=y

基本上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。

注意:

(1)、操作者要有足够的权限,权限不够会有提示。

(2)、数据库链接正常,可以用tnsping zxcc来检测数据库zxcc能否连上。

(3)、导入/导出数据库时注意字符集。可能会出现导出/导入时数据库字符集不一致而报错。

oracle数据库其他常用命令:

1、给用户增加导入数据权限的操作

第一,启动sql*puls

第二,以管理员(DBA)用户登陆

第三,create user用户名IDENTIFIED BY密码 (如果已经创建过用户,这步可以省略)

第四,>grant create user,drop user,alter user,create any view,drop any view,exp_full_database,imp_full_database,dba,resource,create session to用户名字;

第五,运行cmd进入dmp文件所在的目录,

imp userid=管理员用户名/密码full=y file= filename.dmp

或者 imp userid=管理员用户名/密码full=y file=filename.dmp

2、Oracle不允许直接改变表的拥有者,利用Export/Import可以达到这一目的.

先建立.par文件()

然后,使用时命令如下:imp parfile=/filepath/import9.par

例 import9.par内容如下:

FROMUSER=user

TOUSER=user_new     (注:把表的拥有者由FROMUSER改为TOUSER,FROMUSER和TOUSER的用户可以不同)

ROWS=Y

INDEXES=Y

GRANTS=Y

CONSTRAINTS=Y

BUFFER=409600

file==/filepath/xxxx.dmp

log==/filepath/import_log.log

oracle数据库导出灰色_Oracle数据库导入导出命令总结相关推荐

  1. oracle数据库导出灰色_oracle数据库导出和oracle导入数据的二种方法(oracle导入导出数据)...

    方法一:利用PL/SQL Developer工具导出: 菜单栏---->Tools---->Export Tables,如下图,设置相关参数即可: 方法二:利用cmd的操作命令导出,详情如 ...

  2. developer工具oracle导出,[转]PL/SQLDeveloper导入导出Oracle数据库方法

    1.Oracle数据库导出步骤 1.1 Tools→Export User Objects...选项,导出.sql文件. 说明:此步骤导出的是建表语句(包括存储结构),不包括表中的数据,要导出数据需要 ...

  3. 数据库导入语句linux,数据库应用-SQL语句导入导出大全

    数据库应用-SQL语句导入导出大全 发布时间:2006-06-03 09:59:43来源:红联作者:yo /******* 导出到excel EXEC master..xp_cmdshell 'bcp ...

  4. 仅用Python三行代码,实现数据库和excel之间的导入导出

    目录 一.前言 二.python代码 2.1 从MySQL数据库导入csv 2.2 从csv导入MySQL数据库 三.讲解视频 一.前言 之前我分享过两次python的高效编程技巧,分别是, pyth ...

  5. oracle12c导入,Oracle 12c pdb使用expdp/impdp导入导出

    1.查看当前的SID,查看pdb并切换到容器数据库,这里的pluggable数据库是pdborcl[oracle@test admin]$ echo $ORACLE_SID [oracle@test  ...

  6. Oracle使用impdb/expdb数据泵导入/导出数据库

    1.用有dba权限的用户登录:sys用户 2.创建对应表空间 需要手动创建文件夹 -- 格式:create tablespace 表空间名 datafile 文件路径 size 文件大小 [自增 每次 ...

  7. Oracle数据库的创建、数据导入导出

    如何结合Sql脚本和PL/SQL Developer工具来实现创建表空间.创建数据库.备份数据库.还原数据库等操作,然后实现Oracle对象创建.导入数据等操作,方便我们快速了解.创建所需要的部署Sq ...

  8. linux上oracle导入mysql_linux下的oracle数据库和表空间的导入导出

    由于oracle是安装在linux上面,因此需要oracle的导入导出都是使用命令进行操作.oracle允许整个数据库导入导出和表空间的导入导出. 数据库导入导出 以下操作是在操作系统控制台命令中执行 ...

  9. mysql怎么加载bak文件_MySQL数据库(表)的导入导出(备份和还原)

    一)在同一个数据库服务器上面进行数据表间的数据导入导出: 1. 如果表tb1和tb2的结构是完全一样的,则使用以下的命令就可以将表tb1中的数据导入到表tb2中: insert into db2.tb ...

最新文章

  1. 2021年大数据ELK(二十):FileBeat是如何工作的
  2. aix oracle 10.2.0.1 升级 10.2.0.4,安装oracle 10.2.0.4 on aix 6.1的不同之处
  3. 十篇文章速览多模态推荐系统的最新进展
  4. python 命令行参数-Python处理命令行参数
  5. 省市县三级连动(数据在一个表中)
  6. 如何判断文本文件的编码格式?
  7. 音视频技术开发周刊 61期
  8. python如何自定义函数_python如何自定义函数_后端开发
  9. 牛客题霸 [容器盛水问题] C++题解/答案
  10. 修改网页代码_网站建设中使用简洁规范代码的重要性
  11. 使用git第一次成功,记录
  12. vc6.0处理wps文字
  13. 2021父亲节祝福话语、海报素材大全
  14. SEM和SEO的区别?哪个更好
  15. Docker容器内安装wkhtmltox用来html转pdf
  16. android刷原生rom教程,一加手机谷歌原生Android ROM包刷机教程
  17. rtems总体设计思路
  18. 验证码、通知短信API常见使用问题
  19. 怎么回答TCP的三次握手问题
  20. 什么是HSS?HSS有什么主要功能?HSS与HLR的区别是什么

热门文章

  1. Python关于numpy数组类型转换
  2. 64Mbit SOIC8封装SPI接口的国产串行SRAM EMI7064
  3. 大学计算机长文档排版教学视频教程,大学计算机基础中Word长文档排版的教学思考...
  4. 12 个最佳的免费学习编程的游戏网站
  5. 往哪里看低买高卖和利润之间
  6. RGB 和 CMYK 相互转换
  7. SHA256加密-前端 中 HMAC-SHA256的base64加密 和 md5加密
  8. 常用的几款交互设计软件
  9. android9.0 SystemUI锁屏页面固定横屏
  10. error: (-215:Assertion failed) !_src0.empty() in function ‘cv:: 可能的诸多原因!!!