900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 备份数据库的expdp语句_Oracle expdp impdp导出导入命令及数据库备份(转)

备份数据库的expdp语句_Oracle expdp impdp导出导入命令及数据库备份(转)

时间:2021-03-09 15:36:13

相关推荐

备份数据库的expdp语句_Oracle expdp impdp导出导入命令及数据库备份(转)

使用EXPDP和IMPDP时应该注意的事项:

EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。

EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。

IMP只适用于EXP导出的文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出的文件,而不适用于EXP导出文件。

expdp或impdp命令时,可暂不指出用户名/密码@实例名 as 身份,然后根据提示再输入,如:

expdp schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;

一、创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建。

create directory dpdata1 as 'd:\test\dump';

二、查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错)

select * from dba_directories;

三、给scott用户赋予在指定目录的操作权限,最好以system等管理员赋予。

grant read,write on directory dpdata1 to scott;

四、导出数据

1)按用户导

expdp scott/tiger@orcl

schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;

2)并行进程parallel

expdp scott/tiger@orcl

directory=dpdata1 dumpfile=scott3.dmp parallel=40

job_name=scott3

3)按表名导

expdp scott/tiger@orcl

TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dpdata1;

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;

6)导整个数据库

expdp system/manager DIRECTORY=dpdata1 DUMPFILE=full.dmp

FULL=y;

五、还原数据

1)导到指定用户下

impdp scott/tiger DIRECTORY=dpdata1 DUMPFILE=expdp.dmp

SCHEMAS=scott;

2)改变表的owner

impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp

TABLES=scott.dept REMAP_SCHEMA=scott:system;

3)导入表空间

impdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp

TABLESPACES=example;

4)导入数据库

impdb system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp

FULL=y;

5)追加数据

impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp

SCHEMAS=system TABLE_EXISTS_ACTION

//imp/exp 导入说明

这个百度上一搜一大把,都说的很详细,楼主没搜过,

数据导出:

1 将数据库TEST完全导出,用户名system 密码manager 导出到D:daochu.dmp中

exp system/manager@TEST

file=d:daochu.dmp full=y

exp iframework/iframework@orcl

file=d:\iframework_001.dmp FULL=y

2 将数据库中system用户与sys用户的表导出

exp system/manager@TEST

file=d:daochu.dmp owner=(system,sys)

exp iframework/iframework@orcl

file=d:\iframework_001.dmpowner=iframework

3 将数据库中的表inner_notify、notify_staff_relat导出

exp aichannel/aichannel@TESTDB2

file= d:datanewsmgnt.dmp

tables=(inner_notify,notify_staff_relat)

4 将数据库中的表table1中的字段filed1以"00"打头的数据导出

exp system/manager@TEST

file=d:daochu.dmp tables=(table1) query=" where filed1 like

'00%'"

上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。

也可以在上面命令后面 加上 compress=y 来实现。

数据的导入

1 将D:daochu.dmp 中的数据导入 TEST数据库中。

imp system/manager@TESTfile=d:daochu.dmp

imp aichannel/aichannel@HUST

full=yfile=d:datanewsmgnt.dmp ignore=y

上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。

在后面加上 ignore=y 就可以了。

2 将d:daochu.dmp中的表table1 导入

imp system/manager@TESTfile=d:daochu.dmptables=(table1)

基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。

注意:

操作者要有足够的权限,权限不够它会提示。

数据库时可以连上的。可以用tnsping TEST 来获得数据库TEST能否连上。

当然,上面的方法在导出数据时可能会导出很大的包,那是因为你的用户可能在授权的时候授予了DBA的权限,所以可以采用下面方法来进行数据库备份:

数据库备份

建议系统过渡后,每周进行一次备份。或者在数据表发生重大改变前,对要改变的数据表进行备份。

执行以下步骤,进行备份。

在命令行里,敲入“cmd”,回车,进入命令行窗口。

在窗口中,输入:

exp mas/123456@mas

系统提示:输入数组提取缓冲区大小: 4096 >

可以直接回车;

系统提示:导出文件: EXPDAT.DMP>

此处输入导出文件的位置,其路径必须存在,Oracle在这里不会自动建立路径,但可以建立文件名。备份文件以dmp作为后缀。

输入内容如:e:\work\mas_db_090925v1.dmp 回车

系统提示: (1)E(完整的数据库),(2)U(用户) 或 (3)T(表): (2)U > u

此处可以输入u,也可以直接回车,因为系统此时默认的是U

系统提示:导出权限(yes/no):yes>回车

系统提示:导出表数据(yes/no):yes>回车

系统提示:压缩区(yes/no):yes>回车

系统提示:要导出的用户: (RETURN 以退出) > mas

系统提示:要导出的用户: (RETURN 以退出) > 回车

此时系统会自动进行备份

本文对Oracle数据的导入导出 imp ,exp 两个命令进行了介绍,

并对其相应的参数进行了说明,然后通过一些示例进行演练,加深理解.

文章最后对运用这两个命令可能出现的问题(如权限不够,不同oracle版本)进行了探讨,并提出了相应的解决方案;

本文部分内容摘录自网络,感谢网友的经验总结;

一.说明

oracle

的exp/imp命令用于实现对数据库的导出/导入操作;

exp命令用于把数据从远程数据库服务器导出至本地,生成dmp文件;

imp命令用于把本地的数据库dmp文件从本地导入到远程的Oracle数据库中。

二.语法

可以通过在命令行输入 imp help=y 获取imp的语法信息:

=============================================================================

C:\Documents and Settings\auduser>imp

help=y

Import: Release 9.0.1.1.1 - Production on 星期二

5月 20 18:21:57

(c) Copyright 2001 Oracle

Corporation.All rights reserved.

可以通过输入 IMP 命令和您的用户名/口令

后接用户名/口令的命令:

例程: IMP SCOTT/TIGER

或者, 可以通过输入 IMP 命令和各种参数来控制“导入”

按照不同参数。要指定参数,您可以使用关键字:

格式: IMP KEYWORD=value 或

KEYWORD=(value1,value2,...,vlaueN)

例程: IMP SCOTT/TIGER IGNORE=Y TABLES=(EMP,DEPT)

FULL=N

或 TABLES=(T1: P1,T1: P2),如果 T1 是分区表

USERID 必须是命令行中的第一个参数。

关键字说明(默认)关键字说明(默认)

--------------------------------------------------------------------------

USERID用户名/口令FULL导入整个文件 (N)

BUFFER数据缓冲区大小FROMUSER所有人用户名列表

FILE输入文件

(EXPDAT.DMP)TOUSER用户名列表

SHOW只列出文件内容 (N)

TABLES表名列表

IGNORE忽略创建错误 (N)RECORDLENGTHIO 记录的长度

GRANTS导入权限

(Y)INCTYPE增量导入类型

INDEXES 导入索引

(Y)COMMIT提交数组插入 (N)

ROWS导入数据行

(Y)PARFILE参数文件名

LOG屏幕输出的日志文件CONSTRAINTS导入限制 (Y)

DESTROY覆盖表空间数据文件 (N)

INDEXFILE将表/索引信息写入指定的文件

SKIP_UNUSABLE_INDEXES跳过不可用索引的维护 (N)

FEEDBACK每 x 行显示进度 (0)

TOID_NOVALIDATE跳过指定类型 ID 的验证

FILESIZE每个转储文件的最大大小

STATISTICS始终导入预计算的统计信息

RESUMABLE遇到与空格有关的错误时挂起 (N)

RESUMABLE_NAME用来标识可恢复语句的文本字符串

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。