当前位置:编程问答 > Oracle >

Oracle文件恢复成实例的过程

Oracle文件恢复成实例的过程
 
1.   适用条件
  www.zzzyk.com  
1. 拥有原实例的数据文件(oracle全路径最好),比如系统重装之后,或通过其它的机器上将oracle的冷备进行恢复的情况。这时原有的oracle数据库文件还在,但程序及服务无法开启,需要使用本文所使用的方法进行恢复。
2. 拥有和原数据库相同版本号的oracle安装文件。注:大版本小版本必须都一致。
2.   解决方案
 
2.1. 方案一:使用oradim创建实例方式 (推荐使用)
ORADIM工具是Oracle在Windows上的一个命令行工具,用于手工进行Oracle服务的创建、修改、删除等工作。具体操作步骤如下。
2.1.1.安装数据库软件
只需安装同版本的数据库软件即可,不需要创建数据库。最好安装在和原来数据库同样的%ORACLE_HOME%下,省得还要修改参数文件路径等。
要点:数据库版本必须一致。原oracle目录要做好备份备用。安装时要把原来的oracle删干净。不要创建实例(这个默认是选中创建orcl实例的,要点掉)。
2.1.2.文件拷备
将数据文件(包括控制文件),日志文件,SPFILE拷到对应位置。以10.1.0.2.0, 实例名为orcl为例:数据文件为:%ORACLE_HOME%下的database\orcl文件夹复制过来。%ORACLE_HOME%下的admin\orcl文件夹复制过来。%ORACLE_HOME%下的Db1\database下的SPFILEORCL.ORA,hc_orcl.dat,PWDorcl.ora拷过来。
要点:目录结构一致。数据文件如果有未放到database\orcl下的,也要一并拷过来并放到与源文件相同的目录下。
2.1.3.创建同名实例
在cmd下, 使用oradim -new -sid orcl创建实例。注意实例名要和原实例名一致。
2.1.4.启动实例
在cmd下, C:\> set oracle_sid=orcl, 然后C:\>sqlplus / as sysdba. 会提示连接到空闲例程。然后SQL> startup. 实例启动完成。
过程中如果有提示文件找不到的时候请检查是否文件未拷完整。
 
检查: 可以通过使用原有的用户及密码进行测试连接及表的查询。
2.1.5.设置oracle实例自动启动
ORACLE的服务是自动启动的,但是数据库不能自动启动在注册表里的\HKEY_LOCAL_MACHINES\SOFTWARE\ORACLE\HOME0下面的ORA_SID_AUTOSTART改为TRUE
2.1.6.启动Listener
将源%ORACLE_HOME%下的\Db_1\NETWORK\ADMIN下的listener.ora及tnsnames.ora两个文件拷到对应的目录下,这两个文件为文本文件,可以打开进行更改,但不是很懂的时候建议不要做任务改动。
然后在CMD下输入 C:\> lsnrctl start 进行启动Listener.
2.1.7.检查及后续处理
经过上面五步的操作已经恢复成功了。现在要进行一下检查。打开服务查看OracleServiceORCL 及OracleOraDb10g_home1TNSListener是否已经启动。启动就是ok的。注意此时这两个服务为手动启动的,如果有需要请自行打到自动方式。
使用需要使用此数据库的程序进行连接,测试。
       至此方案1已经结束。
 
2.2. 方案二:使用DBCA创建实例方式 (不推荐使用)
DBCA是ORACLE进行实例创建,卸载的工具,一般在安装数据库时不创建实例的时候都是使用DBCA进行创建实例的。此方案就是使用DBCA创建一个同名的实例。然后停掉此实例,再用数据文件进行替换。再次启动数据库。
此方案成功率较低,因为多数情况下原数据库创建过程中所选的参数及数据文件等都不一定会选择正确。所以此方案不建议使用。
而对于版本号不同的情况下是可以使用此方案的,但操作极为复杂,这里就简单提一下,如果需要的时候再多查资料进行完整测试再进行操作。
此方案未经过完整测试, 不建议使用。
Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到什么编程难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,