oracle数据库实例与操作模式.pptVIP

  • 3
  • 0
  • 约8.03千字
  • 约 57页
  • 2024-03-14 发布于四川
  • 举报

第8章数据库实例与操作模式第8章数据库实例与操作模式8.1Oracle实例8.2Oracle内存结构8.3Oracle后台进程8.4数据库操作模式Oracle数据库服务器由数据库和实例组成数据库与实例的关系数据库是Oracle用于保存数据的一系列物理结构和逻辑结构用户直接与实例交互,由实例访问数据库。每个数据库至少有一个与之对应的实例启动数据库时先创建实例第8章数据库实例与操作模式8.1Oracle实例8.2Oracle内存结构8.3Oracle后台进程8.4数据库操作模式8.2Oracle内存结构系统全局区SGASGA区是由Oracle分配的共享内存结构,包含一个数据库实例共享的数据和控制信息。当多个用户同时连接同一个实例时,SGA区数据供多个用户共享,所以SGA区又称为共享全局区。程序全局区PGAPGA区是在用户进程连接数据库,创建一个会话时,由Oracle为用户分配的内存区域,保存当前用户私有的数据和控制信息。8.2.1系统全局区SGASGA包含的内存结构有:数据高速缓冲区(DatabaseBufferCache)共享池(SharedPool)重做日志缓冲区(RedoLogBuffer)其他结构(例如锁管理、统计数据)在SGA,有两个可配置的可选内存结构:大池(LargePool)Java池(JavaPool)1.数据高速缓冲区功能数据缓冲区存储的是从数据文件中检索出来的数据拷贝。应用程序要访问的数据必须从磁盘的数据文件读到数据缓冲区中处理。在数据缓冲区中被修改后的数据由数据写入进程写到硬盘的数据文件中永久保存。提高获取和更新数据的性能1.数据高速缓冲区(续)功能“脏”缓存块(DirtyBuffers)保存的是已经被修改过的数据空闲缓存块(FreeBuffers)不包含任何数据,它们等待后台进程或服务器进程向其中写入数据。命中缓存块(PinnedBuffers)正被使用,或者被显式声明为保留的缓存块缓冲块的管理Oracle数据库中,采用脏缓存块列表和LRU列表来管理数据高速缓冲区中的缓存块脏缓存块列表:该列表中包含那些已经被修改但还没有写入数据文件的脏缓存块。LRU列表(LeastRecentlyUsed):该列表中包含所有的空闲缓存块、命中缓存块以及那些还没有来得及移入到脏缓存块列表的脏缓存块。在该列表中,最近被访问的缓存块被移动到该列表的头部,而其他缓存块向列表尾部移动,最近最少被访问的缓存块最先被移出LRU列表,从而保证最频繁使用的数据块始终保存在内存中DB_CACHE_SIZESQLaltersystemsetdb_cache_size=10M;可以在参数文件中设置数据高速缓冲区的大小。数据高速缓冲区越大,用户需要的数据在内存中的可能性越大,即缓存命中率高,从而减少了Oracle访问硬盘数据的次数,提高数据库系统执行的效率。数据高速缓冲区的值太大,Oracle不得不在内存中寻找更多的块来定位所需要数据,反而降低了系统性能。因此需要确定一个合理的数据高速缓冲区的大小。2.重做日志缓冲区功能用于缓存在用户对数据进行修改的操作过程中生成的重做记录。当重做日志缓冲区被添满时,由日志写入进程把重做日志缓冲区的内容写到磁盘的重做日志文件中做永久的保存。重做日志缓冲区功能重做日志缓冲区的大小LOG_BUFFERSQLshowparameterlog_buffer;SQLaltersystemsetlog_buffer=10M;在参数文件中设置,LOG_BUFFER的值越大,重做日志缓冲区就可以存放更多的事务提交的记录,减少了数据被频繁填充到重做日志文件中的次数。3.共享池功能用于缓存与SQL或PL/SQL语句、数据字典、资源锁以及其他控制结构相关的数据组成库缓存库缓存用于缓存已经解释并执行过的SQL语句和PL/SQL程序代码,以提高SQL或PL/SQL程序的执行效率。包括SQL工作区和PL/SQL工作区数据字典缓存区数据字典缓存区保存最常用的数据字典信息共享池共享池大小SHARED_POOL_SIZESQLshowparametershared_pool_size;SQLaltersystemsetshared_pool_size=10M;合适的共享池大小,可使编译过的程序代码长驻内存,大大降低重复执行相同的SQL语句、PL/SQL程序的系统开销,从而提高数据库的性能。4.大型池功能大型池是一个可选的内存配置项,主要为Oracle多线程服务器、

文档评论(0)

1亿VIP精品文档

相关文档