Oracle体系结构
名词解释:
Oracle单实例:一个实例对应一组数据库文件
Oracle多实例:多个实例对应一组数据库文件
instance(实例):内存中对象
database file (数据库文件):磁盘中对象
实例=进程+内存
- free -m 可以在实例启动前后执行,观察内存空间的占用。
- ps -ef|grep ora 可以查看实例进程。
Oracle版本之间区别:
10g:database软件(数据库软件), clusterware(集群软件);
11g:database软件(数据库软件),grid软件(集群软件clusterware+asm);
12c:Oracle数据库软件开始支持晕功能。这种cloud云的概念实际上是跟云计算相关的,现在所谓的云计算,实际上就是通过openstack、docker、k8s等虚拟化技术实现的虚拟化集群。Oracle提出云的概念,云数据库无非就是现在的Oracle数据库软件可以在云平台中运行。
Oracle网络基础结构(三层架构)
image.png
网格计算:网格计算在Oracle中,本身含义是指通过网络计算控制存储层集群,数据库集群,应用服务器集群。这些集群中的服务器/存储设备在网络计算这种概念中以节点的形式存在。在网络中添加/删除资源都是对整个网络开放的。虽然Oracle10g/11g从理论上来讲都支持网络计算,但是在实际应用场景中,并没有明显的使用方式。
1、内存结构
image.png1.1实例=进程+内存空间
1.1.1进程:
后台进程:database数据库软件运行起来后运行的进程,这些后台进程都是跟Oracle数据库软件自身的工作机制相关的。
前台进程(服务器进程):客户端连接Oracle数据库实例,会创建对应的前台进程用于用户操作。
1.1.2内存空间:
sga:系统全局区 system global area(Oracle数据库运行,自动占用的内存空间,共享内存区域)。
sga共享内存区域:前台进程,后台进程都可以使用,一个服务器上只有一个sga区域。
pga:进程全局区 process global area (客户端连接Oracle数据库实例,创建进程同时占用内存空间,独占内存区域)。
pga独占内存区域:对应的前台进程使用,存在很多pga区域。
2、进程结构
3、文件结构
建库的本质作用就是产生数据库的数据,而在fs和asm这两种建库方式中,数据都以数据文件的形式存在,在raw建库中数据以设备的形式存在。
asm建库:管理方便,性能好;
asm管理方便是因为提供类似于文件系统的接口,可以使用类似文件系统的方式访问数据库文件。(asmcmd命令去管理,用grid用户并且声明export ORACLE_SID=+ASM)。
[grid@oracle ~]$ export ORACLE_SID=+ASM
[grid@oracle ~]$ asmcmd
ASMCMD> ls
DATADG/
GRIDDG/
ASMCMD> cd datadg
ASMCMD> ls
ASMDB/
ASMCMD> cd asmdb
ASMCMD> ls
CONTROLFILE/
DATAFILE/
ONLINELOG/
PARAMETERFILE/
TEMPFILE/
spfileasmdb.ora
ASMCMD>
asm性能好是因为直接对设备进行IO操作。
fs建库:管理方便,性能差;
3.1数据库文件包含:
控制文件:CONTROL FILE
数据文件:DATA FILE
日志文件:ONLINE LOG
参数文件:PARAMETER FILE
临时文件:TEMP FILE
密码文件:PASSWD FILE
Oracle连接到数据库实例名词解释:
连接(TCP/IP网络传输概念):用户进程和实例之间的通信。指两个进程之间建立的网络通道。
会话(Oracle数据库内部概念,为了标识用户连接引入会话概念):用户通过用户进程与实例之间建立的特定连接。指当用户连接数据库时,本身只有网络连接存在,并没有客户端身份信息的标识。本身网络连接背后一定是用户操作,为了区分不同的用户连接,会在数据库中产生会话的概念。
image.png
网友评论