• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: 小 中 大 | 推荐给好友 上一篇 | 下一篇

我的备份与恢复实验(归档模式下用户管理的不完全恢复,基于时间点的)

发布: 2007-7-04 12:06 | 作者: admin | 来源:  网友评论 | 查看: 9次 | 进入软件测试论坛讨论

领测软件测试网 os:winxp
oracle:9.2.0.1.0
sid:xianhe

我的备份与恢复实验(归档模式下用户管理的不完全恢复,基于时间点的)

os:winxp
oracle:9.2.0.1.0
sid:xianhe

一:准备工作

把数据库改为归档模式

SQL> startup mount
ORACLE 例程已经启动。

Total System Global Area  126950220 bytes
Fixed Size                   453452 bytes
Variable Size             109051904 bytes
Database Buffers           16777216 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
SQL> alter database archivelog;

数据库已更改。

SQL> alter database open;

数据库已更改。

SQL>

设置成自动归档
SQL> alter system set log_archive_start = true scope=spfile;

系统已更改。

确定数据库在归档模式下并是自动存档的
SQL> archive log list
数据库日志模式            存档模式
自动存档             启用
存档终点            D:\oracle\ora92\RDBMS
最早的概要日志序列     2
下一个存档日志序列   4
当前日志序列           4
SQL>

干净的关闭数据库,做一个完全的冷备份。

二:开始实验

数据库在很多情况下要进行不完全的恢复,如用户误删除重要的表等。

1:time-based recovery

SQL> select * from salgrade;

     GRADE      LOSAL      HISAL
---------- ---------- ----------
         1        700       1200
         2       1201       1400
         3       1401       2000
         4       2001       3000
         5       3001       9999

把scott用户的salgrade表删除
SQL> drop table scott.salgrade;

表已丢弃。

时间是
SQL> select to_char(sysdate, 'yyyy-mm-dd:hh24:mm:ss') from dual;

TO_CHAR(SYSDATE,'YY
-------------------
2005-03-18:20:03:51

关闭数据库

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

然后做一次完全数据库冷备份,保留现场,万一恢复不成功可以恢复现场。以下恢复不是用的这个备份。

把原先备份的数据文件(不包括控制文件和日志文件)还原回去。


数据库启动到mount状态
SQL> startup mount
ORACLE 例程已经启动。

Total System Global Area  126950220 bytes
Fixed Size                   453452 bytes
Variable Size             109051904 bytes
Database Buffers           16777216 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。

SQL> recover database until time '2005-03-18:20:03:51';
完成介质恢复。
SQL> alter database resetlogs;
alter database resetlogs
                       *
ERROR 位于第 1 行:
ORA-02231: 缺少或无效的 ALTER DATABASE 选项


SQL> alter database open resetlogs;

数据库已更改。

SQL> select * from scott.salgrade;

     GRADE      LOSAL      HISAL
---------- ---------- ----------
         1        700       1200
         2       1201       1400
         3       1401       2000
         4       2001       3000
         5       3001       9999

成功恢复,完成

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:[email protected] 电话:010-51297073

软件测试 | 领测国际 | ISTQB | ISTQB官网 | TMMi | TMMi认证 | 国际软件测试工程师认证 | 领测软件测试网