最近课题组有一个月的某市内的出租车数据,储存的格式是DMP格式,为了转成方便使用学习的CSV文件,这俩天陆陆续续的一直在鼓捣,踩坑无数,最后终于弄出来,原始数据如下(一般从数据公司获取的数据多为orcale导出的DMP格式)
首先将数据导入到自己的本地数据库orcale中,首先要确定原始导出数据使用的数据泵是exp还是expdp,相应的我们导入到本地数据库时就得使用imp或者impdp,不然会报错。
第二步是建立相应的表空间,以及相应的用户(这一步在sql中执行)
#创建表空间
create tablespace GPS
datafile 'D:\GPS.dbf'
size 500M
AUTOEXTEND ON NEXT 50M
maxsize unlimited;
#建立表空间后,创建相应的用户并赋予特权
create user MANAGE_TAXI identified by root default tablespace GPS;
grant resource,connect to MANAGE_TAXI;
grant dba to MANAGE_TAXI;
#创建dpdata逻辑目录:
create directory DPDATA as 'D:\oracleInstallFile\';
#逻辑目录不是真实在用户电脑中创建,需要自己后台创建,并且将DMP文
#件和LOG文件存放到此文件夹下
最后在cmd中输入下面代码导入成功
#impdp数据导入
impdp MANAGE_TAXI/root directory=DPDATA dumpfile=GPS_LOG_P20170424.DMP full=y table_exists_action=skip logfile=GPS_LOG_P20170424.log;
# 在impdp导入文件时可以选择一些参数,看个人需求,这里我只使用了table_exists_action=skip 参数
将数据导入数据库之后,就可以使用导出表功能将数据导成CSV格式了
★【出现过的问题】
首先是imp/impdp弄错,通过将imp修改为impdp解决
其次是在导入数据时一直报错没有表类型和相应用户,刚开始一直没有解决,因为我感觉最开始的时候已经创建了表空间和用户(用户的名称和表名称不是MANAGE_TAXI和GPS,而是我随意起的名字,后面我按照报错的提示,创建了对应的名字的表空间和用户名称,数据就能成功的导入了,这个的原因我看网上挺多讨论的,调整参数什么的好像就可以不一致了,因为自己是第一次使用orcale,所有干脆按照错误起相同名字,问题就解决了
【小结】
网上能解我们许多这种小白遇到的问题,多学习多记录,遇到报错,多搜索