--Restore将数据文件带回到过去(备份的时间点)+Recover恢复从备份到数据文件崩溃这段时间内所有提交的数据=>数据库的完全恢复
--recover命令
recover database; 该命令只能在数据库加载状态时使用;
recover tablespace 表空间名称|表空间号;该命令只能在数据库打开状态时使用;
recover datafile 数据文件名|数据文件号;
--恢复时经常使用的数据字典
v$recover_file
v$recovery_log
--将数据文件置为脱机状态
alter database datafile 7 offline;
--将表空间置为脱机状态
alter tablespace 表空间名称 offline;
--查看数据文件置为脱机状态后的数据文件当前状态
select file#,status from v$datafile;
--查看数据文件置为脱机状态后的表空间当前状态
select tablespace_name ,status from dba_tablespces;
--查看v$recover_file的相关信息
select * from v$recover_file
--查看v$recovery_log相关信息
select * from v$recovery_log
--对数据文件7进行介质恢复,否则会报错
recover datafile 7;
--重新将数据文件7设置成联机状态
alter database datafile7 online;
-------------------4种数据库完全恢复方法-----------------
1、在数据库最初处于打开的状态下,进行开启数据库的恢复;
2、在数据库最初处于关闭的状态下,进行开启数据库的恢复;
3、恢复没有备份的数据文件;
4、在关闭的状态下进行数据库的恢复;
=======第一种恢复方法===在数据库最初处于打开的状态下,进行开启数据库的恢复;=================
【使用情形】
a、所需恢复的数据文件不属于系统表空间或还原/回滚段表空间;
b、磁介质的损坏,数据文件的崩溃,或数据文件的丢失并未造成数据库的关闭;
c、数据库是7*24小时运行,数据库的当机时间必须保持最小;
【操作步骤】
a、使用数据字典dba_data_file获得要恢复的数据文件与所对应的表空间及它们的相关信息;
b、使用数据字典dba_tablespace(或v$datafile)获得要恢复的表空间是处于脱机还是联机状态;
c、如表空间还处于联机状态,则先将该表空间设为脱机状态,或将数据文件设为脱机,如已经处于脱机,则此步骤可不用;
d、使用操作系统命令将备份的数据文件复制回数据库中原来的位置。如果是硬盘坏了,则将备份的数据文件复制到其他的硬盘上,
之后使用alter命令修改数据文件名;
e、使用recover命令将所有提交的数据从归档日志文件和重做日志文件重新写入已经修复的数据文件。
recover tablespace 表空间名;
recover datafile 数据文件名;
f、恢复完成后,使用alter tablespace 或alter database将表空间或数据文件重新置为联机状态;