Oracle dmp 文件导入导出的用法

a. 用户名 system 密码 linuxman 导出到D:/linuxidc.dmp中

exp system/linuxman@SID file=d:/linuxidc.dmp full=y

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

exp system/linuxman@SID file=d:/linuxidc.dmp owner=(system,sys)

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

exp aichannel/aichannel@SID file= d:/data/newsmgnt.dmp tables=(inner_notify,notify_staff_relat)

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

exp system/linuxman@SID file=d:/linuxidc.dmp tables=(table1) query=/" where filed1 like '00%'/"

对于压缩,既用 winzip 把 dmp 文件可以很好的压缩,也可以在上面命令后面 加上 compress=y 来实现。

导出 DMP文件适用于,大型数据库完整迁移,迁移前后的数据库字符集要求比较严格,对CLOB字段支持不太友好。

对于小数据的导出其实用 PLSQL 能做的更好,更快,导出的SQL也很直观。

对于本机安装了Oracle 客户端,可以直接将 DMP 文件导出到本地,如果是没有安装,导出的文件是在linux 服务器上面。

需要用远程工具【WINSCp,PINTY.....】连接下载下来。

e. 将 D:/linuxidc.dmp 中的数据导入 TEST数据库中。

imp system/linuxman@SID file=d:/linuxidc.dmp

imp aichannel/aichannel@HUST full=y file=file= d:/data/newsmgnt.dmp ignore=y

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

f. 将 d:/linuxidc.dmp中的表table1 导入

imp system/linuxman@SID file=d:/linuxidc.dmp tables=(table1)

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

数据导出:

1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中
   exp system/manager@TEST file=d:\daochu.dmp full=y

2 将数据库中system用户与sys用户的表导出
   exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)

3 将数据库中的表inner_notify、notify_staff_relat导出
    exp aichannel/aichannel@TESTDB2 file= d:\data\newsmgnt.dmp tables=

(inner_notify,notify_staff_relat)

上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。
也可以在上面命令后面 加上 compress=y 来实现。
数据的导入
1 将D:\daochu.dmp 中的数据导入 TEST数据库中。
   imp system/manager@TEST file=d:\daochu.dmp
   imp aichannel/aichannel@HUST full=y file=file= d:\data\newsmgnt.dmp

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

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

2 将d:\daochu.dmp中的表table1 导入
imp system/manager@TEST 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行被导入
准备启用约束条件...
成功终止导入,但出现警告。

网上补充:利用cmd的操作命令导出,详情如下(备注:方法二是转载网上的教程):

1:G:\Oracle\product\10.1.0\Client_1\NETWORK\ADMIN目录下有个tnsname.ora文件,内容如下:
CMSTAR =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.18.13.200)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = cmstar)
    )
  )
其中:CMSTAR为数据库名,HOST为IP地址,所以可以仿效上面的例子手动添加数据录连接。
2:用cmd进入命令行
输入:tnsping cmstar
就是测试172.18.13.200是否连接成功
3:导入与导出,如下:

数据导出:
 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中
   exp system/manager@TEST file=d:\daochu.dmp full=y
 2 将数据库中system用户与sys用户的表导出
   exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
 3 将数据库中的表table1 、table2导出
   exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)
 4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
   exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"
 
     上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。
  不过在上面命令后面 加上 compress=y  就可以了
数据的导入
 1 将D:\daochu.dmp 中的数据导入 TEST数据库中。
   imp system/manager@TEST  file=d:\daochu.dmp
   上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
   在后面加上 ignore=y 就可以了。
 2 将d:\daochu.dmp中的表table1 导入
 imp system/manager@TEST  file=d:\daochu.dmp  tables=(table1)

时间: 2024-12-03 13:51:14

Oracle dmp 文件导入导出的用法的相关文章

关于 Oracle 的数据导入导出及 Sql Loader (sqlldr) 的用法

在 Oracle 数据库中,我们通常在不同数据库的表间记录进行复制或迁移时会用以下几种方法: 1. A 表的记录导出为一条条分号隔开的 insert 语句,然后执行插入到 B 表中2. 建立数据库间的 dblink,然后用 create table B as select * from A@dblink where ...,或 insert into B select * from A@dblink where ...3. exp A 表,再 imp 到 B 表,exp 时可加查询条件4. 程序

【exp/imp】将US7ASCII字符集的dmp文件导入到ZHS16GBK字符集的数据库中

[exp/imp]将US7ASCII字符集的dmp文件导入到ZHS16GBK字符集的数据库中   1.1  BLOG文档结构图     1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 如何将US7ASCII字符集的dmp文件导入到ZHS16GBK字符集的数据库中(重点,2种方法)? ② 从dmp文件可以获取到哪些信息?如何从dmp文件获取到dmp文件的字符集(重点,N种方法)? ③

【故障处理】IMP-00010错误 12C的dmp文件导入11G

[故障处理]IMP-00010错误 12C的dmp文件导入11G 1  BLOG文档结构图   2  前言部分 2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 12C的dmp文件导入11g数据库 ② IMP-00010: not a valid export file, header failed verification错误解决一例 ③ 软件PilotEdit Lite的使用       ④ 从dmp文件

java实现文件导入导出_java

文件导入导出必须代码 ExportExcel.java /** * Copyright 2012-2014 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved. */ package com.thinkgem.jeesite.common.utils.excel; import java.io.FileNotFoundException; import jav

Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解

1.简介 本文主要给大家介绍了关于Laravel 5用Laravel Excel实现Excel/CSV文件导入导出的相关内容,下面话不多说了,来一起看看详细的介绍吧. Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel ,从而方便我们以优雅的.富有表现力的代码实现Excel/CSV文件的导入和 导出 . 该项目的GitHub地址是: https://github.com/Maatwebsite/Laravel-Excel. 本地下载地址:h

Linux下oracle11gR2系统安装到数据库建立配置及最后oracle的dmp文件导入一站式操作记录(转)

简介 之前也在linux下安装过oralce,可每次都是迷迷糊糊的,因为大脑一片空白,网上随便看见一个文档就直接复制,最后搞了乱七八糟,虽然装上了,却乱得很,最近几天因为离职,交接的时候又要安装oracle,发现老遇到错误,导致装不上了,通过这次我好好的研究了下oracle,非要搞清楚它,现在记录下来,希望能给其他网上朋友遇到问题时提供点帮助,该篇文件借鉴大量网友的总结,首先谢谢他们! 安装环境 Linux 服务器: SuSe11-linux      64/32位 Oracle服务器: Ora

Oracle创建删除导入导出命令行总结

说明: 在创建数据库时输入的密码,是修改系统默认的密码,以system和sysman等系统默认身份登录时要输入的密码就是修改后的密码(创建数据库时输入的密码) 如果要创建新的用户就必须以system或者sysman(这二者的权限最大)的身份登录后才可创建 创建用户格式:create user 用户名 identified by 密码(例如:create user cht identified by cht;) 创建完成后,必须分配权限,否则连不上数据库和sqlplus. 因此要做:grant c

Windows DOS窗体下Oracle 数据库的导入导出命令

oracle 用户创建 数据库的导入导出imp/exp 可以在SQLPLUS.EXE或者DOS(命令行)中执行 执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行, DOS中可以执行时由于 在oracle 8i 中 安装目录ora81BIN被设置为全局路径, 该目录下有EXP.EXE与IMP.EXE文件被用来执行导入导出. 创建用户 给用户增加导入数据权限的操作 第一,启动sql*puls 第二,以system/manager登陆 第三,create user 用户名 IDENTI

oracle表记录导入导出-oracle数据库的几张表的记录导入导出

问题描述 oracle数据库的几张表的记录导入导出 在项目组,为了实现把oracle数据库中几张表的数据从一个生产环境导出再导入另一个生产环境,怎样通过前台页面来实现导入导出功能? 解决方案 前台页面来写的话,就得在后台来实现一个将数据导出到文本的接口(查全部,导入成txt.或excel) 同时,还要实现一个从文本直接加载到数据库的接口(或读文件,批量插入)