Chinaunix首页 | 论坛 | 博客
  • 博客访问: 53198
  • 博文数量: 26
  • 博客积分: 1295
  • 博客等级: 中尉
  • 技术积分: 280
  • 用 户 组: 普通用户
  • 注册时间: 2005-12-12 08:38
文章分类

全部博文(26)

文章存档

2010年(23)

2009年(3)

我的朋友

分类: Oracle

2010-03-29 16:09:57



    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=rman/rman@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
    CONFIGURE BACKUP OPTIMIZATION ON|OFF : RMAN中的备份优化(Backup Optimization)是指在备份过程中,如果满足特定条件,RMAN将自动跳过某些文件而不将它们包含在备份集中以节省时间和空间。说的直白些就是 能不备的它就不备了,不像原来甭管文件有没有备份过统统再备一遍。通常必须满足如下几个条件的情况下,才能够启用备份优化的功能:
(1).CONFIGURE BACKUP OPTIMIZATION参数置为on;
(2).执行的BACKUP DATABASE或BACKUP ARCHIVELOG命令中带有ALL或LIKE参数。
(3).分配的通道仅使用了一种设备类型,也就是没有同时分配使用sbt与disk的多个通道。

那么在进行备份优化时,RMAN是如何判断要备份的文件是否需要被优化呢,这个算法就相当复杂了,而且可能影响优化算法的因素也非常多,假如某库在上午9 点被执行过一次全库备份,等下午3点再次执行全库备份时,备份的文件没有变动而且也已经被备份过时,才会跳过这部分文件。所以理论上备份优化仅对于只读表 空间或offline表空间起作用。当然对于已经备份过的archivelog文件,它也会跳过。


    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; (从自动备份中恢复控制文件)

 

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

    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; (打开数据库)

    14、恢复和复原表空间:

    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'; (将表空间联机)

    15、增量备份与恢复:

    第一天的增量基本备份:

    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
 

alter database recover tablespace XXXX 在MOUNT 下用,

recover tablespace XXXX 在OPEN 壮态用

阅读(400) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~