暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

初体验 GaussDB T ——GaussDB T与Oracle体系结构对比

原创 姜殿斌 2020-02-17
6232

体系结构

Oracle的体系结构

image.png

GaussDB T体系结构

image.png

Oracle vs GaussDB T :从进程到线程服务器

Oracle 12c 开始支持线程服务器模式

通过设置初始化参数 threaded_execution ,可以启用或关闭多线程模式,该参数缺省值为False,设置为TRUE启用12c的这个新特性:

SQL> show parameter threaded_exec
NAME                    	TYPE       	VALUE
------------------------------------ -------------------	--------------------------
threaded_execution             	boolean   	FALSE
SQL> alter system set threaded_execution=true scope=spfile;

System altered.

操作系统上启动的进程只有5个(PMON / PSP0 / VKTM / DBW0 / U004 / U005),其中U进程是共享线程的“容器进程”,每个进程可以容纳100个线程:

[oracle@enmocoredb dbs]$ ps -ef|grep ora_
oracle   27404     1  0 17:00 ?        00:00:00 ora_pmon_core
oracle   27406     1  0 17:00 ?        00:00:00 ora_psp0_core
oracle   27408     1  3 17:00 ?        00:00:05 ora_vktm_core
oracle   27412     1  0 17:00 ?        00:00:00 ora_u004_core
oracle   27418     1  0 17:00 ?        00:00:00 ora_u005_core
oracle   27424     1  0 17:00 ?        00:00:00 ora_dbw0_core

GaussDB 以线程服务器模式运行

在启动日志中可以清晰的看到线程启动的顺序,GaussDB缺省启动 8 个 DBWR 线程 :

ZENGINE|00000|9302|INFO>lgwr thread started
ZENGINE|00000|9303|INFO>dbwr thread started
ZENGINE|00000|9305|INFO>dbwr thread started
ZENGINE|00000|9306|INFO>dbwr thread started
ZENGINE|00000|9304|INFO>dbwr thread started
ZENGINE|00000|9307|INFO>dbwr thread started
ZENGINE|00000|9308|INFO>dbwr thread started
ZENGINE|00000|9309|INFO>dbwr thread started
ZENGINE|00000|9310|INFO>dbwr thread started
ZENGINE|00000|9311|INFO>ckpt thread started
ZENGINE|00000|9312|INFO>smon thread started
ZENGINE|00000|9313|INFO>stats thread started
ZENGINE|00000|9314|INFO>index page recycle thread started
ZENGINE|00000|9316|INFO>rollback thread started
ZENGINE|00000|9317|INFO>rmon thread started
ZENGINE|00000|9318|INFO>job master thread started
ZENGINE|00000|9319|INFO>reactor thread started
ZENGINE|00000|9320|INFO>tcp-lsnr thread started
ZENGINE|00000|9

GaussDB T–体系结构:实例

UTC+8 2019-12-06 17:05:28.691|ZENGINE|00000|9300|INFO>[PARAM] LSNR_ADDR = 127.0.0.1
UTC+8 2019-12-06 17:05:28.691|ZENGINE|00000|9300|INFO>[PARAM] LSNR_PORT = 1611
UTC+8 2019-12-06 17:05:28.691|ZENGINE|00000|9300|INFO>[PARAM] DATA_BUFFER_SIZE = 2G
UTC+8 2019-12-06 17:05:28.691|ZENGINE|00000|9300|INFO>[PARAM] SHARED_POOL_SIZE = 1G
UTC+8 2019-12-06 17:05:28.691|ZENGINE|00000|9300|INFO>[PARAM] LOG_BUFFER_SIZE = 64M
UTC+8 2019-12-06 17:05:28.691|ZENGINE|00000|9300|INFO>[PARAM] LOG_BUFFER_COUNT = 8
UTC+8 2019-12-06 17:05:28.691|ZENGINE|00000|9300|INFO>[PARAM] TEMP_BUFFER_SIZE = 1G
UTC+8 2019-12-06 17:05:28.691|ZENGINE|00000|9300|INFO>[PARAM] CONTROL_FILES = (/gaussdb/gaussdata/data/cntl1, /gaussdb/gaussdata/data/cntl2, /gaussdb/gaussdata/data/cntl3)
UTC+8 2019-12-06 17:05:28.691|ZENGINE|00000|9300|INFO>[PARAM] DBWR_PROCESSES = 8
UTC+8 2019-12-06 17:05:28.691|ZENGINE|00000|9300|INFO>[PARAM] INSTANCE_NAME = enmotech
UTC+8 2019-12-06 17:05:28.691|ZENGINE|00000|9300|INFO>[PARAM] ENABLE_SYSDBA_LOGIN = TRUE
UTC+8 2019-12-06 17:05:28.691|ZENGINE|00000|206158439508|INFO>starting instance(normal)
UTC+8 2019-12-06 17:05:28.743|ZENGINE|00000|9302|INFO>lgwr thread started
UTC+8 2019-12-06 17:05:28.743|ZENGINE|00000|9303|INFO>dbwr thread started
UTC+8 2019-12-06 17:05:28.743|ZENGINE|00000|9305|INFO>dbwr thread started
UTC+8 2019-12-06 17:05:28.743|ZENGINE|00000|9306|INFO>dbwr thread started
UTC+8 2019-12-06 17:05:28.743|ZENGINE|00000|9304|INFO>dbwr thread started
UTC+8 2019-12-06 17:05:28.743|ZENGINE|00000|9307|INFO>dbwr thread started
UTC+8 2019-12-06 17:05:28.743|ZENGINE|00000|9308|INFO>dbwr thread started
UTC+8 2019-12-06 17:05:28.743|ZENGINE|00000|9309|INFO>dbwr thread started
UTC+8 2019-12-06 17:05:28.743|ZENGINE|00000|9310|INFO>dbwr thread started
UTC+8 2019-12-06 17:05:28.743|ZENGINE|00000|9311|INFO>ckpt thread started
UTC+8 2019-12-06 17:05:28.743|ZENGINE|00000|9312|INFO>smon thread started
UTC+8 2019-12-06 17:05:28.743|ZENGINE|00000|9313|INFO>stats thread started
UTC+8 2019-12-06 17:05:28.743|ZENGINE|00000|9314|INFO>index page recycle thread started
UTC+8 2019-12-06 17:05:28.743|ZENGINE|00000|9316|INFO>rollback thread started
UTC+8 2019-12-06 17:05:28.743|ZENGINE|00000|9317|INFO>rmon thread started
UTC+8 2019-12-06 17:05:28.743|ZENGINE|00000|9318|INFO>job master thread started
UTC+8 2019-12-06 17:05:28.782|ZENGINE|00000|9319|INFO>reactor thread started
UTC+8 2019-12-06 17:05:28.782|ZENGINE|00000|9320|INFO>tcp-lsnr thread started
UTC+8 2019-12-06 17:05:28.782|ZENGINE|00000|9321|INFO>uds-lsnr thread started

GaussDB T–体系结构:启动三阶段

image.png

[gaussdba@localhost~]$ zengine nomount-D /opt/gaussdb
starting instance(nomount)
[gaussdba@localhost~]$ zengine mount -D /opt/gaussdb/
starting instance(mount)
[gaussdba@localhost~]$ zengine
starting instance(normal)
[gaussdba@localhost~]$ zengine open
starting instance(normal)
[gaussdba@localhost~]$ zengine open -D /opt/gaussdb
starting instance(normal)

nomount模式:

image.png

mount模式:

image.png

open模式:

image.png

使用的物理文件:

image.png

GaussDB T–体系结构:关闭模式

image.png

SQL> shutdown;
SQL> shutdown immediate;
SQL> shutdown abort;

GaussDB T–体系结构:动态视图

image.png

GaussDB T–体系结构:系统视图

image.png

GaussDB T–体系结构:日志

image.png

最后修改时间:2020-02-17 18:17:39
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论