服务器由于断电导致C盘数据丢失,造成了服务器上Postgres、Oracle数据库故障,由于磁盘空间不够等原因Postgres、Oracle数据库未做过备份,需要利用原来的数据文件恢复数据库。
1. 恢复Postgres数据库
恢复Postgres数据库相对容易一些,重新安装Postgres数据库后,先停止服务,再将原先Postgres的data文件夹覆盖新的data文件夹,然后启动服务,即可完成数据恢复。
2. 恢复Oracle数据库
用trace方式恢复Oracle数据库,重新安装Oracle数据库后,首先用原先的控制文件、数据文件和日志文件覆盖新的,执行select name from v$controlfile查看控制文件所在位置,把原先Oracle中的所有CTL、LOG、DBF及TMP文件全部放到原来的路径下,新安装Oracle已经有的文件需要覆盖。
再打开命令行执行sqlplus / as sysdba以sysdba身份登录Oracle,依次执行下面4条语句:
shutdown immediate
startup mount
recover database until cancel
alter database open noresetlogs;
语句执行成功即数据恢复完成。