数据的导入导出时数据库经常处理的作业之一,Oracle 提供了IMP和IMPDP以及SQL*Loader等工具来完成数据的导入工作,其中IMP服务于早期的9i之前的版本,在10g及后续版本,Oracle 提供了数据泵高速导入工具,本文主要介绍IMPDP的使用方法,关于高速导出工具请参照:数据泵EXPDP 导出工具的使用。SQL*Loader请参照:SQL*Loader使用方法。
EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。 EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。 IMP只适用于EXP导出的文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出的文件,而不适用于EXP导出文件。
/*查看数数据库的状态*/select instance_name,ststus from v$instance;/*查看数据库数据文件*/select * from dba_data_files;/*创建一个表空间*/create tablespace bank_tbs datafile '/oradata/orcl/BANK.dbf' size 5M AUTOEXTEND ON MAXSIZE 10G;/*创建用户*/create user bankuser identified by bankpwd
本文实验环境:Oracle 11.2.0.4,利用数据库自带的scott示例用户进行试验测试。 根据《简单常用的数据泵导出导入(expdp/impdp)命令举例(上)》的expdp导出的二进制文件进行impdp导入。
5. 用system管理员给你的指定用户(要导出的表所属用户)赋予在该目录的操作权限。
本系列的定位是对XTTS及相关技术进行深入的学习研究。作为本系列的开篇,本着实用性的原则,我先把一次实际生产环境U2L的迁移实战实施方案进行提炼简化,旨在能清楚说明该如何使用XTTS这种解决方案来进行U2L迁移,先达到可以跟着做下来的初级目标,如果有兴趣再去深入研究相关细节。
Oracle数据库还原IMPDP命令是相对于EXPDP命令的,方向是反向的。即对于数据库备份进行还原操作。 一、知晓IMPDP命令
使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等。本文给出Linux 下使用 shell 脚本来实现自动导入Oracle数据库。
系统管理员与业务确认可停机时间范围,数据库运维通过计算业务数据量,预估迁移耗时,两者结合综合评估后共同确定迁移时间
生产上遇到Oracle 11g单实例跨平台迁移情况,以下为迁移过程,有不完善的地方欢迎提出改进
(1)在Data Pump中引入了新的TRANSFORM的选项DISABLE_ARCHIVE_LOGGING,这对于表和索引在导入期间提供了关闭Redo日志生成的灵活性。当为TRANSFORM选项指定了DISABLE_ARCHIVE_LOGGING:Y值,那么在整个导入期间,表和索引的Redo日志就会处于关闭状态,仅生成少量的日志。这一功能在导入大型表时缓解了压力,并且减少了过度的Redo产生,从而加快了导入。这一属性对表和索引都适用。不管是在非归档还是归档情况下使用DISABLE_ARCHIVE_LOGGING都会减小导入时间,减少归档量。但是需要注意的是,如果数据库处于FORCE LOGGING模式,那么DISABLE_ARCHIVE_LOGGING参数会无效。
在Oracle中,数据迁移之可传输表空间(Transportable Tablespaces)是什么?
近期公司有个项目,需要将一套AIX上的rac 11g,迁移到华为云上,数据量大概4T,停机时间2小时,目前最大问题是本地磁盘空间不足。起初,想到的是OGG或XTTS,XTTS没啥问题,最适合做这类迁移了。对于OGG来说,OGG初始化需要导出和导入,仍然需要临时的本地磁盘空间,当时把该方案直接pass掉了,后来回头想想,似乎可以使用network_link来解决这个问题。使用impdp+network_link导入完成后,再配置OGG实时同步,即可实现AIX到Linux的迁移。
前段时间,需要从异地一个测试数据库中将测试数据(一张表)导入本地库,表数据量大约500万,字段160多个,开始用了exp/imp方式,速度奇慢,不能忍,于是转而使用expdp/impdp方式。
ORA-02374: conversion error loading table "QBJMES"."PROJECT"
在工作中有时候碰到一些分区表,业务数据量很大,可能几百G,上T的规模,而且做数据的导入导出的时候,会感觉到exp/expdp的时候生成的dump文件太大了,做导入的时候也是很重的负担。比如500G的dump,你在使用imp做导入的时候,别无选择,只能看着日志里partition里的数据一个一个被导入。impdp可能稍微好点,还能指定个并行,但是问题又来了,一个500G的dump。impdp是在最后才做commit。对于数据空间和Undo,cpu资源都是挑战。 分区表有一个地方和普通表不同,对于每个分区可以单
(backup_path为路径名称,可自命名(必须是已存在路径),E:\app\tws\oradata\orcl为源数据库路径)
在生产环境的数据迁移中,发生误操作真是很不愿意看到,今天自己总结了一下,从个人的经验来看有以下的几种操作或者是失误导致的问题。有一些错误自己已经犯过。 外键 不管是使用imp/impdp,sqlldr还是使用Insert append的方式导入数据,如果存在外键的约束,在数据导入前最好都设置为disable,要不数据导入的时候很可能发生冲突,因为批量的数据导入很可能开启多个并发进程,如果你不能完全控制导入的先后顺序,最好还是disable掉。 触发器 触发器在数据导入前最好和开发组确认,如果忽略了这个
编辑手记:针对最近发生的炉石及GitLab事件,我们不得不再次强调备份的重要性。DBA的四大守则,第一条就是备份重于一切。年初做好备份,愿你的系统17无恙。 本文介绍三种常见的逻辑备份与恢复的方式。本文选自《循序渐进Oracle》 1、使用EXP进行逻辑备份 导入/导出(IMP/EXP)是Oracle最古老的两个命令行工具,通过导出(EXP)工具可以将Oracle数据库中的数据提取出来,在恢复时可以将数据导入(IMP)进行恢复。但是需要注意的是,使用EXP备份的数据进行全库恢复时,需要重新创建数据库,导入
导入或者导出整个数据库,对应impdp/expdp命令中的full参数,只有拥有dba或者 exp_full_database和imp_full_database权限的用户才能执行。
我们某一个系统的夜维出现了性能的问题,删除N张表,数据量从几万到几百万不等,现在需要3.5-4个小时,看了一下SQL AWR,有些采用了TABLE ACCESS FULL,而且是数据量百万级的表,并且一次删除5000条,批量要删除几百次,相当于执行几百次TABLE ACCESS FULL,效率可想而知。
解决就很简单了,由于整体的导入是成功的,这时主表已经有数据了,所以我们只需将该子表单独导入一下就可以
那么在导出开始前,需要停止源数据库业务,直到成功导入到目标数据库时,应用修改新的连接方式完毕,才可以再次启动业务;
一、EXPDP和IMPDP使用说明 Oracle Database 10g引入了最新的数据泵(Data Dump)技术,数据泵导出导入(EXPDP和IMPDP)的作用 1)实现逻辑备份和逻辑恢复. 2)在数据库用户之间移动对象. 3)在数据库之间移动对象 4)实现表空间搬移. 二、数据泵导出导入与传统导出导入的区别 在10g之前,传统的导出和导入分别使用EXP工具和IMP工具,从10g开始,不仅保留了原有的EXP和IMP工具,还提供了数据泵导出导入工具EXPDP和IMPDP.使用EXPDP和IMPDP时应该
oracle导数据有很多方法, 官方推荐的是exp/imp和数据泵(expdp/impdp).
使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等。本文给出Linux 下使用 shell 脚本来实现自动FTP备份档案。
最近在某银行进行OGG迁移时,遇到一个超过1T的数据库,由于开始没有注意到一些细节,导致在导入过程中出现了一些问题。现在将这些问题总结记录下来,防止之后再发生类似问题。
导入导出我们经常用的是exp/imp命令,确实比较方便,但也有局限,例如需要导入导出的表空间名相同、schema名需要相同。
EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。
使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等。本文给出Linux 下使用 shell 脚本来实现数据库自动导出。
墨墨导读:expdp/impdp是一个非常简单的操作,但是简单的操作中往往蕴藏了很多原理性的东西,如果稍不注意,则可能会才到很多坑。
物理备份是指将数据库的所有物理文件完整拷贝到备份位置的一个过程。物理备份是所有物理文件的一个副本,例如,数据文件、控制文件、归档日志等。该副本能被存储在本地磁盘或磁带。物理备份是备份或恢复的基础,包括冷备份(非归档模式)和热备份(归档模式)。物理备份既可以在数据库打开的状态下进行也可在数据库关闭的状态下进行,但是逻辑备份和恢复则只能在数据库打开的状态下进行。
Data Pump Import是一个读取expdp生成的dump文件然后将其内容导入到目标系统的工具
墨墨导读:随着 Oracle 的数据泵技术不断增强,这个逻辑数据备份和迁移工具,已经成为了 Oracle 数据库用户的首选工具之一,在 20c 中, expdp / impdp 都获得了大量的特性增强。
datapump是从oracle 10g推出的新的数据导入导出工具,可以说是exp/imp的加强版,主要的亮点在于服务端,结合了direct+parallel,而且从datapump的结构上来说也和exp/imp有很大的差别。而老式的exp/imp还有一套自己的数据字典表需要维护,习惯了exp/imp,突然切换到expdp/impdp还有是一些抵触情绪的,因为从之前的感触中没有感受到datapump的强大,从公司的team的反馈,产品线中也遇到了不少的bug.但是很多东西你熟悉了了解了,就会明白oracle
有网友问,物化视图是否能单独进行导出和导入呢?因为导出不报错,但是导入的时候报错了,报错信息如下所示:
Oracle逻辑备份的核心就是复制数据;Oracle提供的逻辑备份与恢复的命令有exp/imp,expdp/impdp。当然像表级复制(create table table_back as select * from table)也算是一种逻辑备份。Oracle逻辑备份没有支持增量备份;对数据恢复也是非一致性的。所以一般都是用于数据迁移的工作。
备份就是把数据库复制到转储设备的过程。其中,转储设备是指用于放置数据库副本的磁带或磁盘。通常也将存放于转储设备中的数据库的副本称为原数据库的备份或转储。备份是一份数据副本
首先long raw从Oracle 10g开始就不再被建议使用,建议用blob代替。同理,long建议用clob代替。 本文从运维角度实验long raw 和 blob两种数据类型在遇到dblink时的一些差异。
需求:迁移部分表 11.2.0.3-->10.2.0.4,若迁移范围内的有些表在目标库已经存在,则替换。
今天在做imp和impdp的性能测试时,发现如果表中存在lob字段,加载真是慢的厉害,每秒钟大概1000条的样子,按照这种速度,基本上不用干活了。 比如5千万条记录,50000000/1000/60/60=13.89小时,时间是无法接受的。 所以尝试使用impdp来看看性能的提升。 导出的表里面有9千万条记录,而且做了分区,分区大概有300个。如果使用全表导出导入,在之前的测试中,测试5千万数据,大概会有3个多小时,也算是比较长的时间,而且随着数据量的增大,时间还会不断的增长。 个人尝试从分区的角度做些工作
由于本次迁移为历史库迁移,且数据库未开启归档模式,所以选择较为便捷第二种方式进行迁移。
建库(一般习惯配置gdbname与sid名一样,sys密码与system密码一样,以方便记忆)
(1)oracle11g建库(一般习惯配置gdbname与sid名一样,sys密码与system密码一样,以方便记忆)
impdp有一个参数选项TABLE_EXISTS_ACTION,help=y的解释为:
日常测试的时候,经常要使用imp/exp或者impdp/expdp进行数据的导入导出,碰到的零零散散的问题也很多。
还是继续昨天的任务。 前面的内容可以参见:迁移式升级的一点思考 (r10笔记第27天)、迁移式升级的新方案测试 (r10笔记第30天)、迁移式升级的测试(二)(r10笔记第35天) 今天会把剩下的工作都做完,给个交代。 昨天完成了Data Guard切换,然后Failover备库,导出了元数据信息作为TTS的准备,亮点就在于导入的部分。无需挪动数据文件,这是补充数据字典信息即可。 这个工作的一个重点内容就是如何保证数据字典信息的完整性。 在目标环境11g中需要创建相应的用户,这一点还是很有技巧的。如果采用i
领取专属 10元无门槛券
手把手带您无忧上云