Oracle backup and recover

来源:互联网 发布:十大高薪职业知乎 编辑:程序博客网 时间:2024/06/06 18:38

模拟冷备份 ,热备份进行backup &recover

1:冷备份

关闭数据库后对 数据文件、控制文件和联机重做日志进行备份。
SQL> archive log list数据库日志模式             非存档模式自动存档             禁用存档终点            F:\oracle\11gr2\RDBMS最早的联机日志序列     3当前日志序列           5SQL> select 'xcopy '||name || ' E:\backup\'    from v$datafile;'XCOPY'||NAME||'E:\BACKUP\'--------------------------------------------------------------------------------xcopy F:\ORACLE\ORADATA\ACE\SYSTEM01.DBF E:\backup\xcopy F:\ORACLE\ORADATA\ACE\SYSAUX01.DBF E:\backup\xcopy F:\ORACLE\ORADATA\ACE\UNDOTBS01.DBF E:\backup\xcopy F:\ORACLE\ORADATA\ACE\USERS01.DBF E:\backup\xcopy F:\ORACLE\ORADATA\ACE\ACE01.DBF E:\backup\xcopy F:\ORACLE\ORADATA\ACE\INDEX_NEW01.DBF E:\backup\已选择6行。SQL> select 'xcopy '||member || ' E:\backup\'     from v$logfile;'XCOPY'||MEMBER||'E:\BACKUP\'--------------------------------------------------------------------------------xcopy F:\ORACLE\ORADATA\ACE\REDO03.LOG E:\backup\xcopy F:\ORACLE\ORADATA\ACE\REDO02.LOG E:\backup\xcopy F:\ORACLE\ORADATA\ACE\REDO01.LOG E:\backup\SQL> select 'xcopy '||name || ' E:\backup\'   from v$controlfile;'XCOPY'||NAME||'E:\BACKUP\'--------------------------------------------------------------------------------xcopy F:\ORACLE\ORADATA\ACE\CONTROL01.CTL E:\backup\xcopy F:\ORACLE\ORADATA\ACE\CONTROL02.CTL E:\backup\

2:热备份
联机数据库 数据文件、控制文件进行备份,需要开启archivelog
SQL*Plus: Release 11.2.0.1.0 Production on 星期五 3月 8 10:49:38 2013Copyright (c) 1982, 2010, Oracle.  All rights reserved.SQL> conn /as sysdba已连接。SQL> archive log list数据库日志模式            存档模式自动存档             启用存档终点            F:\oracle\11gr2\RDBMS最早的联机日志序列     26下一个存档日志序列   28当前日志序列           28SQL>  alter tablespace ACE begin backup;表空间已更改。SQL> select * from v$backup;     FILE# STATUS                CHANGE# TIME---------- ------------------ ---------- --------------         1 NOT ACTIVE                  0         2 NOT ACTIVE                  0         3 NOT ACTIVE                  0         4 NOT ACTIVE                  0         5 ACTIVE                1008301 08-3月 -13         6 NOT ACTIVE                  0已选择6行。SQL> select * from v$backup;     FILE# STATUS                CHANGE# TIME---------- ------------------ ---------- --------------         1 NOT ACTIVE                  0         2 NOT ACTIVE                  0         3 NOT ACTIVE                  0         4 NOT ACTIVE                  0         5 ACTIVE                1008301 08-3月 -13         6 NOT ACTIVE                  0已选择6行。SQL> host  xcopy F:\ORACLE\ORADATA\ACE\ACE01.DBF E:\hotbackup\F:\ORACLE\ORADATA\ACE\ACE01.DBF复制了 1 个文件SQL> alter tablespace ACE end backup;表空间已更改。SQL> alter system archive log current;系统已更改。SQL> alter database backup controlfile to 'e:\hotbackup\controlfile.ctl';数据库已更改。



3:RMAN 


3:备份还原
     场景1:数据文件损坏后,利用冷备数据库文件进行恢复
     
SQL> shutdown immediate数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。SQL> host del F:\oracle\oradata\ace\ACE01.DBFSQL> host dir f:\oracle\oradata\ace 驱动器 F 中的卷是 data 卷的序列号是 7E1D-4A13 f:\oracle\oradata\ace 的目录2013/03/08  11:12    <DIR>          .2013/03/08  11:12    <DIR>          ..2013/03/08  11:12         9,748,480 CONTROL01.CTL2013/03/08  11:12         9,748,480 CONTROL02.CTL2013/03/08  11:12       104,865,792 INDEX_NEW01.DBF2013/03/08  11:11        52,429,312 REDO01.LOG2013/03/08  11:11        52,429,312 REDO02.LOG2013/03/08  11:11        52,429,312 REDO03.LOG2013/03/08  11:12       513,810,432 SYSAUX01.DBF2013/03/08  11:12       713,039,872 SYSTEM01.DBF2013/03/07  17:23        30,416,896 TEMP01.DBF2013/03/08  11:12        73,408,512 UNDOTBS01.DBF2013/03/08  11:12         5,251,072 USERS01.DBF              11 个文件  1,617,577,472 字节               2 个目录 14,984,110,080 可用字节SQL> conn /as sysdba已连接到空闲例程。SQL> startupORACLE 例程已经启动。Total System Global Area 1043886080 bytesFixed Size                  2182344 bytesVariable Size             612369208 bytesDatabase Buffers          423624704 bytesRedo Buffers                5709824 bytes数据库装载完毕。ORA-01157: 无法标识/锁定数据文件 5 - 请参阅 DBWR 跟踪文件ORA-01110: 数据文件 5: 'F:\ORACLE\ORADATA\ACE\ACE01.DBF'SQL> alter database datafile 5 offline;数据库已更改。SQL> alter database open;数据库已更改。SQL> host  xcopy e:\backup\ACE01.DBF F:\oracle\oradata\ace\E:\backup\ACE01.DBF复制了 1 个文件SQL> recover datafile 5;-----删除后未生成归档完成介质恢复。SQL> shutdown immediate数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。SQL> startupORACLE 例程已经启动。Total System Global Area 1043886080 bytesFixed Size                  2182344 bytesVariable Size             612369208 bytesDatabase Buffers          423624704 bytesRedo Buffers                5709824 bytes数据库装载完毕。数据库已经打开。SQL>SQL> alter database datafile 5 online;数据库已更改。SQL> shutdown immediate数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。SQL> startupORACLE 例程已经启动。Total System Global Area 1043886080 bytesFixed Size                  2182344 bytesVariable Size             612369208 bytesDatabase Buffers          423624704 bytesRedo Buffers                5709824 bytes数据库装载完毕。数据库已经打开。SQL〉select t.name as "TB_NAME", d.file# as "DF#", d.name as "DF_NAME", b.status,dt.statusFROM   V$DATAFILE d, V$TABLESPACE t, V$BACKUP b,dba_tablespaces dtwhere  d.ts#=t.ts#and    b.file#=d.file# and dt.tablespace_name=t.nameSYSTEM1F:\ORACLE\ORADATA\ACE\SYSTEM01.DBFNOT ACTIVEONLINESYSAUX2F:\ORACLE\ORADATA\ACE\SYSAUX01.DBFNOT ACTIVEONLINEUNDOTBS13F:\ORACLE\ORADATA\ACE\UNDOTBS01.DBFNOT ACTIVEONLINEUSERS4F:\ORACLE\ORADATA\ACE\USERS01.DBFNOT ACTIVEONLINEACE5F:\ORACLE\ORADATA\ACE\ACE01.DBFNOT ACTIVEONLINEINDEX_NEW6F:\ORACLE\ORADATA\ACE\INDEX_NEW01.DBFNOT ACTIVEONLINE

场景2:数据文件损毁,未备份,但保留所有建立表空间之后的归档
SQL> create tablespace newuser datafile 'F:\ORACLE\ORADATA\ACE\newuser01.dbf' size 100M;SQL> shutdown immediate数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。SQL> host del F:\ORACLE\ORADATA\ACE\newuser01.dbfSQL> conn /as sysdba已连接到空闲例程。SQL> startupORACLE 例程已经启动。Total System Global Area 1043886080 bytesFixed Size                  2182344 bytesVariable Size             612369208 bytesDatabase Buffers          423624704 bytesRedo Buffers                5709824 bytes数据库装载完毕。ORA-01157: 无法标识/锁定数据文件 7 - 请参阅 DBWR 跟踪文件ORA-01110: 数据文件 7: 'F:\ORACLE\ORADATA\ACE\NEWUSER01.DBF'SQL> alter database datafile 7 offline;SQL> recover datafile 7 ;ORA-00279: 更改 1052450 (在 03/08/2013 13:34:22 生成) 对于线程 1 是必需的ORA-00289: 建议: F:\ORACLE\11GR2\RDBMS\ARC0000000009_0809453950.0001ORA-00280: 更改 1052450 (用于线程 1) 在序列 #9 中指定日志: {<RET>=suggested | filename | AUTO | CANCEL}autoORA-00279: 更改 1052722 (在 03/08/2013 13:34:38 生成) 对于线程 1 是必需的ORA-00289: 建议: F:\ORACLE\11GR2\RDBMS\ARC0000000010_0809453950.0001ORA-00280: 更改 1052722 (用于线程 1) 在序列 #10 中ORA-00279: 更改 1052732 (在 03/08/2013 13:34:57 生成) 对于线程 1 是必需的ORA-00289: 建议: F:\ORACLE\11GR2\RDBMS\ARC0000000011_0809453950.0001ORA-00280: 更改 1052732 (用于线程 1) 在序列 #11 中ORA-00279: 更改 1052736 (在 03/08/2013 13:35:00 生成) 对于线程 1 是必需的ORA-00289: 建议: F:\ORACLE\11GR2\RDBMS\ARC0000000012_0809453950.0001ORA-00280: 更改 1052736 (用于线程 1) 在序列 #12 中已应用的日志。完成介质恢复。SQL>
SQL> alter database datafile 7 online;数据库已更改。
select t.name as "TB_NAME", d.file# as "DF#", d.name as "DF_NAME", b.status,dt.statusFROM   V$DATAFILE d, V$TABLESPACE t, V$BACKUP b,dba_tablespaces dtwhere  d.ts#=t.ts#and    b.file#=d.file# and dt.tablespace_name=t.name
SYSTEM1F:\ORACLE\ORADATA\ACE\SYSTEM01.DBFNOT ACTIVEONLINESYSAUX2F:\ORACLE\ORADATA\ACE\SYSAUX01.DBFNOT ACTIVEONLINEUNDOTBS13F:\ORACLE\ORADATA\ACE\UNDOTBS01.DBFNOT ACTIVEONLINEUSERS4F:\ORACLE\ORADATA\ACE\USERS01.DBFNOT ACTIVEONLINEACE5F:\ORACLE\ORADATA\ACE\ACE01.DBFNOT ACTIVEONLINEINDEX_NEW6F:\ORACLE\ORADATA\ACE\INDEX_NEW01.DBFNOT ACTIVEONLINENEWUSER7F:\ORACLE\ORADATA\ACE\NEWUSER01.DBFNOT ACTIVEONLINE

场景3:控制文件丢失,但是之前备份过controlfile
STARTUP NOMOUNTCREATE CONTROLFILE REUSE DATABASE "ACE" NORESETLOGS  ARCHIVELOG    MAXLOGFILES 16    MAXLOGMEMBERS 3    MAXDATAFILES 100    MAXINSTANCES 8    MAXLOGHISTORY 292LOGFILE  GROUP 1 'F:\ORACLE\ORADATA\ACE\REDO01.LOG'  SIZE 50M BLOCKSIZE 512,  GROUP 2 'F:\ORACLE\ORADATA\ACE\REDO02.LOG'  SIZE 50M BLOCKSIZE 512,  GROUP 3 'F:\ORACLE\ORADATA\ACE\REDO03.LOG'  SIZE 50M BLOCKSIZE 512-- STANDBY LOGFILEDATAFILE  'F:\ORACLE\ORADATA\ACE\SYSTEM01.DBF',  'F:\ORACLE\ORADATA\ACE\SYSAUX01.DBF',  'F:\ORACLE\ORADATA\ACE\UNDOTBS01.DBF',  'F:\ORACLE\ORADATA\ACE\USERS01.DBF',  'F:\ORACLE\ORADATA\ACE\INDEX_NEW01.DBF',  'F:\ORACLE\ORADATA\ACE\NEWUSER01.DBF',   'F:\ORACLE\ORADATA\ACE\ACE01.DBF'CHARACTER SET ZHS16GBK;






原创粉丝点击