Oracle数据库体系结构、启动过程、关闭过程
发布时间:2020-12-12 15:35:21 所属栏目:百科 来源:网络整理
导读:一、Oracle数据库体系结构 体系结构由下面组件组成: 1、Oracle服务器(Server):由数据库实例和数据库文件组成,另外在用户建立与服务器的连接时启动服务器进程并分配PGA(程序全局区) (1)数据库实例(Instance) 数据库实例由一些内存区和后台进程组成。 (a)
一、Oracle数据库体系结构
体系结构由下面组件组成: 1、Oracle服务器(Server):由数据库实例和数据库文件组成,另外在用户建立与服务器的连接时启动服务器进程并分配PGA(程序全局区) (1)数据库实例(Instance) 数据库实例由一些内存区和后台进程组成。 (a)内存区:共享池、数据库高速缓存、重做日志缓存、流池以及其他可选内存区 (b)后台进程:系统监控进程(SMON)、进程监控(PMON)、数据库写进程(DBWR)、日志写进程(LGWR)、检验点进程(CKPT)、其他进程 (2)数据库文件 数据库文件由数据文件、控制文件、重做日志文件组成。 (a)数据文件:数据库中的实际数据 (b)控制文件:包含维护数据库和验证数据库完整性的信息,是二进制文件。 (c)重做日志文件:包含数据库发生变化的记录,在发生故障时用于数据恢复。 2、服务器进程 3、用户进程 4、参数文件 也称为数据库初始化文件,定义数据库实例的特性,包含为SGA中内存结构分配空间的参数。 分为pfile文件和spfile文件。 (a)pfile文件:文件名默认为init.ora,属于静态文件,可以使用文本编辑器编辑,修改后需要重启实例才生效。 (b)spfile文件:文件名默认为spfile<ORACLE_SID>.ora,属于二进制的动态文件,只能通过Oracle指令修改,修改后直接生效。 Oracle 11g默认使用spfile启动,也可以使用pfile文件启动数据库,如:startup pfile='d:init_123.ora' 5、密码文件 授予用户启动和关闭数据库实例。 6、归档日志文件 二、数据库启动过程 启动过程涉及到三个状态:nomount、mount、open 1、nomount状态 只打开数据库实例。 使用startup nomount启动。 C:UsersLC>sqlplus /nolog SQL> connect /as sysdba 已连接。 SQL> startup nomount ORACLE 例程已经启动。 Total System Global Area 1686925312 bytes Fixed Size 2176368 bytes Variable Size 989858448 bytes Database Buffers 687865856 bytes Redo Buffers 7024640 bytes SQL> select * from v$controlfile; 未选定行 SQL> show parameter control_files; NAME TYPE VALUE --------------------------------------------------------------------------------------------------------------- control_files string D:APPLCORADATATESTDBCONTROL01.CTL,D:APPLCFLASH_RECOVERY_AREATESTDBCONTROL02.CTL 说明: select * from v$controlfile;用于测试此时控制文件是否已打开。 show parameter control_files;获取控制文件的位置。 2、mount状态 根据参数文件中控制文件的位置找到并打开控制文件,读取控制文件中的各种参数信息,如数据文件和日志文件的位置等。 启动到mount状态有二种方式,一是使用指令startup mount直接启动到mount状态,二是在数据库是nomount状态时使用alter指令切换到mount状态。 SQL> alter database mount; 数据库已更改。 此时使用select * from v$controlfile;能查询到控制文件的信息。 但是此时数据库并没有打开,数据文件无法读取,例如查询表会出错。 3、open状态 将打开数据文件并进行一系列的检查工作,这些检查工作用于数据恢复; 启动到open状态有二种方式,一是使用指令startup(默认是open)或startup open直接启动到open状态,二是在数据库是nomount或mount状态时使用alter指令切换到open状态。在启动数据库时,可以执行startup直接启动数据库到open状态,这个过程仍然要经历上面三个状态。 SQL> alter database open; 数据库已更改。 三、数据库关闭过程 关闭过程和启动相反,经历了close、dismount、shutdown。 可以分步关闭,也可以直接关闭。 分步关闭: 1、close数据库 关闭数据文件、日志文件等。 SQL> alter database close; 数据库已更改。 2、dismount数据库 关闭控制文件。 SQL> alter database dismount; 数据库已更改。 3、shutdown数据库 关闭实例。 shutdown有4个参数:shutdown normal(默认)、shutdown immediate(推荐)、shutdown transactional、shutdown abort SQL> shutdown 数据库已经关闭。 已经卸载数据库。 ORACLE 例程已经关闭。 另外,有一次测试中,shutdown immediate以后再startup 报错:监听程序当前无法识别连接描述符中请求的服务 关闭当前sqlplus窗口,在开始运行-> sqlplus / as sysdba -> startup (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |