教你如何使用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定时备份所有步骤详解
一连接数据库
输入命令: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数据库的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使用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导⼊导出表及表结构使⽤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⼯具将⽂件中的对象和数据导⼊到⼀个或是多个⽅案中。

  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..。

相关文档
最新文档