Chinaunix首页 | 论坛 | 博客
  • 博客访问: 281447
  • 博文数量: 38
  • 博客积分: 836
  • 博客等级: 准尉
  • 技术积分: 390
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-15 23:50
文章分类

全部博文(38)

文章存档

2014年(1)

2013年(1)

2012年(10)

2011年(26)

我的朋友

分类: Oracle

2011-05-05 16:13:17

很多朋友都问过这样的问题:
  在Windows上假如系统崩溃了,数据文件、控制文件、日志文件等都还在,怎样来恢复Oracle数据库?
   前几天重新安装了系统,正好需要恢复一下数据库。
  假如软件也损失了,那么需要重新安装一下数据库软件。
   很多人抱怨我的新书很少关于Windows的内容,实际上,Windows和Linux/Unix上的操作没有什么不同,Windows本身就是一个仿Unix的系统。
  那么好吧,我还是用一个系列的文章介绍一下我所使用的Windows系统,以及我所认为的数据库系统无关性。
   大家可以跟随我看一下这样一个过程。
  首先开启一个cmd命令行窗口。
  开始->运行->cmd
  我的Oracle软件备份在D:\oracle :
  
  D:\>dir oracle
  驱动器 D 中的卷是 PRIVAT
  卷的序列号是 94B0-FD3B
  D:\oracle 的目录
  2006-08-16 14:14 .
  2006-08-16 14:14 ..
  2006-08-16 14:14 ora10gR2
   0 个文件 0 字节
   3 个目录 941,744,128 可用字节
  我的数据文件位于D:\oradata下:
  
  D:\>dir d:\oradata
  驱动器 D 中的卷是 PRIVAT
  卷的序列号是 94B0-FD3B
  d:\oradata 的目录
  2006-08-16 14:25 .
  2006-08-16 14:25 ..
  2005-09-12 16:40 flash_recovery_area
  2005-09-12 16:40 EYGLE
   0 个文件 0 字节
   4 个目录 941,744,128 可用字节
  现在让我们用oradim创建一个实例,实际上也就是创建一个Windows服务:
  C:\>oradim -new -sid eygle
  实例已创建。
  我们用net命令可以查看系统启动了哪些服务,我们看到Oracle的服务已经启动:
  
  C:\>net start
  已经启动以下 Windows 服务:
  ...............
   O&O Defrag
   OracleServiceeygle
   Plug and Play
   Print Spooler
  ...............
  命令成功完成。
   
   假如你的系统装了一些Unix增强工具,那么可以通过grep过滤一下:
  C:\>net start grep Oracle
   OracleServiceeygle
  Unix命令工具可以在Sourceforge () 下载.
  此时我们就可以通过启动实例,挂接原有数据库,启动Oracle数据库了。当然你可能还有一些其他工作需要完成,比如重建口令文件等。
  假如你想删除这个服务,那么也很简单:
  C:\>oradim -delete -sid eygle
  实例已删除。
  当然做好备份仍然是最重要的,我见过有的企业将文件分散在很多逻辑分区上,结果随系统崩溃丢失了部分文件,损失也是相当惨重的。
  在Linux/Unix上不需要服务来启动实例,也就不存在这样类似的操作。不过在命令行操作,一切都是类似的。(王朝网络 wangchao.net.cn)
---
联机文档位于

我使用的

oradim -NEW -SID trade01 -STARTMODE auto -PFILE D:\oracle\......\inittrade01.ora
阅读(1060) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~