Oracle的实例

今天看了一下伟大的oracle的系统结构,以自己的理解做个总结,主要从一些概念入手:

oracle实例其实就是=  内存分配  +  一组后台进程,  如果把Oracle比作一部汽车,instance相当于汽车的发动机一样,启动oracle前提应先启动instance..内存被分配,进程被启动

 instance

   

 

 

 

 

 

 

 

System Global Area

  SGA是存储数据库进程共享的数据库信息的内存区域。它包含Oracle Server 数据和控制信息。分配在Oracle Server驻留的计算机虚拟内存中。SGA包含如下内存结构:

共享池(shared pool) 用来存储最近执行的SQL语句、编译后的代码、执行计划以及最近使用的数据字典(data dictionary)的数据。这些SQL语句可能是被用户递交的也可能是存储过程调用。SHARED_POOL_SIZE可以调整共享池的大小。

数据缓冲区(database buffer cache)用来存储最近从数据文件中读写过的数据。DB_BLOCK_SIZE可以调节缓存区的大小,FB_BLOCK_BUFFERS 可以调节缓存区的缓冲数目。

重作日志缓冲区(redo log buffer)用来记录服务或后台进程对数据库的操作。 Size defined by LOG_BUFFER

另外在SGA中还有两个可选的内存结构:

Java pool: 用来存储Java代码。

Large pool: 用来存储不与SQL直接相关的大型内存结构。例如:在备份和恢复时的数据拷贝。

  Background Processes

–• Database Writer (DBW0) 负责将数据的更改由database buffer cache写到data files 。

–• Log Writer (LGWR) 负责将数据更改记录由redo log buffer写到redo log files.

–• System Monitor (SMON) 检查数据库的一致性,必要的情况下,在数据库打开时执行恢复。

–• Process Monitor (PMON)用户进程失败时,进程监控程序实现进程恢复。

–• The Checkpoint Process (CKPT) 负责更新数据库的控制文件( control files )中的状态信息。在数据缓存永久写入数据库时。 )

发表评论

电子邮件地址不会被公开。 必填项已用*标注

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>