数据库备份恢复。巡检须要关注的对象设置:
1.数据库名称,以及DBID; --dbid在v$database中
SYS@ORCL>select dbid,name from v$database;
DBID NAME
---------- ---------
1385095721 ORCL
2.控制文件的位置;
show parameter control_files;
select name from v$controlfile;
3.日志文件的位置以及数据库的归档设置;
select log_mode from v$database;
archive log list;
select * from v$log;
select * from v$logfile;
--关注日志组数,大小,状态。位置;
select * from v$archived_log;
4.数据文件位置。大小,状态;
select * from dba_tablespaces;
select * from v$tablespace;
select * from dab_data_files;
select * from v$datafile;
--在11g数据库中,暂时表空间仅仅需关注其大小就可以;
5.參数文件;
show parameter spfile;
6.告警日志;
select * from v$diag_info;
adrci
7.数据库现有的备份策略,备份集情况;
要打开数据库。必须满足下面条件:
1.全部控制文件都必须存在且已同步
2.全部联机数据文件都必须存在且已同步
3.每一个重做日志组必须至少有一个成员存在
打开数据库后,假设丢失下面项时数据库就会失败:
1.不论什么控制文件
2.属于系统或还原表空间的数据文件
3.整个重做日志组(仅仅要组中至少有一个成员可用。实例就会保持在打开状态)
假设控制文件丢失或损坏,则实例一般会中止。然后。您必须运行下面步骤:
1.关闭实例(假设它仍处于打开状态)。
2.通过复制现有控制文件还原缺失的控制文件。
3.启动实例。
假设丢失了重做日志文件组中的某个成员。而且组中至少另一个成员,请注意其后果是:
不会影响实例的正常操作。
预警日志中会收到一条消息,通知您无法找到某个成员。
通过从同一组中复制一个剩余文件可还原缺失的日志文件。
NOARCHIVELOG 模式下丢失了数据文件
假设数据库处于 NOARCHIVELOG 模式下。而且丢失了不论什么数据文件,则须要全然还原数据库。包含控制文件和所
有数据文件。
数据库处于 NOARCHIVELOG 模式时,仅仅能恢复到上一次备份时的状态。
因此。用户必须又一次输入自
上一次备份以来所做的更改。
请运行下面任务:
1.假设实例尚未关闭,请关闭实例。
2.从备份还原整个数据库,包含全部数据文件和控制文件。
3.打开数据库。
4.让用户又一次输入自上次备份以来所做的全部更改。
假设处于 NOARCHIVELOG 模式的数据库具有增量备份策略。
则 RMAN 会先还原近期的 0 级。然后 RMAN 恢复进
程再应用增量备份。
ARCHIVELOG 模式下丢失了系统重要数据文件
假设丢失或损坏了某个数据文件。且该文件属于 SYSTEM 或 UNDO 表空间,
请运行下面任务:
1.实例可能会也可能不会自己主动关闭。假设未自己主动关闭,请使用 SHUTDOWN ABORT 关闭实例。
2.装载数据库。
3.还原并恢复缺失的数据文件。
4.打开数据库。