如何在oracle中导入dmp数据库文件

Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。

  执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行,

  DOS中可以执行时由于 在oracle 8i 中 安装目录\ora81\BIN被设置为全局路径,

  该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出。

  oracle用java编写,SQLPLUS.EXE、EXP.EXE、IMP.EXE这两个文件有可能是被包装后的类文件。

  SQLPLUS.EXE调用EXP.EXE、IMP.EXE所包裹的类,完成导入导出功能。

  下面介绍的是导入导出的实例。

  数据导出:

  1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中

   exp system/[email protected] file=d:\daochu.dmp
full=y

  2 将数据库中system用户与sys用户的表导出

   exp system/[email protected] file=d:\daochu.dmp
owner=(system,sys)

  3 将数据库中的表inner_notify、notify_staff_relat导出

   exp aichannel/[email protected] file=
d:\data\newsmgnt.dmp tables=(inner_notify,notify_staff_relat)

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

   exp system/[email protected] file=d:\daochu.dmp
tables=(table1) query=\" where filed1 like ‘00%‘\"

  

   上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。

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

  数据的导入

  1 将D:\daochu.dmp 中的数据导入 TEST数据库中。

   imp system/[email protected] file=d:\daochu.dmp

   imp aichannel/[email protected] full=y
file=file= d:\data\newsmgnt.dmp ignore=y

   上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。

   在后面加上 ignore=y 就可以了。

  2 将d:\daochu.dmp中的表table1 导入

  imp system/[email protected] file=d:\daochu.dmp
tables=(table1)

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

  注意:

  操作者要有足够的权限,权限不够它会提示。

  数据库时可以连上的。可以用tnsping TEST 来获得数据库TEST能否连上。

  附录一:

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

  第一,启动sql*puls

  第二,以system/manager登陆

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

  第四,GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,

   DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,

   DBA,CONNECT,RESOURCE,CREATE SESSION TO 用户名字

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

   imp userid=system/manager full=y file=*.dmp

   或者 imp userid=system/manager full=y file=filename.dmp

  执行示例:

  F:\Work\Oracle_Data\backup>imp userid=test/test full=y file=inner_notify.dmp

  屏幕显示

  Import: Release 8.1.7.0.0 - Production on 星期四 2月 16 16:50:05 2006

  (c) Copyright 2000 Oracle Corporation. All rights reserved.

  连接到: Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production

  With the Partitioning option

  JServer Release 8.1.7.0.0 - Production

  经由常规路径导出由EXPORT:V08.01.07创建的文件

  已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导入

  导出服务器使用UTF8 NCHAR 字符集 (可能的ncharset转换)

  . 正在将AICHANNEL的对象导入到 AICHANNEL

  . . 正在导入表 "INNER_NOTIFY" 4行被导入

  准备启用约束条件...

  成功终止导入,但出现警告。

  附录二:

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

   先建立import9.par,

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

   例 import9.par 内容如下:

   FROMUSER=TGPMS

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

   ROWS=Y

   INDEXES=Y

   GRANTS=Y

   CONSTRAINTS=Y

   BUFFER=409600

   file==/backup/ctgpc_20030623.dmp

   log==/backup/import_20030623.log

如何在oracle中导入dmp数据库文件,布布扣,bubuko.com

时间: 2024-10-13 17:10:27

如何在oracle中导入dmp数据库文件的相关文章

如何在MySQL中导入大容量SQL文件

在实际工作中,有时需要导入大容量sql文件到MySQL,通常有以下三种方法: (1)通过phpmyadmin,不推荐,有内存等的限制: (2)通过Navicat Premium工具运行sql,不推荐,效率低: (3)通过source命令导入,推荐,效率高,经测试,导入一个3.02G的文件耗时3分08秒: 命令格式:source "路径名"+/mytest_emp_dept.sql

oracle 12c中导入dmp数据文件步骤

oracle版本为12c的导入步骤:1.新建用户:CREATE USER c##zj_szda IDENTIFIED BY zjdaszda DEFAULT TABLESPACE USERS QUOTA 50M ON USERS; 2.授予dba权限给zj_szdagrant dba to zj_szda 3.导入szda.dmp文件$imp c##zj_szda/zjdaszda fromuser=zj_szda touser=c##zj_szda file=f:/szda.dmp 注:1.c

oracle中导入导出数据备份数据库

原文:oracle中导入导出数据备份数据库 数据库所在位置                         将数据导出到的文件名                    用户名 备份数据库 :exp csm/[email protected]/orcl file=c:/baoan_1.1.0_20120816.dmp owner=(csm) 数据库所在位置                         需要导入数据的文件名 恢复数据库 :imp csm/[email protected]/orc

Oracle 11g 导入dmp文件出现的问题

1.导入命令: imp userId/[email protected] full=y  file=D:\data\T_DAYLOG_CALLANALYSIS.dmp ignore=y 2.导出命令 exp userId/[email protected] file=d:\dkj\test.dmp tables=(wf_test) 如出现:”只有dba才能导入由其他dba导出的文件“的问题 登录该用户:执行SQL: grant dba to testuser ; 如果还不行,再执行: alter

微软BI 之SSIS 系列 - 在 SSIS 中导入 ACCESS 数据库中的数据

开篇介绍 来自 天善学院 一个学员的问题,如何在 SSIS 中导入 ACCESS 数据表中的数据. 在 SSIS 中导入 ACCESS 数据库数据 ACCESS 实际上是一个轻量级的桌面数据库,直接使用文件形式存储.在国内大量使用 ACCESS 作为 BI 数据源并不多,但是在国外特别是美国使用的还比较多,因为他们的 IT 基础起步比较早.在我的第一个美国的医疗保险项目中,就遇到过大量的 ACCESS 数据源,前后总共有 500 多个 ACCESS 表.而现在从国外一些朋友反馈的情况仍然还有在使

Oracle11g导入*.dmp数据文件

imp命令导入数据:imp username/[email protected] file=XXX.dmp fromuser=XXX touser=XXX tables=(XXX,XXX)  [ignore=y] 其中, 1.SID为数据库名: 2.fromuser指对方数据库用户名:(创建xxx.dmp数据库文件的用户):fromuser若为多个表空间的话,使用()将其括起来:fromuser=(a,b): 3.touser指你的数据库的用户名:(将xxx.dmp数据库文件导入的用户):tou

Eclipse_java项目中导入外部jar文件

很多时候,在java项目中需要导入外部 .jar文件,比如:需要导入数据库连接驱动等等一些包.不熟悉eclipse的人可能会犯愁,其实很简单....步骤如下: 在需要添加外部文件的项目上   单击右键--->Build Path----->Configuer Build Path---->Libraries---->Add External JARs....... 整个过程就这么简单..... Eclipse_java项目中导入外部jar文件

oracle中导入导出dmp数据库文件

数据的导出: 1.将数据库szda完全导出,用户名sa密码sa123 导出到D:\daochu.dmp中             exp sa/[email protected] file=d:\daochu.dmp full=y 2.将数据库中sa用户与sys用户的表导出             exp sa/[email protected] file=d:\daochu.dmp owner=(sa,sys) 3.将数据库中的表table_1.table_2导出             ex

如何在Oracle中 查询一个表被其他数据库对象引用[z]

这两天老大让我再oracle中把要替换的表被其他对象引用之处找出来,整理一份表,接到这个任务,我是一脸懵逼,怎么找?大海捞针么?问同事.查资料,自己研究,最后整理一下仅供大家参考,同时以备将来回顾.本篇只涉及表被其他数据库对象引用,不涉及外键,想寻找外键的,自己查看下面附有的链接. 首先有下列几种方式: 1.plsql工具 : 点击工具,找到 查找数据库对象 最后进入到查找页面 最后根据页面把要查找的 表对象或者关键词填入 文本查找   里,再在对象条件里 选择自己要筛选的条件即可筛选.但是此方