一、确认dmp文件、oracle客户端和服务端的字符集

(1)dmp文件字符集确认:

使用UE打开dmp文件查看文件第2个和第3个字节内容,这两个字节记录了dmp文件的字符集。如0354,然后用以下sql查出它对应的字符集:

select nls_charset_name(to_number('0354','xxxx')) from dual;

结果显示为ZHS16GBK,若是使用UE打开不方便,也可使用linux命令查看:cat exp.dmp|od -x|head -1|awk '{print $2$3}'|cut -c 3-6

还可以使用imp命令尝试导入dmp文件,在日志文件或linux界面上可以查看该dmp文件的字符集。

(2)查看oracle 服务端的字符集

使用sql进行查询:select userenv('language') from dual;

结果类似: SIMPLIFIED CHINESE_CHINA.ZHS16GBK

(3)查看oracle客户端的字符集

使用linux命令查看:echo $NLS_LANG

结果类似如下:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

二、根据dmp文件的字符集修改oracle客户端和服务端的字符集

以下的修改以dmp文件的字符集为SIMPLIFIED CHINESE_CHINA.ZHS16GBK为例。

(1)修改oracle客户端字符集

修改/ect/下的profile文件中的:

export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"

(2)修改oracle服务端的字符集

使用以下sql语句进行修改:

sqlplus /nolog;

conn / as sysdba

shutdown immediate;

startup mount;

alter system enable restricted session;

alter system set job_queue_processes=0;

alter system set aq_tm_processes=0;

alter database open;

alter database character set internal_use ZHS16GBK;

shutdown immediate;

startup;

三、使用imp命令将dmp文件导入oracle数据库

切换到oracle用户,然后使用imp命令导入dmp文件,步骤如下:

su - oracle;

imp user/pwd@ip:1521/实例名 file=/filepath/exp.dmp log=/logpath/implog.log full=y ignore=y

四、使用sqluldr2抽取oracle数据库中的表数据到txt文件

首先安装sqluldr2软件,然后使用sqluldr2抽取oracle表数据到txt文件,具体步骤如下:

打开cmd命令,进入sqluldr2.exe目录

使用以下命令导出数据

sqluldr264.exe user="user/pwd@ip:1521/dbtrain" query= "select * from tablename" field=0x09 record=0x0a file= "E:\out.txt" charset=ZHS16GBK

命令中field为列分隔符,此处0x09为制表符,record为行分隔符,此处0x0a为换行符,具体指令见sqluldr2的帮助。

dmp文件导入抽取方法的更多相关文章

  1. dmp文件导入的方法

    1,使用oracle的imp命令导入*.dmp文件 首先要明确知道,使用oracle的imp命令进行导入,要在一个空的数据库下,才是最好的,否则,数据表存在的话,就要先删除数据表中的数据 步骤1:禁用 ...

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

    [exp/imp]将US7ASCII字符集的dmp文件导入到ZHS16GBK字符集的数据库中 1.1  BLOG文档结构图 1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完本文后 ...

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

    原帖地址:http://blog.csdn.net/lihuarongaini/article/details/71512116 1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完 ...

  4. 如何将dmp文件导入到oracle数据库中

    如何将dmp文件导入到oracle数据库中 1.首先,我们可以先建立自己的一个用户表空间,创建表空间的格式如下: CREATE TABLESPACE certification(表空间的名字) DAT ...

  5. 【EXP】比较大的dmp文件导入的时候可以将界面关掉

    有一个需求,将一个dmp文件导入到数据库中,但是这个crt的回话有timeout,3分钟,所以一到三分钟就掉线,导入就失败了,这让人很头疼,关闭界面,imp也就终止了 最后想到了几招,分享一下: 1. ...

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

    [故障处理]IMP-00010错误 12C的dmp文件导入11G 1  BLOG文档结构图 2  前言部分 2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其 ...

  7. dmp文件导入

    dmp文件导入 1,打开“开始”-->输入cmd—> sqlplus log: 2,输入 conn / as sysdba管理员账户登录: 3,需要创建表空间,如果我们知道需要导入的数据库 ...

  8. paip.oracle10g dmp文件导入总结

    paip.oracle10g dmp文件导入总结 作者Attilax ,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog.csdn.net ...

  9. 20181112-PostgreSQL数据库dmp文件导入(记录一次数据导入)

    20181112-PostgreSQL数据库dmp文件导入 标注:dmp文件导入,场景:多个schema导入 1. 环境准备: postgres集群master节点上,postgres用户执行以下操作 ...

随机推荐

  1. 20201205-3 HTML环境搭建与文件基本结构

      HTML环境搭建与文件基本结构   HTML的基础 HTML环境搭建 Pycharm 包含全部环境  编写(代码) →  运行浏览器 → 代码检查 Sublime  只是用来编写 HTML 代码: ...

  2. Python 学习笔记 之 02 - 高级特性总结

    切片 语法:  li.[x:y:z]  li为list.tuple等数据类型,x为开始进行切片的位置,y为切片停止的位置(不包含y),z为xy切片后的结果里,每间隔z个元素输出一次结果.  x默认为0 ...

  3. Hive基础语法5分钟速览

    Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行. 其优点是学习成本低,可以通过 ...

  4. learn Docker from scratch (1)

    一.前言 Docker容器一个很有趣的东西,下面链接内容适合docker的入门非常棒! 链接如下: http://www.ruanyifeng.com/blog/2018/02/docker-tuto ...

  5. python SQLAlchemy反射生成models

    1.安装SQLAcodegen pip install sqlacodegen 2.使用sqlacodegen生成案列 sqlacodegen mysql://root:123456@127.0.0. ...

  6. ADF 第六篇:Copy Data Activity详解

    在Azure 数据工程中,可以使用Copy Data 活动把数据从on-premises 或云中复制到其他存储中.Copy Data 活动必须在一个IR(Integration Runtime)上运行 ...

  7. jq再次封装自己的ajax & js 回调函数 & js方法注释&js 全局屏蔽点击事件及a标签

    1.封装成一个独立JS var commonUrl = 'http://xx.xxx.com/'; function http({ url, type = "post", data ...

  8. C#注册OCX控件

    注意 COM组件注册到注册表中的位置,是CLSID还是TypeLib 注册方法 代码执行 //声明注册方法 [DllImport("C:\\Windows\\barcodex.ocx&quo ...

  9. grpc系列- protobuf详解

    Protocol Buffers 是一种与语言.平台无关,可扩展的序列化结构化数据的方法,常用于通信协议,数据存储等等.相较于 JSON.XML,它更小.更快.更简单,因此也更受开发人员的青眯. 基本 ...

  10. Java对象赋值与引用

    当需要创建多个相同类型的对象且有某些字段的值是相同的,如果直接 get,set 的话,属性多的时候代码会很长,于是乎,以下代码产生了( java 基础差没搞清楚赋值与引用) 复制代码 1 User u ...