1.当Oracle配置为dedicated server时,uga就在pga里进行分配,当为shared server,且sga中没有配置large pool时,在sga里分配uga,uga和pga的作用分别究竟是什么?
2.一个"单机版"的Oracle数据库服务器(dedicated时)上是只有一个pga,还是每一个server process对应一个pga,即有n个pga,当为
shared server时,pga的情况又是如何?
请大侠们看看!xiex !

解决方案 »

  1.   

    3.在为shared server时,请求队列和响应队列都在sga的哪种内存里进行分配?
      

  2.   

    4.shared和dedicated的应用环境场合分别是什么?
      

  3.   

    1,如果是dedicate连接,uga是驻留在pga中的;如果是shared连接,uga是驻留在sga中的。pga是不会占用sga的空间。两者是单独分配。
       pga中包含sort_area_size和hash_area_size,当用户session使用sort或者hash操作时自然使用这两个空间的大小。
       fixed uga在中分配shared pool,variable UGA默认在large pool分配,如果large pool没设置或者各种原因导致从large pool中分配不到chunk,那么从shared pool中分配。2,在shared pool或者large pool(大对象的时候使用或者shared pool不够用的时候使用)里面。
      

  4.   

    4.shared和dedicated的应用环境场合分别是什么?
       shared一般应用于rac以及分布式应用里面,对数据量有要求。
        dedicated一般应用中型公司,数据量不是海量,但是对稳定性安全性要求特别高。
      

  5.   


    关于第二问:参考http://www.itpub.net/705909.html
      

  6.   

    谢谢LS的兄弟!
    5.SGA中的Data buffer cache是由n个大小一致(可能一致)的小buffer cache 组成,我想问一下,这个buffer cache中存储的数据有什么特征?
    如一个buffer cache是不是只能存储一个表里的数据等?希望高手做深入分析!谢谢!
      

  7.   

    5.SGA中的Data buffer cache是由n个大小一致(可能一致)的小buffer cache 组成,我想问一下,这个buffer cache中存储的数据有什么特征? 
    如一个buffer cache是不是只能存储一个表里的数据等?【感悟】:呵呵,说下自己的看法,抛砖引玉吧。1,Data buffer cache是由n个大小一致(可能一致)的小buffer cache 组成,Data buffer cache存储oracle常用的数据,存储大小=DB_BLOCK_SIZE*DB_BLOCK_BUFFERS, Data buffer cache里面存放的是大小一致或者不一致是由于每次读取数据文件数据的占据的存储空间不一致导致的,简单点说,每次select(多查询,联多表的情况下)的时候,服务器进程会把最基本的数据从数据文件读到data buffer cache里面,然后在里面进行各种比较(比如a.id=b.id或者nvl函数对数据的处理,都在这里面执行),而且update、insert、delete的时候,数据也会放在data buffer cache里面。 它但当了数据文件与用户界面交互的一个临时中转站的角色。data buffer cache存放的永远是最新的操作数据。2,buffer cache存储的数据是根据你的sql来决定的,可以是多个表也可是是单个表的数据。自己的一点浅见,说得不正确的地方,请指点,谢谢!
      

  8.   


    教材原文如下:
    A checkpoint performs the following three operations: 
        1)Every dirty block in the buffer cache is written to the data files. That is, it synchronizes the datablocks in the buffer cache with the datafiles on disk. 
         2)It's the DBWR that writes all modified databaseblocks back to the datafiles. 
        3)The latest SCN is written (updated) into the datafile header. The latest SCN is also written to the controlfiles. 
         The update of the datafile headers and the control files is done by the LGWR(CKPT if CKPT is enabled). As of version 8.0, CKPT is enabled by default. 
    自己的理解:checkpoint是一个数据库事件,它的级别比trsantion事务要小得多,这个可以设置的。
    正常情况下,checkpiont到了的时候,事务就会自动commit(记录SCN号在日志文件里面);当checkpoint没有到的时候,事务不会commit;但是数据已经写入数据文件了写入磁盘了,这样断电的时候有可能形成脏数据,数据库重启的时候就需要自动去做undo回滚操作。详细介绍,请参考:http://publish.it168.com/2006/0521/20060521001201.shtml