当前位置:  数据库>oracle

Oracle 培训笔记:非归档模式备份恢复

    来源: 互联网  发布时间:2017-04-10

    本文导语: 1、环境准备删除或禁用旧的数据库创建一个数据库关闭数据库完全备份数据库(数据文件、控制文件、日志文件和参数文件)启动数据库2、备份内容数据文件:备份控制文件:备份参数文件:参数文件修改后备份归档日志:备...

1、环境准备
删除或禁用旧的数据库
创建一个数据库
关闭数据库
完全备份数据库(数据文件、控制文件、日志文件和参数文件)
启动数据库

2、备份内容
数据文件:备份
控制文件:备份
参数文件:参数文件修改后备份
归档日志:备份,冗余设置

密码文件:不用备份,丢失可重建
日志文件:冗余设置
网络配置文件:listener.ora tnsnames.ora

3、非归档模式备份
冷备份:关闭数据库,拷贝文件

不关闭数据库:offline状态,控制文件


4、模拟数据变化
create table t01(id number) tablespace users;

insert into t01 values(100);
commit;

SQL> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------------
         1          1         10   52428800          1 NO  INACTIVE                172868 03-9月 -11
         2          1         11   52428800          1 NO  CURRENT                 186212 03-9月 -11
         3          1          9   52428800          1 NO  INACTIVE                157248 03-9月 -11

5、模拟数据文件损坏,可恢复
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
Oracle 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。

Total System Global Area  251658240 bytes
Fixed Size                  1248356 bytes
Variable Size              79692700 bytes
Database Buffers          163577856 bytes
Redo Buffers                7139328 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 4 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 4: 'E:ORACLEPRODUCT10.2.0ORADATAMYDBUSERS01.DBF'

SQL> select status from v$instance;

STATUS
------------
MOUNTED

还原数据文件:把备份的users01.dbf拷回

SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01113: 文件 4 需要介质恢复
ORA-01110: 数据文件 4: 'E:ORACLEPRODUCT10.2.0ORADATAMYDBUSERS01.DBF'

SQL> select checkpoint_change# from v$database;

CHECKPOINT_CHANGE#
------------------
            200481

SQL> select checkpoint_change#,last_change# from v$datafile;

CHECKPOINT_CHANGE# LAST_CHANGE#
------------------ ------------
            200481       200481
            200481       200481
            200481       200481
            200481       200481

SQL> select checkpoint_change# from v$datafile_header;

CHECKPOINT_CHANGE#
------------------
            200481
            200481
            200481
            199117

SQL> desc v$log_history;
 名称                                                                                                      是否为空? 类型
 ----------------------------------------------------------------------------------------------------------------- -------- -------------------

 RECID                                                                                                              NUMBER
 STAMP                                                                                                              NUMBER
 THREAD#                                                                                                            NUMBER
 SEQUENCE#                                                                                                          NUMBER
 FIRST_CHANGE#                                                                                                      NUMBER
 FIRST_TIME                                                                                                         DATE
 NEXT_CHANGE#                                                                                                       NUMBER
 RESETLOGS_CHANGE#                                                                                                  NUMBER
 RESETLOGS_TIME                                                                                                     DATE

SQL> select sequence#,first_change#,next_change# from v$log_history;

 SEQUENCE# FIRST_CHANGE# NEXT_CHANGE#
---------- ------------- ------------
         1             1        33790
         2         33790        60807
         3         60807        77256
         4         77256        94417
         5         94417       107694
         6        107694       124201
         7        124201       138119
         8        138119       157248
         9        157248       172868
        10        172868       186212

已选择10行。

SQL> recover datafile 4;
完成介质恢复。

或者 recover database;

SQL> alter database open;

数据库已更改。

SQL> select * from t01;

        ID
----------
       100


6、模拟数据文件损坏,不可恢复
insert into t01 values(200);
commit;
alter system switch logfile;

insert into t01 values(300);
commit;
alter system switch logfile;

insert into t01 values(400);
commit;
alter system switch logfile;

insert into t01 values(500);
commit;
alter system switch logfile;

insert into t01 values(600);
commit;
alter system switch logfile;

SQL> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------------
         1          1         16   52428800          1 NO  CURRENT                 204268 03-9月 -11
         2          1         14   52428800          1 NO  ACTIVE                  204257 03-9月 -11
         3          1         15   52428800          1 NO  ACTIVE                  204261 03-9月 -11

SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。

Total System Global Area  251658240 bytes
Fixed Size                  1248356 bytes
Variable Size              79692700 bytes
Database Buffers          163577856 bytes
Redo Buffers                7139328 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 4 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 4: 'E:ORACLEPRODUCT10.2.0ORADATAMYDBUSERS01.DBF'

还原数据文件

SQL> select checkpoint_change# from v$database;

CHECKPOINT_CHANGE#
------------------
            204618

SQL> select checkpoint_change#,last_change# from v$datafile;

CHECKPOINT_CHANGE# LAST_CHANGE#
------------------ ------------
            204618       204618
            204618       204618
            204618       204618
            204618       204618

SQL> select checkpoint_change# from v$datafile_header;

CHECKPOINT_CHANGE#
------------------
            204618
            204618
            204618
            199117

SQL> select sequence#,first_change#,next_change# from v$log_history;

 SEQUENCE# FIRST_CHANGE# NEXT_CHANGE#
---------- ------------- ------------
         1             1        33790
         2         33790        60807
         3         60807        77256
         4         77256        94417
         5         94417       107694
         6        107694       124201
         7        124201       138119
         8        138119       157248
         9        157248       172868
        10        172868       186212
        11        186212       204248

 SEQUENCE# FIRST_CHANGE# NEXT_CHANGE#
---------- ------------- ------------
        12        204248       204252
        13        204252       204257
        14        204257       204261
        15        204261       204268

已选择15行。


SQL> select * from v$recover_file;

     FILE# ONLINE  ONLINE_ ERROR                                                                CHANGE# TIME
---------- ------- ------- ----------------------------------------------------------------- ---------- --------------
         4 ONLINE  ONLINE                                                                        199117 03-9月 -11

SQL> select * from v$recovery_log;

   THREAD#  SEQUENCE# TIME
---------- ---------- --------------
ARCHIVE_NAME
-------------------------------------------------------------------------------------------------------------------------

         1         11 03-9月 -11


         1         12 03-9月 -11


         1         13 03-9月 -11

SQL> recover datafile 4;
ORA-00279: 更改 199117 (在 09/03/2011 09:44:18 生成) 对于线程 1 是必需的
ORA-00289: 建议: E:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAMYDBARCHIVELOG2011_09_03O1_MF_1_11_%U_.ARC
ORA-00280: 更改 199117 (用于线程 1) 在序列 #11 中


指定日志: {=suggested | filename | AUTO | CANCEL}
cancel
介质恢复已取消。
SQL> shutdown immediate
ORA-01109: 数据库未打开


已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。

Total System Global Area  251658240 bytes
Fixed Size                  1248356 bytes
Variable Size              79692700 bytes
Database Buffers          163577856 bytes
Redo Buffers                7139328 bytes
数据库装载完毕。
数据库已经打开。


7、非归档模式在线备份
SQL> create table t01(id number) tablespace users;

表已创建。

SQL> insert into t01 values(10);

已创建 1 行。

SQL> commit;

提交完成。


7.1 备份offline状态下的数据文件

SQL> alter tablespace users offline;

拷贝数据文件

SQL> alter tablespace users online;
SQL> insert into t01 values(20);
SQL> commit;

模拟数据文件损坏,将表空间offline,然后还原备份的文件,恢复

SQL> alter tablespace users offline;

还原备份的文件,执行recover

SQL> recover datafile 4;
完成介质恢复。
SQL> alter tablespace users online;

表空间已更改。

SQL> select * from t01;

        ID
----------
        10
        20

7.2 备份read only状态的数据文件

SQL> alter tablespace users read only;

将数据文件备份

数据库变化不影响只读表空间,如果只读表空间数据文件损坏,将备份的文件拷回
即可使用















































































































































































































































































































































    
 
 

您可能感兴趣的文章:

  • 切换Oracle的归档模式以及非归档模式
  • oracle的归档模式 ORACLE数据库归档日志常用命令
  • 更改Oracle数据库的归档模式
  • 查看修改Oracle10G归档日志空间的限制
  • 关于Oracle将目标数据库设为归档模式应该注意的问题
  • Oracle 删除归档日志实例
  • oracle 如何关闭打开归档日志
  • Oracle数据库归档模式的切换
  • Linux下Oracle归档日志自动清理脚本代码(sh)
  • Oracle中归档模式的定义简述
  • Oracle10g自动归档设置
  • 更改Oracle数据库到归档模式
  • oracle日志操作模式(归档模式和非归档模式的利与弊)
  • Oracle 11G闪回数据归档新功能详述
  • win平台oracle rman备份和删除dg备库归档日志脚本
  • Oracle相关:Rman Crosscheck删除失效归档
  • Oracle切换为归档模式的步骤及问题解决
  • 如何将Aix上的oracle 物理备份 然后再在linux 系统上还原oracle
  • Oracle数据库设置任务计划备份一周的备份记录
  • Oracle数据库备份和恢复工具 RMan
  • oracle10g 数据备份与导入
  • aix下自动备份oracle 的输出日志问题,急!!
  • hp unix下备份oracle表的问题
  • linux小白提问linux备份oracle数据库的问题
  • oracle不能自动备份
  • Oracle数据库逻辑备份的SH文件
  • Linux环境中Oracle数据导入与导出备份操作
  • oracle数据库备份急???????????
  • oracle定时备份压缩的实现步骤
  • Unix系统下如何将oracle数据库备份
  • 详解如何应用改变跟踪技术加速Oracle递增备份
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle数据库恢复后心得
  • 关于系统重装后Oracle数据库完全恢复的解决办法
  • oracle drop table(表)数据恢复方法
  • oracle中误删除表后恢复语句(FLASHBACK)
  • oracle冷备份恢复和oracle异机恢复使用方法
  • 在Oracle 10gR2中设定指定的恢复点实现轻松闪回
  • Oracle重做日志文件损坏或丢失后的恢复
  • oracle下实现恢复一个丢失的数据文件的代码
  • 详解通过Backup Exec来实施Oracle灾难恢复
  • Oracle的恢复管理器及DBMS_JOB包分析
  • Oracle数据库文件恢复以及备份思路
  • Oracle数据库备份恢复最佳实践
  • oracle如何恢复被覆盖的存储过程
  • rman恢复方案和oracle异机恢复
  • oracle数据库创建备份与恢复脚本整理
  • ORACLE 数据库RMAN备份恢复
  • 一次误操作引起的Oracle数据库大恢复
  • Oracle数据库的备份与恢复完全攻略
  • Oracle数据库的备份与恢复
  • Oracle数据库的备份及恢复策略研究
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 博客 iis7站长之家
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3