数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
没有备份、只有归档日志,如何恢复数据文件?

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

没有备份、只有归档日志,如何恢复数据文件?

  • 系统环境:
      1、操作系统:Windows 2000 Server,机器内存128M
      2、数据库: Oracle 8i R2 (8.1.6) for NT 企业版
      3、安装路径:C:\ORACLE
  • 模拟现象:
      可通过重建数据文件来恢复,前提是归档日志文件保存完整 先将数据库设置为归档模式 SQL*Plus conn system/manager --创建实验表空间 create tablespace test datafile 'c:\test.ora' size 5M AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED default storage (initial 128K next 1M pctincrease 0) / --创建实验用户 drop user test cascade; create user test identified by test default tablespace test; grant connect,resource to test; conn test/test create table a(a number); insert into a values(1); insert into a select * from a; --反复插入,达到100万条 commit; --关闭数据库 SVRMGR> connect internal SVRMGR> alter system switch logfile; --强制归档 SVRMGR> alter system switch logfile; SVRMGR> alter system switch logfile; SVRMGR> shutdown --操作系统下删除test.ora文件 --重新启动数据库 SVRMGR> connect internal SVRMGR> startup 这时,可以mount上,但无法打开,因为数据文件test.ora不存在, 显示错误如下: ORA-01157: ????/?????? 8 - ??? DBWR ???? ORA-01110: ???? 8: 'C:\TEST.ORA' SVRMGR> connect internal SVRMGR> startup mount SVRMGR> alter database create datafile 'c:\test.ora'; SVRMGR> set autorecovery on SVRMGR> recover datafile 'c:\test.ora'; SVRMGR> alter database open; conn test/test select count(*) from a; --数据又恢复到100万条 --删除实验表空间 conn system/manager alter tablespace test offline; drop tablespace test INCLUDING CONTENTS; drop user test; --如果是非归档模式,也可以运用以上方法, --前提是:输入记录所占空间的大小不超过所有联机日志文件的大小 --即:用联机日志文件来恢复



相关文章

相关软件