oracle体系结构详解

oracle体系结构详解(实例+数据文件) 提示:主要总结oracle数据库:物理结构,逻辑结构,内存结构以及oracle进程。 阅读详情
 Oracle体系结构就是围绕这张图展开的,要想深入了解 oracle,就必须把这张图搞明白。

如图:

 

一、基本组成:

Oracle server:

   一般情况下是一个instance和一个database组成

   1个instance只能对应一个数据库。
    特殊:1个数据库可以有多个instance(rac)

        一台服务器上同时可装多套版本的数据库软件,每个数据库软件可建多个数据库,但是每个数据库只对应一个instance,也可以理解成每个数据库只有一个SID 。
         利用DBCA建出的每个库都是相对独立的,在同一服务器上如果创建多库必须将环境变量的参数文件做区分,并且在对实例切换时需如下 操作:
                                                                         connect   用户名/密码@实例的服务名

 

 

Oracle Instance:

是由内存(SGA)和后台进程(backupground Process)组成

通过instance来访问database

一个实例只能打开一个数据库

 

Oracle database:

数据文件(Data files):

    数据文件永远存储数据库的数据,包括数据字典、用户数据(表、索引、簇)、undo数据等

重做日志(Redo log):

“先记后写”

重做日志用于记录数据库的变化,当进行例程恢复或介质恢复时需要使用重做日志

执行DDL或DML操作时,事物变化会被写到重做日志缓冲区,而在特定的时刻LGWR会将重做日志缓冲区中的内容写入重做日志。

控制文件(Control file)

控制文件用于记录和维护数据库的物理结构,并且每个Oracle数据库至少要包含一个控制文件。

归档日志(Archive log):

是非活动(Inactive)重做日志的备份。

口令文件(Password file):

用于验证特权用户(具有SYSDBA、SYSOPER权限的特殊数据库用户)

参数文件(Parameter file):

用于定义启动实例所需要的初始化参数,包括文本参数文件(pfile)和服务器参数文件(spfile)

 

User and Server process :

在执行sql语句时产生的进程,每一个连接,oracle server创建一个session,产生一个server process,在client发起一个connection时就产生了一个user process。

 

 

体系结构可以分为,database结构和instance结构

如下结构:

 

 

 二、instance结构详解

  

1、  内存结构

 

主要包括sga(system global area)和pga(program global area)

 

Pga是当程序起来时,给server process用(不包含在instance里面,这里不做重点讨论)

 

SGA(System Global Area)由一组内存结构组成,它是由所有用户进程共享的一块内存区域。启动例程时,Oracle自动分配SGA,关闭例程时,oracle自动释放SGA所占用的内存空间。

 

下面是dave哥关于sga详解:

http://blog.youkuaiyun.com/tianlesoftware/article/details/5594080

Sga包括,share pool,db buffer cache,redo log buffer,large pool,java pool。

在9i 中我们都知道在管理Oracle中使用动态SGA时,Granule的大小是和SGA的大小有关系。

SGA 分配的最小单元为一个granule.Oracle SGA的大小总是granule的整数倍,即分配是以整数个granule来分配的。

9i 中的规则如下:

  linux/unix

   SGA <=128 M  granule 4M

   SGA >128M     granule 16M

  Windows

   SGA <=128 M   granule 4M

   SGA >128M     granule 8M

10g 中的分配规则为

  linux/unix

  SGA <=1G   granule 4M

  SGA >1G    granule 16M

  Windows

  SGA <=1G   granule 4M

  SGA >1G     granule 8M

 SQL> select component, granule_size from v$sga_dynamic_components;

COMPONENT                                                        GRANULE_SIZE

---------------------------------------------------------------- ------------

shared pool                                                           4194304

large pool                                                            4194304

java pool                                                             4194304

streams pool                                                          4194304

DEFAULT buffer cache                                                  4194304

KEEP buffer cache                                                     4194304

RECYCLE buffer cache                                                  4194304

DEFAULT 2K buffer cache                                               4194304

DEFAULT 4K buffer cache                                               4194304

DEFAULT 8K buffer cache                                               4194304

DEFAULT 16K buffer cache                                              4194304

DEFAULT 32K buffer cache                                              4194304

ASM Buffer Cache                                                      4194304

 

13 rows selected.

 

Elapsed: 00:00:00.06

 SQL>

 SQL> desc v$sga_dynamic_components;

 Name                   Type

 --------------------------------------------------------

 COMPONENT              VARCHAR2(64)      

 CURRENT_SIZE           NUMBER

 MIN_SIZE               NUMBER

 MAX_SIZE               NUMBER

 USER_SPECIFIED_SIZE    NUMBER

 OPER_COUNT             NUMBER

 LAST_OPER_TYPE         VARCHAR2(13)

 LAST_OPER_MODE         VARCHAR2(9)

 LAST_OPER_TIME         DATE

 GRANULE_SIZE           NUMBER

 SQL>

 SQL>  select * from v$sga_dynamic_components;

COMPONENT            CURRENT_SIZE   MIN_SIZE   MAX_SIZE USER_SPECIFIED_SIZE OPER_COUNT LAST_OPER_TYP LAST_OPER LAST_OPER GRANULE_SIZE

-------------------- ------------ ---------- ---------- ------------------- ---------- ------------- --------- --------- ------------

shared pool              92274688   92274688          0                   0          0 STATIC                                 4194304

large pool                4194304    4194304          0                   0          0 STATIC                                 4194304

java pool                 4194304    4194304          0                   0          0 STATIC                                 4194304

streams pool                    0          0          0                   0          0 STATIC                                 4194304

DEFAULT buffer cache     62914560   62914560          0                   0          0 INITIALIZING                           4194304

KEEP buffer cache               0          0          0                   0          0 STATIC                                 4194304

RECYCLE buffer cache            0          0          0                   0          0 STATIC                                 4194304

DEFAULT 2K buffer ca            0          0          0                   0          0 STATIC                                 4194304

DEFAULT 4K buffer ca            0          0          0                   0          0 STATIC                                 4194304

DEFAULT 8K buffer ca            0          0          0                   0          0 STATIC                                 4194304

DEFAULT 16K buffer c            0          0          0                   0          0 STATIC                                 4194304

DEFAULT 32K buffer c            0          0          0                   0          0 STATIC                                 4194304

ASM Buffer Cache                0          0          0                   0          0 STATIC                                 4194304

 

13 rows selected.

 

 

Buffer Cache Size    

   数据缓存,调高数据命中率可以提高性能。按数据块存放。

     db_cache_size

     db_keep_cache_size

     db_recycle_cache_size

  alter system set db_cache_size = xxx M

 SQL> show parameter advice

NAME_COL_PLUS_SHOW_PARAM    TYPE                 VALUE_COL_PLUS_SHOW_PARAM

--------------------------------------------------------------------------------

db_cache_advice             string               ON

 SQL>

 SQL> select * from v$db_cache_advice;

 SQL>

Large Pool Size        rman 和一些并行处理时候会用到。

Java Pool Size         java存储过程的支持

 

Streams Pool Size          

           

         

          

Oracle 10g 中 sga_target自动调整只是针对这四项:data buffer cache, large_pool, shared_pool, java_pool

 

1)       03:41:30 SQL> show sga

2)        

3)       Total System Global Area  285212672 bytes

4)       Fixed Size                  1218992 bytes

5)       Variable Size              71304784 bytes

6)       Database Buffers          209715200 bytes

7)       Redo Buffers                2973696 bytes

8)       04:45:40 SQL>

9)        

04:46:18 SQL> select name,bytes/(1024*1024) ,resizeable from v$sgainfo;

10)    

11)   NAME                             BYTES/(1024*1024) RES

12)   -------------------------------- ----------------- ---

13)   Fixed SGA Size                          1.16252136 No

14)   Redo Buffers                             2.8359375 No

15)   Buffer Cache Size                              200 Yes

16)   Shared Pool Size                                60 Yes

17)   Large Pool Size                                  4 Yes

18)   Java Pool Size                                   4 Yes

19)   Streams Pool Size                                0 Yes

20)   Granule Size                                     4 No     ;区组大小为4M

21)   Maximum SGA Size                               272 No

22)   Startup overhead in Shared Pool                 36 No

23)   Free SGA Memory Available                        0

24)    

04:49:34 SQL> select sum(bytes)/(1024*1024) size_in_mb  from v$sgastat;

25)    

26)   SIZE_IN_MB

27)   ----------

28)   276.003071

29)    

30)    

04:48:19 SQL> select * from v$sgastat;

31)    

32)   POOL         NAME                            BYTES

33)   ------------ -------------------------- ----------

34)   shared pool  KKJ WRK LAT                       300

35)   shared pool  kfkhsh_kfdsg                     2052

36)   shared pool  event statistics ptr arra         680

37)   shared pool  KGKP randnum                    40000

38)   large pool   PX msg pool                    206208

39)   large pool   free memory                   3988096

40)   java pool    free memory                   4194304

41)    

42)   602 rows selected.

43)    

04:50:37 SQL> show parameter sga;

44)   

45)   NAME                                 TYPE        VALUE

46)   ------------------------------------ ----------- ------------------------------

47)   lock_sga                             boolean     FALSE

48)   pre_page_sga                         boolean     FALSE

49)   sga_max_size                         big integer 272M

50)   sga_target                           big integer 272M

SGA动态尺寸总计不能超过初始化参数SGA_MAX_SIZE的值。

如果sga_target超过了sga_max_size的大小,在Instance重新启动后,sga_max_size会调整成和sga_target一样大小的值。

如果在初始化参数里这些内存池设置为非零,则系统启动后,这些值将作为该参数对应的最小值运行。如果那个值在系统运行时不够,则Oracle将自动为其添加容量,以帮助其优化操作,直到内存使用达到SGA_TARGET所表明的上限。

[oracle@oraserv ~]$ !sql

sqlplus '/as sysdba';

 

SQL*Plus: Release 10.2.0.1.0 - Production on Sat Mar 19 11:17:30 2011

 

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

 

Connected to an idle instance.

 

11:17:35 SQL> startup

ORACLE instance started.

 

Total System Global Area  419430400 bytes

Fixed Size                  1219784 bytes

Variable Size             289407800 bytes

Database Buffers          125829120 bytes

Redo Buffers                2973696 bytes

Database mounted.

Database opened.

11:18:13 SQL> show parameter sga

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

lock_sga                             boolean     FALSE

pre_page_sga                         boolean     FALSE

sga_max_size                         big integer 400M

sga_target                           big integer 300M

11:18:23 SQL> alter system set sga_target=500m ;

alter system set sga_target=500m

*

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

 

 

11:18:38 SQL> alter system set sga_target=500m  scope=spfile;

 

System altered.

 

11:18:54 SQL> startup force;

ORACLE instance started.

 

Total System Global Area  524288000 bytes

Fixed Size                  1220360 bytes

Variable Size             176161016 bytes

Database Buffers          343932928 bytes

Redo Buffers                2973696 bytes

Database mounted.

Database opened.

11:19:30 SQL> show parameter sga;

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

lock_sga                             boolean     FALSE

pre_page_sga                         boolean     FALSE

sga_max_size                         big integer 500M

sga_target                           big integer 500M

11:19:38 SQL>

 

利用后台进程MMAN进行SGA动态管理

[oracle@oracle ~]$ ps -ef |grep ora_|grep ora_

oracle    8012     1  0 11:12 ?        00:00:00 ora_mman_prod

 

 

share pool:

共享池(Share Pool)用于存放最近执行的SQL语句和数据字典信息。

共享池主要有库高速缓存(Library Cache)和数据字典高速缓存(Dictionary cache)两部分组成

1)库高速缓存(Library Cache)

库高速缓存用于存放最近执行的sql语句信息,包括sql语句文本,解析代码值及执行计划。

 假设执行一条sql语句

     -select ename,job from emp where empno=7788;

           如果最近(还没有被lru淘汰)执行过这条语句,他就会直接从cache里面读结果;如果没有执行过,就需要读数据文件,这个过程就比较复杂,效率差距很大。

http://blog.youkuaiyun.com/yujin2010good/article/details/7235864

 

这里还有两个概念:

物理i/o和逻辑i/o---------1:1000

物理i/o:从数据缓冲区找不到所需要的数据,就要从硬盘里面读取。

逻辑i/o:从数据缓冲区能找到所需要的数据,

理论上讲一个数据库性能是否良好,这个逻辑i/o应该占95%以上

 dave哥对命中率有详细的描述

http://blog.youkuaiyun.com/tianlesoftware/article/details/4674153

 

2)、数据字典高速缓存区(Dictionary cache)

用于存放数据字典的信息,包括表、列定义以及权限信息)

库高速缓存和数据字典高速缓存大小是动态变化的,不是固定的。

     SQL> alter  system   set  share_pool_size=60m;

DB buffer

     数据高速缓存(Database Buffer cache)用于存放最近访问的数据块信息,它由许多小缓冲区(缓冲区大小=数据尺寸)组成

Db_cache_size  定义标准的高速缓存尺寸

Db_nk_cache_size  定义非标准的高速缓存尺寸

 

数据库高速缓存区:

Db_cache_size Default 默认池,所有段都被默认高速缓存到默认池。(采用LRU)

Db_keep_cache_size ,确保某些数据块始终被保留到内存中

Db_recycle_cache_size ,数据高速缓存区“回收池”

 

 

 

Redo log buffer

   重做日志缓存区(Redo log buffer),用于记载实例的变化。执行DDL或DML语句时,服务器进程首先将事物的变化记载到重做日志缓存区,然后才会修改数据高速缓存。

重做日志缓存区由很多重做记录(Redo record)组成,并且每条重做记录记载了被修改数据块的位置以及变换后的数据

Large pool

   

PGA(Program Global Area)

用于存放服务器进程的数据和控制信息,独立于SGA的一块内存区域。

     当用户连接到Oracle Server时,Oracle server会为每个服务器进程分配相应的PGA.

SGA是所有服务器进程都可共享那个的一块内存区域,而每个服务器进程都具有私有的PGA内存空间。

 客户端在通过sql语句连接database时,必须通过实例Instance来连接和管理数据库。

Connection:客户端进程和服务端进程建立通讯。

Session:当用户经过Oracle server认证后开始建立会话,直到用户退出登录,会话结束

 

2、进程结构

 用户进程

server进程

     当客户端运行应用程序时,会启动形影的应用进程,该进程称为用户进程;

     当连接到Oracle Server 时,Oracle在服务器端会为用户进程派生一个新的进程

后台进程

启动实例时,Oracle不仅会分配SGA,还会启动后台进程。

[oracle@oraserv ~]$ ps -ef |grep ora_
oracle    4694     1  0 01:18 ?        00:00:01 ora_pmon_orcl

oracle    4696     1  0 01:18 ?        00:00:00 ora_psp0_orcl

oracle    4698     1  0 01:18 ?        00:00:00 ora_mman_orcl

oracle    4700     1  0 01:18 ?        00:00:00 ora_dbw0_orcl

oracle    4702     1  0 01:18 ?        00:00:00 ora_lgwr_orcl

oracle    4704     1  0 01:18 ?        00:00:06 ora_ckpt_orcl

oracle    4706     1  0 01:18 ?        00:00:01 ora_smon_orcl

oracle    4708     1  0 01:18 ?        00:00:00 ora_reco_orcl

oracle    4710     1  0 01:18 ?        00:00:02 ora_cjq0_orcl

oracle    4712     1  0 01:18 ?        00:00:01 ora_mmon_orcl

oracle    4714     1  0 01:18 ?        00:00:01 ora_mmnl_orcl

oracle    4716     1  0 01:18 ?        00:00:00 ora_d000_orcl

oracle    4718     1  0 01:18 ?        00:00:00 ora_s000_orcl

oracle    4722     1  0 01:18 ?        00:00:00 ora_arc0_orcl

oracle    4724     1  0 01:18 ?        00:00:00 ora_arc1_orcl

oracle    4728     1  0 01:18 ?        00:00:00 ora_qmnc_orcl

oracle    4741     1  0 01:18 ?        00:00:00 ora_q000_orcl

oracle    4743     1  0 01:18 ?        00:00:00 ora_q001_orcl

oracle    5467     1  0 03:46 ?        00:00:00 ora_j000_orcl

 

[oracle@oraserv ~]$

03:50:01 SQL> select paddr,name,description from v$bgprocess where paddr<>'00';

 

PADDR    NAME  DESCRIPTION

-------- ----- ----------------------------------------------------------------

30E16830 PMON  process cleanup

30E16DE4 PSP0  process spawner 0

30E17398 MMAN  Memory Manager

30E1794C DBW0  db writer process 0

30E1B808 ARC0  Archival Process 0

30E1BDBC ARC1  Archival Process 1

30E1C370 ARC2  Archival Process 2

30E17F00 LGWR  Redo etc.

30E184B4 CKPT  checkpoint

30E18A68 SMON  System Monitor Process

30E1901C RECO  distributed recovery

30E195D0 CJQ0  Job Queue Coordinator

30E1C924 QMNC  AQ Coordinator

30E19B84 MMON  Manageability Monitor Process

30E1A138 MMNL  Manageability Monitor Process 2

 


 DBWN

DBWR,用于将数据高速缓存的脏缓冲区数据写入到数据文件中

 

默认情况下只有一个DBWR0进程,通过db_writer_process 可以定义最多10个DBWR进程(DBWR0-DBWR9).

DBWR工作触发条件:

1、 系统发出检查点(CheckPoint)

如:alter system checkpoint local; 这是手动操作。

2、 脏数据块达到阀值

3、服务器进程不能找到空闲的缓冲区

3、超时

4、 rac ping

3、删除或截断表(表空间的相关操作只写表空间相关的内容)

4、表空间正常脱机(ALTER  TABLE … OFFLINE NORMAL)

5、开始表空间备份(ALTER  TABLESAPCE ...BEGIN  BACKUP )

 

rac ping官方解释:

        Every few seconds, the process in one instance sends messages to each instance. The message is received by PING on the target instance. The time for the round trip is measured and collected.

        rac ping是用ops时的概念了,现在已经不用这个概念了,或许没有这个概念了。

 

Lgwr

LGWR,用于将重做日志缓冲区所记载的全部内容写入到重做日志文件中。

Oracle 总是“先日志后修改”(先记载变化然后修改数据);

在DBWR工作之前,LGWR首先将事务变化写入到重做日志。

LGWR工作触发条件:

1、提交事务(commit)

2、每隔3秒钟

3、当重做日志信息超过1M

4、重做日志缓冲区超过1/3满

5、在DBWR进程将脏缓冲区写入到数据文件前

思考:

checkpoint时会不会导致lgwr写?

 

 

Smon

在例程失败的情况下,SMON做以下的恢复:

Instance recovery

        1、REDO,重新应用那些被记载的重做日志,但尚未记载的数据文件的数据。因为所有被提交的事务已经记载到了重做日志,所以可以确保恢复事务数据。(前滚)

        2、打开数据库,在打开数据库时,既包含了被提交的数据,也包含了未被提交的数据(加锁)。

        3、Undo,取消未提交的数据。打开数据库之后,Oracle会自动使用Undo段回退未提交的数据。(回滚)

整合空闲空间

临时段

 

 

Pmon

PMON,用于监视服务器进程的执行,并且在服务器进程失败时清除该服务器进程。

用户例程意外终止运行时,PMON可以轮询检测该服务进程,并执行以下操作:

1、回退用户的当前事务

2、释放服务器进程所占用的所有表锁和行锁

3、释放用户所占用的其他资源

 

Checkpoint

 

CKPT,用于发出检查点(CheckPoint),检查点会同步数据库的数据文件和控制文件、重做日志)。

 

当发出检查点时,后台进程CKPT将检查点时刻的SCN(System Change Number)写入到控制文件、和数据文件头部,同时会促使后台进程DBWR将所有的脏缓冲区写入到数据文件中。

 

当发出检查点是,不仅后台进程CKPT和DBWR要开始工作,LGWR也会将重做日志缓冲区写入到重做日志,从而确保数据文件、控制文件、重做日志的一致性。

CKPT工作触发条件:

1、日志切换(包括手动:ALTER SYSTEM SWITCH LOGFILE,手动归档应该也可以)

2、关闭实例(shutdown abort除外)

3、手工检查点操作(alter  system  checkpoint)

4、热备

5、当运行ALTER TABLESPACE/DATAFILE READ ONLY的时候

6、手动设置fast_start_mttr_target

 

检查点发生后,他会立马做出如下事件:

1、更新数据文件头部

2、更新控制文件

主要是scn,用于恢复,chpt发生的频率越高,恢复的时间越短,频率高了,数据库性能可能有影响;所以设置这个参数的时候要慎重。

 

Arcn

 

ARCH,用于将重做日志的事务变化复制到归档日志中(用于重做日志的备份)

SQL> show parameter archive

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

archive_lag_target                   integer     0

log_archive_config                   string

log_archive_dest                     string

log_archive_dest_1                   string      location=/disk1/arch

log_archive_dest_10                  string

log_archive_dest_2                   string

log_archive_dest_3                   string

log_archive_dest_4                   string

log_archive_dest_5                   string

log_archive_dest_6                   string

log_archive_dest_7                   string

log_archive_dest_8                   string

log_archive_dest_9                   string

log_archive_dest_state_1             string      enable

log_archive_dest_state_10            string      enable

log_archive_dest_state_2             string      enable

log_archive_dest_state_3             string      enable

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

log_archive_dest_state_4             string      enable

log_archive_dest_state_5             string      enable

log_archive_dest_state_6             string      enable

log_archive_dest_state_7             string      enable

log_archive_dest_state_8             string      enable

log_archive_dest_state_9             string      enable

log_archive_duplex_dest              string

log_archive_format                   string      %s_%t_%r.log

log_archive_local_first              boolean     TRUE

log_archive_max_processes            integer     2

log_archive_min_succeed_dest         integer     1

log_archive_start                    boolean     FALSE

log_archive_trace                    integer     0

remote_archive_enable                string      true

standby_archive_dest                 string      ?/dbs/arch

 

三、 database 结构

 

1、物理结构

Oracle物理结构主要由:数据文件,日志文件,控制文件

当然还有一些其他的文件:参数文件,口令文件,告紧日志文件,归档日志文件等

具体内容后面一一总结

 

2、逻辑结构

1、表空间(tablespace),是数据库的逻辑组成部分。

2、段(Segment),用于存放特定的逻辑对象(表、簇、索引等)的所有数据,它由一个或多个区组成的。

如表段、索引段、临时段、undo段等

3、区(extent),是Oracle进行空间分配的逻辑单元,它由相邻的数据块组成。

4、Oracle 块,数据块,是Oracle 在数据文件上执行I/0的最小单位,其尺寸应该为OS块的整数倍

 

 

处理sql

服务器进程处理select语句包括解析(Parse),执行(Execute),和提取数据(Fetch)三个阶段

处理DML语句:

因为DML语句不会返回数据,所以处理DML语句只包括解析和执行两个阶段

 

处理commit

 文章内容很多摘自各位网友和ocp ppt图片。

 欢迎加入qq群:

Oracle 数据库系统全面详解 Oracle 数据库是全球领先的关系型数据库管理系统(RDBMS),由 Oracle 公司开发。它为企业级应用提供了高性能、高可用性、安全性和可扩展性的数据管理解决方案。 Oracle 数据库作为企业级数据库解决方案的领导者,提供了全面而强大的数据管理能力。从传统的关系型数据管理到现代的云原生架构,Oracle 持续创新,满足企业不断变化的数据需求。掌握 Oracle 技术对于数据库专业人员来说是一项极具价值的技能。 阅读详情

相关推荐

oracle 体系结构详解

oracle体系结构图文详解。 oracle实例=SGA区+后台进程 oracle服务器=oracle实例+oracle数据库 数据库实例启动实质上即为:分配SGA区,启动后台进程

Oracle体系结构

Oracle体系结构。

月光晒了很凉快的博客 3641

概率整形 Peobabilistic Shaping PS 第一节

概率整形概述 概率整形(Peobabilistic Shaping, PS)是一种针对于调制格式的优化技术,它为光通信通信提供了非常高的灵活性,但不会增加系统复杂性。尤其是光通信中的非线性问题会限制功率,使得PS就像为光通信量身定做的一样。 PS技术能够在不增加发送功率的前提下,获得高频谱效率和传输容量。2016年在使用PS技术的实验中实现了6600km单模光纤的65Tbit/s数据的传输。 到目前位置PS技术的研究主要集中在具有相干检测的单载波光纤传输。 概率整形的基本原理 概率整形技术就是通过在编码前

Explore_OuO的博客 8126

Oracle系列十九:Oracle的体系结构

深入理解Oracle数据库的体系结构对于数据库管理人员和开发人员至关重要,只有了解和熟悉物理结构、内存结构和逻辑机构的概念、作用和相互之间的关系,才能更好地管理和优化数据库系统,以满足不同应用和环境的需求。

聚集机器学习、信息安全 8064

[3D检测系列-PV-RCNN] PV-RCNN实战指南:从论文解析到代码调试全流程

本文提供了PV-RCNN在3D目标检测领域的实战全流程指南。文章深入解析了其Point-Voxel融合的核心思想,并详细演示了从环境搭建、数据准备、代码复现到模型训练与调试的具体步骤,特别针对常见的报错问题给出了解决方案,帮助开发者高效掌握这一经典算法。

weixin_29189381的博客 480

hpm6750evk2开发板(四)TCP回送(1000M网口)

再接下来我们修改代码,先找到配置网速的地方,肯定是在enet的初始化函数里面,我们一个函数一个函数找,也可以用单步调试一步一步找,结果发现是在enet_init函数里面调用的rtl8211_basic_mode_default_config函数配置网速的,我们把enet_phy_port_speed_100mbps改为enet_phy_port_speed_1000mbps,重新编译运行试试。首先我们复制一份lwip_tcpecho代码,重命名为lwip_tcpecho_RGMII,如下图所示。

Silas1750的博客 920

Oracle 体系结构详解

Oracle 体系结构详解 什么是Orcale数据库? Orcale数据库(Oracle DateBase)是一款关系型数据库(这里就不多做介绍了),通常情况下,我们会把承载我们核心数据的系统通称为数据库服务器,但严格来说它是又两部分组成的: 实例+数据库=OracleDataBaseServer 这里的实例和Java中的实例化完全是俩个不同的概念。它是数据库启动时初始化的一组进程和内存结构 而数据库则指的是我们存储数据的一些物理文件。 从以上概念上看,也就是说实例是暂时的,它只不过是一组逻辑划分的内存结

关注我!菜鸟进阶站 1665

MuJoCo 机械臂关节空间阻抗控制Impedance实现(附代码)

阻抗控制通过调整关节的刚度和阻尼,让机器人在接触时产生顺应性,减少冲击力,其核心目标是在接触外部载荷时能够自适应调整输出力矩,实现力与位置的协同控制。阻抗控制可以很快的到达设定位置,在此基础上,使用mujoco交互中的施加外力操作,可以看到当外力松开后,机械臂也可以很快的回弹回设定位置。其中self.Kp和self.Kd为固定刚度和阻尼系数,通过修改刚度和阻尼参数,可以变得更柔顺来应对各种场景。注释掉该行后,直接simulate仿真可以看到机械臂控制位置震荡等情况,接下来引入关节空间阻抗控制的代码。

darcsdn 1271

ORACLE 体系结构——详解!

ORACLE 体系结构 (Architecture of ORACLE)   第一部分:ORACLE8i体系结构 第一章. 概要 在本章里你可以了解以下内容 1、 理解ORACLE 实例的组成 2、 理解ORACLE 数据库的组成 3、 理解ORACLE内存结构的组成 4、 理解后台进程的作用与分工 5、 理解数据库的物理文件与对应的逻辑结构 6、 理解ORACLE的整体构架

事后诸葛亮的程序人生(微信:zq9017197) 3041

【FPGA教程案例100】深度学习1——基于CNN卷积神经网络的手写数字识别纯Verilog实现,使用mnist手写数字数据库

MNIST 数据库有一个 60,000 示例的训练集,还有一个 10,000 示例的测试集。这些数字已在大小方面规范化,在固定大小的图像中居中。如下图所示:我们任意选择0~9是个数字,将其转化为数字:0_0.txt1_0.txt2_0.txt3_0.txt4_0.txt5_0.txt6_0.txt7_0.txt8_0.txt9_0.txt。

FPGA/MATLAB学习教程/源码/项目合作开发 7824

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的水果识别系统(Python+PySide6界面+训练代码)

本文详细介绍了基于YOLO系列目标检测算法(包括YOLOv5、YOLOv6、YOLOv7和YOLOv8)的水果识别系统的设计与实现。系统采用Python语言开发,结合PySide6构建用户界面,实现了从数据准备、模型训练到部署应用的全流程。本文将提供完整的代码实现、详细的训练过程分析以及性能对比实验,并给出推荐的数据集资源。该系统可以准确识别多种水果类型,为智能农业、自动售货、食品加工等领域提供技术支持。

YOLO 565

Oracle 12c数据库体系结构图文详解手册

Oracle 12c数据库体系结构图文详解手册 去发现同类优质开源项目:https://gitcode.com/ 此资源文件为《Oracle 12c数据库体系结构图文详解手册》,深入浅出地介绍了Oracle 12c数据库的体系结构。内容涵盖Oracle数据库的核心组成部分、工作原理以及相关技术细节,帮助读者更好地理解和掌握Oracle 12c数据库。 手册以图文并茂的形式,对Oracle 12c数...

gitblog_06727的博客 959

手把手教你学 MATLAB 实战训练(6.9):卷积神经网络(CNN)模型来进行图像分类任务(预训练的 ResNet-50 模型)

加载数据集数据预处理加载预训练模型修改和扩展预训练模型设置训练选项训练模型测试模型。

xiaoheshang_123的博客 646

Oracle12c数据库体系结构图文详解手册:深入解析Oracle核心架构

Oracle12c数据库体系结构图文详解手册:深入解析Oracle核心架构 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在数据库领域,Oracle 12c以其卓越的性能和稳定的体系结构赢得了广泛的认可。《Oracle 12c数据库体系结构图文详解手册》正是为了满足广大数据库管理员和开发人员的需求,提供了一份详尽的资源。本项目以图文并茂的方式,全面解读Oracle 1...

gitblog_06737的博客 466

C#联合Halcon机器视觉框架源码—升级版

相较于之前的NxtVision,本软件代码架构更加合理,且新增。对源码有需求的,订阅本专栏后,私信我领取。、原来的vb脚本改为。

Z's Palace 1415

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Oracle体系结构详解

Oracle体系结构详解   对于一门技术的学习,尤其是像Oracle database这种知识体系极其庞杂的技术来讲,从宏观上了解其体系结构是至关重要的。同时,个人认为,未必是专业DBA人员才需要了解其体系结构(固然对于数据库专业人员来讲,这些都是必备知识了),一般的技术人员如果对其有较深入的了解,也是大有益处的,毕竟技术思想很多时候都是相通的嘛。本文就从不同维度,如Oracle的

Jonathan158的专栏 490

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

上一篇: oracle表和段关系
下一篇: oracle 监听程序小结
Devillyd
博客等级 码龄23年 58粉丝 101原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值