racle其实也差不多,只不过oracle本身设计的安全性和稳定性都十分好。所以相应的配置文件也要多些。
1、先将原oracle的安装目录和data目录都做个备份。然后安装oracle,安装路径要和原来的一样。安装时选择'只安装软件'即可,不用选择安装数据库。例如:安装在E:oracleproduct10.2.0目录,会发现在该目录只有一个db_1目录。
2、再将db_1NETWORKADMIN目录下的tnsnames.ora、sqlnet.ora、listener.ora文件拷到相应的目录中。
3、配置listener和tns:
运行lsnrctl start,即可在创建监听服务;
使用net manager配置tns,但不要测试(数据库没有起来肯定测试不通过的);
注:配置tns这一部可以省略,因为所有的文件覆盖过后,再通过net manager查看时会发现manager里就有了,但机器的主机名一定要一致,如果不一致,文件覆盖完,可以在这里修改。
4、将原来的E:oracleproduct10.2.0目录里的oradata、flash_recovery_area和admin目录都复制到刚安装的目录里。
注:admin目录可以只拷/admin/$SID/pfile文件夹,其他几个adump、bdump、cdump、dpdump、udump可以直接新建文件夹就行。
5、重建实例服务:
oradim -new -sid orcl -startmode auto
其中orcl为SID的名称。如果有多库,就要运行多次。(后面的-startmode auto也可以不要)
6、重建口令文件(该步也可以省略,使用原来的密码pwdorcl.ora。如果实例名是其他就把orcl换成其他):
orapwd file=路径 password=orcl entries=5
7、到serveices.msc里重启oracle相关的所有的实例服务和监听。也可以在命令行里重启。
8、最后可以通过
sqlplus /nolog
conn as/sysdba;
查看数据库是否恢复。如果没有,查看报什么错误。缺什么文件,然后找到相应的文件,放到新安装的位置即可。如果发现没有报相应的错误,看下是不是数据库没有启动,可以连接后,startup手动启下数据库。
如上图就就是缺少了db_1下的database和dbs目录下的相关文件。
以上步骤完成后,数据库应该是差不多完成恢复了。之所以能进行恢复,主要依赖以下文件:
a、初始化参数文件INIT.ORA
b、所有数据文件 .dbf
c、重做日志文件(联机日志、归档日志)redo
d、控制文件
e、internal密码文件