Oracle体系结构:内存结构和进程结构

Oracle 体系结构详解(存储结构 + 内存结构 + 进程结构) 文章目录1 概述2 体系结构总图3 扩展 1 概述 2 体系结构总图 3 扩展 概述 详细博客 官方文档 Oracle 体系结构详解 存储结构详解(逻辑 + 物理) Oracle 存储结构 内存结构详解(SGA、PGA) Oracle 内存结构 进程结构详解(客户、服务器、后台) Oracle 进程结构 ... 阅读详情
Oracle体系结构:内存结构和进程结构
2009-11-24 21:48
 (一)内存结构和进程结构 Oracle数据库的总体结构如下图:
Oracle体系结构:内存结构和进程结构(图一)

1:Oracle实例(Instance)        
   在一个服务器中,每一个运行的Oracle数据库都与一个数据库实例相联系,实例是我们
访问数据库的手段。
   实例在操作系统中用ORACLE_SID来标识,在Oracle中用参数INSTANCE_NAME来标识,
它们两个的值是相同的。数据库启动时,系统首先在服务器内存中分配系统全局区(SGA),
构成了Oracle的内存结构,然后启动若干个常驻内存的操作系统进程,即组成了Oracle的
进程结构,内存区域和后台进程合称为一个Oracle实例。
                 

Oracle体系结构:内存结构和进程结构(图二)


   数据库与实例之间是1对1/n的关系,在非并行的数据库系统中每个Oracle数据库与一个
实例相对应;在并行的数据库系统中,一个数据库会对应多个实例,同一时间用户只与一个
实例相联系,当某一个实例出现故障时,其他实例自动服务,保证数据库正常运行。在任何
情况下,每个实例都只可以对应一个数据库。

2:Oracle 10g动态内存管理
   内存是影响数据库性能的重要因素,Oracle8i使用静态内存管理,Oracle 10g使用动态
内存管理。所谓静态内存管理,就是在数据库系统中,无论是否有用户连接,也无论并发用
量大小,只要数据库服务在运行,就会分配固定大小的内存;动态内存管理允许在数据库服
务运行时对内存的大小进行修改,读取大数据块时使用大内存,小数据块时使用小内存,读
取标准内存块时使用标准内存设置。
   按照系统对内存使用方法的不同,Oracle数据库的内存可以分为以下几个部分:
   •系统全局区:SGA(System Global Area)
   •程序全局区:PGA(Programe Global Area)
   •排序池:(Sort Area)
   •大池:(Large Pool)
   •Java池:(Java Pool)

2-1:系统全局区SGA(System Global Area)
    SGA是一组为系统分配的共享的内存结构,可以包含一个数据库实例的数据或控制信
   息。如果多个用户连接到同一个数据库实例,在实例的SGA中,数据可以被多个用户共享。
   当数据库实例启动时,SGA的内存被自动分配;当数据库实例关闭时,SGA内存被回收。
   SGA是占用内存最大的一个区域,同时也是影响数据库性能的重要因素。
   SGA的有关信息可以通过下面的语句查询,sga_max_size的大小是不可以动态调整的。
    =====================================
    SQL> show parameter sga
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- --------
    lock_sga                             boolean     FALSE
    pre_page_sga                         boolean     FALSE
    sga_max_size                         big integer 164M
    sga_target                           big integer 0
   
    SQL> alter system set sga_max_size=100m;
    alter system set sga_max_size=100m
                 *
    ERROR at line 1:
    ORA-02095: specified initialization parameter cannot be modified
系统全局区按作用不同可以分为:
    •数据缓冲区
    •日志缓冲区
    •共享池

 

   2-1-1:数据缓冲区(Database Buffer Cache)
     如果每次执行一个操作时,Oracle都必须从磁盘读取所有数据块并在改变它之后
    又必须把每一块写入磁盘,显然效率会非常低。数据缓冲区存放需要经常访问的数据,
    供所有用户使用。修改数据时,首先从数据文件中取出数据,存储在数据缓冲区中,
    修改/插入数据也存储在缓冲区中,commit或DBWR(下面有详细介绍)进程的其他条
    件引发时,数据被写入数据文件。
     数据缓冲区的大小是可以动态调整的,但是不能超过sga_max_size的限制。
    ======================================
    SQL> show parameter db_cache_size
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- -----------------
    db_cache_size                        big integer 24M
   
    SQL> alter system set db_cache_size=128m;
    alter system set db_cache_size=128m
    *
    ERROR at line 1:
    ORA-02097: parameter cannot be modified because specified value is invalid
    ORA-00384: Insufficient memory to grow cache

    SQL> alter system set db_cache_size=20m;
    System altered.
   
    SQL> show parameter db_cache_size;
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- -----------------
    db_cache_size                        big integer 20M
   
    #此处我仅增加了1M都不行?
    SQL> alter system set db_cache_size=25m;
    alter system set db_cache_size=25m
    *
    ERROR at line 1:
    ORA-02097: parameter cannot be modified because specified value is invalid
    ORA-00384: Insufficient memory to grow cache

    #修改显示格式,方便查看。
    SQL> column name format a40 wrap
    SQL> column value format a20 wrap
   
    #下面语句可以用来查看内存空间分配情况,注意SGA各区大小总和。
    SQL> select name,value from v$parameter where name like '%size' and value <> '0';
   
    #先将java_pool_size调小,然后再修改db_cache_size
    SQL> show parameter java_pool_size;
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- -----
    java_pool_size                       big integer 48M

    SQL> alter system set java_pool_size=20m;
    System altered.

 

    SQL> alter system set java_pool_size=30m;
    System altered.
    #上面说明SGA中各区大小总和不能超过sga_max_size。
    =====================================
     数据缓冲区的大小对数据库的存区速度有直接影响,多用户时尤为明显。有些应
    用对速度要求很高,一般要求数据缓冲区的命中率在90%以上。
     下面给出一种计算数据缓冲区命中率的方法:
     •使用数据字典v$sysstat
     =====================================
     SQL> select name, value from v$sysstat
       2 where name in('session logical reads',
       3 'physical reads',
       4 'physical reads direct',
       5 'physical reads direct (lob)')
     NAME                              VALUE
     ------------------------------- ----------
     session logical reads               895243
     physical reads                       14992
     physical reads direct                   34
     physical reads direct (lob)              0
     ======================================
     命中率=1-(14992-34-0)/895243

     可以让Oracle给出数据缓冲区大小的建议:
     ======================================
     SQL> alter system set db_cache_advice=on;#打开该功能
     System altered.

     SQL> alter system set db_cache_advice=off;#关闭该功能
     System altered.
     ======================================

   2-1-2:日志缓冲区(Log Buffer Cache)
     日志缓冲区用来存储数据库的修改信息。该区对数据库性能的影响很小,有关日
    志后面还会有详细的介绍。
     查询日志缓冲区大小:
    SQL> show parameter log_buffer
    NAME            TYPE          VALUE
    ----------     ----------- -------
    log_buffer     integer       262144

2-1-3:共享池(Share Pool)
     共享池是对SQL,PL/SQL程序进行语法分析,编译,执行的内存区域。
     它包含三个部分:(都不可单独定义大小,必须通过share pool间接定义)。
     •库缓冲区(Library Cache)包含SQL,PL/SQL语句的分析码,执行计划。
     •数据字典缓冲区(Data Dictionary Cache)表,列定义,权限。
     •用户全局区(Usr Global Area)用户MTS会话信息。
    共享池的大小可以动态修改:
     ======================================
     SQL> show parameter shared_pool_size
     NAME                                 TYPE        VALUE
     ------------------------------------ ----------- ------
     __shared_pool_size                   big integer 80M
     shared_pool_size                     big integer 80M
    
     SQL> alter system set shared_pool_size=78m
     System altered.
     ======================================
     #上面的__shared_pool_size一行奇怪?

 

2-2:程序全局区PGA(Programe Global Area)
    程序全局区是包含单个用户或服务器数据和控制信息的内存区域,它是在用户进程连
   接到Oracle并创建一个会话时由Oracle自动分配的,不可共享,主要用于用户在编程存
   储变量和数组。
  

Oracle体系结构:内存结构和进程结构(图三)


    如上图:
     •Stack Space是用来存储用户会话变量和数组的存储区域;
     •User Session Data是为用户会话使用的附加存储区。
      --Session Information
      --Sort Area
      --Cursor Information   
    注意Session information(用户会话信息)在独占服务器中与在共享服务器中所处
   的内存区域是不同的。


2-3:排序区,大池,Java池
    排序区(Sort Area)为有排序要求的SQL语句提供内存空间。系统使用专用的内存区
   域进行数据排序,这部分空间就是排序区。在Oracle数据库中,用户数据的排序可使用
   两个区域,一个是内存排序区,一个是磁盘临时段,系统优先使用内存排序区进行排序。
   如果内存不够,Orcle自动使用磁盘临时表空间进行排序。为提高数据排序的速度,建议
   尽量使用内存排序区,而不要使用临时段。
    参数sort_area_size用来设置排序区大小。(好象不能动态修改?)

    大池(Large Pool)用于数据库备份工具--恢复管理器(RMAN:Recovery Manager)。
   Large Pool的大小由large_pool_size确定,可用下面语句查询和修改:
   =========================================
   SQL> show parameter large_pool_size
   NAME                  TYPE        VALUE
   -----------------   ----------- -------
   large_pool_size     big integer      8M

SQL> alter system set large_pool_size=7m;
   System altered.
   =========================================
   
    Java池主要用于Java语言开发,一般来说不低于20M。其大小由java_pool_size来
   确定,可以动态调整。

 

2-4:Oracle自动共享内存管理(Automatic Shared Memory(SGA) Management)
   在Oracle 8i/9i中数据库管理员必须手动调整SGA各区的各个参数取值,每个区要根据
负荷轻重分别设置,如果设置不当,比如当某个区负荷增大时,没有调整该区内存大小,则
可能出现ORA-4031:unable to allocate ...bytes of shared memory错误。
   在Oracle 10g中,将参数STATISTICS_LEVEL设置为TYPICAL/ALL,使用SGA_TARGET指
定SGA区总大小,数据库会根据需要在各个组件之间自动分配内存大小。
下面是系统自动调整的区域:
   •固定SGA区及其他•共享池•数据缓冲区• Java池•大池。
   注意:如果不设置SGA_TARGET,则自动共享内存管理功能被禁止。
   ==========================================
   SQL> show parameter statistics_level
   NAME                     TYPE        VALUE
   --------------------- ----------- ------------
   statistics_level      string      TYPICAL
  
   SQL> alter system set statistics_level=all;
   System altered.

   #typical和all有什么区别?
  
   SQL> alter system set statistics_level=typical;
   System altered.

   SQL> show parameter sga_target
   NAME            TYPE        VALUE
   ------------- ----------- ----------
   sga_target    big integer 0

   SQL> alter system set sga_target=170m;
   alter system set sga_target=170m
   *
   ERROR at line 1:
   ORA-02097: parameter cannot be modified because specified value is invalid
   ORA-00823: Specified value of sga_target greater than sga_max_size

   SQL> alter system set sga_target=20m;
   System altered.

   #不过后来又发现sga_target的值变成了140M? 下面是语句执行情况。
   SQL> show parameter sga_target
   NAME          TYPE        VALUE
   ------------- ----------- -------
   sga_target    big integer 140M
  
   SQL> alter system set sga_target=0;
   System altered.

   SQL> show parameter sga_target
   NAME                                 TYPE        VALUE
   ------------------------------------ ----------- ------
   sga_target                           big integer 0

#改为20M
   SQL> alter system set sga_target=20m;
   System altered.

 

   #显示的是140M
   SQL> show parameter sga_target
   NAME                                 TYPE        VALUE
   ------------------------------------ ----------- ------
   sga_target                           big integer 140M

   #不可缩减?
   SQL> alter system set sga_target=130m;
   alter system set sga_target=130m
   *
   ERROR at line 1:
   ORA-02097: parameter cannot be modified because specified value is invalid
   ORA-00827: could not shrink sga_target to specified value
  
   #不可增加
   SQL> alter system set sga_target=141m;
   alter system set sga_target=141m
   *
   ERROR at line 1:
   ORA-02097: parameter cannot be modified because specified value is invalid
   ORA-00823: Specified value of sga_target greater than sga_max_size
  
3:Oracle实例的进程结构(Process StrUCture)
Oracle包含三类进程:
•用户进程(User Process)
•服务器进程(Server Process)
•后台进程(Background Process)

3-1:用户进程和服务器进程
   当数据库用户请求连接到Oracle的服务时启动用户进程(比如启动SQLPlus时)。
   •用户进程首先必须建立一个连接。
   •用户不能直接与Oracle服务器,必须通过服务器进程交互。
   •服务器进程是用户进程与服务器交互的桥梁,它可以与Oracle Server直接交互。
   •服务器进程可以有共享和独占两种形式。
               
Oracle体系结构:内存结构和进程结构(图四)

 

3-2:后台进程(Backgroung Process)
   数据库的物理结构与内存结构之间的交互要通过后台进程来完成。数据库的后台进程包
含两类,一类是必须的,一类是可选的:
   •Mandatory background processes
    --DBWn(Database Writer):数据写入
    --PMON(Process Moniter):进程监控
    --LGWR(Log Writer):日志写入
    --SMON(System Moniter):系统监控
    --RECO(Recovery):恢复
    --CKPT(Chekpoint):检查点
   •Optional background processes
    --ARCn(Archiver):归档
    --LCKn(Lock):锁
    --Dnnn(Dispatcher):调度
    --......
   可以用下面的语句查看正在运行的后台进程:
   =========================================
   SQL> select * from v$bgprocess where paddr<>'00';
   PADDR      PSERIAL# NAME DESCRIPTION                          
   -------- ---------- ----- -------------------------------
   6B0ED064          1 PMON process cleanup                      
   6B0ED4E4          1 MMAN Memory Manager                       
   6B0ED964          1 DBW0 db writer process 0                  
   6B0EDDE4          1 LGWR Redo etc.                            
   6B0EE264          1 CKPT checkpoint                           
   6B0EE6E4          1 SMON System Monitor Process               
   6B0EEB64          1 RECO distributed recovery                 
   6B0EEFE4          1 CJQ0 Job Queue Coordinator                
   6B0F01E4          1 QMNC AQ Coordinator                       
   6B0F0664          1 MMON Manageability Monitor Process        
   6B0F0AE4          1 MMNL Manageability Monitor Process 2
   ========================================

3-2-1:DBWR(Database Writer,数据写入进程)
   将数据缓冲区的数据写入数据文件,是负责数据缓冲区管理的一个后台进程。
   当数据缓冲区中的一数据被修改后,就标记为dirty,DBWR进程将数据缓冲区中“脏”
数据写入数据文件,保持数据缓冲区的”干净“。由于数据缓冲区的数据被用户修改并占
用,空闲数据缓冲区会不断减少,当用户进程要从磁盘读取数据块到数据缓冲区却无法找
到足够的空闲数据缓冲区时,DBWR将数据缓冲区内容写入磁盘,使用户进程总可以得到足
够的空闲数据缓冲区。
   DBWR的作用:
   •管理数据缓冲区,以便用户进程总能够找到足够的空闲缓冲区。
   •将所有修改后的缓冲区数据写入数据文件。
   •使用LRU(最近最少使用)算法保持缓冲区数据是最近经常使用的。
   •通过延迟写来优化磁盘I/0读写。
  

 

Oracle体系结构:内存结构和进程结构(图五) 点击查看大图

3-2-2:LGWR(Log Writer,日志写入进程)
   将日志数据从日志缓冲区写入磁盘日志文件组。数据库在运行时,如果对数据库进行修
改则产生日志信息,日志信息首先产生于日志缓冲区。当日志达到一定数量时,由LGWR将
将日志数据写入到日志文件组,再经过日志切换,由归档进程(ARCH)将日志数据写入归
档进程(前提是数据库运行在归档模式下)。数据库遵循写日志优先原则,即在写数据之前
先写日志。
    

Oracle体系结构:内存结构和进程结构(图六) 点击查看大图简单介绍
   •ARCH(Archiver,归档进程)
   Oracle数据库有两种运行模式,归档(ARCHIVELOG),非归档(NOARCHIVELOG)模式。
以非归档模式运行时日志在切换时被直接覆盖,不产生归档日志,这是数据库默认的运行模
式。数据库运行在归档模式时,在日志切换之前,由ARCH进程将日志信息写入磁盘,也就是
自动备份在线日志。
   Oracle数据库的Redo文件数量是有限的,所以Oracle以循环的方式向它们中写入。它顺
序写满每一个Redo文件,当达到最后一个时,再循环回去开始填写第一个Redo文件。如果为
了能恢复数据库而想保存日志文件,那么在它们被重新使用之前需要对其进行备份,归档进
程管理此工作。

   •CKPT(Check Point,检查点进程)
   运行CKPT时,系统对全部数据文件及控制文件文件头的同步信号进行修改,以保证数据
库的同步。检查点出现在以下情况:
   --在每个日志切换时产生。
   --上一个检验点之后又经过了指定时间。
   --从上一个检验点之后,当预定义数量的日志块被写入磁盘之后。
   --数据库关闭。
   --DBA强制产生。
   --当表空间设置为OFFLINE时。

•SMON(System Moniter,系统监控进程)
   SMON在实例启动时执行实例恢复,并负责清理不再使用的临时段。

 

   •PMON(Process Monitor,进程监控)
   PMON在用户进程出现故障时进行恢复,负责清理内存区域和释放该进程所使用的资源。

   •RECO(Recovery,恢复进程)
   RECO用于分布式数据库维持在分布式环境中的数据的一致性。

   •LCKn(Lock,锁进程)
   在并行服务器中用于多个实例间的封锁。

   •Dnnn(Dispatcher,调度进程)
   Dnnn存在于多线程服务器体系结构中,负责将用户进程连接到服务器进程,再把结果返
   回给用户进程。

Oracle12C体系结构(二) 一.5个重要组成部分 1.     连接数据库实例的服务:为Oracle系统的体系结构中协同工作的方式; 2.     服务器进程; 3.     文件系统管理; 4.     内存区域管理:尤其是系统全局区(SGA,SystemGlobal Area)的特点和作用; 5.     后台进程 二.3个重点体系结构 1.     内存结构,进 阅读详情

相关推荐

day06 : 01 Oracle 体系结构概念,内存结构,内存结构(服务器进程和用户进程)

一 概念: 1、 实例/instance: 后台进程+共享内存 用于管理和控制数据库 数据库/database: 物理文件的集合 为实例提供数据,如数据文件,控制文件,参数文件,日志文件等 数据库服务器/database server: 软件+实例+数据库 oracle数据库环境有以下两部分: oracle软件,存放在服务器本地硬盘上 oracle数据库,存放在共享存储上 rac (生产环境模式) 2、实例 oracle数据库启动后首先在内存中划分一片空间,并启动一些进程,而内...

Reyn_观极 396

oracle 体系架构图

要学习Oracle的体系结构,先要搞明白几个重要的术语:Oracle服务器、Oracle实例、Oracle数据库。Oracle服务器:即Oracle server,由Oracle实例和Oracle数据库组成。Oracle实例:即Oracle instance,是在Oracle启动的第一个阶段根据参数文件,生成的一系列的后台进程和一块共享内存SGA共同组成。Oracle数据库:即Oracle database,是由Oracle所有的物理文件所组成。其中最关键的有:控制文件、数据文件、redo log文件等。O

顺其自然~专栏 5286

Ansys Lumerical实战:5步搞定Mach-Zehnder调制器多物理场仿真(附眼图分析技巧)

本文详细介绍了使用Ansys Lumerical进行行波马赫-曾德尔调制器多物理场仿真的完整流程。通过CHARGE、MODE和INTERCONNECT三大模块的协同工作,从电学参数提取、光学射频特性分析到系统级眼图评估,分步解析了高效仿真与性能优化的核心技巧,为硅光调制器设计提供了实战指南。

weixin_29056781的博客 541

3-1计算机系统结构及内存分层体系

上图,有4个放到内存中的程序,其中正在占用CPU的y运行的程序可能是P1,那么P2P3P4实际上是等待状态,尤其是P4,P4当前可能等待某个事情,这种情况下,它说访问的数据其实没有必要放到内存中去,P1在运行中可能需要更多的空间,可以通过操作系统把这一份空间导到,硬盘上去,上图右下角就有P4的应用程序的代码和程序。同时P1所占的空间就可以有效的去执行,当P1不执行之后,可以把控制权交给P2或者P3,继续执行,这种方式使得P1P2P3可以很方便的在内存中执行,当然也可以有效的机制让P4得到有效的执行。

wade1010的专栏 466

睿尔曼超轻量仿人机械臂--医疗工作站运行Demo(Python)

开发环境系统:win10Python版本:python 3.11.2由于机械臂相关软件版本不定期更新,如果你使用的软件接口或协议与本文有出入,请联系官方技术人员及时更新。

realman_Rop的博客 1091

JaCoCo报告聚合的5个常见坑点排查指南:从单模块到多模块的完整避坑手册

本文详细解析了JaCoCo在多模块Maven项目中生成聚合报告时的5个常见问题,包括多模块报告聚合失效、覆盖率数据不一致、增量构建导致的覆盖率丢失等,并提供了具体的配置示例和解决方案。帮助开发者高效排查和解决JaCoCo报告聚合中的各种疑难杂症,提升代码覆盖率分析的准确性和效率。

weixin_27918373的博客 250

oracle内存结构概述,详解Oracle实例内存结构和进程结构

由于内存结构和进程结构关系较紧密,进程会作用到对应的内存区域,比如数据库写入器作用到数据库缓冲区缓存中,日志写入器会作用到日志缓冲区,所以在这里我把内存结构和进程结构会相互配合地进行描述~Oracle实例内存结构的组成结构:实例内存结构oracle实例内存结构由两部分组成SGA(系统全局区)和PGA(用户全局区)组成,SGA是一块共享的内存区域,也是***的一块内存区域;PGA则是用户会话专有的内...

weixin_42400970的博客 1214

【仓颉 + 鸿蒙 + AI Agent】CangjieMagic框架(3):Agent请求和响应

CangjieMagic框架:使用华为仓颉编程语言编写,专门用于开发AI Agent,支持鸿蒙、Windows、macOS、Linux等系统。这篇文章剖析一下 CangjieMagic 框架中的 AgentRequest 和 AgentResponse。

九丘教育官方博客 1475

Oracle体系结构:内存结构和进程结构-体系架构

<br />Oracle体系结构:内存结构和进程结构-体系架构  <br />2010-10-14 来源:网络 <br />(一)内存结构和进程结构 Oracle数据库的总体结构如下图:<br /><br />1:Oracle实例(Instance)   <br />在一个服务器中,每一个运行的Oracle数据库都与一个数据库实例相联系,实例是我们访问数据库的手段。<br />实例在操作系统中用ORACLE_SID来标识,在Oracle中用参数INSTANCE_NAME来标识,它们两个的值是相同的。数据库启

kandari85的专栏 731

华为OD机试双机位C卷 - 高矮个子排队 (C++/Py/Java/Js/Go/C)

华为OD机试双机位C卷 高矮个子排队,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。华为OD机试 - 高矮个子排队。

qq_45776114的博客 2160

LPDDR6来了!带你一文看懂它和LPDDR5/5X的差距 + 技术演进逻辑全解析

🧠从速率到架构,从总线宽度到协议设计,LPDDR6 每一个改动都不是拍脑袋做的,它针对的是AI / HPC / 云计算 / 下一代笔记本平台的真实需求。作为工程师的我们,不仅要“用得上”,更要“测得准”,因为没有测试验证,就没有量产落地!🎯LPDDR6不是未来,而是现在进行时!

weixin_43199439的博客 2168

Oracle体系结构:内存结构和进程结构(转)

http://bbs.cnw.cn/viewthread.php?tid=52707(一)内存结构和进程结构 Oracle数据库的总体结构如下图:[@more@] screen.width*0.7) {this.resized=...

crhr0990的博客 221

微信小程序:errno: 600001, errMsg: “uploadFile:fail errcode:-101 cronet_error_code:-10001 error_msg:net::E

微信小程序报错uploadFile:fail errcode:-101 cronet_error_code:-10001 error_msg:net::ERR_CONNECTION_RESET, custum ip is invalid, didn't find user's ip,wx.uploadFile errno: 600001 errcode:-101 ?微信小程序wx.uploadFile错误,wx.uploadFile 在真机上报下面的错误,调试工具里没有问题,其它接口在真机/调试工具都正常,

✅ 精选推荐文章 4257

oracle体系结构

oracle体系结构有四个部分组成分别为:oracle 服务器、用户进程、

panf_dba的专栏 605

【STM32系统】基于STM32设计的锂电池电量/电压检测报警器系统

本设计旨在研究一个基于STM32F103C8T6微控制器的锂电池电量/电压检测报警器系统,应用于便携式电子设备电池管理。系统通过STM32的ADC模块对18650锂电池电压进行采集,利用LCD1602显示模块实时显示电池电压,当检测到电池电量不足或电压异常时,蜂鸣器报警模块会发出警报提醒用户。系统采用简单的硬件结构和优化的软件架构,通过对实际电池电压数据的检测、处理和显示,实现了低功耗、实时监测的锂电池管理功能。本文将介绍系统的设计原理、硬件电路、软件实现以及调试测试过程。

嵌入式阿齐Archie 1万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

oracle数据库体系结构的研究

目的: 完成本课后,你能够: 1. 列出oracle数据库体系的主要构件 2. 解释内存结构 3. 描述后台进程 4. 关联逻辑存储结构和物理存储结构 5. 描述ASM存储构件 Oracle 数据库 oracle关系数据库管理系统(RDBMS)为信息管理提供了一种开发的,可理解的,集成的途径。 一个数据库是把数据处理看做一个单元的集合。数据库的目的就是存储和回复关系数据。

kringpin_lin的专栏 882

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

oracle——体系结构概念

实例/instance: 进程+共享内存 用于管理和控制数据库 == 数据库/database: 物理文件的集合 为实例提供数据==,如数据文件,控制文件,参数文件,日志文件等 == 数据库服务器/database server: 实例+数据库== 实例:oracle数据库启动后首先在内存中划分一片空间,并启动一些进程,而内存和进程统称oracle数据库实例。 ==连接/connection:连接...

qq_45630589的博客 340

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上一篇: 关于一汽大众的车型底盘号
下一篇: Oracle 11g 的 自动内存管理
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值