EXP/IMP方法备份,恢复Oracle数据库及其优缺点_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 1494 | 回复: 0   主题: EXP/IMP方法备份,恢复Oracle数据库及其优缺点        下一篇 
shunzi
注册用户
等级:上尉
经验:782
发帖:133
精华:0
注册:2011-10-10
状态:离线
发送短消息息给shunzi 加好友    发送短消息息给shunzi 发消息
发表于: IP:您无权察看 2015-4-23 9:05:05 | [全部帖] [楼主帖] 楼主

#################################################
EXP用法,导出不包含同义词
#################################################

==导出一个完整数据库[结构+数据]========

exp system/password file=/u01/20101115.dmp log=/u01/20101115.log full=y


==只导出数据库的结构而不导出里面的数据=====

exp system/password file=/u01/20101115.dmp log=/u01/20101115.log full=y rows=n


==导出用户admin的所有数据=========

exp system/password file=/u01/20101115.dmp log=/u01/20101115.log owner=admin


==如:同时导出admin和visitor两个用户的所有对象===

exp system/password file=/u01/20101115.dmp log=/u01/20101115.log owner=(admin,visitor)


==只导出一个Table,如只导出admin用户下面的testtable表=

exp admin/adminpassword file=/u01/20101115.dmp log=/u01/20101115.log tables=testtable


==如果需要导出多个表==================================

exp admin/adminpassword file=/u01/20101115.dmp log=/u01/20101115.log tables=(table1,table2,table3)
exp system/password file=/u01/20101115.dmp log=/u01/20101115.log tables=(admin.testtable,visitor.table1)
#################################################


IMP用法
#################################################

==导入一个完整数据库[结构+数据]============

imp system/password file=/u01/20101115.dmp #如果表存在,上面会报错
imp system/password file=/u01/20101115.dmp ignore=y #如果遇到表存在,则忽略


==导入到一个表=============================

imp system/password  file=/u01/20101115.dmp  tables=(admin.testtable)
################################################


脚本
################################################
======完全备份的SH文件:exp_comp.sh======

rq=` date +"%m%d" `
su - oracle -c "exp system/manager full=y inctype=complete file=/oracle/export/db_comp$rq.dmp"


======累计备份的SH文件:exp_cumu.sh======

rq=` date +"%m%d" `
su - oracle -c "exp system/manager full=y inctype=cumulative file=/oracle/export/db_cumu$rq.dmp"


======增量备份的SH文件: exp_incr.sh======

rq=` date +"%m%d" `
su - oracle -c "exp system/manager full=y inctype=incremental file=/oracle/export/db_incr$rq.dmp"


====== root用户crontab文件 ==============

    /var/spool/cron/crontabs/root增加以下内容

0 2 1 * * /oracle/exp_comp.sh
30 2 * * 0-5 /oracle/exp_incr.sh
45 2 * * 6 /oracle/exp_cumu.sh


  当然这个时间表可以根据不同的需求来改变的,这只是一个例子。

数据库迁移的几种方式:

    一、exp/imp:

    这也算是最常用最简单的方法了,一般是基于应用的owner级做导出导入。

    操作方法为:在新库建立好owner和表空间,停老库的应用,在老库做exp user/pwd owner=XXX file=exp_xxx.dmp log=exp_xxx.log buffer=6000000,传dmp文件到新库,在新库做imp user/pwd fromuser=XXX touser=XXX file=exp_xxx.dmp log=imp_xxx.log ignore=y.

    优缺点:优点是可以跨平台使用;缺点是停机时间长,停机时间为从exp到网络传输到新库,再加上imp的时间。

    二、存储迁移:

    这种情况下,数据文件、控制文件、日志文件、spfile都在存储上(一般情况下是裸设备),我们可以直接把存储挂到新机器上,然后在新机器上启动数据库。

    操作方法:将老库的pfile(因为里面有指向裸设备的spfile链接),tnsnames.ora,listener.ora,密码文件传到新库的对应位置。将存储切至新机,或者用文件拷贝或dd的方式复制数据文件,启动数据库。

    优缺点:优点是该迁移方式非常简单,主要的工作是主机工程师的工作,dba只需配合即可,停机时间为当库、切存储、起库的时间。缺点是要求新老库都是同一平台,是相同的数据库版本。

    三、利用data guard迁移:

    用dg我们不仅可以用来做容灾,物理的dg我们还可以作为迁移的方式。

    操作方法:略。

    注意switch over之后,可以将dg拆掉,去掉log_archive_dest_2、FAL_SERVER、FAL_CLIENT、standby_file_management参数。另外还要注意如果用rman做dg,注意手工添加tempfile。

    优缺点:优点是停机时间短,停机时间为switch over的时间。缺点:主机必须双份、存储必须双份。

    四、用rman做迁移:

    rman比较适合于跨文件系统的迁移,如同平台下的不同文件系统。

    操作方法:

    ◆1.停第三方的归档备份,如legato或dp

    ◆2.backup数据库:

run {
      allocate channel t1 type disk;
      backup full format '$DIR_BAK/UNDOTBS1_2_%d_%s_%p.bak' datafile 2;
      ……
      release channel t1;
}


  ◆3.备份控制文件alter database backup controlfile to '/tmp/mydb.ctl';并到新数据库用rman恢复:restore controlfile from '/arch/sd168.ctl';

    ◆4.restore备份文件:

run {
      allocate channel t1 type disk;
      restore datafile 2;
      releasechannel t1;
}


  ◆5.传归档日志,并且对归档进行做recover:recover database until sequence = 归档的序号 thread = 1;

    ◆6.对数据库open resetlogs:RMAN>sql 'alter database open resetlogs';

◆7.alter tablespace temp add tempfile 'XXXXXX' size XXM reuse;


  优缺点:优点是可以跨文件系统,停机时间少。缺点是要时刻关注这归档日志,做recover的时候一个都不能少!

--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论