您的位置:首页 > 数据库 > Oracle

(原创--网上办法经过改良)系统重装后,如何快速的回复oracle 10g(测试环境:windows server 2003 sp1+Oracle 10g)

2012-05-30 22:12 399 查看
一、事前准备工作:
把旧的ORACLE重命名,比如oracle_back,再重新安装ORACLE,要求:目录,sid等跟原来的一模一样,利于恢复。
二、安装Oracle数据库软件

只安装ORACLE(可以通过高级安装---只安装数据库软件),不创建数据库,如果已经创建了数据库,
用" 开始 ==>所有程序==>Oracle - OraDb10g_home1==>Database Configuration Assistant" 删除掉.

我的数据库的实例名为Orcl,下面为整个恢复过程
二、回复操作:

开始

C:/Documents and Settings/gxlineji>oradim -new -sid Orcl
实例已创建。
C:/Documents and Settings/gxlineji>set ORACLE_SID=Orcl

C:/Documents and Settings/gxlineji>sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.1.0 - Production on 星期六 2月 7 22:54:32 2009

Copyright (c) 1982, 2005, Oracle. All rights reserved.

已连接到空闲例程。

SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: ???????????????? 'E:/ORACLE/PRODUCT/10.2.0/DB_1/DATABASE/INITOrcl.ORA'

把原目录下的INITHWDB.ORA复制到提示的路径下INITOrcl.ORA.再次startup,

SQL> startup
ORA-01078: failure in processing system parameters
ORA-01565: error in identifying file 'E:/oracle/product/10.2.0/db_1/dbs/spfileOrcl.ora'
ORA-27041: unable to open file
OSD-04002: ????????????
O/S-Error: (OS 2) ??????????????????????

用旧目录下的spfileOrcl.ora,代替现有的spfileOrcl.ora文件

将旧目录下的10.2.0的admin,flash_recovery_area,oradata这三个文件夹全部拷贝到新的下面,因为安装数据库软件,这三个文件不会被创建
.再startup,OK大功告成!

SQL> startup
ORACLE 例程已经启动。

Total System Global Area 314572800 bytes
Fixed Size 1248768 bytes
Variable Size 83886592 bytes
Database Buffers 222298112 bytes
Redo Buffers 7139328 bytes
数据库装载完毕。
数据库已经打开。
SQL> conn scott/tiger
已连接。

按照上面的步骤,此时虽然能导出oracle数据库的文件了,但是发现net manager中并没有实例名,网上说照下面的办,但是我没有成功.
所以才用的导出功能。(
(现在可以连接我们自己的用户了,比如conn sthy/sthy),导出也可以了,可以再sqlplus中导出数据,导出一个dmp的,然后重做系统,重新安装完全的oracle,之后导入数据库,就ok了)

---网上找的办法,没试验成功。-开始-----
现在可以连接ORACLE了,但有一个缺点,就是每次连接前都要设置环境变量ORACLE_SID,使用的DOS命令:SET ORACLE_SID=HWDB
为了省去这个麻烦,必须配置环境变量.

将以下内容保持成一个后缀名为reg的文件(文件名随便起),然后双击,即可将信息导入到注册表中。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE]
"ORACLE_SID"="HWDB"

[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_home1]
"ORACLE_SID"="HWDB"

为了确保注册表里的ORACLE_SID都正确设置了,可以搜索注册表,找出所有的ORACLE_SID,
如果发现有设置不正确的,将值修改为正确值("ORACLE_SID"="SID"改为"ORACLE_SID"="HWDB").

重新计算机,OK!!

---网上找的办法,结束----------------

---2012-9-13- Start--

今天又碰到这个问题了,研究了2个小时终于解决了,继续写哈,这次不用倒dmp了,直接恢复到原来的数据库了,不用重新安装数据库

1、重新建立listener,监听程序,开始菜单--oracle--配置和移植工具--net configuration assistant--一路默认就行了

2、建立实例名。开始菜单--oracle--配置和移植工具--net manager --服务命名。。其中服务名和本地连接名 均为之前的的实例名,主机名填写本机计算机名称,端口号1521

3、这样,一般就启动起来了,但是有一个问题,这样每次重启计算机都需要在sqlplus 中startup,这种情况算windows下oracle假启动问题,解决方法有以下两种(http://zhidao.baidu.com/question/113949114.html)

  a)

开始→Oracle - OraDb10g_home1→Configuration and Migration Tools

→Administration Assistant for Windows→【把菜单全部打开找到你的database下有你建的数据库实例名】→【选中实例名右键】

→startup/shutdown option→【把第一个选项选中,这个选项的作用就是启动服务时自动启动实例】。

说明:我上面说的只是我的电脑上的oracle设置方法,具体路径可能会和你的不一样,请参照你自己的实际情况修改,最终目的就是找到【Administration Assistant for Windows】。

  b)因为实例的启动方式是手动需要改成auto啊
  1.编辑此实例,启动方式改为自动
   oradim -EDIT -SID test -STARTMODE auto
  2.编辑此实例,启动方式改为手动
   oradim -EDIT -SID test -STARTMODE manual

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: