专业只做数据库实训和认证的品牌机构

微信公众号新浪微博
免费咨询电话:400-0909-964
当前位置: 网站首页 > DBA实战 > DBA课程 > DBA基础课程:Oracle备份恢复-数据泵

DBA基础课程:Oracle备份恢复-数据泵

文章来源: 更新时间:2016/6/24 13:33:44

在线老师点击咨询:

最新学讯:近期OCP认证正在报名中,因考试人员较多请尽快报名获取最近考试时间,报名费用请联系在线老师,甲骨文官方认证,报名从速!

我要咨询

DBA基础课程:Oracle备份恢复-数据泵

平台:redhat linux as5,Oracle10g

Oracle10g 引入了最新的数据泵(Data Dump)技术,使得DBA或应用开发人员可以将数据库的元数据库和数据快速移动到别一个Oracle数据库中,因为它可以导出数据库(表空间等),所以也叫逻辑备份,数据泵导出导入命今行选项非常多,大家可以到联机文档查看各个选项的用法.,本文详细介绍最常用的导出导入数据库表空间,然后介绍如何导入导出整个数据库及数据文件等

表空间

导出表空间

先准备一个表空间,并建表

SQL> conn y/123

SQL> create tablespace test1 datafile '/home/oracle/oracle/oradata/db2/test1.dbf' size 10M;

SQL> create table test1(i number) tablespace test1;

SQL> insert into test1 values(10);

SQL> commit;

SQL> select * from test1;

I

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

10

建立dumpdir目录,并给用户y赋权

[Oracle@Oracle]# mkdir /dumpdir

SQL> create directory dumpdir as '/rman';

SQL> conn sys as sysDBA

SQL> grant read,write on directory dumpdir to y;

SQL> grant DBA to y;

SQL> conn y/123

分析表test1是否满足导出条件

SQL> alter tablespace test1 read only;

Tablespace altered.

SQL> exec sys.dbms_tts.transport_set_check('test1',true);

PL/SQL procedure successfully completed.

SQL> select * from sys.transport_set_violations;

no rows selected

#可见没有不满足的数据

导出表空间

SQL> ! expdp directory=dumpdir dumpfile=tbs.dmp transport_tablespaces=test1

Username: sys as sysDBA

Password:

Export: Release 10.2.0.4.0 - Production on Saturday, 13 June, 2009 1:58:13

Copyright (c) 2003, 2007, Oracle. All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

Starting "Y"."SYS_EXPORT_TABLESPACE_01": y/******** directory=dumpdir dumpfile=ttbs.dmp tablespaces=t

Estimate in progress using BLOCKS method...

Processing object type TABLE_EXPORT/TABLE/TABLE_DATA

Total estimation using BLOCKS method: 64 KB

Processing object type TABLE_EXPORT/TABLE/TABLE

Processing object type TABLE_EXPORT/TABLE/INDEX/INDEX

Processing object type TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT

Processing object type TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS

Processing object type TABLE_EXPORT/TABLE/COMMENT

. . exported "Y"."T" 4.906 KB 1 rows

Master table "Y"."SYS_EXPORT_TABLESPACE_01" successfully loaded/unloaded

******************************************************************************

Dump file set for Y.SYS_EXPORT_TABLESPACE_01 is:

/dumpdir/tbs.dmp

Job "Y"."SYS_EXPORT_TABLESPACE_01" successfully completed at 01:58:42

没有报错,已成功导出表空间test1

2.导入表空间

现在把刚才导出的表空间导入到别一个数据库(2)中

在数据库(2)建dumpdir目录,把库1导出的tbs.dmp复制到dumpdir同时把库1的数据文件test1.dbf复制到库2的/home/oracle/oracle/oradata/db2/

#库2的IP为192.168.1.2

[Oracle@Oracle22]$ mkdir /dumpdir

[Oracle@Oracle11]$ scp /dumpdir/tbs.dmp root@192.168.1.2:/dumpdir/

[Oracle@Oracle11]$ scp /home/oracle/oracle/oradata/test1.dbf

root@192.168.1.2:/home/oracle/oracle/oradata/db2/

开始导入(以下在库2操作)

SQL> ! impdp directory=dumpdir dumpfile=tbs.dmp transport_datafiles='/home/oracle/oracle/oradata/db2/test1.dbf'

Username: sys as sysDBA

Password:

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

ORA-31655: no data or metadata objects selected for job

Master table "SYS"."SYS_IMPORT_TABLESPACE_01" successfully loaded/unloaded

Starting "SYS"."SYS_IMPORT_TABLESPACE_01": sys/******** AS SYSDBA directory=dumpdir dumpfile=ttbs.dmp tablespaces=tt

Processing object type TABLE_EXPORT/TABLE/TABLE_DATA

Job "SYS"."SYS_IMPORT_TABLESPACE_01" successfully completed at 04:53:23

导入成功,但这时表空间为offline状态,

现在把表空间online就可以查到表test1的数据了,如下:

SQL> select tablespace_name,status from DBA_tablespaces where tablespace_name='TEST';

TABLESPACE_NAME STATUS

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

SYSTEM ONLINE

TEST1 OFFLINE

把表空间online并查看test1表

SQL> alter tablespace test1 online;

SQL> alter tablespace test1 read write;

SQL> select * from test1;

I

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

10

OK了,成功把表空间test1从库1导入到库2

其它导入导出

1.导出

expdp directory=dumpdir dumpfile=full.dmp full=y

expdp directory=dumpdir dumpfile=tbs.dmp tablespaces=test1,test2

expdp directory=dumpdir dumpfile=table.dmp tables=test1,test2

expdp directory=dumpdir dumpfile=schma.dmp schemas=test1,test2

2.导入

impdp directory=dumpdir dumpfile=full.dmp full=y

impdp directory=dumpdir dumpfile=tbs.dmp transport_datafiles='/home/oracle/oralce/oradata/db2/test1.dbf', '/home/oracle/oralce/oradata/db2/test2.dbf'

impdp directory=dumpdir dumpfile=table.dmp tables=test1,test2

impdp directory=dumpdir dumpfile=schma.dump schemas=test1,test2

注意事项:

导入导出时注意如下几点

1.源数据库和目标数据库要有相同的字符集

2.名称不能相同(导库时库名不能相同,导表空间时表空间名不能相同等)

3.不能搬移system表空间和有sys用户对象的表空间

4.要在不同OS上搬移表空间,要保证compatible 设置为10.0以上

本文地址:http://www.cuug.com.cn/dba/kecheng/12299602994.html 转载请注明!


在线预约 抢先报名 获取课程排期

Oracle培训机构

金牌讲师<>

冉乃纲-老师CUUG金牌讲师
冉老师 CUUG金牌讲师 Oracle及RedHat高级讲师、Unix/Linux 资深专家...[详细了解老师]

免费咨询上课流程 客服在线中

陈卫星-老师CUUG金牌讲师
陈老师 CUUG金牌讲师 精通Oracle管理、备份恢复、性能优化 11年Ora...[详细了解老师]

免费咨询上课流程 客服在线中

选学校如何选择适合自己的学校

CUUG -CHINA UNIX USER GROUP,是国际UNIX组织UNIFORUM的中国代表,是国内悠久的专业UNIX培训机构,被誉为中国UNIX 的摇篮。多年来,以提高教学质量为本,强调素质教育,积极引进、消化国外的新技术,有效的结合中国....[详情]

一站式服务(从入学到就业一帮到底)

入学

学习

就业

实操

食宿
地址:北京市海淀区田村山南路35号院17号楼
课程咨询:010-59426307 010-59426319 400-0909-964
企业服务:137 1818 8639(陈经理)
部分信息来源于网络,如有错误请联系指正!
版权所有@北京神脑资讯技术有限公司 (CUUG,中国UNIX用户协会) Copyright 2016 ALL Rights Reserved 京ICP备11008061号-1