扫描二维码,下载手机APP
下载安卓APP箭头
客服QQ
箭头给我发消息

客服QQ:3315713922

与ORACLE相关的实例以及ORACLE数据库

作者:课课家教育 http://www.kokojia.com点击数:8910发布时间:2019-01-07 10:55:56

  Oracle数据库属于大型数据库系统,功能很强大,可以处理大批量数据,在网络上也用的很多,通常在商业以及政府部门应用。但是通常中小型企业由于MySQL,SQLserver操作简单,功能齐全都更倾向于用mysql,SQLserver等数据库系统。mysql,SQLserver只是不如oracle数据库处理大量数据。

  (一)ORACLE实例

  1、ORACLE实例:包括内存结构以及后台进程

  SystemGlobalArea(SGA)和BackgroundProcess称为数据库实例。

  2、ORACLE数据库:就是说物理操作系统文件的集合

  是数据文件、控制文件、联机日志以及参数文件等一系列物理文件的集合。

  3、系统全局共享区SystemGlobalArea(SGA)

  SystemGlobalArea属于共享内存区域,看做是Oracle数据库大缓冲池,在这里数据能被ORACLE的各个进程共用。

ORACLE实例与ORACLE数据库_oracle_oracle实例_oracle数据库_课课家

  它的大小能够通过语句查看,如下:

  SQL>select*fromv$sga;

  NAMEVALUE

  -

  FixedSize39816

  VariableSize259812784

  DatabaseBuffers1.049E+09

  RedoBuffers327680

  包括以下几个主要部分:

  (1)共享池(Sharedpool)

  SGA当中最关键的内存片段是共享池,尤其是在性能以及可伸缩性上。共享池太小会扼杀性能,使系统停止;共享池太大也会扼杀性能,使系统停止,并且消耗大量的CPU管理。错误的使用共享池只会带来灾难。

  (2)SQL语句缓冲(LibraryCache)

  在用户提交SQL语句后,Oracle会分析这句SQL,这类似于编译,会耗费相对较多的时间。在分析完这个SQL,Oracle会把分析结果保存在Sharedpool的LibraryCache当中。数据库第二次执行这个SQL时,Oracle自动跳过这个分析过程,就减少了系统运行的时间。这也是第一次运行的SQL比第二次运行的SQL要慢一点的原因。

oracle数据库

  举例说明parse的时间:

  SQL>selectcount(*)fromscpass;

  COUNT(*)

  --

  243

  ElaPSed:00:00:00.08

  在Share_pool以及Databuffer都没有数据缓冲区时所用的时间

  SQL>altersystemflushSHARED_POOL;

  Systemaltered.

  清空Share_pool,保留Databuffer

  SQL>selectcount(*)fromscpass;

  COUNT(*)

  --

  243

  Elapsed:00:00:00.02

  SQL>selectcount(*)fromscpass;

  COUNT(*)

  --

  243

  Elapsed:00:00:00.00

  从两句SQL的时间差上能看出SQL的Parse时间约为00:00:00.02

  可以从V$Sqltext、v$Sqlarea中查询保存在共享池中的SQL语句,对编程者来说,尽量要提高语句的重用率,减少分析时间。设计的差的应用程序会毁掉整个数据库的Sharepool,要先养成良好的变成习惯,尽量用Bind变量提高SQL语句的重用率。

  (3)数据字典缓冲区(DataDictionaryCache)

  数据字典缓冲区很明显是ORACLE故意为python数据字典准备的缓冲池,供ORACLE内部使用。

  总结:小编今天就把关于ORACLE实例和ORACLE数据库全都介绍完了,对于刚刚入门的初学者来说,上文的内容还是很基础的,学习初期好好的研究本文介绍的内容,相信对大家的入门学习会很有帮助的。小编也会不断的给大家更新关于数据库以及各种考试认证的资讯,大家可以关注我们课课家教育网站来获取更多资讯。

赞(17)
踩(0)
评论(0
最新评论

暂无评论~

大数据课程