oracle数据泵创建方法
oracle使用数据泵导出和导入
使用数据泵导出和导入几乎所有DBA都熟悉oracle的导出和导入实用程序,它们将数据装载进或卸载出数据库,在oracle database 10g和11g中,你必须使用更通用更强大的数据泵导出和导入(Data Pump Export and Import)实用程序导出和导入数据。
以前的导出和导入实用程序在oracle database 11g中仍然可以使用,但是Oracle强烈建议使用数据泵(Data Pump)技术,因为它提供了更多的高级特性。
例如,你可以中断导出/导入作业,然后恢复它们;可以重新启动已失败的导出和导入作业;可以重映射对象属性以修改对象;可以容易地从另一个会话中监控数据泵的作业,甚至可以在作业过程中修改其属性;使用并行技术很容易快速移动大量的数据;因为oracle提供了针对数据泵技术的API,所以可以容易地在PL/SQL 程序中包含导出/导入作业;可以使用更强大的可移植表空间特性来快速移植大量的数据,甚至可在不同操作系统平台之间移动。
与旧的导出和导入实用程序不同,数据泵程序有一组可以在命令行中使用的参数以及一组只能以交互方式使用的特殊命令,你可以通过在命令行中输入expdp help = y 或者impdp help = y快速获取所有数据泵参数及命令的概述。
一.数据泵技术的优点原有的导出和导入技术基于客户机,而数据泵技术基于服务器。
默认所有的转储,日志和其他文件都建立在服务器上。
以下是数据泵技术的主要优点:1.改进了性能2.重新启动作业的能力3.并行执行的能力4.关联运行作业的能力5.估算空间需求的能力6.操作的网格方式7.细粒度数据导入功能8.重映射能力二.数据泵导出和导入的用途1.将数据从开发环境转到测试环境或产品环境2.在不同的操作系统平台上的oracle数据库直接的传递数据3.在修改重要表之前进行备份4.备份数据库5.把数据库对象从一个表空间移动到另一个表空间6.在数据库直接移植表空间7.提取表或其他对象的DDL注意:数据库不建立完备的备份,因为在导出文件中没有灾难发生时的最新数据。
oracle数据泵应用及常见问题
Oracle数据泵应用及常见问题1、Oracle数据泵简介Oracle数据泵(Data Pump)是Oracle10G引进的新技术,在10g之前,传统的导出和导入分别使用EXP工具和IMP工具,从10g开始,不仅保留了原有的EXP和IMP工具,还提供了数据泵导出导入工具EXPDP和IMPDP。
经相关测试,Oracle数据泵方式进行数据导入导出要比以前的IMP/EXP快10倍左右,给大数据量的数据库导入导出提供了方便。
数据泵方式与IMP/EXP的主要区别在于EXP和IMP是客户段工具程序,它们既可以在可以客户端使用,也可以在服务端使用。
而EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用;IMP只适用于EXP导出文件,不适用于EXPDP 导出文件;IMPDP只适用于EXPDP导出文件,而不适用于EXP导出文件。
2、Oracle数据泵命令及主要参数a)EXPDP/IMPDP使用前准备运行命令前必须建立工作目录并赋权限,然后执行命令,具体步骤如下:a1在数据库所在机器上建立工作目录,如:d:\dp。
a2用数据库DBA用户SYS登录数据库,执行语句如下语句:create directory dump_dir as ' d:\dp ';grant read, write on directory dump_dir to db_user;(此处dump_dir 是第上面语句中工作目录名称,非实际目录名称,db_user是数据库用户名)。
a3运行EXPDP命令。
b)EXPDP主要参数a1DIRECTORY:导出数据的目录(目录是上面的设定的目录dump_dir)a2DUMPFILE:导出的文件名。
a3VERSION:以哪个版本导出数据,如果在不同的版本间导出导入数据,这个参数非常有用,例如将Oracle11G数据导入到Oracle10G(10.2.0.1.0)的数据库中,参数应写为VERSION=10.2.0.1.0,否则无法导入到低版本的数据库中。
数据泵
一、EXPDP和IMPDP介绍
1.数据泵导出(Data Dump Export)
数据泵导出的是Oracle Database 10g新增的功能功能,它使用实用工具EXPDP将数据库对象的元数据(对象结构)或数据导出到
1、以sys登录,建目录并将该目录的读写权利授予SCOTT
connect sys/orcl123 as sysdba
create directory dump_dir as 'd:\dump';
grant read,write on directory dump_dir to scott;
impdp scott/tiger directory=dump_dir dumpfile=tab.dmp tables=dept,emp
(2) 将DEPT,EMP表导入到system方案中。
impdp system/orcl123 directory=dump_dir dumpfile=tab.dmp tables=scott.dept,scott.emp remap_schema=scott:sy库是指将存放在转蓄文件中所有的数据库对象及其相关数据装载到数据库中,导入数据库是使用FULL选项来完成的。
注意:导出转蓄文件需要具有DBA角色或是EXP_FULL_DATABASE角色,导入转蓄文件是需要具有DBA角色或是IMP_FULL_DATABASE角
色。
二、使用EXPDP导出数据
EXPDP是服务器端的工具,该工具只能在Oracle服务器端使用,而不能在Oracle客户端使用。数据泵导出包括导出表、导出方案、导出表空间、导出数据库等4种模式。
董镇军—Oracle 数据泵的运用
Oracle数据泵导出导入数据董镇军北京北科博研科技有限公司oracle数据泵是oracle提供的更新、更快、更灵活的数据导入、导出工具。
Oracle的数据泵导入导出功能比原有的导入导出工具(exp/imp)功能强很多,特别是大数量的数据导入导出时,速度一般的数据导入导出速度提高很多。
1、连接Oracle数据库C:\Users>sqlplus请输入用户名:输入口令:连接到:Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - ProductionWith the Partitioning, OLAP and Data Mining options2、创建一个操作目录SQL> create directory dump_dir as 'e:\testDir';目录已创建。
**注意同时需要使用操作系统命令在硬盘上创建这个物理目录。
3、使用以下命令创建一个导出文件目录scott用户操作dump_dir目录的权限,SQL>grant read,write on directory dump_dir to gwpj;授权成功。
4、使用命令expdp导出数据(可以按照用户模式导出、按照表、按照表空间导出和全库导出)C:\>expdp zcxxfw/zcxxfw directory=dump_dir dumpfile=20090517scotttab.dmp ----------------------------------------------------------------------------------------Export: Release 10.2.0.3.0 - Production on 星期一, 14 10月, 2013 19:23:43 Copyright (c) 2003, 2005, Oracle. All rights reserved.连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production With the Partitioning, OLAP and Data Mining options启动"ZCXXFW"."SYS_EXPORT_SCHEMA_01": zcxxfw/******** directory=dump_dir dumpfile=20131014.dmp正在使用 BLOCKS 方法进行估计...处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA使用 BLOCKS 方法的总估计: 32.81 MB处理对象类型 SCHEMA_EXPORT/USER处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT处理对象类型 SCHEMA_EXPORT/ROLE_GRANT处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA处理对象类型 SCHEMA_EXPORT/TABLE/TABLE处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS处理对象类型 SCHEMA_EXPORT/TABLE/COMMENT处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS. . 导出了 "ZCXXFW"."XX_APPLOG" 7.151 MB 52402 行. . 导出了 "ZCXXFW"."XX_BOOK" 819.8 KB 3398 行已成功加载/卸载了主表 "ZCXXFW"."SYS_EXPORT_SCHEMA_01"*************************************************************************** ***ZCXXFW.SYS_EXPORT_SCHEMA_01 的转储文件集为:E:\TESTDIR\20131014.DMP作业 "ZCXXFW"."SYS_EXPORT_SCHEMA_01" 已于 19:24:26 成功完成---------------------------------------------------------------------------------------------5、导入命令C:\Users\dzj>impdp zcxxfw/zcxxfw directory=dump_dir dumpfile=20131014.DMP ---------------------------------------------------------------------------------Import: Release 10.2.0.3.0 - Production on 星期一, 14 10月, 2013 19:34:22 Copyright (c) 2003, 2005, Oracle. All rights reserved.连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production With the Partitioning, OLAP and Data Mining options已成功加载/卸载了主表 "ZCXXFW"."SYS_IMPORT_FULL_01"启动"ZCXXFW"."SYS_IMPORT_FULL_01": zcxxfw/******** directory=dump_dir dumpfile=20131014.DMP处理对象类型 SCHEMA_EXPORT/USERORA-31684: 对象类型 USER:"ZCXXFW" 已存在处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT处理对象类型 SCHEMA_EXPORT/ROLE_GRANT处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA处理对象类型 SCHEMA_EXPORT/TABLE/TABLEORA-39151: 表 "ZCXXFW"."XX_NOTICE" 已存在。
【Oracle】EXPDP和IMPDP数据泵进行导出导入的方法
【Oracle】EXPDP和IMPDP数据泵进⾏导出导⼊的⽅法⼀、expdp/impdp和exp/imp客户端⼯具1、exp和imp是客户端⼯具程序,它们既可以在客户端使⽤,也可以在服务端使⽤。
服务端⼯具2、expdp和impdp是服务端的⼯具程序,他们只能在oracle服务端使⽤,不能在客户端使⽤。
注意:3、imp只适⽤于exp导出的⽂件,不适⽤于expdp导出⽂件;impdp只适⽤于expdp导出的⽂件,⽽不适⽤于exp导出⽂件。
4、对于10g以上的服务器,使⽤exp通常不能导出0⾏数据的空表,⽽此时必须使⽤expdp导出。
⼆、expdp导出步骤(1)创建导出逻辑⽬录⽤sys管理员登录sqlplus[oracle@shdb02 ~]$ export ORACLE_SID=fp2[oracle@shdb02 ~]$ echo $ORACLE_SIDfp2[oracle@shdb02 ~]$ sqlplusSQL*Plus: Release 11.2.0.4.0 Production on Sat Mar 19 21:53:42 2022Copyright (c) 1982, 2013, Oracle. All rights reserved.Enter user-name: sys as sysdbaEnter password:**********Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit ProductionWith the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,Data Mining and Real Application Testing optionsSQL>如果提⽰:Connected to an idle instance. //这个就是错误的信息。
oracle dmp sqlfile用法
oracle dmp sqlfile用法Oracle的.dmp文件和.sql文件是两种不同类型的文件,用于不同的目的。
1..dmp文件:o.dmp文件是Oracle数据库的数据泵(Data Pump)工具生成的文件。
数据泵是Oracle提供的一个用于高效移动数据和元数据的工具。
o你可以使用expdp命令导出数据到.dmp文件,使用impdp命令从.dmp文件导入数据。
o示例:▪导出:expdp username/password@db_name schemas=schema_name directory=dir_name dumpfile=dump_name.dmp logfile=log_name.log▪导入:impdp username/password@db_name schemas=schema_name directory=dir_name dumpfile=dump_name.dmp logfile=log_name.logo注意:在使用这些命令之前,你需要确保在数据库中已经设置了适当的目录对象,并且该对象指向了一个在操作系统中真实存在的目录。
2..sql文件:o.sql文件通常包含SQL语句,可以用于创建表、视图、索引、触发器等数据库对象,也可以用于插入、更新、删除数据。
o你可以使用SQL*Plus、SQL Developer、PL/SQL Developer等工具执行.sql文件中的SQL语句。
o示例:▪在SQL*Plus中执行:sqlplus username/password@db_name @path_to_sql_file.sql▪在SQL Developer或PL/SQL Developer中,你通常可以打开一个.sql 文件,然后点击执行按钮来运行文件中的SQL语句。
请注意,.dmp文件和.sql文件通常不用于同一目的。
.dmp文件主要用于备份和恢复整个数据库或数据库的一部分,而.sql文件主要用于执行特定的SQL语句。
数据泵导入建表
数据泵导入建表数据泵是Oracle数据库中的一个重要工具,通过该工具可以将数据从一个数据库传输到另一个数据库,同时还可以通过数据泵将数据库中的数据导出,并保存为一个文件,以备日后使用。
数据泵还可以被用来对表进行导入、导出和重建等操作。
在这篇文章中,我们将介绍如何使用数据泵导入建表。
步骤一:导出数据文件在进行数据导入之前,我们需要先将数据从源数据库导出。
可以使用数据泵的expdp命令将数据导出为一个dump文件。
例如,通过以下命令将指定的数据导出到个人电脑的F盘根目录:expdp system/oracle@orcl schemas=scottdumpfile=f:\scott.dmp其中,system/oracle是登录源数据库的用户名和密码;orcl是源数据库的服务名,schemas参数指定了要导出的Schema;dumpfile 指定了dump文件的保存路径和文件名。
步骤二:创建目录导出数据后,我们需要使用Oracle的SQL命令创建一个导入目录,以便在接下来的步骤中使用。
例如:SQL> create directory imp_dir as 'f:\';其中,imp_dir是导入目录的名称,f:\是导出的dump文件的保存路径。
步骤三:导入数据一旦目录被创建之后,我们就可以使用数据泵的impdp命令将数据导入到目标数据库中。
例如:impdp system/oracle@orcl directory=imp_dirdumpfile=scott.dmp schemas=scott remap_schema=scott:scott1 在此命令中,system/oracle是目标数据库的用户名和密码;orcl是目标数据库的服务名;directory指定了导入目录的名称;dumpfile指定了导出的dump文件的名称;schemas参数指定了要导入的schema;remap_schema参数可以让我们将导出时原本的schema名称修改为新的名称。
Oracle数据泵常用命令
Oracle数据泵常用命令
1前言
expdp和impdp是oracle数据库之间移动数据的工具。
expdp 和impdp只能在数据库服务端使用,不能在客户端使用。
本文简单总结了expdp和impdp常用的命令,详细信息参考oracle官方文档Utilities。
2directory相关SQL语句
3EXPDP导出
3.1说明
1、导数的数据库用户需要拥有对directory_object的读写权限。
2、操作系统中需要已经存在directory_object指定的路径。
3、oracle用户拥有对directory_object指定路径的读写权限。
4、system用户导出用户,会将创建用户和授予系统权限的元数据也
导出,普通用户不能导出这些元数据。
3.2expdp命令示例
3.3以导出一个用户为例
3.4expdp参数说明
4IMPDP导入
4.1说明
1、expdp导出的文件不能使用imp导入,只能通过impdp导入数据库。
2、导入时遇到已存在的对象,默认会跳过这个对象,继续导入其他对象。
3、导入时应确认dmp文件和目标数据库的tablespace、schema是否对应。
4、导入dmp文件时,应确定dmp文件导出时的命令,以便顺利导入数据。
4.2impdp命令示例
4.3以导入dmp文件中的所有数据为例
4.4impdp参数说明。
Oracle 数据泵详解
Oracle 数据泵详解一、EXPDP和IMPDP使用说明Oracle Database 10g引入了最新的数据泵(Data Dump)技术,数据泵导出导入(EXPDP和IMPDP)的作用1)实现逻辑备份和逻辑恢复.2)在数据库用户之间移动对象.3)在数据库之间移动对象4)实现表空间搬移.二、数据泵导出导入与传统导出导入的区别在10g之前,传统的导出和导入分别使用EXP工具和IMP工具,从10g开始,不仅保留了原有的EXP和IMP工具,还提供了数据泵导出导入工具EXPDP和IMPDP.使用EXPDP和IMPDP时应该注意的事项:1)EXP和IMP是客户端工具程序,它们既可以在可以客户端使用,也可以在服务端使用。
2)EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。
3)IMP只适用于EXP导出文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出文件,而不适用于EXP导出文件。
数据泵导出包括导出表,导出方案,导出表空间,导出数据库4种方式.三、Expdp参数EXPDP命令行选项,可通过expdp help=y查看:E:\emp>expdp help=yExport: Release 10.2.0.1.0- Production on 星期日, 03 5月, 2009 17:54:49Copyright (c) 2003, 2005, Oracle. All rights reserved.数据泵导出实用程序提供了一种用于在 Oracle 数据库之间传输数据对象的机制。
该实用程序可以使用以下命令进行调用:示例: expdp scott/tigerDIRECTORY=dmpdir DUMPFILE=scott.dmp您可以控制导出的运行方式。
具体方法是: 在 'expdp' 命令后输入各种参数。
要指定各参数, 请使用关键字:格式: expdp KEYWORD=value 或KEYWORD=(value1,value2,...,valueN)示例: expdp scott/tigerDUMPFILE=scott.dmp DIRECTORY=dmpdir SCHEMAS=scott或 TABLES=(T1:P1,T1:P2), 如果 T1 是分区表USERID 必须是命令行中的第一个参数。
oracle数据泵介绍及使用
oracle数据泵介绍及使⽤数据泵可以⾼效备份,复制,保护和传输⼤量得数据和元数据。
可以通过下列⽅式使⽤数据泵:1.对整个数据库或数据⾃⼰进⾏实时逻辑备份;2.为测试或开发,复制整个数据库或数据⼦集;3.快速⽣成⽤于重建对象的DDL代码;4.通过旧版本导出数据,然后像新版本导⼊数据的⽅式,升级数据库。
1.⾼效处理⼤量数据的功能,可以⾼效导出和导⼊⼤量数据。
2.交互式命令⾏使⽤程序,使⽤它可以先断开连接,然后恢复连接活动的数据泵作业。
3.在不创建数据泵⽂件的情况下,从远程数据库导出⼤量数据,并将这些数据直接导⼊本地数据库。
4.通过导⼊和导出⼯作,在运⾏时更改⽅案,表空间,数据⽂件和存储位置;5.精细过滤对象和数据;6.对⽬录对象应⽤受控安全模式(通过数据库);7.⾼级功能,如压缩和加密。
1.expdp (数据泵导出实⽤程序);2.impdp (数据泵导⼊实⽤程序);3.DMBS_DATAPUMP软件包(数据泵API);4.DBMS_METADATA软件包(数据泵元数据API);在导出和导⼊数据和元数据时,expdp 和 impdp 实⽤程序会使⽤内置的DBMS_DATAPUMP DBMS_METADATA 软件包。
DBMS_DATAPUMP软件包可以在不同的数据库环境之间移动整个数据库或数据⼦集。
DBMS_MATEDATA软件包可以导出和导⼊数据库对象的信息。
当启动数据泵导出和导⼊作业时,数据库服务器上就会初始化⼀个OS主进程。
这个主进程的名称格式为 ora_dmNN_。
在Linux和Unix系统中,可以使⽤ps命令查看进程。
ps -ef |grep ora_dm因为数据泵使⽤其内部的PL/SQL代码执⾏操作,所以需要使⽤共享池中的⼀些内存加载PL/SQL软件。
如果共享池中空间不⾜,系统会提⽰ORA-04031:unable to allocate bytes of shared memory…错误提⽰,并中断数据泵。
oracle备份之expdpimpdp和expimp命令
oracle备份之expdpimpdp和expimp命令EXP/IMPexp/imp 介绍常⽤实例门诊统筹exp/impexp mztc/YinhaiTY2019 compress=n buffer=4096000 feedback=100000 owner=mztc file=mztc1.dmp log=mztc1.logimp mztc/YinhaiTY2019@ybpdb fromuser=mztc touser=mztc ignore=y buffer=4096000 feedback=100000 file=mztc.dmp log=mztc.loghis数据库impdp/expdpexpdp system/123456@ybzjk schemas=oracle directory=BAK_DIR dumpfile=yhhis-20211201.dmp.dmp logfile=yhhis-20211201.dmp.logimpdp system/123456@ybzjk schemas=oracle directory=BAK_DIR dumpfile=yhhis-20211201.dmp.dmp logfile=yhhis-20211201.dmp.logexpdp yhhis/xhlhis@111.111.111.153/pdbhisdb schemas=yhhis directory=dmp compression=ALL dumpfile=yhhis-20211201.dmp logfile=yhhis-20211201-expdp.dmp impdp yhhis/yhhis@ylpdb remap_schema=yhhis_a:yhhis directory=BAK_DIR dumpfile=yhhis-20211201.dmp logfile=yhhis-20211201-imp.log基本语法和实例:1、 EXP有三种主要的⽅式(完全、⽤户、表)1.1 完全EXP SYSTEM/PASSWORD BUFFER=1024000 FILE=C:\FULL.DMP FULL=Y如果要执⾏完全导出,必须具有特殊的权限1.2 ⽤户模式EXP SONIC/SONIC BUFFER=1024000 FILE=C:\SONIC.DMP OWNER=SONIC这样⽤户SONIC的所有对象被输出到⽂件中。
Navicat下Oracle数据泵的使用简单例子
Navicat下Oracle数据泵的使用简单例子如何使用Navicat等数据库开发工具进行高效开发将是未来工作的重点。
Navicat一来美观而来够操作够傻瓜,使用得当其强大功能与PL SQL不相上下。
今天学习就是如何在Navicat中使用数据泵进行数据导入导出。
数据泵使用前事项:想使用数据泵必须以sys或system等dba角色进行数据导出:1、导出前必须先创建表目录,点击“其他”--“目录”可查看当前数据库所有目录。
具体如下图:点击“新建目录”,进行目录新建,目录路径必须真实存在。
路径填写完毕后点击保存即可。
具体如下图:随后点击“数据泵”--“数据泵导出”进入数据泵导出界面;接下来选择模式,按照模式(FULL--全部导出、TABLESPACE--表空间、SCHEMA--用户节点下对象集合、TABLE--表)可按相关指标导出数据;本文的实现是以用户为单位,在导出数据下方的空白框中选择需要导出的用户对象,本例需导出的用户为ARREARS;接下来在转储文件中,选择目录及保存的文件名,然后点击生成SQL。
SQL预览中可以看到具体生成的SQL,确认SQL没啥问题后,点击运行(由于数据库水平有限,我是看不太出来是否有错误....惭愧...)点击运行后,可看到如下运行过程:看到成功完成后表示数据导出已经完成,在对应目录中可以看到导出的DMP文件:至此数据导出部分完成。
数据导入:数据导出后下来可以进行数据导入了,话不多说继续:点击“数据泵”--“数据泵导入”随后选择模式为“SCHEMA”(用户节点集合)再选择“表存在的动作”,表示的是若导入的用户下存在表名相同的表数据泵选择的操作,一共有“SKIP”--跳过、“APPEND”--追加、"TRUNCATE"--清空表、“REPLACE”--替换四种操作,接下来在模式的输入框中输入需要将数据导入的用户节点名,此例为 ARREARS,接下来再选择转储文件的目录和文件名(比较奇怪的是,前面导出的ARREARS.DMP文件名在可选列表中变成了ARREARS.DMP.DMP,不过好在可以修改,直接修改为实际文件名即可)点击生成SQL后,检查SQL是否有异常:点击运行后,看见xxxx时间运行成功说明导入完成了!检查一下ARREARS用户下的表,都已经导进来了。
oracle中备份还原表 insert语句
oracle中备份还原表 insert语句备份和还原数据库是维护数据完整性和可靠性的重要手段。
Oracle中备份和还原表的方法主要包括“INSERT语句”和“数据泵”两种方式。
1. INSERT语句备份和还原表INSERT语句是一种简单易用的备份和还原表的方式,它可以将表中的数据插入到一个新的表中,从而达到备份和还原表的目的。
具体步骤如下:备份表:(1)创建一个新表(例如,新建一个表名为“bak_table”的表);CREATE TABLE bak_table AS SELECT * FROM original_table;说明:这种方式备份表时,只备份了表的数据,而不包括表的结构。
(2)将原表中的数据插入到新表中;INSERT INTO bak_table SELECT * FROM original_table;还原表:(1)将备份表的数据插入到原表中;INSERT INTO original_table SELECT * FROM bak_table;(2)删除备份表;DROP TABLE bak_table;需要注意的是,使用INSERT语句备份和还原表的缺点是不够灵活,只能备份和还原整张表的数据,而不能备份和还原部分数据。
2. 数据泵备份和还原表数据泵是Oracle数据库提供的一种高效、灵活的备份和还原工具,它可以备份和还原表的数据和结构。
具体步骤如下:备份表:(1)创建一个导出文件(例如,创建一个导出文件名为“bak.dmp”的文件);expdp user/password@tns_name tables=original_table dumpfile=bak.dmp说明:这种方式备份表时,不仅备份了表的数据,还包括表的结构。
(2)将导出文件拷贝到备份服务器上。
还原表:(1)在还原服务器上创建一个新表(例如,新建一个表名为“bak_table”的表);CREATE TABLE bak_table AS SELECT * FROM original_table WHERE 1=2;说明:此语句只创建了表结构,但没有插入数据。
Oracle数据泵使用详解
Oracle数据泵使⽤详解数据泵使⽤EXPDP和IMPDP时应该注意的事项:EXP和IMP是客户端⼯具程序,它们既可以在客户端使⽤,也可以在服务端使⽤。
EXPDP和IMPDP是服务端的⼯具程序,他们只能在ORACLE服务端使⽤,不能在客户端使⽤。
IMP只适⽤于EXP导出的⽂件,不适⽤于EXPDP导出⽂件;IMPDP只适⽤于EXPDP导出的⽂件,⽽不适⽤于EXP导出⽂件。
expdp或impdp命令时,可暂不指出⽤户名/密码@实例名 as ⾝份,然后根据提⽰再输⼊,如:expdp schemas=scott dumpfile=expdp.dmp DIRECTORY=dir;环境windows2003SP2oracle11gR1使⽤expdp和impdp1.命令⾏打开sqlplussqlplus /nologconn / as sysdba2.创建逻辑⽬录,该命令不会在操作系统创建真正的⽬录(最好⼿⼯先建好),最好以administrator等管理员创建。
create directory dir as 'd:\dump'; //dir名称可以随便命名需要⼿⼯创建d:\dump3.查看管理理员⽬录(同时查看操作系统中是否存在,因为Oracle并不关⼼该⽬录是否存在,如果不存在,则出错)select * from dba_directories;4.给scott⽤户赋予在指定⽬录的操作权限,最好以system等管理员赋予。
grant read,write on directory dir to scott;5、导出数据1)按⽤户导expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp DIRECTORY=dir logfile=expdp.log2)并⾏进程parallelexpdp scott/tiger@orcl directory=dir dumpfile=scott3.dmp parallel=40 job_name=scott33)按表名导expdp scott/tiger@orcl TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dir;4)按查询条件导expdp scott/tiger@orcl directory=dir dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';5)按表空间导expdp system/manager DIRECTORY=dir DUMPFILE=tablespace.dmp TABLESPACES=temp,example;6)导整个数据库expdp system/manager DIRECTORY=dir DUMPFILE=full.dmp FULL=y;6、还原数据1)导到指定⽤户下impdp scott/tiger@orcl DIRECTORY=dir DUMPFILE=expdp.dmp SCHEMAS=scott logfile=impdp.log2)改变表的ownerimpdp system/manager DIRECTORY=dir DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system; 3)导⼊表空间impdp system/manager DIRECTORY=dir DUMPFILE=tablespace.dmp TABLESPACES=example;4)导⼊数据库impdb system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y;5)追加数据impdp system/manager DIRECTORY=dir DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION****************************************************************************************LINUX环境(RHEL5)oracle10g和oracle11g使⽤expdp和impdp1.命令⾏打开sqlplussqlplus /nologconnect system/oracle2.创建逻辑⽬录,该命令不会在操作系统创建真正的⽬录(最后⼿⼯先建好),最好以system等管理员创建。
Oracle 数据压缩(Compression) 技术 说明
一.官网说明1.1 Oracle 11g Advanced Compression/demo_c284_i515.htmlOracle 11g EE版本中只有:Basic T able Compression ,而AdvanceCompression Feature需要单独购买。
11g Advanced Compression 有如下特性:1. Compression for T able Data--支持了DML 语句的compress,下面会重点关注。
2. Compression for File Data3. Compression for Backup Data--包括RMAN和expdp/impdp.对数据泵,compress 是inline的,在impdp时不需要进行解压缩,直接导入即可。
4. Compression for Network Traffic--在DG中使用,Redo在传输中被压缩和解压缩。
关于11g Advanced Compression,参考Oracle 的compression 白皮书:/technetwork/database/storage/advanced-compression-whitepaper-130502.pdf这里我们只看Compressionfor T able Data。
The OracleDatabase 11g Advanced Compression Option introduces a comprehensive set ofcompression capabilities to help customers maximize resource utilizationand reduce costs. It allows IT administrators to significantly reduce theiroverall database storage footprint by enabling compression for all types ofdata – be it relational (table), unstructured (file), or backup data. Althoughstorage cost savings are often seen as the most tangible benefit ofcompression, innovative technologies included in the Advanced CompressionOption are designed to reduce resource requirements and technology costs forall components of your IT infrastructure, including memory and networkbandwidth.1.1 Compression for Table DataOracle has beena pioneer in database compression technology. Oracle Database 9i introducedBasic Table Compression several years ago that compressed data that was loadedusing bulk load operations. Oracle Database 11g Release 1 introduced a newfeature called OLTP T able Compression that allows data to be compressed duringall types of data manipulation operations, including conventional DML suchasINSERT and UPDATE. In addition, OLTP Table Compression reduces the associatedcompression overhead of write operations making it suitable for transactionalor OLTP environments as well. OLTP Table Compression, therefore, extends thebenefits of compression to all application workloads.--Oracle 是数据压缩技术的先驱,在Oracle 9i中就引入了Basic Table Compression。
Navicat for Oracle 如何导入数据泵
Navicat for Oracle 如何导入数据泵在运行Navicat for Oracle 数据泵导入前,点击“生成SQL”按钮检查SQL,然后点击运行按钮运行它,勾选“显示高级选项”框,显示隐藏的选项卡(高级选项)。
Navicat for Oracle 数据泵导入主要涉及到的知识点有:网络、筛选、重新映射、重新映射对象、常规属性和高级属性。
下面将由Navicat官网详细介绍Navicat for Oracle 如何导入数据泵。
Navicat for Oracle网络数据库链接:远程数据库的数据库链接名,这将是当前工作的数据和元数据源。
估计:指定开始工作之前,表大小运行的估计方法。
闪回SCN:系统改变编号(SCN)作为读取用户数据事务上的一致点。
闪回时间:决定读取用户数据的一致点的日期和时间或TO_TIMESTAMP(...)格式的字符串。
可传输:在一组选定的表空间,为表(和它们相依的对象)操作元数据来运行一个可传输的表空间导出。
数据文件路径:为在可传输的表空间集的数据文件指定完整文件的路径。
筛选包含或排除:从导入作业中选择“包含”或“排除”对象,选择“对象类型”并指定“名子句”。
查询:指定一个子查询添加到表SELECT 语句中的尾部,如果在子查询中指定WHERE 子句,可以限制要选择的行。
重新映射重新映射栏位描述表模式包含要重新映射的列的模式。
表名包含要重新映射的列的表。
列名要重新映射的列的名。
包模式包的模式。
包名包的名。
包函数一个PL/SQL包函数,用于指定列修改数据。
重新映射数据文件:指定一个应用到对象的重新映射,因为它们是在指定的工作中处理。
输入“源数据文件”和“目标数据文件”。
重新映射对象重新映射模式:指定一个应用到模式的重新映射,在指定的工作中处理。
输入“源模式”,选择“目标模式”。
重新映射表空间:指定一个应用到表空间的重新映射,在指定的工作中处理。
输入“源表空间”,选择“目标表空间”。
数据泵导入导出详解
数据泵技术是Oracle Database 10g 中的新技术,它比原来导入/导出(imp,exp)技术快15-45倍。
速度的提高源于使用了并行技术来读写导出转储文件。
expdp使用使用EXPDP工具时,其转储文件只能被存放在DIRECTORY对象对应的OS目录中,而不能直接指定转储文件所在的OS目录。
因此使用EXPDP工具时,,必须首先建立DIRECTORY对象,并且需要为数据库用户授予使用DIRECTORY对象权限。
首先得建DIRECTORY:SQL> conn /as sysdbaSQL> CREATE OR REPLACE DIRECTORY dir_dump AS '/u01/backup/';SQL> GRANT read,write ON DIRECTORY dir_dump TO public;1) 导出scott整个schema--默认导出登陆账号的schema$ expdpscott/tiger@db_esuiteparfile=/orahome/expdp.parexpdp.par内容:DIRECTORY=dir_dumpDUMPFILE=scott_full.dmpLOGFILE=scott_full.log--其他账号登陆, 在参数中指定schemas$ expdp system/oracle@db_esuiteparfile=/orahome/expdp.parexpdp.par内容:DIRECTORY=dir_dumpDUMPFILE=scott_full.dmpLOGFILE=scott_full.logSCHEMAS=SCOTT2) 导出scott下的dept,emp表$ expdpscott/tiger@db_esuiteparfile=/orahome/expdp.par expdp.par内容:DIRECTORY=dir_dumpDUMPFILE=scott.dmpLOGFILE=scott.logTABLES=DEPT,EMP3) 导出scott下除emp之外的表$ expdpscott/tiger@db_esuiteparfile=/orahome/expdp.par expdp.par内容:DIRECTORY=dir_dumpDUMPFILE=scott.dmpLOGFILE=scott.logEXCLUDE=TABLE:"='EMP'"4) 导出scott下的存储过程$ expdpscott/tiger@db_esuiteparfile=/orahome/expdp.par expdp.par内容:DIRECTORY=dir_dumpDUMPFILE=scott.dmpLOGFILE=scott.logINCLUDE=PROCEDURE5) 导出scott下以'E'开头的表$ expdpscott/tiger@db_esuiteparfile=/orahome/expdp.parexpdp.par内容:DIRECTORY=dir_dumpDUMPFILE=scott.dmpLOGFILE=scott.logINCLUDE=TABLE:"LIKE 'E%'" //可以改成NOT LIKE,就导出不以E开头的表6) 带QUERY导出$ expdpscott/tiger@db_esuiteparfile=/orahome/expdp.parexpdp.par内容:DIRECTORY=dir_dumpDUMPFILE=scott.dmpLOGFILE=scott.logTABLES=EMP,DEPTQUERY=EMP:"whereempno>=8000"QUERY=DEPT:"wheredeptno>=10 and deptno<=40"注: 处理这样带查询的多表导出, 如果多表之间有外健关联, 可能需要注意查询条件所筛选的数据是否符合这样的外健约束, 比如EMP中有一栏位是deptno, 是关联dept中的主键, 如果"whereempno>=8000"中得出的deptno=50的话, 那么, 你的dept的条件"wheredeptno>=10 and deptno<=40"就不包含deptno=50的数据, 那么在导入的时候就会出现错误.expdp选项1. ATTACH该选项用于在客户会话与已存在导出作用之间建立关联.语法如下:ATTACH=[schema_name.]job_nameschema_name用于指定方案名,job_name用于指定导出作业名.注意,如果使用ATTACH选项,在命令行除了连接字符串和ATTACH选项外,不能指定任何其他选项,示例如下:expdpscott/tiger ATTACH=scott.export_job2. CONTENT该选项用于指定要导出的内容.默认值为ALL.语法如下:CONTENT={ALL | DATA_ONLY |METADATA_ONLY}当设置CONTENT为ALL 时,将导出对象定义及其所有数据; 为DATA_ONLY时,只导出对象数据; 为METADATA_ONLY时,只导出对象定义,示例如下:expdpscott/tiger DIRECTORY=dump DUMPFILE=a.dumpCONTENT=METADATA_ONLY3. DIRECTORY指定转储文件和日志文件所在的目录.语法如下:DIRECTORY=directory_objectdirectory_object用于指定目录对象名称.需要注意,目录对象是使用CREATE DIRECTORY语句建立的对象,而不是OS 目录,示例如下:expdpscott/tiger DIRECTORY=dump DUMPFILE=a.dump建立目录:CREATE DIRECTORY dump as 'd:dump';查询创建了那些子目录:SELECT * FROM dba_directories;4. DUMPFILE用于指定转储文件的名称,默认名称为expdat.dmp.语法如下:DUMPFILE=[directory_object:]file_name[,….]directory_object用于指定目录对象名,file_name用于指定转储文件名.需要注意,如果不指定directory_object,导出工具会自动使用DIRECTORY选项指定的目录对象,示例如下:expdpscott/tiger DIRECTORY=dump1 DUMPFILE=dump2:a.dmp5. ESTIMATE指定估算被导出表所占用磁盘空间的方法.默认值是BLOCKS.语法如下:EXTIMATE={BLOCKS | STATISTICS}设置为BLOCKS时,oracle会按照目标对象所占用的数据块个数乘以数据块尺寸估算对象占用的空间,设置为STATISTICS时,根据最近统计值估算对象占用空间,示例如下:expdpscott/tiger TABLES=emp ESTIMATE=STATISTICSDIRECTORY=dumpDUMPFILE=a.dump一般情况下, 当用默认值(blocks)时, 日志中估计的文件大小会比实际expdp出来的文件大, 用statistics时会跟实际大小差不多.6. EXTIMATE_ONLY指定是否只估算导出作业所占用的磁盘空间,默认值为N.语法如下:EXTIMATE_ONLY={Y | N}设置为Y时,导出作用只估算对象所占用的磁盘空间,而不会执行导出作业,为N时,不仅估算对象所占用的磁盘空间,还会执行导出操作,示例如下:expdpscott/tiger ESTIMATE_ONLY=y NOLOGFILE=y7. EXCLUDE该选项用于指定执行操作时要排除的对象类型或相关对象.语法如下:EXCLUDE=object_type[:name_clause][,….]object_type用于指定要排除的对象类型,name_clause用于指定要排除的具体对象.EXCLUDE和INCLUDE不能同时使用,示例如下:expdpscott/tiger DIRECTORY=dump DUMPFILE=a.dup EXCLUDE=VIEW在EXPDP的帮助文件中, 可以看到存在EXCLUDE和INCLUDE参数, 这两个参数文档中介绍的命令格式存在问题, 正确用法是:EXCLUDE=OBJECT_TYPE[:name_clause][,...]INCLUDE=OBJECT_TYPE[:name_clause][,...]示例:Expdp<other_parameters> schema=scottexclude=sequence,table:"in('EMP','DEPT')"impdp<other_parameters> schema=scott include = function,package, procedure, table:"='EMP'"有了这些还不够, 由于命令中包含了多个特殊字符, 在不同的操作系统下需要通过转义字符才能使上面的命令顺利执行,如:EXCLUDE=TABLE:"IN('BIGTALE')"8. FILESIZE指定导出文件的最大尺寸,默认为0(表示文件尺寸没有限制).9. FLASHBACK_SCN指定导出特定SCN时刻的表数据.语法如下:FLASHBACK_SCN=scn_valuescn_value用于标识SCN值.FLASHBACK_SCN和FLASHBACK_TIME不能同时使用,示例如下:expdpscott/tiger DIRECTORY=dump DUMPFILE=a.dmpFLASHBACK_SCN=35852310. FLASHBACK_TIME指定导出特定时间点的表数据.语法如下:FLASHBACK_TIME="TO_TIMESTAMP(time_value)"示例如下:expdpscott/tiger DIRECTORY=dump DUMPFILE=a.dmp FLASHBACK_TIME ="TO_TIMESTAMP('25-08-200414:35:00','DD-MM-YYYY HH24:MI:SS')"11. FULL指定数据库模式导出,默认为N.语法如下:FULL={Y | N}为Y时,标识执行数据库导出.12. HELP指定是否显示EXPDP命令行选项的帮助信息,默认为N.当设置为Y时,会显示导出选项的帮助信息,示例如下:expdp help=y13. INCLUDE指定导出时要包含的对象类型及相关对象.语法如下:INCLUDE=object_type[:name_clause][,… ]示例如下:expdpscott/tiger DIRECTORY=dump DUMPFILE=a.dmp INCLUDE=trigger1.1.2 expdp选项14. JOB_NAME指定要导出作用的名称,默认为SYS_XXX.语法如下:JOB_NAME=jobname_string示例如下:expdpscott/tiger DIRECTORY=dump DUMPFILE=a.dmpINCLUDE=triggerJOB_NAME=exp_trigger后面想临时停止expdp任务时可以按Ctrl+C组合键,退出当前交互模式,退出之后导出操作不会停止,这不同于Oracle以前的EXP. 以前的EXP,如果退出交互式模式,就会出错终止导出任务. 在Oracle10g中,由于EXPDP是数据库内部定义的任务,已经与客户端无关. 退出交互之后,会进入export的命令行模式,此时支持status等查看命令:Export> status如果想停止改任务,可以发出stop_job命令:Export>stop_job如果有命令行提示: "是否确实要停止此作业([Y]/N):" 或"Are you sure you wish to stop this job ([yes]/no):", 回答应是yes或者no, 回答是YES以后会退出当前的export界面.接下来可以通过命令行再次连接到这个任务:expdp test/test@acf attach=expfull通过start_job命令重新启动导出:Export>start_jobExport> status15. LOGFILE指定导出日志文件文件的名称,默认名称为export.log.语法如下:LOGFILE=[directory_object:]file_namedirectory_object用于指定目录对象名称,file_name用于指定导出日志文件名.如果不指定directory_object.导出作用会自动使用DIRECTORY的相应选项值,示例如下:expdpscott/tiger DIRECTORY=dump DUMPFILE=a.dmp logfile=a.log16. NETWORK_LINK指定数据库链名,如果要将远程数据库对象导出到本地例程的转储文件中,必须设置该选项.expdp中使用连接字符串和network_link的区别:expdp属于服务端工具,而exp属于客户端工具,expdp生成的文件默认是存放在服务端的,而exp生成的文件是存放在客户端.expdp username/password@connect_string //对于使用这种格式来说,directory使用源数据库创建的,生成的文件存放在服务端。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
impdp导入模式:
1、按表导入
p_street_area.dmp文件中的表,此文件是以gwm用户按schemas=gwm导出的:
impdp gwm/gwm@fgisdb dumpfile =p_street_area.dmp logfile=imp_p_street_area.log directory=dir_dp tables=p_street_area job_name=my_job
WHERE t.table_name(+) = d.directory_name ORDER BY 2, 1;
3、执行导出
expdp zftang/zftang@fgisdb schemas=zftang directory=dir_dp dumpfile =expdp_test1.dmp logfile=expdp_test1.log;
4、导出方案
Expdp zftang/zftang DIRECTORY=dir_dp DUMPFILE=schema.dmp SCHEMAS=zftang,gwm
5、导出整个数据库:
expdp zftang/zftang@fgisdb dumpfile =full.dmp full=y logfile=full.log directory=dir_dp job_name=my_job
1、创建DIRECTORY
create directory dir_dp as 'E:\app\zhen\admin\orcl\dpdump';
2、授权
Grant read,write on directory dir_dp to ufgov;
--查看目录及权限
SELECT privilege, directory_name, DIRECTORY_PATH FROM user_tab_privs t, all_directories d
注:如果是用sys用户导出的用户数据,包括用户创建、授权部分,用自身用户导出则不含这些内容
--以下是将gwm用户下的数据全部导入到表空间gcomm(原来为gmapdata表空间下)下
impdp system/orcl directory=data_pump_dir dumpfile=gwm.dmp remap_tablespace=gmapdata:gcomm
数据泵导出的各种模式:
1、 按表模式导出:
expdp zftang/zftang@fgisdb tables=zftang.b$i_exch_info,zftang.b$i_manhole_info dumpfile =expdp_test2.dmp logfile=expdp_test2.log directory=dir_dp job_name=my_job
2、按查询条件导出:
expdp zftang/zftang@fgisdb tables=zftang.b$i_exch_info dumpfile =expdp_test3.dmp logfile=expdp_test3.log directory=dir_dp job_name=my_job query='"where rownum<11"'
3、按表空间导出:
Expdp zftang/zftang@fgisdb dumpfile=expdp_tablespace.dmp tablespaces=GCOMM.DBF logfile=expdp_tablespace.log directory=dir_dp job_name=my_job
3、不通过expdp的步骤ቤተ መጻሕፍቲ ባይዱ成dmp文件而直接导入的方法:
--从源数据库中向目标数据库导入表p_street_area
impdp gwm/gwm directory=dir_dp NETWORK_LINK=igisdb tables=p_street_area logfile=p_street_area.log job_name=my_job
igisdb是目的数据库与源数据的链接名,dir_dp是目的数据库上的目录
4、更换表空间
采用remap_tablespace参数
--导出gwm用户下的所有数据
expdp system/orcl directory=data_pump_dir dumpfile=gwm.dmp SCHEMAS=gwm
2、按用户导入(可以将用户信息直接导入,即如果用户信息不存在的情况下也可以直接导入)
impdp gwm/gwm@fgisdb schemas=gwm dumpfile =expdp_test.dmp logfile=expdp_test.log directory=dir_dp job_name=my_job