国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

oracle 10g 新特性中文筆記三

2024-08-29 13:40:21
字體:
供稿:網(wǎng)友

  asmm簡化了sga的配置.過去,你要手工指定分配給數(shù)據(jù)庫buffer cache,shared pool,java pool和large pool的大小.
  
  這通常都是一個(gè)挑戰(zhàn).假如設(shè)置不夠大,會導(dǎo)致性能很差,和內(nèi)存溢出錯(cuò)誤,假如設(shè)置過大,會導(dǎo)致浪費(fèi)內(nèi)存.
  
  這個(gè)特性可以讓你指定所有sga組件的總大小.Oracle數(shù)據(jù)庫有周期的重新分配這些內(nèi)存.
  
  在以前的版本中,你不能對sga的總大小進(jìn)行控制,因?yàn)閮?nèi)存的固定的,對其它的內(nèi)部元數(shù)據(jù)進(jìn)行分配,除了這個(gè)總大小就是用戶指定的sga參數(shù),額外的內(nèi)出通常是10到20m.
  
  新的sga初始化參數(shù)sga_target報(bào)告sga所有的內(nèi)存,包括自動設(shè)置組件的,手工設(shè)置組件還有啟動的時(shí)候的其它內(nèi)部分配.
  
  數(shù)據(jù)庫控制和asmm
  
  你可以使用db control來配置asmm
  
  1.點(diǎn)治理
  
  2.在實(shí)例部分選內(nèi)存參數(shù)
  
  3.選sga
  
  4.在asmm點(diǎn)enable,然后輸入總的sga大小.
  
  手工配置
  
  自動治理的只有四個(gè)部分
  
  db buffer cache
  shared pool
  large pool
  java pool
  
  你可以通過設(shè)置sga_target來配置asmm.
  
  假如你為sga_target設(shè)置了非零值,下面四個(gè)內(nèi)存池是自動配置大小的:
  
  database buffer cache
  shared pool
  large pool
  java pool
  
  假如你把sga_target設(shè)置為零,asmm關(guān)閉了.默認(rèn)的值就是0.
  
  在過去的版本中的單獨(dú)參數(shù)沒有作廢.
  
  下面的參數(shù)還是手工設(shè)置大小的:
  
  log buffer
  other buffer caches(keep/recycle,other block sizes)
  streams pool
  fixed sga和其它的內(nèi)部分配的
  
  自動調(diào)整sga參數(shù)的行為
  
  當(dāng)sgs_target沒有設(shè)置或設(shè)置為零的時(shí)候
  
  -自動調(diào)整的參數(shù)向以前那樣
  
  -例外:shared_pool_size
  
  select sum(bytes)/1024/1024 from v$sgastat
  where pool= 'shared pool';
  當(dāng)sga_target設(shè)置了
  
  -默認(rèn)的自動設(shè)置的參數(shù)為0
  
  -假如非零值就是下限
  
  假如sga_target沒有設(shè)或等于零,自動調(diào)整的sga參數(shù)就向以前的一樣.然而,shared_pool_size是個(gè)例外:內(nèi)部分布的元數(shù)據(jù)(例如用在進(jìn)程和會話數(shù)據(jù))現(xiàn)在已經(jīng)包括在shared_pool_size參數(shù)中.這樣,你為了分配這些內(nèi)存,當(dāng)升級你的oracle 10g數(shù)據(jù)庫的時(shí)候需要加大你的shared_pool_size參數(shù).例如,假如你在以前的版本中的共享池是256m,你的內(nèi)部分配是32m,那為了得到同樣的效果,在你的10g數(shù)據(jù)庫中要設(shè)置為288m.上面的查詢計(jì)算包括內(nèi)部分配的shared_pool的大小.在運(yùn)行升級之前,你首先要進(jìn)行這次查詢.
  
  當(dāng)sga_target設(shè)為非0,自動調(diào)整的參數(shù)默認(rèn)都是0.他們的大小都是通過asmm算法自動設(shè)置的.例如,sga_target設(shè)為8g,shared_pool_size是1g,這樣就告訴asmm算法不會把共享池設(shè)為1g以下,盡管更大的值更好.你也可以使用下面的查詢看自動調(diào)整組件的大小.
  
  select component,current_size/1024/1024
  from v$sga_dynamic_components;
  
  手工調(diào)整sga參數(shù)的行為
  
  一些組件不是自動調(diào)整的:
  
  -keep 和recycle 緩沖區(qū)
  
  -塊倍數(shù)的緩沖
  
  -log 緩沖
  
  -streams池
  
  這些參數(shù)是用戶指定的
  
  精確的控制這些組件的大小
  
  使用v$parameter視圖
  
  select name,value,isdefault
  from v$parameter
  where name like '%size';
  
  重新設(shè)置sga_target的大小
  
  sga_target初始化參數(shù)
  
  是動態(tài)的
  
  最大可以是sga_max_size的大小
  
  可以減少到所有組件的最小值
  
  sga_target影響僅僅是自動調(diào)整的組件
  
  sga_target是動態(tài)參數(shù),可以通過db control或alter system命令修改.
  
  sga_target最大可以是sga_max_size的大小.它可以減少到任一個(gè)自動調(diào)整的組件到達(dá)了最小值,要么是用戶指定的最小值,
  
  要么是內(nèi)部決定的最小值.
  
  假如你增加sga_target的大小,增加的內(nèi)存根據(jù)自動調(diào)整的測量分布到自動調(diào)整的組件上.
  
  假如你減小sga_target的大小,內(nèi)存就通過自動調(diào)整測量從一個(gè)或多個(gè)自動調(diào)整組件上取消.這樣,sga_target的變化僅影響自動調(diào)整組件的大小.
  
  取消自動共享內(nèi)存治理
  
  設(shè)置sga_target為零取消自動調(diào)整
  
  自動參數(shù)設(shè)置為他們的值
  
  sga的大小不影響
  
  你可以動態(tài)的設(shè)置sga_target為零來取消自動共享內(nèi)存治理.這個(gè)時(shí)候,所有的自動調(diào)整的參數(shù)都是相應(yīng)組件當(dāng)前的大小,即使用戶早期設(shè)置了不同的非0值.
  
  手工的改變動態(tài)sga參數(shù)的大小
  
  對于自動調(diào)整的參數(shù),手工的改變它的大小:
  
  假如新的值的比當(dāng)前的值大,馬上就會生效.
  
  假如新的值比當(dāng)前值小,就會改變到最小值
  
  手工改變參數(shù)的大小影響sga的可調(diào)部分
  
  當(dāng)重新設(shè)置了sga_target的大小的時(shí)候,只有新值比當(dāng)前組件的值大的時(shí)候才會馬上改變.假如你設(shè)置sga_target為8g,設(shè)置shared_pool_size為2g,你確信為了容納必要的內(nèi)存,共享池至少2g.當(dāng)你把共享池調(diào)為1g的時(shí)候,不會馬上改變共享池的大小.它只會告訴自動內(nèi)存調(diào)整算法在需要的時(shí)候,會把共享池改為1g.另外,假如一開始共享池是1g,你把它設(shè)置為2g,那么馬上就生效.在重新改變操作中使用的內(nèi)存是從一個(gè)或幾個(gè)其它的自動調(diào)整的組件中得到了,手工的組件不受影響.
  
  手工改變大小的組件也可以動態(tài)的修改,但是他們的不同就是馬上就是設(shè)置的值.這樣,假如手工組件的值增加,額外的內(nèi)存就是從一個(gè)或多個(gè)自動調(diào)整的組件中獲得的.假如手工組件的值減少了,釋放出來的內(nèi)存就給了自動調(diào)整大小的組件.
  
  自動優(yōu)化統(tǒng)計(jì)收集:概覽
  
  oracle8i提供dbms_stats包
  
  dba決定怎么去收集統(tǒng)計(jì)
  
  dba決定什么時(shí)候去收集統(tǒng)計(jì)
  
  oracle9i決定怎么去收集統(tǒng)計(jì)
  
  統(tǒng)計(jì)可以使用單個(gè)命令僅此收集
  
  dba決定什么時(shí)候去收集統(tǒng)計(jì)
  
  oracle10g完全自動收集統(tǒng)計(jì)的
  
  dba不用去收集統(tǒng)計(jì)
  
  默認(rèn)就進(jìn)行表監(jiān)控
  
  為了查詢優(yōu)化器產(chǎn)生更好的執(zhí)行計(jì)劃,在對象上必要有合法的統(tǒng)計(jì).在過去,統(tǒng)計(jì)收集(或讓作業(yè)去做)是典型的dba的責(zé)任.另外,有必要對改變的對象進(jìn)行跟蹤,來看什么時(shí)候有必要進(jìn)行統(tǒng)計(jì)收集.假如對象的統(tǒng)計(jì)很陳舊或沒有統(tǒng)計(jì),就可能產(chǎn)生無效的sql執(zhí)行計(jì)劃.
  
  在oracle9i(假定使用了監(jiān)控)下面的dbms_status命令可以用來產(chǎn)生相應(yīng)的統(tǒng)計(jì)"
  
  dbms_stats.gather_schema_stats(schema_name,options=>'GATHER AUTO');

  
  這個(gè)命令收集優(yōu)化的統(tǒng)計(jì),包括柱狀圖,對那些對象那些當(dāng)前的統(tǒng)計(jì)是陳舊的.然后,你必須打開監(jiān)控,并且有計(jì)劃的執(zhí)行這個(gè)命令.
  
  在oracle10g中,自動優(yōu)化統(tǒng)計(jì)收集自動這些任務(wù),減少了你的收集統(tǒng)計(jì)的必要.
  
  這個(gè)特性減少了由于sql語句統(tǒng)計(jì)失效或陳舊而導(dǎo)致性能很差的可能性,通過提高查詢優(yōu)化器的最家的輸出提高了sql執(zhí)行的性能.
  
  GATHER_STATS_JOB
  
  默認(rèn)的,在數(shù)據(jù)庫創(chuàng)建的時(shí)候就創(chuàng)建了gather_stats_job,執(zhí)行dbms_stats.gather_database_stats_job_PRoc過程,使用schedular.
  
  默認(rèn)的定義了兩個(gè)窗口.
  
  WEEKENIGHT_WINDOW定義在下午10點(diǎn)到上午六點(diǎn).從周一到周五.
  
  WEEKEND_WINDOW定義從上午12電到周一12點(diǎn).
  
  默認(rèn)的,MAINTENANCE_WINDOW_GROUP組包含這兩個(gè)窗口也已經(jīng)鄧菁來源.
  
  gather_stats_job使用特定的計(jì)劃任務(wù)叫auto_tasks_job_class.這個(gè)類是自動創(chuàng)建的,而且跟特性的資源消費(fèi)者組聯(lián)系,這個(gè)消費(fèi)者組叫做auto_task_consumer_group.這樣確保任務(wù)使用auto_task_consumer_group.假如你想控制gather_stats_job的資源使用,你之需要為maintenance_window_group定義一個(gè)資源治理者組來為auto_task_cousumer_group分配資源.
  
  為了讓gather_stats_job工作正常,你必須確定statistics_level初始化參數(shù)設(shè)置為typical.
  
  改變gather_stats_job的計(jì)劃任務(wù)
  
  你可以為定義的治理窗口來自定義開放時(shí)間.例如,你可以改變他們的時(shí)間間隔和重復(fù)的頻度.你也可以添加資源計(jì)劃到這些窗口中,來控制gather_stats_job使用的資源.
  
  從db control主頁,點(diǎn)擊治理標(biāo)簽,然后在scheduler部分點(diǎn)擊windows鏈接.就讓你到了scheduler windows頁.這里你可以選中一個(gè)窗口,并且可以點(diǎn)edit來修改它的特性.在這頁,你還可以打開或關(guān)閉特定的窗口.只要你在下拉框?yàn)樘囟ǖ拇翱谶x擇相應(yīng)的行為,點(diǎn)ok就可以了.
  
  鎖定統(tǒng)計(jì)
  
  阻止自動收集
  
  主要用在可變的表中
  
  -沒有統(tǒng)計(jì)的鎖定,意味著動態(tài)的取樣.
  
  -鎖定代表值的統(tǒng)計(jì)
  
  在oracle10g,你可以看到特定表的統(tǒng)計(jì),通過新的dbms_stats包的lock_table_stats過程.你可以鎖定一個(gè)表的統(tǒng)計(jì),來阻止自動統(tǒng)計(jì)收集,這樣你就可以使用動態(tài)的取樣.你也可以在某個(gè)時(shí)間點(diǎn)鎖定可變的表的統(tǒng)計(jì),當(dāng)它滿了的時(shí)候.
  
  你可以可以使用lock_schema_stats跑在sechma基本鎖定統(tǒng)計(jì).
  
  你可以查看user/all/dba_tab_statistics視圖來看stattype_locked列來看一個(gè)表是不是鎖定了.
  
  你也可以使用unlock_table

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 句容市| 凉山| 阜阳市| 黔西县| 清丰县| 承德县| 上犹县| 南康市| 桂平市| 陆丰市| 微博| 磐安县| 定日县| 车险| 固阳县| 大港区| 临清市| 辽阳市| 财经| 鲜城| 东乡县| 遵化市| 东山县| 日照市| 桐柏县| 外汇| 舒兰市| 宿松县| 龙川县| 望都县| 西青区| 南充市| 汾阳市| 新竹县| 大同市| 准格尔旗| 尉犁县| 丰城市| 南江县| 文安县| 海淀区|