数据库系统设计与开发
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北京邮电大学软件学院 郭文明 2016.9
《数据库设计与开发》讲义
4.2.1.1 ORACLE內存结构
–数据库缓冲区高速缓存: DB_BLOCK_SIZE和DB_BLOCK_BUFFERS是决 定缓冲区高速缓存大小的两个初始化参数。 DB_BLOCK_SIZE设置Oracle块大小, DB_BLOCK_BUFFERS决定分配给缓冲区高速缓 存的块的数量。两参数相乘就可得出缓冲区 高速缓存的内存总数(以字节为单位)。 ORACLE 9i可以通过ALTER SYSTEM SET DB_CACHE_SIZE动态设置。
北京邮电大学软件学院 郭文明 2016.9
《数据库设计与开发》讲义
4.2.1.1 ORACLE內存结构
–共享池: 字典高速缓存含有RDBMS引擎分析SQL语句所使用 的数据字典信息。在这个区域中含有段信息、安全 性、访问权限和在可用的自由存储空间等信息。 共享池的大小取决于init.ora文件参数 SHARED_POOL_SIZE,它是以字节为单位的。ORACLE 9i可以通过ALTER SYSTEM SET SHARED_POOL_SIZE动 态设置。 共享区经过长期装卸和卸载数据对象会产生许多 碎片,如果在共享池中没有足够的连续空间用来装 载目标数据,会产生错误。这个问题可以通过运行 SQL命令ALTER SYSTEM FLUSH SHARED_POOL解决。但 是如果在数据库操作时,经常遇到共享池错误,就 必须增大共享池。
北京邮电大学软件学院 郭文明 2016.9
《数据库设计与开发》讲义
4.2.1 ORACLE数据库实例组成
• 实例中每一个进程都有各自的一个内存块,该内存块 用于保存私有变量、地址堆栈和其他运行时的信息。 • 进程间使用公共共享区并在公共共享区内完成它们的 工作。公共共享区是能够在同一时间内被不同程序和 不同进程读写的一块内存区。该内存块称为系统全局 区(SGA)。因为SGA驻留在一个共享内存段中,所以它 经常被称作共享全局区。 • 后台进程就像数据库的手,是直接处理数据库的组件; SGA就像大脑,在必要时间接地调度手处理它们的信息 与存储检索。SGA参与发生在数据库中全部的信息和服 务器的处理。 • 单用户的Oracle配置(Personal Oracle Lite),不使 用多进程执行数据库的功能。相反,所有的数据库功 能由一个Oracle进程完成。由于这个原因,单用户也 称为单进程Oracle。
北京邮电大学软件学院 郭文明 2016.9
《数据库设计与开发》讲义
4.2.1.1 ORACLE內存结构
–重做日志缓冲区: 对具有多个CPU的服务器而言,Oracle服 务器不允许使用重做分配闩所书写的重做日 志项所需空间比参数 LOG_SMALL_ENTRY_MAX_SIZE大。相反,进程 必须持有一个重做复制闩。可获得的重做复 制闩的数量等于LOG_SIMULTANEOUS_COPIES 初始化参数的值。 LOG_SIMULTANEOUS_COPIES的缺省值是系统 中CPU的数量。使用重做复制闩,多个进程 能同时写入重做日志缓冲区。 可以使用V$LATCH动态性能视图监控重做 分配闩与重做复制闩。
北京邮电大学软件学院 郭文明 2016.9
《数据库设计与开发》讲义
4.2.1.1 ORACLE內存结构
–重做日志缓冲区: 为强迫重做日志顺序写入,Oracle服务器 使用闩控制对缓存的访问。闩是一个Oracle 进程对一个内存结构的锁定,一个进程必须 持有重做分配闩,才能写入重做日志缓冲区。 当一个进程持有分配闩时,其他任何进程都 不能使用这个分配闩写入重做日志缓冲区。 Oracle服务器使用 LOG_SMALL_ENTRY_MAX_SIZE初始化参数限制 一次写入的重做的总量。这个参数以字节为 单位,其缺省值随操作系统和硬件不同而不 同。
北京邮电大学软件学院 郭文明 2016.9
《数据库设计与开发》讲义
4.2.1.2 ORACLE进程
• 用户进程:每个用户进程被分配一部分内存区, 称为进程全局区(PGA)。 当一个用户进程通过专用服务器方式连接数 据库时,用户的会话数据、堆栈空间和游标状 态信息存储在进程全局区中。用户的会话数据 包括安全和资源使用信息;堆栈空间含有为用 户会话指定的本地变量;游标状态区包括运行 时的游标信息、返回的行和游标返回的代码。 如果用户进程通过共享服务器进程方式进行 连接,游标和会话信息被存储在系统全局区 (SGA)中。尽管对整个数据库而言,这并不增加 对内存空间的要求,但是它需要一个更大的系 统全局区来存放这些附加的会话信息。
北京邮电大学软件学院 郭文明 2016.9
《数据库设计与开发》讲义
4.2.1.1 ORACLE內存结构
–数据库缓冲区高速缓存:是影响整个数据库 系统运行的重要因素之一。数据库缓冲区高 速缓存是由与Oracle块相同大小的内存块组 成。所有Oracle操作的数据在使用前被装入 到数据库缓冲区高速缓存中。数据的更新在 内存块中完成。 Oracle根据最近最少被使用(LRU)列表将数 据清出缓冲区高速缓存。LRU列表记录数据块 被访问的频繁程度。当服务器在缓冲区中需 要更多空间来从磁盘读入一个数据块时,它 去访问LRU列表,以确定可以清出哪些块,使 用这种方法,保证最频繁使用的块保存在内 存中。
北京邮电大学软件学院 郭文明 2016.9
《数据库设计与开发》讲义
4.2.1.2 ORACLE进程
• ORACLE进程可以理解为一系列执行一定任务、 提供不同服务信息的程序。主要有用户进程、 服务器进程、后台进程三种类型。 • 用户进程:当客户机向ORACLE服务器发出一个 连接请求时,就产生一个用户进程。 数据库用户操纵数据前,首先要建立一个与 数据库服务器的连接(可通过Oracle工具,如 SQL*Plus),连接的同时产生用户进程,用户 进程并不直接作用于ORACLE服务器,而是与一 个服务器进程进行通信。
北京邮电大学软件学院 郭文明 2016.9
《数据库设计与开发》讲义
4.2.1.1 ORACLE內存结构
–数据库缓冲区高速缓存: 被修改过的缓冲块称为脏的,脏列表记录 所有在内存中被修改而又尚未写入磁盘中的 数据。当Oracle接收到修改数据的请求时, 对高速缓存中的块进行数据修改,同时写入 重做日志中,然后该块被放入脏的列表中, 对这些数据的随后访问从高速缓存中读取改 变的数据的新的值。 Oracle服务器对更新的一块数据,并不立 即更新数据文件中的数据。RDBMS等到一定条 件时才将改变的数据刷新写入数据文件(参 见数据库写入进程)。
北京邮电大学软件学院 郭文明 2016.9
《数据库设计与开发》讲义
4.2.1.2 ORACLE进程
• 服务器进程:服务器进程接受用户发出的请求, 并根据请求与数据库通信,通过这些通信完成 用户进程对数据库中数据的处理要求,同时完 成对数据库的连接操作和I/O访问。
DBWR LGWR
CKPT
Others
后台 进程
• ORACLE实例是指有自己的内存结构和相关的服务 器进程及后台进程的DBMS。 4.2.1.1 内存结构 4.2.1.2 进程
北京邮电大学软件学院 郭文明 2016.9
《数据库设计与开发》讲义
4.2.1.1 ORACLE內存结构
• ORACLE的内存结构主要有两个内存区域组成: SGA(System Global Area):系统全局区,是 ORACLE实例的基础,是一个共享区域,存放最 近使用的SQL语句、最近使用的数据、最近使用 的数据字典等信息,供各个进程调用。 PGA(Program Global Area):程序全局区,该 区域是一非共享区域,存放会话、排序、游标、 主变量等信息,被服务器进程调用,保证谁的 请求处理结果给谁,谁的排序给谁,用户声明 的、打开的、使用的、关闭的游标是私有的, 用户的主变量不被其他用户干扰。
北京邮电大学软件学院 郭文明 2016.9
《数据库设计与开发》讲义
4.2.1.1 ORACLE內存结构
–共享池: 对于使用以前缓存的SQL语句,它必须在所 有方面都与缓存版本完全相同,包括标点符号 和字母的大小写。 库高速缓存包括共享和专用SQL区。共享 SQL区包括SQL语句语法分析树和执行路径;专 用SQL区存储特定的会话信息,一个用户会话 能够一次打开的专用SQL区的数量由init.ora 参数OPEN_CURSORS决定。 库高速缓存中的专用SQL区可更进一步分为 永久区和运行区。永久区中包含合法的信息, 并可应用于SQL语句的多个执行中,而运行区 中仅包含正在被执行的SQL语句的数据。
北京邮电大学软件学院 郭文明 2016.9
《数据库设计与开发》讲义
4.2.1 ORACLE数据库实例组成
用户 进程 服务器 进程 PGA 实例 Shared pool Library cache Data Dictionary cache
PMON SMON
SGA 内存 结构
Database Redo log Buffer cache Buffer cache
ຫໍສະໝຸດ Baidu
郭文明 2016.9
《数据库设计与开发》讲义
4.2.1.1 ORACLE內存结构
–共享池: 库高速缓存存储已提交给RDBMS的SQL语句 文本、分析过的格式与执行计划,以及已被 执行的PL/SQL包头与过程等。数据字典高速 缓存存储用于分析SQL语句的数据字典行。 Oracle服务器用库高速缓存来提高执行 SQL语句的性能。当一条SQL语句提交时,服 务器首先查找高速缓存,查看相同的语句是 否已被提交或缓存过。如果有,Oracle使用 存储的语法分析树和执行路径来执行该语句, 使用存储代码可以获得明显的性能提高。
北京邮电大学软件学院
郭文明 2016.9
《数据库设计与开发》讲义
4.2.1.1 ORACLE內存结构
–共享池:共享池包括库高速缓存、数据字典 高速缓存和服务器控制结构(例如数据库字 符集)。 参见下图
库高速缓冲 共享 SQL区 专用SQL区 永久区 运行区 字典高速缓冲 控制结构
北京邮电大学软件学院
北京邮电大学软件学院
郭文明 2016.9
《数据库设计与开发》讲义
4.2.1.1 ORACLE內存结构
–重做日志缓冲区:重做日志缓冲区用于在内 存中存储未被刷新写入联机重做日志文件的 重做信息。 它是循环使用的缓冲区,当重做日志缓冲 区填满时,将它的内容写入联机重做日志文 件。 重做日志缓冲区的大小是由LOG_BUFFER初 始化参数决定,以字节为单位,决定在内存 中保留多少空间缓存重做日志项。如果这个 值设置得过低,进程之间相互竞争,LGWR进 程读出和写入缓存,有可能会导致性能问题。
北京邮电大学软件学院 郭文明 2016.9
《数据库设计与开发》讲义
4.2.1.1 ORACLE內存结构
• 系统全局区:系统全局区是实例的主要部 分。它含有数据维护、SQL语句分析与重做 缓存所必须的所有内存结构。 • 系统全局区的数据是共享的,也就是说, 多个进程可以在同一时间对SGA中的数据进 行访问和修改。所有数据库操作都使用包 含在SGA中某点上的结构。 • 当实例被创建时,分配SGA;当实例关闭时, 释放SGA。
北京邮电大学软件学院 郭文明 2016.9
《数据库设计与开发》讲义
4.2.1.1 ORACLE內存结构
• SGA组成如下:
–共享池。 –数据库缓冲区高速缓存。 –重做日志缓冲区。 另外oracle9i还有Java pool,8i有Java虚 拟机,解释Java;Java pool是利用数据库技 术解释Java. oracle9i的SGA可以通过SGA_MAX_SIZE被动 态的设置大小,8i不能动态设置。
《数据库设计与开发》讲义
4.2 ORACLE数据库实例管理
• Oracle服务器就是数据库管理系统(DBMS),由 数据库(Oracle database)和实例(Oracle instance)组成。 • 实例是一系列复杂的内存结构和操作系统进程, 它为Oracle客户提供所期望的不同程度的服务。 一个实例只能打开一个数据库,或者说一个数 据库被唯一的一个实例装载。 4.2.1 实例组成 4.2.2 实例创建 4.2.3 监控实例
《数据库设计与开发》讲义
4.2.1.1 ORACLE內存结构
–数据库缓冲区高速缓存: DB_BLOCK_SIZE和DB_BLOCK_BUFFERS是决 定缓冲区高速缓存大小的两个初始化参数。 DB_BLOCK_SIZE设置Oracle块大小, DB_BLOCK_BUFFERS决定分配给缓冲区高速缓 存的块的数量。两参数相乘就可得出缓冲区 高速缓存的内存总数(以字节为单位)。 ORACLE 9i可以通过ALTER SYSTEM SET DB_CACHE_SIZE动态设置。
北京邮电大学软件学院 郭文明 2016.9
《数据库设计与开发》讲义
4.2.1.1 ORACLE內存结构
–共享池: 字典高速缓存含有RDBMS引擎分析SQL语句所使用 的数据字典信息。在这个区域中含有段信息、安全 性、访问权限和在可用的自由存储空间等信息。 共享池的大小取决于init.ora文件参数 SHARED_POOL_SIZE,它是以字节为单位的。ORACLE 9i可以通过ALTER SYSTEM SET SHARED_POOL_SIZE动 态设置。 共享区经过长期装卸和卸载数据对象会产生许多 碎片,如果在共享池中没有足够的连续空间用来装 载目标数据,会产生错误。这个问题可以通过运行 SQL命令ALTER SYSTEM FLUSH SHARED_POOL解决。但 是如果在数据库操作时,经常遇到共享池错误,就 必须增大共享池。
北京邮电大学软件学院 郭文明 2016.9
《数据库设计与开发》讲义
4.2.1 ORACLE数据库实例组成
• 实例中每一个进程都有各自的一个内存块,该内存块 用于保存私有变量、地址堆栈和其他运行时的信息。 • 进程间使用公共共享区并在公共共享区内完成它们的 工作。公共共享区是能够在同一时间内被不同程序和 不同进程读写的一块内存区。该内存块称为系统全局 区(SGA)。因为SGA驻留在一个共享内存段中,所以它 经常被称作共享全局区。 • 后台进程就像数据库的手,是直接处理数据库的组件; SGA就像大脑,在必要时间接地调度手处理它们的信息 与存储检索。SGA参与发生在数据库中全部的信息和服 务器的处理。 • 单用户的Oracle配置(Personal Oracle Lite),不使 用多进程执行数据库的功能。相反,所有的数据库功 能由一个Oracle进程完成。由于这个原因,单用户也 称为单进程Oracle。
北京邮电大学软件学院 郭文明 2016.9
《数据库设计与开发》讲义
4.2.1.1 ORACLE內存结构
–重做日志缓冲区: 对具有多个CPU的服务器而言,Oracle服 务器不允许使用重做分配闩所书写的重做日 志项所需空间比参数 LOG_SMALL_ENTRY_MAX_SIZE大。相反,进程 必须持有一个重做复制闩。可获得的重做复 制闩的数量等于LOG_SIMULTANEOUS_COPIES 初始化参数的值。 LOG_SIMULTANEOUS_COPIES的缺省值是系统 中CPU的数量。使用重做复制闩,多个进程 能同时写入重做日志缓冲区。 可以使用V$LATCH动态性能视图监控重做 分配闩与重做复制闩。
北京邮电大学软件学院 郭文明 2016.9
《数据库设计与开发》讲义
4.2.1.1 ORACLE內存结构
–重做日志缓冲区: 为强迫重做日志顺序写入,Oracle服务器 使用闩控制对缓存的访问。闩是一个Oracle 进程对一个内存结构的锁定,一个进程必须 持有重做分配闩,才能写入重做日志缓冲区。 当一个进程持有分配闩时,其他任何进程都 不能使用这个分配闩写入重做日志缓冲区。 Oracle服务器使用 LOG_SMALL_ENTRY_MAX_SIZE初始化参数限制 一次写入的重做的总量。这个参数以字节为 单位,其缺省值随操作系统和硬件不同而不 同。
北京邮电大学软件学院 郭文明 2016.9
《数据库设计与开发》讲义
4.2.1.2 ORACLE进程
• 用户进程:每个用户进程被分配一部分内存区, 称为进程全局区(PGA)。 当一个用户进程通过专用服务器方式连接数 据库时,用户的会话数据、堆栈空间和游标状 态信息存储在进程全局区中。用户的会话数据 包括安全和资源使用信息;堆栈空间含有为用 户会话指定的本地变量;游标状态区包括运行 时的游标信息、返回的行和游标返回的代码。 如果用户进程通过共享服务器进程方式进行 连接,游标和会话信息被存储在系统全局区 (SGA)中。尽管对整个数据库而言,这并不增加 对内存空间的要求,但是它需要一个更大的系 统全局区来存放这些附加的会话信息。
北京邮电大学软件学院 郭文明 2016.9
《数据库设计与开发》讲义
4.2.1.1 ORACLE內存结构
–数据库缓冲区高速缓存:是影响整个数据库 系统运行的重要因素之一。数据库缓冲区高 速缓存是由与Oracle块相同大小的内存块组 成。所有Oracle操作的数据在使用前被装入 到数据库缓冲区高速缓存中。数据的更新在 内存块中完成。 Oracle根据最近最少被使用(LRU)列表将数 据清出缓冲区高速缓存。LRU列表记录数据块 被访问的频繁程度。当服务器在缓冲区中需 要更多空间来从磁盘读入一个数据块时,它 去访问LRU列表,以确定可以清出哪些块,使 用这种方法,保证最频繁使用的块保存在内 存中。
北京邮电大学软件学院 郭文明 2016.9
《数据库设计与开发》讲义
4.2.1.2 ORACLE进程
• ORACLE进程可以理解为一系列执行一定任务、 提供不同服务信息的程序。主要有用户进程、 服务器进程、后台进程三种类型。 • 用户进程:当客户机向ORACLE服务器发出一个 连接请求时,就产生一个用户进程。 数据库用户操纵数据前,首先要建立一个与 数据库服务器的连接(可通过Oracle工具,如 SQL*Plus),连接的同时产生用户进程,用户 进程并不直接作用于ORACLE服务器,而是与一 个服务器进程进行通信。
北京邮电大学软件学院 郭文明 2016.9
《数据库设计与开发》讲义
4.2.1.1 ORACLE內存结构
–数据库缓冲区高速缓存: 被修改过的缓冲块称为脏的,脏列表记录 所有在内存中被修改而又尚未写入磁盘中的 数据。当Oracle接收到修改数据的请求时, 对高速缓存中的块进行数据修改,同时写入 重做日志中,然后该块被放入脏的列表中, 对这些数据的随后访问从高速缓存中读取改 变的数据的新的值。 Oracle服务器对更新的一块数据,并不立 即更新数据文件中的数据。RDBMS等到一定条 件时才将改变的数据刷新写入数据文件(参 见数据库写入进程)。
北京邮电大学软件学院 郭文明 2016.9
《数据库设计与开发》讲义
4.2.1.2 ORACLE进程
• 服务器进程:服务器进程接受用户发出的请求, 并根据请求与数据库通信,通过这些通信完成 用户进程对数据库中数据的处理要求,同时完 成对数据库的连接操作和I/O访问。
DBWR LGWR
CKPT
Others
后台 进程
• ORACLE实例是指有自己的内存结构和相关的服务 器进程及后台进程的DBMS。 4.2.1.1 内存结构 4.2.1.2 进程
北京邮电大学软件学院 郭文明 2016.9
《数据库设计与开发》讲义
4.2.1.1 ORACLE內存结构
• ORACLE的内存结构主要有两个内存区域组成: SGA(System Global Area):系统全局区,是 ORACLE实例的基础,是一个共享区域,存放最 近使用的SQL语句、最近使用的数据、最近使用 的数据字典等信息,供各个进程调用。 PGA(Program Global Area):程序全局区,该 区域是一非共享区域,存放会话、排序、游标、 主变量等信息,被服务器进程调用,保证谁的 请求处理结果给谁,谁的排序给谁,用户声明 的、打开的、使用的、关闭的游标是私有的, 用户的主变量不被其他用户干扰。
北京邮电大学软件学院 郭文明 2016.9
《数据库设计与开发》讲义
4.2.1.1 ORACLE內存结构
–共享池: 对于使用以前缓存的SQL语句,它必须在所 有方面都与缓存版本完全相同,包括标点符号 和字母的大小写。 库高速缓存包括共享和专用SQL区。共享 SQL区包括SQL语句语法分析树和执行路径;专 用SQL区存储特定的会话信息,一个用户会话 能够一次打开的专用SQL区的数量由init.ora 参数OPEN_CURSORS决定。 库高速缓存中的专用SQL区可更进一步分为 永久区和运行区。永久区中包含合法的信息, 并可应用于SQL语句的多个执行中,而运行区 中仅包含正在被执行的SQL语句的数据。
北京邮电大学软件学院 郭文明 2016.9
《数据库设计与开发》讲义
4.2.1 ORACLE数据库实例组成
用户 进程 服务器 进程 PGA 实例 Shared pool Library cache Data Dictionary cache
PMON SMON
SGA 内存 结构
Database Redo log Buffer cache Buffer cache
ຫໍສະໝຸດ Baidu
郭文明 2016.9
《数据库设计与开发》讲义
4.2.1.1 ORACLE內存结构
–共享池: 库高速缓存存储已提交给RDBMS的SQL语句 文本、分析过的格式与执行计划,以及已被 执行的PL/SQL包头与过程等。数据字典高速 缓存存储用于分析SQL语句的数据字典行。 Oracle服务器用库高速缓存来提高执行 SQL语句的性能。当一条SQL语句提交时,服 务器首先查找高速缓存,查看相同的语句是 否已被提交或缓存过。如果有,Oracle使用 存储的语法分析树和执行路径来执行该语句, 使用存储代码可以获得明显的性能提高。
北京邮电大学软件学院
郭文明 2016.9
《数据库设计与开发》讲义
4.2.1.1 ORACLE內存结构
–共享池:共享池包括库高速缓存、数据字典 高速缓存和服务器控制结构(例如数据库字 符集)。 参见下图
库高速缓冲 共享 SQL区 专用SQL区 永久区 运行区 字典高速缓冲 控制结构
北京邮电大学软件学院
北京邮电大学软件学院
郭文明 2016.9
《数据库设计与开发》讲义
4.2.1.1 ORACLE內存结构
–重做日志缓冲区:重做日志缓冲区用于在内 存中存储未被刷新写入联机重做日志文件的 重做信息。 它是循环使用的缓冲区,当重做日志缓冲 区填满时,将它的内容写入联机重做日志文 件。 重做日志缓冲区的大小是由LOG_BUFFER初 始化参数决定,以字节为单位,决定在内存 中保留多少空间缓存重做日志项。如果这个 值设置得过低,进程之间相互竞争,LGWR进 程读出和写入缓存,有可能会导致性能问题。
北京邮电大学软件学院 郭文明 2016.9
《数据库设计与开发》讲义
4.2.1.1 ORACLE內存结构
• 系统全局区:系统全局区是实例的主要部 分。它含有数据维护、SQL语句分析与重做 缓存所必须的所有内存结构。 • 系统全局区的数据是共享的,也就是说, 多个进程可以在同一时间对SGA中的数据进 行访问和修改。所有数据库操作都使用包 含在SGA中某点上的结构。 • 当实例被创建时,分配SGA;当实例关闭时, 释放SGA。
北京邮电大学软件学院 郭文明 2016.9
《数据库设计与开发》讲义
4.2.1.1 ORACLE內存结构
• SGA组成如下:
–共享池。 –数据库缓冲区高速缓存。 –重做日志缓冲区。 另外oracle9i还有Java pool,8i有Java虚 拟机,解释Java;Java pool是利用数据库技 术解释Java. oracle9i的SGA可以通过SGA_MAX_SIZE被动 态的设置大小,8i不能动态设置。
《数据库设计与开发》讲义
4.2 ORACLE数据库实例管理
• Oracle服务器就是数据库管理系统(DBMS),由 数据库(Oracle database)和实例(Oracle instance)组成。 • 实例是一系列复杂的内存结构和操作系统进程, 它为Oracle客户提供所期望的不同程度的服务。 一个实例只能打开一个数据库,或者说一个数 据库被唯一的一个实例装载。 4.2.1 实例组成 4.2.2 实例创建 4.2.3 监控实例