时间:2021-07-01 10:21:17 帮助过:18人阅读
数据库备份恢复,巡检需要关注的对象设置: 1.数据库名称,以及DBID; --dbid在v$database中 SYS@ORCLselect dbid,name from v$database; DBID NAME ---------- --------- 1385095721 ORCL 2.控制文件的位置; show parameter control_files; select name fr
数据库备份恢复,巡检需要关注的对象设置:
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.打开数据库。