ORACLE实例和ORACLE数据库详解

数据库 Oracle
ORACLE数据库的功能性很强大,很多企业都在用ORACLE数据库,真是由于ORACLE数据库自身的功能性好,赢得了很多用户的喜爱,本文我将为大家重点介绍ORACLE实例和ORACLE数据库详解。

导读:oracle数据库是一种大型数据库系统,一般应用于商业,政府部门,它的功能很强大,能够处理大批量的数据,在网络方面也用的非常多。不过,一般的中小型企业都比较喜欢用mysql, SQL server等数据库系统,它的操作很简单,功能也非常齐全。只是比较oracle数据库而言,在处理大量数据方面有些不如。

一、ORACLE实例

  1、ORACLE 实例——包括内存结构与后台进程

  System Global Area(SGA) 和 Background Process 称为数据库的实例。

  2、ORACLE 数据库——物理操作系统文件的集合

  一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等)

  3、系统全局共享区System Global Area(SGA)

  System Global Area是一块巨大的共享内存区域,他被看做是Oracle数据库的一个大缓冲池,这里的数据可以被ORACLE的各个进程共用。其大小可以通过如下语句查看:

  SQL> select * from v$sga;

  NAME VALUE

  -

  Fixed Size 39816

  Variable Size 259812784

  Database Buffers 1.049E+09

  Redo Buffers 327680

  更详细的信息可以参考V$sgastat、V$buffer_pool

  主要包括以下几个部分:

  a、 共享池(Shared pool)

  共享池是SGA中最关键的内存片段,特别是在性能和可伸缩性上。一个太小的共享池会扼杀性能,使系统停止,太大的共享池也会有同样的效果,将会消耗大量的CPU来管理这个共享池。不正确的使用共享池只会带来灾难。共享池主要又可以分为以下两个部分:

  SQL语句缓冲(Library Cache)

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

  下面举例说明parse的时间

  SQL> select count(*) fromscpass ;

  COUNT(*)

  --

  243

  Elapsed: 00:00:00.08

  这是在Share_pool 和Data buffer 都没有数据缓冲区的情况下所用的时间

  SQL> alter system flush SHARED_POOL;

  System altered.

  清空Share_pool,保留Data buffer

  SQL> select count(*) from scpass ;

  COUNT(*)

  --

  243

  Elapsed: 00:00:00.02

  SQL> select count(*) from scpass ;

  COUNT(*)

  --

  243

  Elapsed: 00:00:00.00

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

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

  数据字典缓冲区(Data Dictionary Cache)

  显而易见,数据字典缓冲区是ORACLE特地为数据字典准备的一块缓冲池,供ORACLE内部使用,没有什么可以说的。

上文的内容相对来说还是很基础的,所以对于刚刚入门的初学者来说,学习初期,好好的研究一下本文中介绍的内容,相信对大家的入门学习会很有帮助的。

【编辑推荐】

  1. 在Oracle数据库10g中跟踪SQL
  2. 三招轻松确定Oracle数据库表中重复的记录
  3. Oracle数据库中管理表空间和数据文件
  4. Oracle数据库共享连接和专用连接方式比较

 

责任编辑:迎迎 来源: IT专家网
相关推荐

2011-05-19 13:25:14

Oracle数据库

2011-08-11 16:55:34

Oracle数据库AWR

2010-04-09 16:51:24

Oracle数据库

2010-04-14 15:14:11

Oracle数据库

2010-04-02 13:59:08

Oracle数据库

2011-04-11 13:19:41

Oracle数据库

2011-05-17 15:02:15

ORACLE数据库备份

2011-08-18 15:49:21

Oracle厉行计划

2010-04-06 11:30:09

Oracle 数据库

2010-04-13 10:55:35

Oracle数据库

2010-04-14 15:45:49

Oracle 数据库

2010-04-23 09:32:39

Oracle数据库实例

2011-08-12 13:33:31

Oracle数据库自治事务

2011-08-15 23:14:34

Oraclerman环境配置

2010-10-20 09:41:37

卸载Oracle

2009-09-02 18:52:38

Oracle数据库并行

2009-02-09 12:52:32

文件加密Oracle数据库

2010-04-02 16:03:20

Oracle数据库

2010-04-30 13:26:50

Oracle数据库

2011-08-16 18:55:10

Oracle数据库构造过程
点赞
收藏

51CTO技术栈公众号