一、mysql和sqlserver的恢复

sqlserver和mysql倒还好说。首先重新安装后,安装位置不要变。如:sqlserver安装在C:Program FilesMicrosoft SQL Server目录的话,还装在原来的位置。安装完后,直接将原来的C:Program FilesMicrosoft SQL ServerMSSQLData目录覆盖新装的目录。重新启动sql server即可。mysql也一样,安装和原来一样的版本,路径也不变。然后使用mysqldata目录覆盖原目录就行了。

二、oracle的恢复

oracle其实也差不多,只不过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、重建实例服务:

1oradim -new -sid orcl -startmode auto

其中orcl为SID的名称。如果有多库,就要运行多次。(后面的-startmode auto也可以不要)

6、重建口令文件(该步也可以省略,使用原来的密码 pwdorcl.ora。如果实例名是其他就把orcl换成其他):

1orapwd file=路径  password=orcl entries=5

7、到serveices.msc里重启oracle相关的所有的实例服务和监听。也可以在命令行里重启。

8、最后可以通过

1sqlplus /nolog
2conn as/sysdba;

查看数据库是否恢复。如果没有,查看报什么错误。缺什么文件,然后找到相应的文件,放到新安装的位置即可。如果发现没有报相应的错误,看下是不是数据库没有启动,可以连接后,startup手动启下数据库。

oracle-recovery

如上图就就是缺少了db_1下的database和dbs目录下的相关文件。

以上步骤完成后,数据库应该是差不多完成恢复了。之所以能进行恢复,主要依赖以下文件:

a、初始化参数文件INIT.ORA
b、所有数据文件 .dbf
c、重做日志文件(联机日志、归档日志)redo
d、控制文件
e、internal密码文件