Oracle恢复结构是我们都需要掌握的基础知识,下面就为您详细介绍Oracle恢复结构的组成,希望对您能够有所启迪。
当客户应用或工具程序通过网络访问Oracle服务器时,客户端会为应用程序分配用户进程,而服务器端会为其为配服务器进程,并且客户应用的所有SQL操作最终都由服务器进程来执行的。
Oracle服务器由例程和数据数据库两部分组成。为了使客户应用程序能够访问Oracle服务器,必须启动例程并打开数据库。如果没有启动例程,那么会显示错误信息ORA-01034:Oracle not available;如果没有打开数据库,则会显示错误ORA-01033:Oracle initization or shutdown in progress.
例程,例程是一组内存结构和后台进程的集合,内存结构主要包括数据高速缓存、重做日志缓冲区、以及共享池,并且这些内存结构合称为SGA(Sytem Global Area,系统全局区);后台进程主要包括SMON、PMON、DBWR、CKPT、LGWR等。当客户端应用访问Oracle服务器时,必须要确保数据库已经被打开,通过查询动态性能视图V$INSTANCE,可以确定当前例程的信息(包括例程名、例程所在主机机名、例程状态等).
数据库。数据库是一组OS(Operate System)文件的集合,它由数据文件、控制文件和重做日志文件三种文件组成。当在数据库上执行备份与恢复操作之前,需要制定备份与恢复策略,日志操作模式不同,需要采用的备份与恢复策略也不同。通过查询动态性能视图V$DATABASE,可以确定当前数据库的信息(包括数据库名、日志操作模式、当前SCN值)。
数据库是由数据文件、控制文件和重做日志文件三种文件组成。当管理Oracle数据库时,不仅需要管理数据文件、控制文件和重做日志,而且经常需要用到其他OS文件(归档文件、参数文件等)。
数据文件用于存储数据库数据、包括系统数据(数据字典)、用户数据(表、索引、簇)、UNDO数据等。当建立数据库或表空间时,数据文件是通过DATAFILE选项指定的。数据库逻辑上由一个和多个表空间(TABLESPACE)组成,而表空间物理上则由一个和多个数据文件组成。
表空间。表空间是数据库逻辑组成部分,表空间不同,需要采用的备份与恢复策略也有所不同。例如SYSTEM表空间必须在MOUNT状态恢复,数据表空间可以在OPEN状态下恢复,而临时表空间不需要恢复。通过查询数据字典DBA_TABLESPACES,可以显示表空间详细信息。
数据文件,表空间由一个或多个数据文件组成,表空间尺寸实际是其所包含的所有数据文件尺寸之和,通过查询数据字典DBA_DATA_FILES,可以显示表空间和数据文件的对应关系。
当执行备份与恢复操作时,经常需要提供数据文件的动态信息,为了数据文件的动态信息,可以查询动态性能视图V$DATAFILE和V$DATAFILE_HEADER,其中V$DATAFILE的动态信息来自于控制文件,而V$DATAFILE_HEADER的动态信息来自于数据文件头部。在数据库正常情况下,这两个动态性能视图的检查点SCN值完全一致;但如果数据文件出现损坏,并且转储了数据文件备份,那么V$DATAFILE_HEADER可以确定应用重做的起始SCN值,而V$DATAFILE可以确定应用重做的结束SCN值。
日志组,在单实例环境中,只有一个重做线程;在RAC(Real Appplication Cluster)环境中,包括多个重做线程,每个重做线程至少包括两个日志组,通过查询动态性能视图V$LOG,可以显示重做线程的所有日志组信息,包括日志组编号、日志成员个数、日志组状态、尺寸、日志序列号。
控制文件用于记录和维护数据库的物理结构,并且每个Oracle数据库至少要包含一个控制文件,当使用Oracle Server时,一个例程只能访问一个数据库,Oracle正是通过控制文件在例程和数据库之间建立关联的。当装载数据库时,Oracle会根据初始化参数control_file来定控制文件;当打开数据库时,Oracle会依据控制文件所记载的信息打开所有数据文件和重做日志,通过查询V$CONTROLFILE,可以显示当前数据库的所有控制文件。
归档日志是非活动重做日志,通过使用归档日志,可以保留所有重做历史记录,当数据库出现介质失败时,使用数据文件副本和重做历史记录可以完全恢复数据库。只有数据库在归档模式下才会生成归档日志,并且当进行日志切换时,Oracle会自动生成归档日志。
【编辑推荐】