DMP文件转CSV文件

news/2024/11/16 7:56:09/

DMP文件转CSV文件全过程记录

  • 1.安装oracle对应版本及pl/sql developer
  • 2.查看dmp文件的导出方式
  • 3.文件转换
    • 3.1 Cmd 命令创建表空间
    • 3.2 pl/sql developer 创建用户
    • 3.2 DMP文件导入
    • 3.4 导出数据

1.安装oracle对应版本及pl/sql developer

下载软件之前建议先执行第22222222步

这里安装的是oracle 11.2.0.1.80pl/sql developer 13,安装方法可百度搜索。

2.查看dmp文件的导出方式

若为expdp方式可返回安装任意版本(使用EXPDP|IMPDP替代EXP|IMP备份数据相关内容:https://wenku.baidu.com/view/37ad6c0bbed5b9f3f90f1cc7.html)

打开文件,查看文件头部信息。文件过大时:

linux命令截取信息,参见https://blog.csdn.net/wuxbeyond/article/details/12048293
② 使用 EmEditor 打开文本。(由于EmEditor 中没有可读取文本的代码,文本会乱码,但不影响获取我们所需要的信息)。

  • 使用EmEditor打开文本
    在这里插入图片描述
    GPSBUSHIS:导出用户名
    SYS_EXPRRT_TABLE_02:说明原文件为expdp的导出方式(exp导出标记信息待查),导入数据库版本无强制要求
    IBMPC/WIN_NT64-9.1.0:导出数据库的系统信息,如果为Linux环境,不影响。
    ZHS16GBK:导出文件编码
    10.02.00.05.00:导出文件版本

3.文件转换

3.1 Cmd 命令创建表空间

1.Cmd 命令登录sqlplus

代码格式:>sqlplus system/密码

sqlplus system/1234567Zym

2.创建表空间,分两个,一个是临时数据库,另一个是主要数据库

  • 临时数据库的创建
CREATE TEMPORARY TABLESPACE DB_TEMP
TEMPFILE 'H:\app\Admin\oradata\DB_TEMP.DBF'
SIZE 32M
AUTOEXTEND ON
NEXT 32M MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL;
  • 主要数据库的创建
CREATE TABLESPACE DB_DATA
LOGGING
DATAFILE 'H:\app\Admin\oradata\DB_DATA.DBF'
SIZE 32M
AUTOEXTEND ON
NEXT 32M MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL;
  • 修改表空间,增加数据文件,防止扩展不足报错
alter tablespace DB_DATA add datafile 'H:\app\Admin\oradata\DB_DATA1.DBF' 
size 1024M autoextend on next 512M maxsize unlimited;

Tips:

1)表空间的路径可自选。

2)复制的时候注意不要有空格

3.2 pl/sql developer 创建用户

登录用户名为SYSTEM,密码为安装时设置的密码,登陆方式为SYSDBA
在这里插入图片描述

3.2 DMP文件导入

1.给予用户权限,Cmd登录进入SQL

grant create session to MX;       
grant create table to MX;         
grant unlimited tablespace to MX; 
grant dba  to MX;

2.本地磁盘文件创建

F:\data201801_\GPS数据\HIS_P201906 位置创建 “DMPDIR”文件夹

3.创建Directory目录,并授予用户权限

Sqlplus system/1234567Zym;
CREATE OR REPLACE DIRECTORY DMPDIR AS  'F:\data201801_\GPS数据\HIS_P201906';
grant read, write on directory DMPDIR to MX;

4.导入数据
重新打开一个cmd窗口

回到第2步文件信息查看的地方

GPSBUSHIS:导出用户名

10.02.00.05.00:导出文件版本

这里的文件版本是10.02.00.05.00,数据库版本为11.02.00.01.00

Ⅰ、若查询所得导出文件版本低于所安装的Oracle版本,可用以下代码:

格式:

impdp 新建用户名/密码@ORCL directory= 创建的磁盘目录 dumpfile= dmp文件名 full=y REMAP_SCHEMA=导出用户名:新建用户名
REMAP_TABLESPACE=导出用户名:新建的主表空间名称

Ⅱ、若查询所得导出文件版本高于所安装的Oracle版本,可用以下代码:

格式:

impdp 新建用户名/密码@ORCL directory= 创建的磁盘目录 dumpfile= dmp文件名 version=dmp文件的版本 full=y REMAP_SCHEMA=导出用户名:新建用户名
REMAP_TABLESPACE=导出用户表空间名称(导出用户名):新建的主表空间名称

两者差别:是否有version=dmp文件的版本命令:低→高可省略,高→低不可不可不可不可不可省略

执行(此处为了显示结构每一个模块另起了一行):

impdp XM/XM111@ORCL 
directory= DMPDIR 
dumpfile= HIS_P201906.DMP 
version=10.02.00.05.00 
full=y 
REMAP_SCHEMA= GPSBUSHIS:XM 
REMAP_TABLESPACE= GPSBUSHIS:DB_DATA;

× 报错:表空间不存在

√ 解决方案:

将所有不存在的表空间添加至REMAP_TABLESPACE后面,格式为:

REMAP_TABLESPACE=(表空间1:用户表空间名,表空间2:用户表空间名)

例如:

REMAP_TABLESPACE=(XMGJBUS:DB_DATA,XMHIS_MINMAX:DB_DATA)

经过多次报错表空间不存在,添加表空间后,最终导入成功的代码如下所示:

impdp MX/1234567Zym@ORCL directory= DMPDIR dumpfile= HIS_P201906.DMP version=10.02.00.05.00 full=y REMAP_SCHEMA= GPSBUSHIS:MX 
REMAP_TABLESPACE=(XMGJBUS:DB_DATA,XMHIS_MINMAX:DB_DATA,
XMHIS_01:DB_DATA,XMHIS_02:DB_DATA,XMHIS_03:DB_DATA,XMHIS_04:DB_DATA,XMHIS_05:DB_DATA,XMHIS_06:DB_DATA,XMHIS_07:DB_DATA,XMHIS_08:DB_DATA,XMHIS_09:DB_DATA,XMHIS_10:DB_DATA,XMHIS_11:DB_DATA,XMHIS_12:DB_DATA,XMHIS_13:DB_DATA,XMHIS_14:DB_DATA,
XMHIS1_01:DB_DATA,XMHIS1_02:DB_DATA,XMHIS1_03:DB_DATA,XMHIS1_04:DB_DATA,XMHIS1_05:DB_DATA,XMHIS1_06:DB_DATA,XMHIS1_07:DB_DATA,XMHIS1_08:DB_DATA,XMHIS1_09:DB_DATA,XMHIS1_10:DB_DATA,XMHIS1_11:DB_DATA,XMHIS1_12:DB_DATA,XMHIS1_13:DB_DATA,
XMHIS1_14:DB_DATA;)

(不一定每一个文件都是相同表空间名,目前采用办法为从导出用户表空间开始尝试,根据报错依次添加)

  • 第一个文件成功导入, 导入第二个文件时候显示已经有此表(或者此其他),更改ORACLE表的名称(或者删除此部件)即可,或者参考impdp导入时将指定表更名相关内容:https://blog.csdn.net/e_wsq/article/details/78374020,如果导入第二个文件时报错

    × 报错:ORA-01691:xxx无法通过8192(在表空间XXX中)扩展

    √ 解决方案:

① 增加数据文件(未尝试):

 alter tablespace  表空间名 add datafile
'F:\Db\db_1.DBF' size 30G autoextend on;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69901925/viewspace-2636545/

② 创建新的表空间,本次导入每一个GPS数据文件均创建了一个表空间,没有再报过错。可尝试第一种方法

CREATE TABLESPACE DB_DT
LOGGING
DATAFILE 'H:\app\Admin\oradata\DB_DT.DBF'
SIZE 32M
AUTOEXTEND ON
NEXT 32M MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL;
alter tablespace DB_DT add datafile 'H:\app\Admin\oradata\DB_DT1.DBF' 
size 1024M autoextend on next 512M maxsize unlimited;
impdp MX/1234567Zym@ORCL directory= DMPDIR
dumpfile= HIS_P201906.DMP version=10.02.00.05.00 full=y remap_table= GPSBUSHIS.HIS_P201906: HIS_P201906 REMAP_SCHEMA= GPSBUSHIS:MX REMAP_TABLESPACE=(XMGJBUS:DB_DATA,XMHIS_MINMAX:DB_DATA,XMHIS_01:DB_DATA,XMHIS_02:DB_DATA,XMHIS_03:DB_DATA,XMHIS_04:DB_DATA,XMHIS_05:DB_DATA,XMHIS_06:DB_DATA,XMHIS_07:DB_DATA,XMHIS_08:DB_DATA,XMHIS_09:DB_DATA,XMHIS_10:DB_DATA,XMHIS_11:DB_DATA,XMHIS_12:DB_DATA,XMHIS_13:DB_DATA,XMHIS_14:DB_DATA,XMHIS1_01:DB_DATA,XMHIS1_02:DB_DATA,XMHIS1_03:DB_DATA,XMHIS1_04:DB_DATA,XMHIS1_05:DB_DATA,XMHIS1_06:DB_DATA,XMHIS1_07:DB_DATA,XMHIS1_08:DB_DATA,XMHIS1_09:DB_DATA,XMHIS1_10:DB_DATA,XMHIS1_11:DB_DATA,XMHIS1_12:DB_DATA,XMHIS1_13:DB_DATA,XMHIS1_14:DB_DATA)

3.4 导出数据

两种方式:

  1. 导出为.sql文件(可批量导出)

在这里插入图片描述
2. 出为csv文件,只能一个一个来

在这里插入图片描述


http://www.ppmy.cn/news/438321.html

相关文章

oracle导出dmp文件合集

Oracle导出dmp文件合集 导出某一个用户下所有的表 exp 用户名/用户密码ORCL fileD:\dmp\DEMO_20220121.dmp owner用户名 buffer8192000 logD:\dmp\DEMO_20220121_daochu.log导出指定表名下的所有的表 exp DEMO/DEMOORCL fileD:\dmp\DEMO_20220121_ep.dmp tables(表名,表名,表…

dmp 文件

转储文件也就是我们常说的 dump 文件。 可以把转储文件看成软件的某个时刻的一个快照。转储文件一般都是在软件出现问题时手动生成或者程序自动生成。下面我们介绍几种借助第三方工具生成转储文件的方法。 参考 如何生成转储(dmp)文件–工具篇 任务管理器 任务管理器可以说…

Oracle dmp文件解析

1 协议分析的基本原则和方法 1.1 TLV方法:type、length、value类型、长度、数值 由于具体数值的不确定、长度可变,因此绝大部分协议,都会将长度放在前面,后面再跟具体的数据。oracle的dmp文件的数据解析没有type字段&#xff…

oracle的dmp文件导入mysql_Oracle 数据库导入导出 dmp文件

首先询问对方数据库的表空间名称和大小,然后在你的oracle中建立相应表空间,最后使用命令导入、导出数据。 补充: 1.要新建一个数据库; Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可 以把数据从远程数据库服…

打开oracle dmp,详细教您怎么打开dmp文件

dmp格式文件有什么作用呢?每次电脑蓝屏都会生成dmp格式文件的蓝屏日志,如果想要查看这个日志就必须打开DMP文件,但如果你不知道怎么打开的话就无法解决蓝屏的问题,对于dmp文件怎么打开呢?下面小编来教你吧。 相信很多朋…

linux导入表dmp文件命令,linux下导入.dmp文件

linux下导入.dmp文件 (2012-10-12 14:15:51) 标签: it [oracle@localhost script]$ imp Import: Release 8.1.7.4.0 - Production on Mon Feb 9 13:59:02 2004 (c) Copyright 2000 Oracle Corporation. All rights reserved. Username: cams --此处输入启动导入的用户 Passwor…

mysql 导入dmp_navicat怎么导入dmp文件

一、安装方法: 1.首先下载Navicat Premium和Oracle Database Oracle Database官网下载地址:https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 注:Oracle Database的file1和file2都要下。 2.之后解压将两…

oracle导入dmp文件数据不全,Oracle dmp文件损坏恢复案例

前一段时间帮一个朋友的朋友恢复了一个损坏的dmp文件,大概100多个G,记录一下恢复过程并简单总结一下 一、描述 这个dmp文件是从一个Oracle 9i的数据库上exp出来的,在导入Oracle 11g版本的时候,可能会随机出现两类错误,如下 (1)dmp文件导入的时候,一直停留在某张表上不动,…