SA Blog --系统管理员的博客生涯

书写自己的系统管理博客生涯
posts(330) comments(254) trackbacks(0)
  • IT博客
  • 联系
  • RSS 2.0 Feed 聚合
  • 管理

常用链接

  • 我的随笔
  • 我的评论
  • 我参与的随笔

留言簿

  • 给我留言
  • 查看公开留言
  • 查看私人留言

随笔分类(395)

  • *UNIX系统(148)
  • Cloud(3)
  • Moive
  • Music(1)
  • OpenStack(7)
  • openstack
  • Wiki(1)
  • Windows系统(32)
  • 其他(33)
  • 娱乐
  • 存储相关(22)
  • 存储网络(10)
  • 常用工具下载(25)
  • 数据库应用技术(53)
  • 网络技术(41)
  • 英语
  • 虚拟化(19)

随笔档案(330)

  • 2020年9月 (1)
  • 2020年8月 (1)
  • 2020年7月 (8)
  • 2020年4月 (1)
  • 2020年2月 (1)
  • 2020年1月 (1)
  • 2019年9月 (2)
  • 2019年4月 (1)
  • 2016年1月 (1)
  • 2015年12月 (1)
  • 2015年7月 (4)
  • 2015年5月 (2)
  • 2014年3月 (2)
  • 2014年1月 (1)
  • 2013年12月 (1)
  • 2013年3月 (5)
  • 2013年2月 (4)
  • 2012年12月 (1)
  • 2012年11月 (2)
  • 2012年9月 (2)
  • 2012年8月 (1)
  • 2012年6月 (1)
  • 2012年5月 (1)
  • 2012年1月 (1)
  • 2011年12月 (2)
  • 2011年10月 (1)
  • 2011年9月 (3)
  • 2011年8月 (1)
  • 2011年7月 (5)
  • 2011年6月 (3)
  • 2011年5月 (5)
  • 2011年4月 (2)
  • 2011年3月 (2)
  • 2011年2月 (1)
  • 2011年1月 (5)
  • 2010年12月 (1)
  • 2010年11月 (4)
  • 2010年9月 (13)
  • 2010年8月 (4)
  • 2010年7月 (5)
  • 2010年6月 (5)
  • 2010年5月 (13)
  • 2010年4月 (10)
  • 2010年3月 (5)
  • 2010年2月 (1)
  • 2010年1月 (9)
  • 2009年12月 (5)
  • 2009年11月 (5)
  • 2009年10月 (1)
  • 2009年9月 (3)
  • 2009年8月 (2)
  • 2009年7月 (6)
  • 2009年6月 (3)
  • 2009年5月 (2)
  • 2009年4月 (1)
  • 2009年3月 (2)
  • 2009年2月 (3)
  • 2008年12月 (3)
  • 2008年11月 (1)
  • 2008年10月 (9)
  • 2008年9月 (5)
  • 2008年8月 (3)
  • 2008年7月 (1)
  • 2008年6月 (1)
  • 2008年5月 (2)
  • 2008年4月 (1)
  • 2008年3月 (1)
  • 2008年2月 (3)
  • 2008年1月 (1)
  • 2007年12月 (5)
  • 2007年11月 (1)
  • 2007年10月 (6)
  • 2007年9月 (4)
  • 2007年8月 (4)
  • 2007年7月 (34)
  • 2007年6月 (1)
  • 2007年4月 (2)
  • 2007年3月 (1)
  • 2007年2月 (1)
  • 2006年11月 (1)
  • 2006年9月 (4)
  • 2006年8月 (4)
  • 2006年7月 (1)
  • 2006年6月 (10)
  • 2006年5月 (3)
  • 2006年4月 (14)
  • 2006年2月 (6)
  • 2006年1月 (6)
  • 2005年12月 (12)

收藏夹(5)

  • Other(5)

IT技术

  • MSDN 库(中文)
  • 欢迎使用 MSDN 库(中文),MSDN 库为使用 Microsoft® 工具、产品、技术和服务的开发人员提供必不可少的信息资源。MSDN 库包含操作方法和参考文档、示例代码、技术文章和其他内容。请浏览目录或使用搜索功能来查找所需内容。

健康

  • 体检咨询
  • 北京体检 体检咨询
  • 足医生
  • 足医生

友情链接

  • TestLink中文论坛
  • Testlink 中文论坛
  • 备案专题
  • 备案专题
  • 微软大中华区安全博客
  • 微软大中华区安全博客

存储技术

  • doit存储
  • doit 存储,存储热门论坛
  • ITPUB
  • Oracle DBA 热门中文社区
  • TechTarget IT专家网
  • 蓝德科技

网络技术

  • ChinaUnix 中文社区
  • ChinaUnix 热门中文社区

搜索

  •  

最新评论

  • 1. re: 吐槽一下阿里系软件,就是天天的升级???
  • 评论内容较长,点击标题查看
  • --David
  • 2. re: Symantec Backup exec system recovery 2010(BESR 2010)故障汇总
  • 评论内容较长,点击标题查看
  • --112
  • 3. re: OpenStack安装部署管理中常见问题解决方法(OpenStack-Lite-FAQ)
  • /home/stack/devstack/tools/worlddump.py -d /home/stack/logs
    求救这是什么问题啊。
  • --陈晓龙
  • 4. re: nokia 手机密码忘记后破解
  • nokia 2630,密码不见,恳请帮忙,谢谢
    串号:355219037959407
    lipolipo@gmail.com
  • --沈同学
  • 5. re: chroot 工具 jailkit 限制用户 活动范围 和 权限 _ 笔记
  • 是一个很好的工具嘛。感谢分享。
  • --少林功夫好

阅读排行榜

评论排行榜

View Post

Linux下Oracle9i RMAN备份及恢复步骤介

1、切换服务器设置归档模式,如果已经是归档模式可跳过此步:

  %sqlplus /nolog (启动sqlplus)

  SQL> conn / as sysdba (以DBA身份连接数据库)

  SQL> shutdown immediate; (立即关闭数据库)

  SQL> startup mount (启动实例并加载数据库,但不打开)

  SQL> alter database archivelog; (更改数据库为归档模式)

  SQL> alter database open; (打开数据库)

  SQL> alter system archive log start; (启用自动归档)

  SQL> exit (退出)

2、连接:

  %rman target=sys/password@mydb (启动恢复管理器)

3、基本设置:

  RMAN> configure default device type to disk; (设置默认的备份设备为磁盘)

  RMAN> configure device type disk parallelism 2; (设置备份的并行级别,通道数)

  RMAN> configure channel 1 device type disk fromat '/backup1/backup_%U';
(设置备份的文件格式,只适用于磁盘设备)

RMAN> configure channel 2 device type disk fromat '/backup2/backup_%U';
(设置备份的文件格式,只适用于磁盘设备)

  RMAN> configure controlfile autobackup on;
(打开控制文件与服务器参数文件的自动备份)

  RMAN> configure controlfile autobackup format for device type disk to '/backup1/ctl_%F';
(设置控制文件与服务器参数文件自动备份的文件格式)

4、查看所有设置:

  RMAN> show all

5、查看数据库方案报表:

  RMAN> report schema;

6、备份全库:

  RMAN> backup database plus archivelog delete input;
(备份全库及控制文件、服务器参数文件与所有归档的重做日志,并删除旧的归档日志)

7、备份表空间:

RMAN> backup tablespace system plus archivelog delete input;
(备份指定表空间及归档的重做日志,并删除旧的归档日志)

8、备份归档日志:

  RMAN> backup archivelog all delete input;

9、复制数据文件:

  RMAN> copy datafile 1 to '/oracle/dbs/system.copy';

10、查看备份和文件复本:

  RMAN> list backup;

11、验证备份:

  RMAN> validate backupset 3;

12、从自动备份中恢复服务器参数文件:

  RMAN> shutdown immediate; (立即关闭数据库)

  RMAN> startup nomount; (启动实例)

  RMAN> restore spfile to pfile '/backup1/mydb.ora' from autobackup;
(从自动备份中恢复服务器参数文件)

13、从自动备份中恢复控制文件:

  RMAN> shutdown immediate; (立即关闭数据库)

  RMAN> startup nomount; (启动实例)

  RMAN> restore controlfile to '/backup1' from autobackup;
(从自动备份中恢复控制文件)

14、恢复和复原全数据库:

   RMAN> shutdown immediate; (立即关闭数据库)

    RMAN> exit (退出)

    %mv /oracle/dbs/tbs_12.f /oracle/dbs/tbs_12.bak (将数据文件重命名)

    %mv /oracle/dbs/tbs_13.f /oracle/dbs/tbs_13.bak (将数据文件重命名)

    %mv /oracle/dbs/tbs_14.f /oracle/dbs/tbs_14.bak (将数据文件重命名)

    %mv /oracle/dbs/tbs_15.f /oracle/dbs/tbs_15.bak (将数据文件重命名)

    %rman target=rman/rman@mydb (启动恢复管理器)

    RMAN> startup pfile=/oracle/admin/mydb/pfile/initmydb.ora
(指定初始化参数文件启动数据库)

    RMAN> restore database; (还原数据库)

    RMAN> recover database; (恢复数据库)

    RMAN> alter database open; (打开数据库)

15、恢复和复原表空间:

    RMAN> sql 'alter tablespace users offline immediate'; (将表空间脱机)

    RMAN> exit (退出恢复管理器)

    %mv /oracle/dbs/users01.dbf /oracle/dbs/users01.bak (将表空间重命名)

    %rman target=rman/rman@mydb (启动恢复管理器)

    RMAN> restore tablespace users; (还原表空间)

    RMAN> recover tablespace users; (恢复表空间)

    RMAN> sql 'alter tablespace users online'; (将表空间联机)

16、增量备份与恢复:

    第一天的增量基本备份:

    RMAN> backup incremental level=0 database plus archivelog delete input;

    第二天的增量差异备份:

    RMAN> backup incremental level=2 database plus archivelog delete input;

    第三天的增量差异备份:

    RMAN> backup incremental level=2 database plus archivelog delete input;

    第四天的增量差异备份:

    RMAN> backup incremental level=1 database plus archivelog delete input;

    第五天的增量差异备份:

    RMAN> backup incremental level=2 database plus archivelog delete input;

    第六天的增量差异备份:

    RMAN> backup incremental level=2 database plus archivelog delete input;

    第七天的增量差异备份:

    RMAN> backup incremental level=0 database plus archivelog delete input;

    增量恢复:

    RMAN> shutdown immediate;

    RMAN> exit

    %mv /oracle/dbs/tbs_12.f /oracle/dbs/tbs_12.bak

    %mv /oracle/dbs/tbs_13.f /oracle/dbs/tbs_13.bak

    %mv /oracle/dbs/tbs_14.f /oracle/dbs/tbs_14.bak

    %mv /oracle/dbs/tbs_15.f /oracle/dbs/tbs_15.bak

    %rman target=rman/rman@mydb

    RMAN> startup pfile=/oracle/admin/mydb/pfile/initmydb.ora

    RMAN> restore database;

    RMAN> recover database;

    RMAN> alter database open.(e129)on.htm

    simulator/doc/license_keys.htm

    simulator/doc/sdk.style.css

    simulator/doc/davehitzforeword.htm

    simulator/doc/faq.htm

    simulator/doc/troubleshooting.htm

    simulator/license.htm

    simulator/readme.htm

    simulator/runsim.sh

    simulator/setup.sh

    simulator/sim.tgz

posted on 2007-08-09 18:09 David 阅读(943) 评论(2)  编辑 收藏 引用 所属分类: 数据库应用技术 、*UNIX系统

View Comments

# re: Linux下Oracle9i RMAN备份及恢复步骤介  回复  更多评论   
只要有博客就可以在8383.com免费申请.CN域名,输入域名就能直接进入博客,我刚申请了一个,快输入8383hosting.cn到我的博客看我是如何耍酷吧。
2007-08-14 15:56 | 8383
# re: Linux下Oracle9i RMAN备份及恢复步骤介  回复  更多评论   
采用Oracle Archive Log模式和非Archive Log模式对备份恢复的影响

备份的目的在于,当系统或数据库出现问题时,能够快速将数据库进行恢复。对于Oracle数据库,一般有两种备份方式:“物理备份”和“逻辑备份”。“物理备份”指的是以copy数据文件方式进行备份;“逻辑备份”指的是用export等方式将数据从数据库中抽取出来。物理备份又可以分为冷备份和热备份。以下是各种备份的说明及前提条件。
- Cold Backup(冷备份) 主要指在关闭数据库的状态下进行的数据库完全备份,备份内容包括所有数据文件、控制文件、联机日志文件、ini文件。
- Hot Backup(热备份) 指在数据库处于运行状态下,对数据文件和控制文件进行备份,要使用热备份必须将数据库运行在(Archive Log)归档方式下。
- Export(逻辑备份)这是最简单的备份方法,可按数据库中某个表、某个用户或整个数据库来导出,并且支持全部、累计、增量三种方式。使用这种方法,数据库必须处于打开状态,而且如果数据库不是在restrict状态将不能保证导出数据的一致性。

“物理备份”方式以相当于copy数据文件的方式进行备份,恢复时可以快速以相当于copy的方式将备份的数据copy回来,所以备份速度特别是恢复速度非常快。

如果不采用Archive Log模式运行Oracle数据库,只有两种可用的备份方法:冷备份或export逻辑备份。根据关键业务服务器的特点,停下数据库进行冷备份是根本不可能的,因此如果不采用Archive Log,只能进行逻辑备份。

如果仅采用“逻辑备份”方式,恢复时会有以下两个主要问题:
1. 无法恢复到最近时间点的数据。只能恢复到上一次export时的数据状态,当天的数据将丢失。Archive Log模式下的物理备份可以用数据文件备份及Archive Log备份,将数据库恢复到数据库失败前的时间点,不会丢失数据。
2. 完成恢复可能需要很长时间。恢复只能用import方法进行,所以需要的时间包括:
a. create database及所有的tablespace: 以每2分钟初始化一个2G的数据文件来计算,建立一个400G的Oracle数据库需要约6.7个小时。
b. import。时间较难确定,但保守估计应在10个小时以上(如果import过程中出现问题,恢复时间将延长)
3. 恢复时步骤较多,易出现人为故障。

由于 这些原因,一般备份/恢复时都把export/import的方式做为辅助备份/恢复方式,对一些重要的表进行二级保护。这种备份方式也称为“逻辑备份”方式,当某些重要的表被意外删除时可进行逻辑import恢复。

而对于整个数据库的日常备份/恢复,需要采用“物理备份”方式,即以相当于copy数据文件的方式进行备份,恢复时可以快速以相当于copy的方式将备份的数据copy回来。一般物理备份/恢复都采用Oracle RMAN工具来进行。

下面是“逻辑备份”与“物理备份”在数据库故障时的恢复比较:

1. Oracle逻辑错误造成无法启动
逻辑恢复: 重新create database及各tablespace,import。可恢复到上次export的数据
物理恢复: 将所有datafile copy回来,并利用archivelog将数据库recover到故障前的状态

2. 某一个datafile故障或丢失
逻辑恢复: 重新create database及各tablespace,import。可恢复到上次export的数据
物理恢复: 将该datafile copy回来

3. 某一个tablespace故障
逻辑恢复: 重新create database及各tablespace,import。可恢复到上次export的数据
物理恢复: 将该tablespace copy回来

4. 意外drop table
逻辑恢复: Import 该table
物理恢复: 将备份恢复到另一服务器上,export该table,在原数据库中import

5. 意外drop user
逻辑恢复: Import 该user
物理恢复: 将备份恢复到另一服务器上,export该user,在原数据库中import

6. 意外drop tablespace
逻辑恢复: 情况较复杂,恢复易造成数据库表之间的参照完整性被破坏。在此不做分析
物理恢复: 情况较复杂,恢复易造成数据库表之间的参照完整性被破坏。在此不做分析

在进行数据库的恢复时,一定要了解Oracle数据库的原理,分析故障的原因,然后针对故障的情况进行相应的恢复。例如以下情况:
- Oracle程序文件损坏?
- control file损坏?
- Online redo log损坏?
- datafile损坏?
- archive log损坏?
- table或其中数据被意外删除?

不同情况下需要采用的恢复手段都是不尽相同的,需根据损坏的情况进行相应的恢复步骤。
2008-01-22 11:10 | Hioracle
刷新评论列表
只有注册用户登录后才能发表评论。
 
Powered by:
IT博客
Copyright © David