默认需要切 oracle 用户才可以用,命令su - oracle。 直接用 exp 命令会显示 command not found
C:\Documents and Settings\Administrator>explsxy/lsxy@lsxy_dbfile=E:\lsxy.dmp owner=lsxy
C:\Documents and Settings\Administrator>exp [email protected]_db file=E:\lsxy.dmp owner=lsxy
做数据的导入导出操作,最常用的就是imp/exp和impdp/expdp,经常会碰见各种错误,之前总结过一些,《解决导入过程中出现的ORA-02289错误》、《生产数据导入测试环境碰见的一些问题》。
使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等。本文给出Linux 下使用 shell 脚本来实现数据库自动导出。
Oracle的imp/exp组件是我们常用的工具,它的一个操作原则就是向下兼容。下面是据此总结的几个使用规则和相关测试: 规则1:低版本的exp/imp可以连接到高版本(或同版本)的数据库服务器,但高版本的exp/imp不能连接到低版本的数据库服务器 --1.1 使用9i客户端通过imp连接到10g数据库 C:\Documents and Settings\yuechaotian>exp userid=hdtest/test@s67 tables=(ab01) rows=n file=d:\x.dmp Export: Release 9.2.0.1.0 - Production on 星期三 2月 20 10:09:55 2008 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集 注: 将不会导出表数据(行) 即将导出指定的表通过常规路径 ... . . 正在导出表 AB01 在没有警告的情况下成功终止导出。 --1.2 使用10g客户端通过imp连接9i数据库:连接失败(而不是导出失败) C:\Documents and Settings\yuechaotian>exp userid=hbjb_kf_hd/test@s46 owner=hdtest file=d:\x.dmp Export: Release 10.2.0.1.0 - Production on 星期三 2月 20 09:57:22 2008 Copyright (c) 1982, 2005, Oracle. All rights reserved. EXP-00056: 遇到 ORACLE 错误 6550 ORA-06550: 第 1 行, 第 41 列: PLS-00302: 必须说明 'SET_NO_OUTLINES' 组件 ORA-06550: 第 1 行, 第 15 列: PL/SQL: Statement ignored EXP-00000: 导出终止失败 规则2:高版本exp出的dmp文件,低版本无法imp(无法识别dmp文件) --2.1 使用10g客户端exp出10g的数据 C:\Documents and Settings\yuechaotian>exp userid=test/test@orcl owner=test file=d:\10g.dmp Export: Release 10.2.0.1.0 - Production on 星期三 2月 20 11:16:39 2008 Copyright (c) 1982, 2005, Oracle. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options 已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集 服务器使用 AL32UTF8 字符集 (可能的字符集转换) 即将导出指定的用户... …… 导出成功终止, 但出现警告。 C:\Documents and Settings\yuechaotian> --2.2 使用9i客户端imp上面所导出的dmp文件到10g:可以连接到10g中,但无法识别文件 C:\Documents and Settings\yuechaotian>imp userid=test/test@s10g fromuser=test touser=test file=d:\10g.dmp Import: Release 9.2.0.1.0 - Production on 星期三 2月 20 11:20:33 2008 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. 连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With t
Ora2pg 使用总结 Ora2pg 使用总结 1 1 Ora2pg特性 1 2 Ora2pg支持的导出对象 2 3 Ora2pg数据类型转换对照 2 4 Ora2pg 安装 3 4.1 安装需要的驱动包 3 4.2 下载并安装Oracle 客户端 3 4.3 安装 DBI 4 4.4 安装 DBD-Oracle客户端 4 4.4.1 在当前用户配置一下环境变量 4 4.4.2 安装DBD-Oracle 4 4.5 安装 Ora2pg 客户端 4 4.6 ora2pg 参数说明 5 5 Ora2pg 使用案
1 Ora2pg特性 1、导出整个数据库模式(表、视图、序列、索引),以及唯一性,主键、外键和检查约束。 2、导出用户和组的授权/权限。 3、导出筛选的表(通过制定表明)。 4、导出Oracle模式到一个PostgreSQL(7.3以后)模式中。 5、导出预定义函数、触发器、程序、包和包体。 6、导出范围和列表分区。 7、导出所有的数据或跟随一个WHERE子句。 8、充分支持Oracle BLOB对象作为PG的BYTEA。 9、导出Oracle视图作为PG表。 10、导出定义的Oracle用户格式。 11
对于Oracle 数据库之间的导入导出,可以使用Oracle提供的导入导出工具EXP/IMP来实现。EXP/IMP是Oracle早期提供的数据导入导出工具。在Oracle 10g 中,提供了高速导入导出数据泵IMPDP,EXPDP,本文主要讲述EXPDP的用法。
同一台机器上,其中一个备份正常 <1>,另外一个报错 <2>。同一台机器上导出日志显示的版本居然不一样,哪个高人给指点下。
http://www.eygle.com/special/NLS_CHARACTER_SET_04.htm
C:\Documents and Settings\noah>exp system/pd0000@orcl file=d:\data.dmp wner=dev log=d:\log.log
同事前几天问到exp/expdp根据条件导出一张/多张表数据的问题,借此机会,依次对这些需求做个实验,仅供参考。
编辑手记:针对最近发生的炉石及GitLab事件,我们不得不再次强调备份的重要性。DBA的四大守则,第一条就是备份重于一切。年初做好备份,愿你的系统17无恙。 本文介绍三种常见的逻辑备份与恢复的方式。本文选自《循序渐进Oracle》 1、使用EXP进行逻辑备份 导入/导出(IMP/EXP)是Oracle最古老的两个命令行工具,通过导出(EXP)工具可以将Oracle数据库中的数据提取出来,在恢复时可以将数据导入(IMP)进行恢复。但是需要注意的是,使用EXP备份的数据进行全库恢复时,需要重新创建数据库,导入
通常进行了物理备份还不足够,因为在很多情况下使用物理备份进行恢复会相对复杂,比如误操作TRUNCATE了数据表,这样的恢复有时候使用逻辑备份来恢复会更迅速、更有效。所以通常将逻辑备份作为物理备份的辅助手段进行配置。 比如以下示例简单的按照用户模式的导出: expusername/password file=dumpfile.dmp expdpusername/password dumpfile=dumpfile.dmp directory=expdir 然而如果数据库的数据量较大,全部按用户导出就可能代价
导读:本文来自『墨天轮』专栏“循序渐进Oralcle”(https://www.modb.pro/topic/6289,复制到浏览器中打开或者点击“阅读原文”),介绍《循序渐进Oracle》第三章的3.1-3.4节:字符集的基本知识、数据库的字符集、字符集文件及字符支持、NLS_LANG的设置与影响、导入导出及字符转换。
通过设置参数 full=y 可以执行全库导出导入操作,必须使用拥有 DBA 权限或者 DATAPUMP_EXP_FULL_DATABASE 角色的用户才能执行该操作:
Oracle逻辑备份的核心就是复制数据;Oracle提供的逻辑备份与恢复的命令有exp/imp,expdp/impdp。当然像表级复制(create table table_back as select * from table)也算是一种逻辑备份。Oracle逻辑备份没有支持增量备份;对数据恢复也是非一致性的。所以一般都是用于数据迁移的工作。
经常会有一些朋友咨询我一些数据库的问题,我注意到一个很有意思的现象,凡是数据导入的问题,基本上都是Oracle类的,MySQL类的问题脑子里想了下竟然一次都没有。
以下这些东西是我的麦库上存的当时学Oracle的学习笔记今天拿出来和大家分享一下,转载请注明出处,下面用的Oracle的版本是10g,用的时WinServer2003的操作系统,可能有些命令和Oracle11g的有所不同,但大部分是一样的,接下来还会陆续的分享一下Oracle中对用户的管理,对表的管理,还有Oracle中的存储过程和PL/SQL编程。用到的Oracle的管理工具是PL/SQL Developerl和SQL PLUS,欢迎大家批评指正。 1.数据库管理员的职责: 1.安装和升级Ora
使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等。本文给出Linux 下使用 shell 脚本来实现自动FTP备份档案。
本系列文章主要针对ETL大数据处理这一典型场景,基于python语言使用Oracle、aws、Elastic search 、Spark 相关组件进行一些基本的数据导入导出实战,如:
网上有很多关于此的内容,但很多都是复制粘贴别人的,导致很多小伙伴想要使用的时候不能直接上手,所以这篇文章一定能让你更清晰的理解数据泵。
EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。 EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。 IMP只适用于EXP导出的文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出的文件,而不适用于EXP导出文件。
ER模型使用可视化了实体存储的信息,以及直观的呈现了实体与实体的关系,在我们实际的应用系统开发过程中新建ER模型可以更好的理解业务模型,为以后的开发维护工作起到归纳总结的作用。
①:传统方式——exp(导出)和(imp)导入: ②:数据泵方式——expdp导出和(impdp)导入; ③:第三方工具——PL/sql Developer; 一、什么是数据库导入导出? oracle11g数据库的导入/导出,就是我们通常所说的oracle数据的还原/备份。 数据库导入:把.dmp 格式文件从本地导入到数据库服务器中(本地oracle测试数据库中); 数据库导出:把数据库服务器中的数据(本地oracle测试数据库中的数据),导出到本地生成.dmp格式文件。 .dmp 格式文件:就是oracle数据的文件格式(比如视频是.mp4 格式,音乐是.mp3 格式); 二、二者优缺点描述: 1.exp/imp: 优点:代码书写简单易懂,从本地即可直接导入,不用在服务器中操作,降低难度,减少服务器上的操作也就 保证了服务器上数据文件的安全性。 缺点:这种导入导出的速度相对较慢,合适数据库数据较少的时候。如果文件超过几个G,大众性能的电 脑,至少需要4~5个小时左右。 2.expdp/impdp: 优点:导入导出速度相对较快,几个G的数据文件一般在1~2小时左右。 缺点:代码相对不易理解,要想实现导入导出的操作,必须在服务器上创建逻辑目录(不是真正的目录)。我们 都知道数据库服务器的重要性,所以在上面的操作必须慎重。所以这种方式一般由专业的程序人员来完 成(不一定是DBA(数据库管理员)来干,中小公司可能没有DBA)。 3.PL/sql Develpoer: 优点:封装了导入导出命令,无需每次都手动输入命令。方便快捷,提高效率。 缺点:长时间应用会对其产生依赖,降低对代码执行原理的理解。 三、特别强调: 目标数据库:数据即将导入的数据库(一般是项目上正式数据库); 源数据库:数据导出的数据库(一般是项目上的测试数据库); 1.目标数据库要与源数据库有着名称相同的表空间。 2.目标数据在进行导入时,用户名尽量相同(这样保证用户的权限级别相同)。 3.目标数据库每次在进行数据导入前,应做好数据备份,以防数据丢失。 4.使用数据泵时,一定要现在服务器端建立可用的逻辑目录,并检查是否可用。 5.弄清是导入导出到相同版本还是不同版本(oracle10g版本与oracle11g版本)。 6.目标数据导入前,弄清楚是数据覆盖(替换),还是仅插入新数据或替换部分数据表。 7.确定目标数据库磁盘空间是否足够容纳新数据,是否需要扩充表空间。 8.导入导出时注意字符集是否相同,一般Oracle数据库的字符集只有一个,并且固定,一般不改变。 9.导出格式介绍: Dmp格式:.dmp是二进制文件,可跨平台,还能包含权限,效率好; Sql格式:.sql格式的文件,可用文本编辑器查看,通用性比较好,效率不如第一种, 适合小数据量导入导出。尤其注意的是表中不能有大字段 (blob,clob,long),如果有,会报错; Pde格式:.pde格式的文件,.pde为PL/SQL Developer自有的文件格式,只能用PL/SQL Developer工具 导入导出,不能用文本编辑器查看; 10.确定操作者的账号权限。 四、二者的导入导出方法: 1、传统方法: 通用命令:exp(imp) username/password@SERVICENAME:1521 file=”e:\temp.dmp” full = y; 数据库导出举例:
公司之前部门拆分,但一些服务并没有拆分清楚。其中一个老服务,两个部门都在用,现在为了避免互相影响,决定克隆该服务。克隆就要克隆全套,当然也包括数据库,我们这个老服务,用的oracle,所以,就涉及到从旧的oracle中导出数据,然后再导入到另一套新的oracle实例中。
北京某公司的一台服务器,上层数据类型为Oracle数据库,由于服务器意外断电,导致数据库报错,报错内容为“system01.dbf需要更多的恢复来保持一致性”。由于客户的数据库并没有备份,仅有一些断断续续的归档日志,现在只能通过数据恢复手段来修复Oracle数据库。
如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力,技术交流可以添加公众号~
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说PLSQL Developer备份恢复oracle数据「建议收藏」,希望能够帮助大家进步!!!
需求:迁移部分表 11.2.0.3-->10.2.0.4,若迁移范围内的有些表在目标库已经存在,则替换。
墨墨导读:在XTTS迁移测试阶段,遇到执行几个expdp的导出任务,迟迟没有返回任何信息,对应日志无任何输出。
近期在做一些国产数据库的 POC 工作,在数据迁移导出时用到了数据导出工具 sqluldr2,它是一款十分不错的 oracle 数据导出工具,还支持导出时同时生成 sqlldr 的控制文件,它可以将数据以 TXT/CSV 等格式导出,能导出亿级数据为 excel 文件,包含32、64 位程序,不仅在大数据量导出方面速度超快,导入速度也是非常快速。
PS:有日子没写东西了,忙的屁股都找不到了,今天找到了,写一篇,没断更,对不住大家了…
有网友问,物化视图是否能单独进行导出和导入呢?因为导出不报错,但是导入的时候报错了,报错信息如下所示:
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用……
墨墨导读:随着 Oracle 的数据泵技术不断增强,这个逻辑数据备份和迁移工具,已经成为了 Oracle 数据库用户的首选工具之一,在 20c 中, expdp / impdp 都获得了大量的特性增强。
我们来备份test数据库中的innodb_table表和isam_table表中id为10的数据
因数据库版本为11.2(大于Oracle10g)初步确定使用数据泵的方式从198导出后导入197数据库
导出sys用户下的HIST_HEAD$和WRI$_OPTSTAT_HISTHEAD_HISTORY两张表: 由于expdp尝试导出失败,改用传统exp导出,导出命令如下:
使用root用户创建目录 示例:mkdir /orctmp 将目录授权给oracle用户 示例:chown -R oracle:oracle /orctmp
云和恩墨大讲堂社群(本文底部有入群方式)里有人提出一个需求:一张表数据量很大,如何只导出其中一部分列?云和恩墨CTO、Oracle ACE总监、ACOUG核心专家杨廷琨老师使用了数据泵的方式,细致入微地解释了过程并给出具体的代码实现。数据和云(ID:OraNews)独家发布,以飨读者。
编辑手记:很多人在进行数据库导入导出操作的时候会遇到字符集的问题,今日拣选了 《循序渐进Oracle》一书中的相关章节,希望对初学Oracle的朋友有所帮助。 在传统的EXP导出文件中,记录着导出使用
在10g之前,传统的导出和导入分别使用EXP工具和IMP工具,从10g开始,不仅保留了原有的EXP和IMP工具,还提供了数据泵导出导入工具EXPDP和IMPDP.使用EXPDP和IMPDP时应该注意的事项:
业务场景:是在oracle 数据库和 hive 数据库中 ,有多个相同结构的表,要求数据从2个库定时双向同步。
环境:AIX 6.1 + Oracle 10.2.0.4 现象:在XTTS迁移测试阶段,遇到执行几个expdp的导出任务,迟迟没有返回任何信息,对应日志无任何输出,查看任务状态: SQL> set lines 300 col OWNER_NAME for a10 col OPERATION for a15 col JOB_MODE for a20 col STATE for a15 select * from dba_datapump_jobs;
在开发中常常碰到,需要导入dmp文件到现有数据库。这里的dmp文件可能来自于其它系统,所以,一般情况下是不知道导出程序(exp)的版本、导出时间或者导出模式等信息的。那么如何从现有的dmp文件中获取到这些信息呢?下面作者将一一讲解。
cx_Oracle 是一个用户访问 Oracle 数据库的 Python 扩展模块。它符合Python数据库API 2.0规范,并增加了相当多的内容和几个排除项。
领取专属 10元无门槛券
手把手带您无忧上云