Oracle数据库体系结构、启动过程、关闭过程
一、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:\Users\LC>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:\APP\LC\ORADATA\TESTDB\CONTROL01.CTL, D:\APP\LC\FLASH_RECOVERY_AREA\TESTDB\CONTROL02.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
Oracle数据库体系结构、启动过程、关闭过程的更多相关文章
- Oracle数据库的启动和关闭
深刻理解Oracle数据库的启动和关闭 Oracle数据库提供了几种不同的数据库启动和关闭方式,本文将详细介绍这些启动和关闭方式之间的区别以及它们各自不同的功能. 一.启动和关闭Oracle数据库 对 ...
- Oracle数据库的启动与关闭
一.概述: Oracle数据库的启动分为启动数据库实例.装载数据库和打开数据库3个过程,对应数据库的3种模式. 启动数据库实例:根据数据库初始化参数文件中参数设置,在内存中为数据库分配SGA.PGA等 ...
- 深刻理解Oracle数据库的启动和关闭 .
Oracle数据库提供了几种不同的数据库启动和关闭方式,本文将详细介绍这些启动和关闭方式之间的区别以及它们各自不同的功能. 一.启动和关闭Oracle数据库 对于大多数Oracle DBA来说,启动和 ...
- Oracle数据库的启动和关闭实例
在开始了解oracle数据库的命令之前,先来看一个东西:SQL*PLUS(sqlplus) Oracle的sql*plus是与oracle进行交互的客户端工具.在sql*plus中,可以运行sql*p ...
- oracle数据库实例启动与关闭
区分数据库与实例:实例是指各种内存结构和服务进程,数据库是指基于磁盘存储的数据文件.控制文件.参数文件.日志文件和归档日志文件组成的物里文件集合. 数据库实例启动: startup [nomount ...
- oracle数据库的启动、关闭、连接
登陆数据库 方法一: $ sqlplus / as sysdba [oracle@dev /]$ sqlplus / as sysdba SQL*Plus: Release Production on ...
- DBA_Oracle Startup / Shutdown启动和关闭过程详解(概念)
2014-08-07 Created By BaoXinjian
- Linux——oracle数据库实例启动关闭(转)
-->Oracle 数据库实例启动关闭过程 --================================ [root@robinson ~]# su - oracle --查看未启动实例 ...
- Oracle日常运维操作总结-数据库的启动和关闭
下面是工作中对Oracle日常管理操作的一些总结,都是一些基本的oracle操作和SQL语句写法,在此梳理成手册,希望能帮助到初学者(如有梳理不准确之处,希望指出). 一.数据库的启动和关闭 1.1 ...
随机推荐
- ubuntu安装node.js+express+mongodb
输入以下命令安装: sudo apt-get install nodejs 安装完成后,终端输入nodejs,就能进入node命令啦: 但是正常下应该是输入node进入命令而不是nodejs: 在Ub ...
- GPS部标平台的架构设计(九)-GPS监控客户端设计
交通部的部标过检,所有的测试都是从客户端发起的,也是在客户端体现的,在客户端承载了部标标准所要求的所有的功能,是整个部标平台当中工作量最大的部分,也是最繁琐的部分. 客户端设计面临两个问题: 1.基于 ...
- 也谈微信小程序
小程序是一种不需要下载安装即可使用的应用,它实现了应用"触手可及"的梦想,用户扫一扫或者搜一下即可打开应用.也体现了"用完即走"的理念,用户不关心是否安装太 ...
- Linux:krb5
Kerberos协议主要用于计算机网络的身份鉴别(Authentication), 其特点是用户只需输入一次身份验证信息就可以凭借此验证获得的票据(ticket-granting ticket)访问多 ...
- Excel Note
公式的引用分为相对引用.绝对引用和混合引用.如果要使公式中的引用随着公式的下拉改变就用相对引用.如=sum(A2:D20),这个公式下拉时引用的单元格就会随着变化.如果要使公式中的引用下拉时不会改变就 ...
- Molile App(HTTP/HTML)—Analyze Traffic
- Web服务之LNMMP架构及动静分离实现
原文链接:http://hoolee.blog.51cto.com/7934938/1413346 讲的非常详细,尽管我只看动静分离,可是看了一下其他的部署,也是非常不错,适合新手 一.LNMMP ...
- C#先序遍历2叉树(非递归)
找了下先序遍历二叉树C# 实现貌似没有 顺手些了一个 大致思路是: 传入根节点,然后依次循环其子节点推入到栈中, 当推入的节点没有子节点的时候(叶子)或者所有子节点均已经遍历过后(上一次遍历的节点是该 ...
- Learning From Data 第一章总结
之前上了台大的机器学习基石课程,里面用的教材是<Learning from data>,最近看了看觉得不错,打算深入看下去,内容上和台大的课程差不太多,但是有些点讲的更深入,想了解课程里面 ...
- 夺命雷公狗-----React---24--小案例之react经典案例todos(单条任务的删除)
我们的组建分析图 我们组建需要的是删除,数据流方式如下所示: 为了更方便下一步操作,先写个函数他 然后在Ul组建里面对她进行处理 然后在Zong组建里对数据进行处理,如下所示: 但是悲剧的一幕出现了, ...