教你如何使用expdp和impdp备份和恢复数据库

合集下载

Oracle数据备份(exp.exe)、恢复工具(imp.exe)使用方法

Oracle数据备份(exp.exe)、恢复工具(imp.exe)使用方法

Oracle数据备份(exp.exe)、恢复工具(imp.exe)使用方法例子:exp svcm/svcm@zjzx owner=svcm rows=y indexes=n compress=n buffer=65536 file=d:\exp_svcm_20060323.dmp log=d:\imp_svcm_20060323.logimp sms/smssend@orazw fromuser=svcm touser=sms rows=y commit=y buffer=65536 file=d:\exp_svcm_20060323.dmp log=d:\imp_svcm_20060323.logexp 命令格式: EXP KEYWORD=value 或KEYWORD=(value1,value2,...,valueN)实例: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)或TABLES=(T1: P1,T1: P2),如果T1 是分区表USERID 必须是命令行中的第一个参数。

关键字说明(默认)---------------------------------------------------USERID 用户名/口令FULL 导出整个文件(N)BUFFER 数据缓冲区的大小OWNER 所有者用户名列表FILE 输出文件(EXPDAT.DMP)TABLES 表名列表COMPRESS 导入一个范围(Y)RECORDLENGTH IO 记录的长度GRANTS 导出权限(Y)INCTYPE 增量导出类型INDEXES 导出索引(Y)RECORD 跟踪增量导出(Y)ROWS 导出数据行(Y)PARFILE 参数文件名CONSTRAINTS 导出限制(Y)CONSISTENT 交叉表一致性LOG 屏幕输出的日志文件STATISTICS 分析对象(ESTIMATE)DIRECT 直接路径(N)TRIGGERS 导出触发器(Y)FEEDBACK 显示每x 行(0) 的进度FILESIZE 各转储文件的最大尺寸QUERY 选定导出表子集的子句下列关键字仅用于可传输的表空间TRANSPORT_TABLESPACE 导出可传输的表空间元数据(N)TABLESPACES 将传输的表空间列表imp 命令:或者, 可以通过输入IMP 命令和各种自变量来控制“导入”按照不同参数。

EXPDB_IMPDB导出数据库和导入数据库操作手册

EXPDB_IMPDB导出数据库和导入数据库操作手册

EXPDB_IMPDB导出数据库和导入数据库操作手册EXPDP/IMPDP导出导入操作手册1.介绍EXPDP/IMPDP 是 Oracle 数据库中提供的一种工具,用于导出和导入数据库中的数据和对象。

通过使用 EXPDP 可以将数据库中的指定数据表、视图、程序、触发器等对象导出到一个二进制文件中,而使用 IMPDP 可以将这个导出的文件再导入到一个新的数据库中。

2.环境设置在使用 EXPDP/IMPDP 前,需要进行一些环境设置。

首先,确保数据库已经以归档模式运行,并且存在一个有效的备份策略。

其次,确认当前用户具备使用 EXPDP/IMPDP 的权限,可以通过以下语句进行授权:```GRANT EXP_FULL_DATABASE, IMP_FULL_DATABASE TO username;```其中,`username` 是需要授权的用户名。

3.导出数据库要导出数据库,可以使用以下命令:```expdp username/passwordconnect_stringDIRECTORY=directory_name DUMP LOG```其中,`username` 是要导出数据的用户名,`password` 是该用户的密码,`connect_string` 是连接数据库的字符串,`directory_name` 是导出文件所在的目录,`dump` 是导出文件的名称,`log` 是导出日志文件的名称。

4.导入数据库要导入数据库,可以使用以下命令:```impdp username/passwordconnect_stringDIRECTORY=directory_name DUMP LOG```其中,`username` 是要导入数据的用户名,`password` 是该用户的密码,`connect_string` 是连接数据库的字符串,`directory_name` 是导入文件所在的目录,`dump` 是导入文件的名称,`log` 是导入日志文件的名称。

使用EXPDP|IMPDP替代EXP|IMP备份数据

使用EXPDP|IMPDP替代EXP|IMP备份数据

一、数据泵(Data Pump)主要解决的问题
1. 据说比 IMP/EXP 更加灵活, 支持多种元数据过滤策略, 多种导入/导出模式, 如将 A 库 B 用户导到 C 库中 D 用户, 则只需要 REMAP_SCHEMA 即可 2. 占用 USER 表空间问题。一直纠结的占用其他表空间问题可以用 REMAP_TABLESPACE 参数解决 3. 高版本数据导入到低版本问题。可以在 Oracle11g 中用 version 参数指定版本,在 Oracle10g 中导入。 4. 空表问题,Oracle11g 新的表并且表中无数据也未使用过则表的 SEGMENT 空间是不会分配的,这样在 EXP 时表 是导不出来的,这个问题的解决就是给表分配 SEGMENT 或使用 EXPDP 了 i. Select 'ALTER TABLE ' || TABLE_NAME || ' ALLOCATE EXTENT;' From user_tables WHERE NUM_ROWS=0, 将查询结果导出成 sql 脚本执行即可 ALTER SYSTEM SET DEFERRED_SEGMENT_CREATION=FALSE SCOPE=BOTH
指定。 有了这个目录指定之后,就可以使用 EXPDP 了。 2. 删除目录指定
Drop Directory AAA
几个参数
REMAP_SCHEMA 将一个方案中的对象加载到另一个方案。 REMAP_TABLE 将表名重新映射到另一个表。 例如, REMAP_TABLE=EMP.EMPNO:REMAPPKG.EMPNO。 REMAP_TABLESPACE 将表空间对象重新映射到另一个表空间。
SELECT * FROM dba_directories;

如何进行数据库备份与恢复

如何进行数据库备份与恢复

如何进行数据库备份与恢复数据库是一个组织和存储数据的系统。

备份和恢复数据库是非常重要的,可以保护数据免受丢失或损坏的影响。

本文将详细介绍如何进行数据库备份和恢复的步骤和最佳实践。

一、数据库备份1.选择备份策略:根据业务需求和数据重要性,选择适合的备份策略。

通常有完整备份、增量备份和差异备份等类型。

-完整备份:备份整个数据库。

-增量备份:备份上次完整备份后的变化数据。

-差异备份:备份上次完整备份后的所有变化数据。

2.确定备份时间:根据业务需求和数据库负载,选择合适的备份时间。

一般通过在数据库空闲时进行备份,以减少对业务运行的干扰。

3.选择备份工具:根据数据库类型选择合适的备份工具。

常用的数据库备份工具包括MySQL的mysqldump、PostgreSQL的pg_dump和Oracle的expdp等。

4.执行备份操作:根据选定的备份策略和工具,执行备份操作。

根据具体情况,可以备份整个数据库或者只备份特定的表、视图或数据。

5.备份文件存储:将备份文件存储在可靠的位置,确保备份文件不会丢失或损坏。

可以使用网络存储、磁带备份或云存储等方式。

6.备份文件验证:进行备份文件的验证,确保备份文件没有出现错误或损坏。

可以使用验证工具或命令行选项来验证备份文件的完整性。

二、数据库恢复1.备份文件准备:将备份文件移动到恢复服务器,并进行必要的准备工作。

2.选择恢复策略:根据备份类型和业务需求,选择合适的恢复策略。

常用的恢复策略包括完整恢复、部分恢复和点恢复等。

-完整恢复:将整个数据库恢复到最新的备份点。

-部分恢复:只恢复特定的表、视图或数据。

-点恢复:将数据库恢复到特定的时间点。

3.选择恢复工具:根据数据库类型选择合适的恢复工具。

常用的数据库恢复工具包括MySQL的mysql、PostgreSQL的pg_restore和Oracle的impdp等。

4.执行恢复操作:根据选定的恢复策略和工具,执行恢复操作。

确保在执行恢复操作前,数据库服务已经停止,以免造成数据冲突或损坏。

数据库备份与恢复的手动操作指南

数据库备份与恢复的手动操作指南

数据库备份与恢复的手动操作指南随着现代世界的不断发展,数据在各行各业的重要性越来越凸显。

对于一个企业或个人来说,数据库备份与恢复是保障数据安全和业务连续性的关键步骤。

本文将介绍数据库备份与恢复的手动操作指南,帮助您有效保护数据库中的重要数据。

一、数据库备份数据库备份是指将数据库中的数据复制到一个独立的存储设备上,以防止数据丢失或系统故障导致数据不可恢复。

下面是数据库备份的手动操作步骤:1. 确定备份策略:首先,您需要制定合理的备份策略。

备份策略包括备份频率、备份方式、备份目标等。

常见的备份方式有完全备份、增量备份和差异备份。

根据数据变化的频率和重要性,选择适当的备份方式。

2. 停止数据库的写入操作:在进行备份前,建议先停止数据库的写入操作,以避免备份过程中的数据不一致性。

您可以使用数据库管理工具或命令来暂停数据库的写入操作。

3. 选择备份工具:根据您使用的数据库类型,选择适合的备份工具。

常见的备份工具有MySQL的mysqldump和Oracle的expdp。

这些工具提供了灵活的备份选项和命令行接口,方便您定义备份的范围和方式。

4. 执行备份操作:通过备份工具的命令行接口或图形化界面,执行数据库的备份操作。

根据您的备份策略,将备份数据存储到指定的位置。

确保备份数据的完整性和有效性。

5. 验证备份:备份完成后,建议对备份数据进行验证。

您可以随机选择一部分数据进行恢复操作,以确保备份数据的可用性和完整性。

6. 设置定期自动备份:除了手动备份外,您还可以设置定期自动备份。

根据备份策略,定期执行备份操作,并将备份数据存储到指定位置。

自动备份能够提供一定程度的数据连续保护,减少人工干预和风险。

二、数据库恢复数据库恢复是指将备份数据还原到数据库中,以恢复被删除或损坏的数据。

下面是数据库恢复的手动操作步骤:1. 准备恢复环境:首先,您需要准备一个与备份数据兼容的数据库环境。

确保数据库版本或配置与备份数据一致。

数据泵方式备份与恢复使用说明

数据泵方式备份与恢复使用说明

数据泵方式备份与恢复使用说明
“expdp/impdp”的方式
oracle11g(11.2.0.1.0)里涉及到表分区,所以用expdp和impdp的命令。

1)create directory bdctest as 'E:\products\bdctest\DB';
请修改蓝色文字部分为合适的路径,供备份与恢复使用。

2)select * from dba_directories;
验证是否已经创建好。

在磁盘里创建步骤1)里创建的路径。

1、备份。

命令如下:
2、恢复。

命令如下:
在恢复库之前先要清空已有的用户及数据。

当前数据库不是一个空的库,即已经存在了通用用户或项目使用的用户、表空间和数据,则需要先DROP掉已经存在的用户,再创建用户并授权,表空间直接使用即可。

如果备份和恢复的机器的oracle版本不一致请增加“version=11.2.0.2.0”的参数来指定版本号。

例如:
指令中用到的各字段含义说明见下表:
注意:导入前一定要确保表空间足够大,否则造成导入失败需要重新导,很浪费时间。

此种备份与恢复的详细方法参见《Oracle_expdp_impdp用法详解.pdf》。

oracle用expdp定时备份所有步骤详解

oracle用expdp定时备份所有步骤详解

oracle用expdp定时备份所有步骤详解
一连接数据库
输入命令:sqlplus system/123456@orcl如果设置过可以用sq登录
其中system是登录数据库的用户名
123456是用户名的密码
orcl是数据库实例名称
二.创建备份目录
创建oracle的备份目录:
sql>create directory dpdata1 as 'D:\temp\dmp';
这仅仅是在oracle里设定的目录,并没有真正创建
●可以通过这句命令查看到这个目录
sql>select * from dba_directories;
●赋于要导出数据表的所属用户权限
sql>grant read,write on directory dpdata1 to sshe;
三备份命令
首先,要切换回命令窗口,不要再在sql>下运行,切换到expdp所在位置,如“C:\Program Files\oracle\product\10.2.0\db_1\BIN”,然后输入命令:expdp system/123456@orcl directory=dpdata1 dumpfile=sshe.dmp logfile=sshe.log schemas=sshe
四.还原命令
其中directory 需要设置为备份文件的路径(create directory dpdata1 as 'D:\temp\dmp';)
impdp system/123456@orcl directory=dpdata1 dumpfile=SSHE.DMP logfile=sshe.log schemas=sshe。

oracle中expimp备份还原工具的使用详解

oracle中expimp备份还原工具的使用详解

oracle中expimp备份还原工具的使用详解Oracle数据库的exp和imp命令是数据库备份和恢复的常用工具。

本文将详细介绍exp和imp命令的用法和具体步骤。

一、exp命令exp命令用于将Oracle数据库中的数据和对象导出到一个二进制文件中,以进行备份或迁移。

以下是exp命令的详细步骤:1. 登录到Oracle数据库的命令行界面。

2. 输入以下命令启动exp工具:其中,username是要导出数据的用户名,password是对应的密码,connection_string是连接数据库的字符串,包括主机名、端口号和服务名等信息。

3. exp工具启动后,会提示输入导出内容的方式。

可以选择导出全库、特定表或特定用户的数据。

输入相应的选项并按Enter键确定。

4. 接下来,exp工具会要求输入导出的目标文件名。

输入文件名并按Enter键确定。

5. 导出过程将开始执行。

exp工具会逐一导出数据库的数据和对象,并将其存储在目标文件中。

此过程可能需要一些时间,取决于数据库的大小和复杂性。

6. 导出完成后,在命令行中会显示相应的导出信息。

可以根据需要选择是否结束exp工具。

二、imp命令imp命令用于将exp命令导出的二进制文件恢复到Oracle数据库中。

以下是imp命令的详细步骤:1. 登录到Oracle数据库的命令行界面。

2. 输入以下命令启动imp工具:其中,username是要导入数据的用户名,password是对应的密码,connection_string是连接数据库的字符串,包括主机名、端口号和服务名等信息。

3. imp工具启动后,会提示输入导入内容的方式。

可以选择导入全库、特定表或特定用户的数据。

输入相应的选项并按Enter键确定。

4. 接下来,imp工具会要求输入导入的源文件名。

输入文件名并按Enter键确定。

5. 导入过程将开始执行。

imp工具会读取源文件中的数据和对象,并将其恢复到目标数据库中。

EXPDB和IMPDP使用

EXPDB和IMPDP使用

EXPDB和IMPDP使用EXPDP和IMPDP是Oracle数据库中用于导出和导入数据的工具。

EXPDP用于将数据库中的数据、对象和元数据导出为一个二进制文件,而IMPDP则用于将这个二进制文件导入到另一个数据库中。

本文将详细介绍EXPDP和IMPDP的使用方法。

EXPDP命令用于在Oracle数据库中导出数据。

它可以导出整个数据库、指定的表空间、指定的表或指定的数据集。

EXPDP提供了很多选项,可以控制导出的方式,比如导出数据的压缩级别、并发作业数、导出的内容等。

以下是一个基本的EXPDP命令示例:``````上述命令将从数据库中导出所有的数据,然后将数据保存到data.dmp文件中,日志信息保存在expdp.log文件中。

接下来是IMPDP命令的使用。

IMPDP可以用于将导出的数据文件导入到一个新的数据库中。

它也可以使用很多选项来控制导入过程,比如指定导入的表空间、指定导入的对象、并发作业数等。

以下是一个基本的IMPDP命令示例:``````上述命令将从data.dmp文件中导入数据到数据库中,日志信息保存在impdp.log文件中。

在实际使用EXPDP和IMPDP时,有一些常用的选项可以帮助我们更好地管理数据的导入和导出过程。

下面是一些常用的选项及其说明:-`SCHEMAS`:指定要导出或导入的模式或用户。

可以同时指定多个模式。

-`TABLES`:指定要导出或导入的表。

可以同时指定多个表。

-`INCLUDE`:指定要导出或导入的对象类型。

可以是表、索引、约束等。

-`EXCLUDE`:指定要排除的对象类型。

-`JOB_NAME`:用于标识导出或导入作业的名称。

-`FULL`:指定是否导出或导入整个数据库。

-`NETWORK_LINK`:用于从一个远程数据库导入数据。

-`REMAP_SCHEMA`:用于在导入时重新映射模式或用户。

除了上述常用选项外,EXPDP和IMPDP还提供了很多其他选项,用于更灵活地控制导入和导出过程。

oracle使用expdp、impdp和exp、imp导入导出表及表结构

oracle使用expdp、impdp和exp、imp导入导出表及表结构

oracle使⽤expdp、impdp和exp、imp导⼊导出表及表结构使⽤expdp、impdp和exp、imp时应该注重的事项:1、exp和imp是客户端⼯具程序,它们既可以在客户端使⽤,也可以在服务端使⽤。

2、expdp和impdp是服务端的⼯具程序,他们只能在oracle服务端使⽤,不能在客户端使⽤。

3、imp只适⽤于exp导出的⽂件,不适⽤于expdp导出⽂件;impdp只适⽤于expdp导出的⽂件,⽽不适⽤于exp导出⽂件。

4、对于10g以上的服务器,使⽤exp通常不能导出0⾏数据的空表,⽽此时必须使⽤expdp导出。

exp、imp导⼊导出sqlplus 进⼊数据库中导出直接在命令⾏下写命令1.导出⾃⼰的表exp userid=scott/tiger@myoral tables=(emp,dept) file=/opt/e1.dmp2.导出其它⽅案的表如果⽤户要导出其它⽅案的表,则需要dba的权限或是exp_full_database的权限,⽐如system就可以导出scott的表exp userid=system/manager@myoral tables=(scott.emp) file=d:\e2.emp3. 导出表的结构exp userid=scott/tiger@accp tables=(emp) file=/opt/e3.dmp rows=n4. 使⽤直接导出⽅式exp userid=scott/tiger@accp tables=(emp) file=/opt/e4.dmp direct=y这种⽅式⽐默认的常规⽅式速度要快,当数据量⼤时,可以考虑使⽤这样的⽅法。

这时需要数据库的字符集要与客户端字符集完全⼀致,否则会报错导出⽅案导出⽅案是指使⽤export⼯具导出⼀个⽅案或是多个⽅案中的所有对象(表,索引,约束...)和数据。

并存放到⽂件中1. 导出⾃⼰的⽅案exp userid=scott/tiger@myorcl owner=scott file=/opt/scott.dmp2. 导出其它⽅案如果⽤户要导出其它⽅案,则需要dba的权限或是exp_full_database的权限,⽐如system⽤户可以导出任何⽅案exp userid=system/manager@myorcl owner=(system,scott) file=/opt/system.dmp导出数据库导出数据库是指利⽤export导出所有数据库中的对象及数据,要求该⽤户具有dba的权限或者是exp_full_database权限增量备份(好处是第⼀次备份后,第⼆次备份就快很多了)exp userid=system/manager@myorcl full=y inctype=complete file=/opt/all.dmp导⼊1. 导⼊⾃⼰的表imp userid=scott/tiger@myorcl tables=(emp) file=/opt/xx.dmp2. 导⼊表到其它⽤户要求该⽤户具有dba的权限imp_full_database imp userid=system/tiger@myorcl tables=(emp) file=/opt/xx.dmp touser=scott3. 导⼊表的结构,只导⼊表的结构⽽不导⼊数据imp userid=scott/tiger@myorcl tables=(emp) file=/opt/xx.dmp rows=n4. 导⼊数据如果对象(如⽐表)已经存在可以只导⼊表的数据imp userid=scott/tiger@myorcl tables=(emp) file=/opt/xx.dmp ignore=y导⼊⽅案导⼊⽅案是指使⽤import⼯具将⽂件中的对象和数据导⼊到⼀个或是多个⽅案中。

expdb和impdb命令详解

expdb和impdb命令详解

6)其他参数
remap_schema和remap_tablespace
version=''
几个重要参数的说明一下:
remap_user 重新映射用户,格式:
remap_tablespace 重新映射表空间
table_exists_action 表已经存在的动作 有效关键字: (SKIP), APPEND, REPLACE 和 TRUNCATE
4)按查询条件导
expdp scott/tiger@orcl directory=dpdata1 dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';
5)按表空间导
expdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=temp,example;
exclude 跳过对象授权
expdp或impdp命令时,可暂不指出用户名/密码@实例名 as 身份,然后根据提示再输入,如:
expdp schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;
一、创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建。
grant read,write on directory dpdata1 to hip_empi;
四、导出数据
1)按用户导
11.2.0.1.0
expdp hip_ds/hip000@HIPDB DIRECTORY=dpdata1 schemas=hip_ds dumpfile=hip_ds.dmp ;

Oracle数据库备份与恢复的三种方法

Oracle数据库备份与恢复的三种方法

Oracle数据库备份与恢复的三种⽅法备份与恢复的三种⽅法Oracle数据库有三种标准的备份⽅法,它们分别是导出/导⼊(EXP/IMP)、热备份和冷备份。

导出备件是⼀种逻辑备份,冷备份和热备份是物理备份。

⼀、导出/导⼊(Export/Import) 利⽤Export可将数据从数据库中提取出来,利⽤Import则可将提取出来的数据送回到Oracle数据库中去。

1、简单导出数据(Export)和导⼊数据(Import) Oracle⽀持三种⽅式类型的输出: (1)、表⽅式(T⽅式),将指定表的数据导出。

(2)、⽤户⽅式(U⽅式),将指定⽤户的所有对象及数据导出。

(3)、全库⽅式(Full⽅式),瘵数据库中的所有对象导出。

数据导⼊(Import)的过程是数据导出(Export)的逆过程,分别将数据⽂件导⼊数据库和将数据库数据导出到数据⽂件。

2、增量导出/导⼊ 增量导出是⼀种常⽤的数据备份⽅法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。

在进⾏此种导出时,不要求回答任何问题。

导出⽂件名缺省为export.dmp,如果不希望⾃⼰的输出⽂件定名为export.dmp,必须在命令⾏中指出要⽤的⽂件名。

增量导出包括三种类型: (1)、“完全”增量导出(Complete) 即备份三个数据库,⽐如:exp system/manager inctype=complete file=040731.dmp (2)、“增量型”增量导出 备份上⼀次备份后改变的数据,⽐如:exp system/manager inctype=incremental file=040731.dmp (3)、“累积型”增量导出 累计型导出⽅式是导出⾃上次“完全”导出之后数据库中变化了的信息。

⽐如:exp system/manager inctype=cumulative file=040731.dmp 数据库管理员可以排定⼀个备份⽇程表,⽤数据导出的三个不同⽅式合理⾼效的完成。

oracle数据库备份与还原方法

oracle数据库备份与还原方法

oracle数据库备份与还原方法一、Oracle数据库备份方法。

1.1 冷备份。

冷备份是在数据库关闭状态下进行的备份。

这就好比是给一个睡着的人做全身检查,一切都是静止的,好操作。

你得把数据库相关的文件,像数据文件、控制文件、重做日志文件等一股脑儿地拷贝到一个安全的地方。

这种备份方法简单直接,但是呢,在备份期间数据库是不能使用的,就像你要修东西得先把它停下来一样,有点不方便。

不过它恢复起来也相对容易,就像把之前拷贝走的东西再原封不动地拿回来就好。

1.2 热备份。

热备份可就不一样啦,它是在数据库运行的时候进行备份的。

这就像是给一个正在跑步的人换鞋子,难度不小。

热备份主要是利用归档模式,对表空间或者数据文件进行备份。

这种方式不影响数据库的正常使用,就像在火车行驶的时候给它换个小零件,火车还能继续跑。

但是热备份的操作相对复杂一些,需要对Oracle数据库有比较深入的了解,不然很容易搞砸,那可就“偷鸡不成蚀把米”了。

1.3 逻辑备份。

逻辑备份呢,是通过Oracle的工具,比如EXP或者EXPDP来进行的。

这就像是把数据库里的数据按照一定的逻辑规则整理出来,打包带走。

它可以备份特定的表、用户或者整个数据库。

这种备份方式比较灵活,就像你可以从一个大仓库里挑选你想要备份的东西。

但是逻辑备份的速度可能会比较慢,特别是数据量很大的时候,就像小马拉大车,有点吃力。

二、Oracle数据库还原方法。

2.1 冷备份还原。

如果是冷备份还原,那就简单多啦。

首先把数据库关闭,然后把之前备份的文件再拷贝回原来的位置,就像把东西放回原位一样。

不过要注意文件的权限和路径,可不能张冠李戴。

一切就绪后,再启动数据库,就大功告成了。

这就像把修好的东西重新启动,又能正常工作了。

2.2 热备份还原。

热备份还原就复杂得多了。

首先要根据备份的情况,确定需要还原的表空间或者数据文件。

然后利用归档日志和备份文件进行恢复。

这过程就像走钢丝,得小心翼翼的。

expdp、impdp用法详解

expdp、impdp用法详解

expdp、impdp⽤法详解Oracle数据泵⼀、数据泵的作⽤:1.实现逻辑备份和逻辑恢复2.在数据库⽤户之间移动对象3.在数据库之间移动对象4.实现表空间转移⼆、数据泵的特点与传统导出导⼊的区别1.EXP和IMP是客户段⼯具程序, EXPDP和IMPDP是服务端的⼯具程序2.EXP和IMP效率⽐较低. EXPDP和IMPDP效率⾼3.数据泵功能强⼤并⾏、过滤、转换、压缩、加密、交互等等4.数据泵不⽀持9i以前版本, EXP/IMP短期内还是⽐较适⽤5.同exp/imp数据泵导出包括导出表,导出⽅案,导出表空间,导出数据库4种⽅式.三、DATA PUMP的体系结构:四、EXPDP语法介绍:数据泵导出实⽤程序提供了⼀种⽤于在 Oracle 数据库之间传输数据对象的机制。

该实⽤程序可以使⽤以下命令进⾏调⽤:⽰例: expdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp您可以控制导出的运⾏⽅式。

具体⽅法是: 在 'expdp' 命令后输⼊各种参数。

要指定各参数,请使⽤关键字:格式: expdp KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN) ⽰例: expdp scott/tiger DUMPFILE=scott.dmp DIRECTORY=dmpdir SCHEMAS=scott或 TABLES=(T1:P1,T1:P2), 如果 T1 是分区表USERID 必须是命令⾏中的第⼀个参数。

关键字说明 (默认)------------------------------------------------------------------------------ATTACH 连接到现有作业, 例如 ATTACH [=作业名]。

COMPRESSION 减⼩有效的转储⽂件内容的⼤⼩ 关键字值为: (METADATA_ONLY) 和 NONE。

数据泵expdp impdp 和exp imp工具命令参数中文说明

数据泵expdp impdp 和exp imp工具命令参数中文说明

一、数据泵EXPDP命令参数中文说明#通过在命令行输入expdp help=y 获取imp的语法信息Export: Release 11.2.0.1.0 - Production on 星期五10月10 12:25:21 2019Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.数据泵导出实用程序提供了一种用于在Oracle 数据库之间传输数据对象的机制。

该实用程序可以使用以下命令进行调用:示例: expdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp您可以控制导出的运行方式。

具体方法是: 在'expdp' 命令后输入各种参数。

要指定各参数, 请使用关键字:格式: expdp KEYWORD=value 或KEYWORD=(value1,value2,...,valueN)示例: expdp scott/tiger DUMPFILE=scott.dmp DIRECTORY=dmpdir SCHEMAS=scott 或TABLES=(T1:P1,T1:P2), 如果T1 是分区表USERID 必须是命令行中的第一个参数。

------------------------------------------------------------------------------以下是可用关键字和它们的说明。

方括号中列出的是默认值。

ATTACH连接到现有作业。

例如, ATTACH=job_name。

COMPRESSION减少转储文件大小。

有效的关键字值为: ALL, DATA_ONLY, [METADATA_ONLY] 和NONE。

CONTENT指定要卸载的数据。

有效的关键字值为: [ALL], DATA_ONLY 和METADATA_ONLY。

oracle数据库备份与恢复方法

oracle数据库备份与恢复方法

oracle数据库备份与恢复方法
Oracle数据库备份与恢复是确保数据安全和可靠性的重要方面。

备份是指将数据库中的数据复制到另一个位置,以便在数据丢失或
损坏时进行恢复。

恢复则是指在发生故障或数据丢失时,通过备份
数据来恢复数据库到之前的状态。

一、备份方法:
1. 物理备份,物理备份是通过操作系统级别的工具(如RMAN)将数据库文件直接复制到备份位置。

可以使用RMAN命令行或图形界
面工具来执行物理备份。

2. 逻辑备份,逻辑备份是通过导出数据到逻辑文件(如SQL脚
本或数据泵文件)来进行备份。

可以使用expdp和impdp命令来执
行逻辑备份和恢复。

二、恢复方法:
1. 完全恢复,在数据库严重损坏或丢失时,可以使用完全备份
进行完全恢复。

这涉及将数据库恢复到备份时的状态,并应用任何
后续的归档日志以实现完整的恢复。

2. 不完全恢复,在某些情况下,可能只需恢复部分数据文件或表空间。

这可以通过RMAN进行部分恢复来实现。

除了上述备份和恢复方法外,还有一些其他注意事项和最佳实践:
定期备份,建立合理的备份策略,包括完整备份、增量备份和归档日志备份,以确保数据的及时备份和恢复。

测试恢复,定期测试备份和恢复过程,以确保备份数据的完整性和可用性。

数据库保护,使用冗余服务器、存储冗余和灾难恢复计划来保护数据库免受硬件故障、自然灾害和人为错误的影响。

综上所述,Oracle数据库备份与恢复是确保数据安全和可靠性的重要措施,通过合理的备份策略和恢复方法,可以最大程度地保护数据库免受数据丢失和损坏的影响。

数据泵 恢复整个数据的方法

数据泵 恢复整个数据的方法

数据泵恢复整个数据的方法在进行整个数据恢复之前,我们首先需要了解数据泵的基本概念和使用方法。

数据泵主要包含两个工具:导出工具(expdp)和导入工具(impdp)。

导出工具用于将数据从数据库导出到外部文件,而导入工具用于将外部文件中的数据导入到数据库中。

下面将详细介绍使用这两个工具进行整个数据恢复的方法。

第一步是使用导出工具将数据导出到外部文件。

我们可以通过以下命令来执行导出操作:expdp username/password@connect_string DIRECTORY=directory_name DUMPFILE=dumpfile_name其中,username是数据库用户的名称,password是用户的密码,connect_string是数据库的连接字符串,directory_name是导出文件存放的目录名称,dumpfile_name是导出文件的名称。

执行该命令后,数据泵将开始导出数据库中的数据,并将其保存到指定的外部文件中。

第二步是使用导入工具将外部文件中的数据导入到数据库中。

我们可以通过以下命令来执行导入操作:impdp username/password@connect_string DIRECTORY=directory_name DUMPFILE=dumpfile_name与导出工具类似,这里的参数意义也相同。

执行该命令后,导入工具将读取指定的外部文件,并将其中的数据导入到数据库中。

需要注意的是,在执行导入操作之前,我们需要先创建一个与导出时相同的数据库用户,并为其分配相应的权限。

这样,在导入数据时,导入工具才能够正确地将数据导入到数据库中。

使用数据泵进行整个数据恢复的方法主要包括两个步骤:导出数据和导入数据。

通过这种方法,我们可以方便地将数据库中的数据导出到外部文件,并在需要时将其重新导入到数据库中,实现整个数据的恢复。

数据泵作为Oracle数据库提供的强大工具,不仅可以用于整个数据恢复,还可以用于数据备份、数据迁移等操作。

ORACLE数据库数据泵备份与恢复

ORACLE数据库数据泵备份与恢复

ORACLE数据库数据泵备份与恢复EXPDP和IMPDP是服务端的⼯具程序,他们只能在ORACLE服务端使⽤,不能在客户端使⽤。

IMP只适⽤于EXP导出的⽂件,不适⽤于EXPDP导出⽂件;IMPDP只适⽤于EXPDP导出的⽂件,⽽不适⽤于EXP导出⽂件。

⼀、expdp和impdp的使⽤1.创建⽬录create directory DBBAK as '/bak'; #DBBAK名称可以随便命名需要⼿⼯创建/bak,并且此⽬录oracle⽤户有读取写⼊权限2.查看所有⽬录select * from dba_directories;3.给test⽤户赋予在指定⽬录的操作权限,最好⽤root⽤户赋予。

grant read,write on directory DBBAK to test;4.导出数据1)按⽤户导expdp test/test@orcl schemas=test dumpfile=expdp.dmp DIRECTORY=DBBAK logfile=expdp.log2)并⾏进程parallelexpdp test/test@orcl directory=DBBAK dumpfile=expdp1.dmp parallel=10 job_name=test13)按表名导expdp test/test@orcl TABLES=table01,table02 dumpfile=expdp2.dmp DIRECTORY=DBBAK;4)按查询条件导expdp test/test@orcl directory=DBBAK dumpfile=expdp4.dmp Tables=table01 query='WHERE id=001';5)按表空间导expdp system/system DIRECTORY=DBBAK DUMPFILE=tablespace.dmp TABLESPACES=test,USERS;6)导整个数据库expdp system/system DIRECTORY=DBBAK DUMPFILE=full.dmp FULL=y;5、创建表空间及⽤户create tablespace test datafile '+data/test/datafile/data01.dbf' size 32000M;alter tablespace test add datafile '+data2/test/datafile/users02.dbf' size 32000M;create user test identified by test default tablespace TEST temporary tablespace TEMP;grant connect,resource,dba to test;grant read,write on directory DBBAK to test;6、还原数据1)导到指定⽤户下impdp test1/test1@orcl DIRECTORY=DBBAK DUMPFILE=expdp.dmp SCHEMAS=test logfile=impdp.log2)改变表的ownerimpdp system/system DIRECTORY=DBBAK DUMPFILE=expdp2.dmp TABLES=test.table01REMAP_SCHEMA=test1:table11;3)导⼊表空间impdp system/system DIRECTORY=DBBAK DUMPFILE=tablespace.dmp TABLESPACES=test;4)导⼊数据库impdb system/system DIRECTORY=DBBAK DUMPFILE=full.dmp FULL=y;5)追加数据impdp system/system DIRECTORY=DBBAK DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION7、查看数据是否⼀致select OBJECT_TYPE,COUNT(*) from all_objects where OWNER='TEST' group by OBJECT_TYPE;⼆、expdp详细参数可以通过 expdp help=y查看1.CONTENT 指定要导出的数据其中有效关键字为:(ALL), (默认)导出结构和数据DATA_ONLY:只导出数据METADATA_ONLY:只导出结构2.DIRECTORY 供转储⽂件和⽇志⽂件使⽤的⽬录对象3.DUMPFILE ⽬标转储⽂件 (expdat.dmp) 的列表例如 DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.d4.INCLUDE 包括特定的对象类型例如 INCLUDE=PACKAGE,FUNCTION,PROCEDURE,TABLE:"='EMP'"5.EXCLUDE 排除特定的对象类型与INCLUDE相反6.TABLES 标识要导出的表的列表7.SCHEMAS 要导出的⽅案的列表可⽀持多个schemas=(user01,user02,user03)8.TABLESPACES 标识要导出的表空间的列表9.ATTACH 连接到现有作业, 例如 ATTACH [=作业名]PRESSIONALL :对导出的元数据和表数据都进⾏压缩,得到的导出⽂件是最⼩的,耗时也是最长的。

使用expdp以及impdp导入导出数据库

使用expdp以及impdp导入导出数据库

使用数据泵备分恢复数据库特别注意:以下介绍的EXPDP、IMPDP命令最后面不允许使用分号“;”结尾否则命令会报错使用expdp以及impdp导入导出数据库用户的效率比exp、imp要快很多,下面介绍具体的操作方式:一、创建备份目录并授权注意,备份目录是指服务器上的目录,需要首先在相应的目录上创建目录,且创建以及指向的目录所在的盘符要具备相应的空间。

C:\sqlplus user/password@orclSQL> create directory databf as 'd:\oracle\bf'; 创建备份或者导出时指向的目录目录已创建。

SQL> grant read, write on directory databf to nc57;授权成功。

二、备份导出expdp nc57/nc57@orcl DIRECTORY=databf DUMPFILE=nc57.dmp logfile=expnc57.log SCHEMAS=nc57,nc56上述命令导出了两个用户:NC57、NC56二、备份的数据的恢复注意:由于备份的数据是在服务器上的,所以如果要恢复到其他机器上,需要先把备份的数据拷贝到目标服务器上。

同样需要先指定备份的目录:C:\sqlplus user/password@orclSQL> create directory databf as 'd:\oracle\bf'; 创建备份或者导出时指向的目录目录已创建。

备份之前首先要创建用户,然后授权:grant read,write on directory databf to nc57;成功。

D:\oracle\bf>impdp nc57/1@orcl directory=databf dumpfile=nc5710131220.dmp remap_schema=nc57:nc571上述命令把原导出的用户nc57导入到用户nc571中导入时使用exclude=table_statistics 可以避免导入table_statistics出现问题样例:expdp system/sys@orcl92 directory=databf dumpfile=nc57_zzyxwt.dmp logfile=expzzyx.log schemas=nc57px exclude=table:\"like\'H%\'\" exclude=table:\"like\'WA%\'\" exclude=table:\"like\'RM_%\'\" exclude=table:\"like\'FA%\'\" exclude=table_statistics query='WHERE deptno=20'expdp system/sys@orcl92 directory=databf dumpfile=nc57_zzyxwt1.dmp logfile=expzzyx1.log schemas=nc57px exclude=table:\"not like\'BD_PSNBASDO%\'\" exclude=table_statisticsimpdp system/sys@orcl92 directory=databf dumpfile=nc57_zzyxwt.dmp logfile=impzzyx.log remap_schema=nc57px:test exclude=table:\"like\'NTB%\'\"详细说明:数据泵文件expdp介绍EXPDP命令行选项1. ATTACH该选项用于在客户会话与已存在导出作用之间建立关联.语法如下ATTACH=[schema_name.]job_nameSchema_name用于指定方案名,job_name用于指定导出作业名.注意,如果使用ATTAC H选项,在命令行除了连接字符串和ATTACH选项外,不能指定任何其他选项,示例如下: Expdp scott/tiger ATTACH=scott.export_job2. CONTENT该选项用于指定要导出的内容.默认值为ALLCONTENT={ALL | DATA_ONLY | METADATA_ONLY}当设置CONTENT为ALL时,将导出对象定义及其所有数据.为DATA_ONLY时,只导出对象数据,为METADATA_ONLY时,只导出对象定义Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dump CONTENT=METAD ATA_ONLY3. DIRECTORY指定转储文件和日志文件所在的目录DIRECTORY=directory_objectDirectory_object用于指定目录对象名称.需要注意,目录对象是使用CREATE DIRECTO RY语句建立的对象,而不是OS目录Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dump4. DUMPFILE用于指定转储文件的名称,默认名称为expdat.dmpDUMPFILE=[dir ectory_object:]file_name [,….]Directory_object用于指定目录对象名,file_name用于指定转储文件名.需要注意,如果不指定directory_object,导出工具会自动使用DIRECTORY选项指定的目录对象Expdp scott/tiger DIRECTORY=dump1 DUMPFILE=dump2:a.dmp5. ESTIMATE指定估算被导出表所占用磁盘空间分方法.默认值是BLOCKSESTIMATE={BLOCKS | STATISTICS}设置为BLOCKS时,oracle会按照目标对象所占用的数据块个数乘以数据块尺寸估算对象占用的空间,设置为STATISTICS时,根据最近统计值估算对象占用空间Expdp scott/tiger TABLES=emp ESTIMATE=STATISTICS DIRECTORY=dump DUMPFILE=a.dump6. ESTIMATE_ONLY指定是否只估算导出作业所占用的磁盘空间,默认值为NEXTIMATE_ONLY={Y | N}设置为Y时,导出作用只估算对象所占用的磁盘空间,而不会执行导出作业,为N时,不仅估算对象所占用的磁盘空间,还会执行导出操作.Expdp scott/tiger ESTIMATE_ONLY=y NOLOGFILE=y7. EXCLUDE(具体见2、Exclude导出用户中指定类型的指定对象)该选项用于指定执行操作时释放要排除对象类型或相关对象EXCLUDE=object_type[:name_clause] [,….]Object_type用于指定要排除的对象类型,name_clause用于指定要排除的具体对象.EX CLUDE和INCLUDE不能同时使用Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dup EXCLUDE=VIEW8. FILESIZE指定导出文件的最大尺寸,默认为0,(表示文件尺寸没有限制)9. FLASHBACK_SCN指定导出特定SCN时刻的表数据FLASHBACK_SCN=scn_valueScn_value用于标识SCN值.FLASHBACK_SCN和FLASHBACK_TIME不能同时使用Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp FLASHBACK_SCN=3 5852310. FLASHBACK_TIME指定导出特定时间点的表数据FLASHBACK_TIME=”TO_TIMESTAMP(time_value)”Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp FLASHBACK_TIME=“TO_TIMESTAMP(‟25-08-2004 14:35:00‟,‟DD-MM-YYYY HH24:MI:SS‟)”11. FULL指定数据库模式导出,默认为NFULL={Y | N}为Y时,标识执行数据库导出.12. HELP指定是否显示EXPDP命令行选项的帮助信息,默认为N当设置为Y时,会显示导出选项的帮助信息.Expdp help=y13. INCLUDE(具体见1、Include导出用户中指定类型的指定对象)指定导出时要包含的对象类型及相关对象INCLUDE = object_type[:name_clause] [,… ]14. JOB_NAME指定要导出作用的名称,默认为SYS_XXXJOB_NAME=jobname_stringSELECT * FROM DBA_DATAPUMP_JOBS;--查看存在的job15. LOGFILE指定导出日志文件文件的名称,默认名称为export.logLOGFILE=[directory_object:]file_nameDirectory_object用于指定目录对象名称,file_name用于指定导出日志文件名.如果不指定directory_object.导出作用会自动使用DIRECTORY的相应选项值.Expdp scott/tiger DIRECTORY=dump DUMPFILE=a.dmp logfile=a.log16. NETWORK_LINK指定数据库链名,如果要将远程数据库对象导出到本地例程的转储文件中,必须设置该选项. 如:expdp gwm/gwm directory=dir_dp NETWORK_LINK=igisdb tables=p_str eet_area dumpfile =p_street_area.dmp logfile=p_street_area.log job_na me=my_jobigisdb是目的数据库与源数据的链接名,dir_dp是目的数据库上的目录而如果直接用使用连接字符串(@fgisdb),expdp属于服务端工具,expdp生成的文件默认是存放在服务端的17. NOLOGFILE该选项用于指定禁止生成导出日志文件,默认值为N.18. PARALLEL指定执行导出操作的并行进程个数,默认值为1注:并行度设置不应该超过CPU数的2倍,如果cpu为2个,可将PARALLEL设为2,在导入时速度比PARALLEL为1要快而对于导出的文件,如果PARALLEL设为2,导出文件只有一个,导出速度提高不多,因为导出都是到同一个文件,会争抢资源。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

教你如何使用expdp和impdp命令备份和恢复Oracle数据库
create directory aa as 'D:\aa';
grant read,write on directory aa to king2;
expdp king2/king2test02 schemas=king2 directory=aa dumpfile=expuser.dmp
第一步:创建一个目录(也就是文件路径)来装导出的dmp文件
方法:操作系统—开始—运行输入“cmd”进入dos界面输入“sqlplus/nolog”按回车如下图:
连接数据库,输入:conn sys/king2test02 as sysdba(注意sys用户一定要用sysdba角色登录哦) 回车如下图:
接着,创建DIRECTORY
create directory dir_dp as 'D:\oracle\dir_dp';
这里要注意,路径D:\oracle\dir_dp一定要是系统已经存在的了,如果该路径不存在,下边的导出将会提示
正确创建了路径的显示如下:
第二步:授权(授予要导入数据的用户对该目录(路径)进行读和写的权限),还是在连接数据库的状态下输入:
Grant read,write on directory dir_dp to lttfm;
如下图:
就完成了,关闭窗口,重新进入dos界面就可以进行备份了;
第三步:执行导出
expdp lttfm/lttfmfgisdb schemas=lttfm directory=dir_dp dumpfile =expdp_test1.dmp logfile=expdp_test1.log;
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1
With the Partitioning, OLAP and Data Mining options
启动"LTTFM"."SYS_EXPORT_SCHEMA_01": lttfm/********fgisdb sch
ory=dir_dp dumpfile =expdp_test1.dmp logfile=expdp_test1.log; */
备注:
1、directory=dir_dp必须放在前面,如果将其放置最后,会提示ORA-39002: 操作无效
ORA-39070: 无法打开日志文件。

ORA-39087: 目录名DATA_PUMP_DIR; 无效2、在导出过程中,DATA DUMP 创建并使用了一个名为SYS_EXPORT_SCHEMA_01的对象,此对象就是DATA DUMP导出过程中所用的JOB名字,如果在执行这个命令时如果没有指定导出的JOB名字那么就会产生一个默认的JOB名字,如果在导出过程中指定JOB 名字就为以指定名字出现
如下改成:
expdp lttfm/lttfmfgisdb schemas=lttfm directory=dir_dp dumpfile =expdp_test1.dmp logfile=expdp_test1.log,job_name=my_job1;
3、导出语句后面不要有分号,否则如上的导出语句中的job表名为‘my_job1;’,而不是my_job1。

因此导致expdp lttfm/lttfm attach=lttfm.my_job1执行该命令时一直提示找不到job表
说明:
数据泵导出的各种模式:
1、按表模式导出:
expdp lttfm/lttfmfgisdb tables=lttfm.b$i_exch_info,lttfm.b$i_manhole_info dumpfile =expdp_test2.dmp logfile=expdp_test2.log directory=dir_dp job_name=my_job
2、按查询条件导出:
expdp lttfm/lttfmfgisdb tables=lttfm.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 lttfm/lttfmfgisdb dumpfile=expdp_tablespace.dmp tablespaces=GCOMM.DBF logfile=expdp_tablespace.log directory=dir_dp job_name=my_job
4、导出方案
Expdp lttfm/lttfm DIRECTORY=dir_dp DUMPFILE=schema.dmp SCHEMAS=lttfm,gwm
5、导出整个数据库:
expdp lttfm/lttfmfgisdb dumpfile =full.dmp full=y logfile=full.log directory=dir_dp job_name=my_job
成功案例:
原来电脑中已经存在目录(这里的king222dmp是手动的电脑中右键新建的,在Oracle 数据库命令中将不会创建新的目录):
. .. .
impdp
手工导入用户的时候要特别注意,数据库中不能够有与导出用户同名的用户,否则会报错数据已经存在,不能够成功导入。

因为impdp导用户入数据库的时候,如果数据库中没有该用户存在的时候会自动创建该用户。

导入语法如下:
Impdp king2/king2test02 schemas=king2 directory=aa dumpfile=king.dmp
..w..。

相关文档
最新文档