登录
首页 >  数据库 >  MySQL

【赵渝强老师】Oracle的PGA与数据库连接建立的过程

来源:SegmentFault

时间:2023-02-16 15:27:58 214浏览 收藏

哈喽!今天心血来潮给大家带来了《【赵渝强老师】Oracle的PGA与数据库连接建立的过程》,想必大家应该对数据库都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到MySQL、数据库、Oracle、NoSQL,若是你正在学习数据库,千万别错过这篇文章~希望能帮助到你!

首先,我们来了解一下Oracle的内存结构,如下:

关于Oracle的内存结构,详情请查看: 【赵强老师】Oracle数据库的内存结构

(一)PGA的组成结构

PGA主要由以下三部分组成:

  1. 私有SQL区(Private SQL Area):私有SQL区包含了绑定变量值和运行时期内存结构信息等数据。
  2. 游标和SQL区(Cursors and SQL Areas):为打开游标和执行SQL提供必要的资源和空间内存
  3. 会话内存(Session Memory):会话内存是一段用于保存会话变量(如登录信息)和其他预会话相关信息的内存。对于共享服务器模式下,会话内存是共享的,而不是私有的。

(二)PGA相关的数据字典

  1. V$PGASTAT:存储着pga使用情况的一些信息,并在实例启动后,自动收集pga的实用信息。
  2. V$PGA\_TARGET\_ADVICE:这个视图是可以显示PGA优化建议器的估算预测结果,它显示了在各种PGA\_AGGREGATE\_TARGET值时,V$PGASTAT可能会显示的PGA性能统计数据。

(三)PGA与连接建立的过程

如下图所示。客户端先从tnsnames.ora文件中获取数据库服务器所在的IP、端口号、使用协议、服务名等信息,然后连接到数据库的监听程序,监听判断用户请求的服务名是否有效,如有效则请求服务器后台进程创建一个服务器进程,并给其分配PGA,之后监听将创建好的服务器程序的端口号和地址发送给用户进程,随后用户进程与监听的连接断开。用户进程就可以根据信息连接到服务器进程,服务器进程对用户进程进行身份验证,通常是输入账号密码,服务器进程将账号密码与缓冲区的数据字典中的内容进行匹配,如匹配成功则会话建立。

本篇关于《【赵渝强老师】Oracle的PGA与数据库连接建立的过程》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于数据库的相关知识,请关注golang学习网公众号!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>