Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103682992
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Oracle

2008-04-30 15:44:19

 

Case:一个老同学单位数据库坏了,里面有重要数据。
Oracle troubleOS所在DISK崩溃。
Oracle versionVersion 9.2.0.1.0enterprise
OS:win:
DB SID: ora9
Backup state: norecent data backup
machine: IBM pcs 安腾core4 3Gm


OS故障可以说所有Oracle故障中,最简单的一种故障,数据基本是100%完好,做物理copy即可,不需要人工干预recover9i10g略有不同,9i在安装客户端的机器上得创建实例,10g在选安装数据库软件后,就可用于恢复。

恢复所需文件
1. control file
2. online log file
3. datafile
4. spfile
5. admin目录下所有内容(非必要,推荐)

步骤1
准备恢复所需文件。
casecontrolfilelogfiledatafile都在E:\oracle\oradata\ora9\ 下面,备份ora9目录。
e:\oracle\ora92\database 备份 spfileora9.ora
备份e:\oracle\admin
步骤2
在新的机器安装oracle,略。
(这里记录一个问题,创建实例在46%时,卡了半个小时,我发现是我迫不及待的打开了SQLPLUS登录到SYS,关掉后,进程才得以继续,没有深究)
版本要一致,否则一开始就会校验失败。
切记,安装位置一致能省去很多麻烦,ORACLE_BASE= e:\oracle
                   

步骤3
安装完毕测试数据库。
Sqlplus “/as sysdba”

Select name form v$database;

Ora9

--关闭
Shutdownimmediate

步骤4:拷贝文件
Copy 备份的ora9目录到,新装oracle的相同目录(E:\oracle\oradata\),覆盖前最好将原有ora9目录,改名为ora9bak
Copy 备份的spfile e:\oracle\ora92\database,覆盖前最好将原有spfileora9.ora改名为spfileora9.ora.bak做备份。
拷贝admin 到相同目录,最好对原admin备份,同上。
步骤5:启动
Sqlplus “/as sysdba”
--依次执行
Startupnomount
Startupmount
Alter databaseopen
--troubleshooting
中途可能会报ORA-01990: error openingpassword file
这时
D:\oracle\ora92\database\PWDora9.ORA
改为D:\oracle\ora92\database\PWDora9.ORA.bak
另外打开一个cmd,执行下面这个语句
Orapwdfile=D:\oracle\ora92\database\PWDora9.ORA password=oracle
检查新D:\oracle\ora92\database\PWDora9.ORA是否生成
成功后,继续刚才失败的步骤。
Alter database open 成功后,即完成恢复。
另外由于数据安装位置的不一致会带来诸多文件问题,这个时候需要改pfile,甚至重建控制文件,较为繁琐。这里不作讨论。
最后,用原有用户测试
Conn ****/****

Make a check-up..

记住经常做数据备份。如果下次损坏的是数据,就很难恢复了。




Wangwj/scttsc
Valenwon/cnoug
2008-01-31

原文:http://valen.blog.ccidnet.com/blog-htm-itemid-245331-do-showone-type-blog-uid-51502.html

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