Chinaunix首页 | 论坛 | 博客
  • 博客访问: 762456
  • 博文数量: 803
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 5015
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-28 10:29
文章分类

全部博文(803)

文章存档

2011年(1)

2008年(802)

我的朋友

分类:

2008-10-29 11:42:38


  系统环境:
  1、操作系统: 2000 Server,机器内存128M
  2、数据库:  8i R2 (8.1.6) for NT 企业版
  3、安装路径:C:\ORACLE
  
  模拟现象:
  先将数据库设置为归档模式
  
  SQL*Plus
  
  --创建实验表空间
  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; --反复插入,达到10万条
  commit;
  
  拷贝test.ora为test1.ora文件
  insert into a select * from a; --20万条
  commit;
  
  关闭数据库
  shutdown
  删除test.ora文件,把test1.ora拷贝为test.ora。
  
  重新启动数据库
  这时,可以mount上,但无法打开,因为现在使用的数据文件是旧的
  只有10万条记录,与控制文件中记载的log number不一样
  
  startup mount
  需要recover database,使数据库记录重新恢复到当前的20万条
  
  C:\>svrmgrl
  svrmgrl>connect internal
  svrmgrl>shutdown
  svrmgrl>startup mount
  svrmgrl>set autorecovery on
  svrmgrl>recover database;
  svrmgrl>alter database open;
  
  conn test/test
  select count(*) from a; --数据又恢复到20万条
  
  conn system/manager
  --删除实验表空间
  alter tablespace test offline;
  drop tablespace test INCLUDING CONTENTS;
  
  
  
【责编:admin】

--------------------next---------------------

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