1体系结构概览
内存管理:包括共享内存区域和私有内存区域
线程管理:包括工作线程和后台线程
后台线程常见的是写日志线程、写数据线程跟Checkpoint线程,为了保证实现各种数据库的机制而运行的线程。
物理存储:可以从操作系统看到的控制文件,数据文件,归档日志文件和slice文件等物理文件。
2YashanDB 基本概念
2.1内存管理
包括共享内存区域和私有内存区域。
共享内存是在数据库实例启动时向操作系统内核中请的内存资源,主要完成将数据文件的数据加载到数据缓冲区和数据字典和SQL等加载到内存共享池的功能,作用是提升数据库的访问效率。
私有内存在每个客户端连接到数据库实例时分配的内存区域,是每个连接独享的内存区域,主要完成从数据缓存区搜索和复制数据,返回执行结果等功能。
2.2线程管理
包括工作线程和后台线程
工作线程是指每个客户端连接到数据库实例所创建的线程。
后台线程是数据库实例为实现各项工作机制和保证数据一致性等所衍生的一系列线程。
2.3物理存储
主要包括控制文件,Redo日志文件,数据文件和归档日志文件等文件。
ctrl1、ctrl2、ctrl3:控制文件
redo1、redo2、redo3、redo4:Redo日志文件
3YashanDB 内存管理详解
3.1共享内存区域
3.2私有内存区域
3.3修改内存参数
修改内存参数范例:
SQL>ALTER SYSTEM SET DATA_BUFFER_SIZE = 2G SCOPE = SPFILE;
SQL>ALTER SYSTEM SET SHARE_POOL_SIZE = 500M SCOPE = SPFILE;
SQL>ALTER SYSTEM SET REDO_BUFFER_SIZE = 500M SCOPE = SPFILE;
注意:
DATA_BUFFER_SIZE:指定数据缓存区的大小;
SHARE_POOL_SIZE:指定共享缓存区使用的内存大小;
REDO_BUFFER_SIZE:REDO刷盘的内存大小;
SCOPE = SPFILE:修改参数后需要重启数据库生效;
4YashanDB 线程详解
1、解析SQL/执行SQL
2、从数据缓存查找数据
3、将数据修改复制到日志缓存区
4、将结果数据返回给工作线程
YCA培训官方报名链接: