<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    太陽雨

    痛并快樂著

    BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
      67 Posts :: 3 Stories :: 33 Comments :: 0 Trackbacks
    一:SQL tuning 類
      1:列舉幾種表連接方式
      2:不借助第三方工具,怎樣查看sql的執(zhí)行計劃
      3:如何使用CBO,CBO與RULE的區(qū)別
      4:如何定位重要(消耗資源多)的SQL
      5:如何跟蹤某個session的SQL
      6:SQL調(diào)整最關注的是什么
      7:說說你對索引的認識(索引的結構、對dml影響、對查詢影響、為什么提高查詢性能)
      8:使用索引查詢一定能提高查詢的性能嗎?為什么
      9:綁定變量是什么?綁定變量有什么優(yōu)缺點?
      10:如何穩(wěn)定(固定)執(zhí)行計劃
      11:和排序相關的內(nèi)存在8i和9i分別怎樣調(diào)整,臨時表空間的作用是什么
      12:存在表T(a,b,c,d),要根據(jù)字段c排序后取第21—30條記錄顯示,請給出sql

      二:數(shù)據(jù)庫基本概念類

      1:pctused and pctfree 表示什么含義有什么作用
      2:簡單描述table / segment / extent / block之間的關系
      3:描述tablespace和datafile之間的關系
      4:本地管理表空間和字典管理表空間的特點,ASSM有什么特點
      5:回滾段的作用是什么
      6:日志的作用是什么
      7:SGA主要有那些部分,主要作用是什么
      8racle系統(tǒng)進程主要有哪些,作用是什么

      三:備份恢復類

      1:備份如何分類
      2:歸檔是什么含義
      3:如果一個表在2004-08-04 10:30:00 被drop,在有完善的歸檔和備份的情況下,如何恢復
      4:rman是什么,有何特點
      5:standby的特點
      6:對于一個要求恢復時間比較短的系統(tǒng)(數(shù)據(jù)庫50G,每天歸檔5G),你如何設計備份策略

      四:系統(tǒng)管理類

      1:對于一個存在系統(tǒng)性能的系統(tǒng),說出你的診斷處理思路
      2:列舉幾種診斷IO、CPU、性能狀況的方法
      3:對statspack有何認識
      4:如果系統(tǒng)現(xiàn)在需要在一個很大的表上創(chuàng)建一個索引,你會考慮那些因素,如何做以盡量減小對應用的影響
      5:對raid10 和raid5有何認識

      五:綜合隨意類

      1:你最擅長的是oracle哪部分?
      2:喜歡oracle嗎?喜歡上論壇嗎?或者偏好oracle的哪一部分?
      3:隨意說說你覺得oracle最有意思的部分或者最困難的部分
      4:為何要選擇做DBA呢?
     
     
    參考解答:

      一:SQL tuning 類

      1:列舉幾種表連接方式

      hash join/merge join/nest loop(cluster join)/index join

      2:不借助第三方工具,怎樣查看sql的執(zhí)行計劃

      set autot on
      explain plan set statement_id = &item_id for &sql;
      select * from table(dbms_xplan.display);
      http://download-west.oracle.com/ ... /b10752/ex_plan.htm

      3:如何使用CBO,CBO與RULE的區(qū)別

      在optimizer_mode=choose時,如果表有統(tǒng)計信息(分區(qū)表外),優(yōu)化器將選擇CBO,否則選RBO。RBO遵循簡單的分級方法學,使用15種級別要點,當接收到查詢,優(yōu)化器將評估使用到的要點數(shù)目, 然后選擇最佳級別(最少的數(shù)量)的執(zhí)行路徑來運行查詢。

      CBO嘗試找到最低成本的訪問數(shù)據(jù)的方法,為了最大的吞吐量或最快的初始響應時間,計算使用不同 的執(zhí)行計劃的成本,并選擇成本最低的一個,關于表的數(shù)據(jù)內(nèi)容的統(tǒng)計被用于確定執(zhí)行計劃。

      4:如何定位重要(消耗資源多)的SQL

    select sql_text
    from v$sql
    where disk_reads > 1000 or (executions > 0 and buffer_gets/executions > 30000);

      5:如何跟蹤某個session的SQL

    exec dbms_system.set_sql_trace_in_session(sid,serial#,&sql_trace);
    select sid,serial# from v$session where sid = (select sid from v$mystat where rownum = 1);
    exec dbms_system.set_ev(&sid,&serial#,&event_10046,&level_12,'');

      6:SQL調(diào)整最關注的是什么

      查看該SQL的response time(db block gets/consistent gets/physical reads/sorts (disk))

      7:說說你對索引的認識(索引的結構、對dml影響、為什么提高查詢性能)

      b-tree index/bitmap index/function index/patitional index(local/global) 索引通常能提高select/update/delete的性能,會降低insert的速度,

      8:使用索引查詢一定能提高查詢的性能嗎?為什么

      索引就是為了提高查詢性能而存在的, 如果在查詢中索引沒有提高性能, 只能說是用錯了索引,或者講是場合不同

      9:綁定變量是什么?綁定變量有什么優(yōu)缺點?

      綁定變量是相對文本變量來講的,所謂文本變量是指在SQL直接書寫查詢條件,這樣的SQL在不同條件下需要反復解析,綁定變量是指使用變量來代替直接書寫條件,查詢bind value在運行時傳遞,然后綁定執(zhí)行。優(yōu)點是減少硬解析,降低CPU的爭用,節(jié)省shared_pool ;缺點是不能使用histogram,sql優(yōu)化比較困難

      10:如何穩(wěn)定(固定)執(zhí)行計劃

      query_rewrite_enabled = true
      star_transformation_enabled = true
      optimizer_features_enable = 9.2.0

      創(chuàng)建并使用stored outline

      http://download-west.oracle.com/ ... /outlines.htm#26854

     

    11:和排序相關的內(nèi)存在8i和9i分別怎樣調(diào)整,臨時表空間的作用是什么

      8i中sort_area_size/sort_area_retained_size決定了排序所需要的內(nèi)存

      如果排序操作不能在sort_area_size中完成,就會用到temp表空間

      9i中如果workarea_size_policy=auto時,

      排序在pga內(nèi)進行,通常pga_aggregate_target的1/20可以用來進行disk sort;

      如果workarea_size_policy=manual時,排序需要的內(nèi)存由sort_area_size決定

      在執(zhí)行order by/group by/distinct/union/create index/index rebuild/minus等操作時,

      如果在pga或sort_area_size中不能完成,排序?qū)⒃谂R時表空間進行(disk sort),

      臨時表空間主要作用就是完成系統(tǒng)中的disk sort.

      12:存在表T(a,b,c,d),要根據(jù)字段c排序后取第21—30條記錄顯示,請給出sql

      create table t(a number(,b number(,c number(,d number();
      /
      begin
      for i in 1 .. 300 loop
      insert into t values(mod(i,2),i/2,dbms_random.value(1,300),i/4);
      end loop;
      end;
      /
      select * from (select c.*,rownum as rn from (select * from t order by c desc) c) where rn between 21 and 30;
      /
      select * from (select * from test order by c desc) x where rownum < 30
      minus
      select * from (select * from test order by c desc) y where rownum < 20 order by 3 desc

      相比之 minus性能較差

      數(shù)據(jù)庫基本概念類

      1:pctused and pctfree 表示什么含義有什么作用

      pctused與pctfree控制數(shù)據(jù)塊是否出現(xiàn)在freelist中,

      pctfree控制數(shù)據(jù)塊中保留用于update的空間,當數(shù)據(jù)塊中的free space小于pctfree設置的空間時,

      該數(shù)據(jù)塊從freelist中去掉,當塊由于dml操作free space大于pct_used設置的空間時,該數(shù)據(jù)庫塊將

      被添加在freelist鏈表中。

      2:簡單描述table / segment / extent / block之間的關系

      table創(chuàng)建時,默認創(chuàng)建了一個data segment,

      每個data segment含有min extents指定的extents數(shù),

      每個extent據(jù)據(jù)表空間的存儲參數(shù)分配一定數(shù)量的blocks

      3:描述tablespace和datafile之間的關系

      一個tablespace可以有一個或多個datafile,每個datafile只能在一個tablespace內(nèi),

      table中的數(shù)據(jù),通過hash算法分布在tablespace中的各個datafile中,

      tablespace是邏輯上的概念,datafile則在物理上儲存了數(shù)據(jù)庫的種種對象。

      4:本地管理表空間和字典管理表空間的特點,ASSM有什么特點

      本地管理表空間(Locally Managed Tablespace簡稱LMT)

      8i以后出現(xiàn)的一種新的表空間的管理模式,通過位圖來管理表空間的空間使用。

      字典管理表空間(Dictionary-Managed Tablespace簡稱DMT)

      8i以前包括以后都還可以使用的一種表空間管理模式,通過數(shù)據(jù)字典管理表空間的空間使用。

      動段空間管理(ASSM),

      它首次出現(xiàn)在Oracle920里有了ASSM,鏈接列表freelist被位圖所取代,它是一個二進制的數(shù)組,

      能夠迅速有效地管理存儲擴展和剩余區(qū)塊(free block),因此能夠改善分段存儲本質(zhì),

      ASSM表空間上創(chuàng)建的段還有另外一個稱呼叫Bitmap Managed Segments(BMB 段)。

     

    5:回滾段的作用是什么

      事務回滾:當事務修改表中數(shù)據(jù)的時候,該數(shù)據(jù)修改前的值(即前影像)會存放在回滾段中,

      當用戶回滾事務(ROLLBACK)時,ORACLE將會利用回滾段中的數(shù)據(jù)前影像來將修改的數(shù)據(jù)恢復到原來的值。

      事務恢復:當事務正在處理的時候,例程失敗,回滾段的信息保存在undo表空間中,

      ORACLE將在下次打開數(shù)據(jù)庫時利用回滾來恢復未提交的數(shù)據(jù)。

      讀一致性:當一個會話正在修改數(shù)據(jù)時,其他的會話將看不到該會話未提交的修改。

      當一個語句正在執(zhí)行時,該語句將看不到從該語句開始執(zhí)行后的未提交的修改(語句級讀一致性)

      當ORACLE執(zhí)行SELECT語句時,ORACLE依照當前的系統(tǒng)改變號(SYSTEM CHANGE NUMBER-SCN)

      來保證任何前于當前SCN的未提交的改變不被該語句處理。可以想象:當一個長時間的查詢正在執(zhí)行時,

      若其他會話改變了該查詢要查詢的某個數(shù)據(jù)塊,ORACLE將利用回滾段的數(shù)據(jù)前影像來構造一個讀一致性視圖。

      6:日志的作用是什么

      記錄數(shù)據(jù)庫事務,最大限度地保證數(shù)據(jù)的一致性與安全

      重做日志文件:含對數(shù)據(jù)庫所做的更改記錄,這樣萬一出現(xiàn)故障可以啟用數(shù)據(jù)恢復,一個數(shù)據(jù)庫至少需要兩個重做日志文件

      歸檔日志文件:是重做日志文件的脫機副本,這些副本可能對于從介質(zhì)失敗中進行恢復很必要。

      7:SGA主要有那些部分,主要作用是什么

      SGA:db_cache/shared_pool/large_pool/java_pool
      db_cache:

      數(shù)據(jù)庫緩存(Block Buffer)對于Oracle數(shù)據(jù)庫的運轉和性能起著非常關鍵的作用,

      它占據(jù)Oracle數(shù)據(jù)庫SGA(系統(tǒng)共享內(nèi)存區(qū))的主要部分。Oracle數(shù)據(jù)庫通過使用LRU

      算法,將最近訪問的數(shù)據(jù)塊存放到緩存中,從而優(yōu)化對磁盤數(shù)據(jù)的訪問.

      shared_pool:

      共享池的大小對于Oracle 性能來說都是很重要的。

      共享池中保存數(shù)據(jù)字典高速緩沖和完全解析或編譯的的PL/SQL 塊和SQL 語句及控制結構

      large_pool:

      使用MTS配置時,因為要在SGA中分配UGA來保持用戶的會話,就是用Large_pool來保持這個會話內(nèi)存

      使用RMAN做備份的時候,要使用Large_pool這個內(nèi)存結構來做磁盤I/O緩存器

      java_pool:

      為java procedure預備的內(nèi)存區(qū)域,如果沒有使用java proc,java_pool不是必須的

      8 Oracle系統(tǒng)進程主要有哪些,作用是什么

      數(shù)據(jù)寫進程(dbwr):負責將更改的數(shù)據(jù)從數(shù)據(jù)庫緩沖區(qū)高速緩存寫入數(shù)據(jù)文件
      日志寫進程(lgwr):將重做日志緩沖區(qū)中的更改寫入在線重做日志文件
      系統(tǒng)監(jiān)控(smon) :檢查數(shù)據(jù)庫的一致性如有必要還會在數(shù)據(jù)庫打開時啟動數(shù)據(jù)庫的恢復
      進程監(jiān)控(pmon) :負責在一個Oracle 進程失敗時清理資源
      檢查點進程(chpt):負責在每當緩沖區(qū)高速緩存中的更改永久地記錄在數(shù)據(jù)庫中時,更新控制文件和數(shù)據(jù)文件中的數(shù)據(jù)庫狀態(tài)信息。
      歸檔進程(arcn) :在每次日志切換時把已滿的日志組進行備份或歸檔
      作業(yè)調(diào)度器(cjq) :負責將調(diào)度與執(zhí)行系統(tǒng)中已定義好的job,完成一些預定義的工作.
      恢復進程(reco) :保證分布式事務的一致性,在分布式事務中,要么同時commit,要么同時rollback;

      備份恢復類

      1:備份如何分類

      邏輯備份:exp/imp

      物理備份:

      RMAN備份

      full backup/incremental backup(累積/差異)

      熱備份:alter tablespace begin/end backup;

      冷備份:脫機備份(database shutdown)

      2:歸檔是什么含義

      關于歸檔日志:Oracle要將填滿的在線日志文件組歸檔時,則要建立歸檔日志(archived redo log)。

      其對數(shù)據(jù)庫備份和恢復有下列用處:

      數(shù)據(jù)庫后備以及在線和歸檔日志文件,在操作系統(tǒng)和磁盤故障中可保證全部提交的事物可被恢復。

      在數(shù)據(jù)庫打開和正常系統(tǒng)使用下,如果歸檔日志是永久保存,在線后備可以進行和使用。

      數(shù)據(jù)庫可運行在兩種不垃圾廣告式下:

      NOARCHIVELOG方式或ARCHIVELOG 方式數(shù)據(jù)庫在NOARCHIVELOG方式下使用時,不能進行在線日志的歸檔,如果數(shù)據(jù)庫在ARCHIVELOG方式下運行,可實施在線日志的歸檔。3:如果一個表在2004-08-04 10:30:00 被drop,在有完善的歸檔和備份的情況下,如何恢復?

      手工拷貝回所有備份的數(shù)據(jù)文件

      startup mount;
      sql alter database recover automatic until time '2004-08-04:10:30:00';
      alter database open resetlogs;

     

    4:rman是什么,有何特點?

      RMAN(Recovery Manager)是DBA的一個重要工具,用于備份、還原和恢復oracle數(shù)據(jù)庫, RMAN 可以用來備份和恢復數(shù)據(jù)庫文件、歸檔日志、控制文件、系統(tǒng)參數(shù)文件,也可以用來執(zhí)行完全或不完全的數(shù)據(jù)庫恢復。RMAN有三種不同的用戶接口:

      COMMAND LINE方式、GUI 方式(集成在OEM 中的備份管理器)、API 方式(用于集成到第三方的備份軟件中)。

      具有如下特點:

      1)功能類似物理備份,但比物理備份強大N倍;
      2)可以壓縮空塊;
      3)可以在塊水平上實現(xiàn)增量;
      4)可以把備份的輸出打包成備份集,也可以按固定大小分割備份集;
      5)備份與恢復的過程可以自動管理;
      6)可以使用腳本(存在Recovery catalog 中)
      7)可以做壞塊監(jiān)測

      5:standby的特點

      備用數(shù)據(jù)庫(standby database):ORACLE推出的一種高可用性(HIGH AVAILABLE)數(shù)據(jù)庫方案,

      在主節(jié)點與備用節(jié)點間通過日志同步來保證數(shù)據(jù)的同步,備用節(jié)點作為主節(jié)點的備份

      可以實現(xiàn)快速切換與災難性恢復,從920開始,還開始支持物理與邏輯備用服務器

      9i中的三種數(shù)據(jù)保護模式分別是:

      1)、MAXIMIZE PROTECTION :最大數(shù)據(jù)保護與無數(shù)據(jù)分歧,LGWR將同時傳送到備用節(jié)點,

      在主節(jié)點事務確認之前,備用節(jié)點也必須完全收到日志數(shù)據(jù)。如果網(wǎng)絡不好,引起LGWR不能傳送數(shù)據(jù),將引起嚴重的性能問題,導致主節(jié)點DOWN機。

      2)、MAXIMIZE AVAILABILITY :無數(shù)據(jù)丟失模式,允許數(shù)據(jù)分歧,允許異步傳送。

      正常情況下運行在最大保護模式,在主節(jié)點與備用節(jié)點的網(wǎng)絡斷開或連接不正常時,自動切換到最大性能模式,

      主節(jié)點的操作還是可以繼續(xù)的。在網(wǎng)絡不好的情況下有較大的性能影響。

      3)、MAXIMIZE PERFORMANCE:這種模式應當可以說是從8i繼承過來的備用服務器模式,異步傳送,

      無數(shù)據(jù)同步檢查,可能丟失數(shù)據(jù),但是能獲得主節(jié)點的最大性能。9i在配置DATA GUARD的時候默認就是MAXIMIZE PERFORMANCE

      6:對于一個要求恢復時間比較短的系統(tǒng)(數(shù)據(jù)庫50G,每天歸檔5G),你如何設計備份策略

      rman/每月一號 level 0 每周末/周三 level 1 其它每天level 2

     四:系統(tǒng)管理類

      對于一個存在系統(tǒng)性能的系統(tǒng),說出你的診斷處理思路

      1 做statspack收集系統(tǒng)相關信息

      了解系統(tǒng)大致情況/確定是否存在參數(shù)設置不合適的地方/查看top 5 event/查看top sql等

      2 查v$system_event/v$session_event/v$session_wait

      從v$system_event開始,確定需要什么資源(db file sequential read)等

      深入研究v$session_event,確定等待事件涉及的會話

      從v$session_wait確定詳細的資源爭用情況(p1-p3的值:file_id/block_id/blocks等)

      3 通過v$sql/v$sqltext/v$sqlarea表確定disk_reads、(buffer_gets/executions)值較大的SQL

      2:列舉幾種診斷IO、CPU、性能狀況的方法

      top/vmstat

      statspack

      sql_trace/tkprof

      查v$system_event/v$session_event/v$session_wait

      查v$sqlarea(disk_reads或buffer_gets/executions較大的SQL)

      3:對statspack有何認識

      StapSpack是Oracle公司提供的一個收集數(shù)據(jù)庫運行性能指標的軟件包,該軟件包從8i起,在9i、10g都有顯著的增強 。該軟件包的輔助表(存儲相關參數(shù)與收集的性能指標的表)由最初的25個增長到43個。收集級別參數(shù)由原來的3個(0、5、10)增加到5個(0、5、6、7、10)通過分析收集的性能指標,數(shù)據(jù)庫管理員可以詳細地了解數(shù)據(jù)庫目前的運行情況,對數(shù)據(jù)庫實例、等待事件、SQL等進行優(yōu)化調(diào)整。利用statspack收集的snapshot,可以統(tǒng)計制作數(shù)據(jù)庫的各種性能指標的統(tǒng)計趨勢圖表。

      4:如果系統(tǒng)現(xiàn)在需要在一個很大的表上創(chuàng)建一個索引,你會考慮那些因素,如何做以盡量減小對應用的影響

      在系統(tǒng)比較空閑時;nologging選項(如果有dataguard則不可以使用nologging)大的sort_ared_size或pga_aggregate_target較大

      5:對raid1+0 和raid5有何認識

      RAID 10(或稱RAID 1+0)與RAID 0+1不同,它是用硬盤驅(qū)動器先組成RAID 1陣列,然后在RAID 1陣列之間再組成RAID 0陣列。RAID 10模式同RAID 0+1模式一樣具有良好的數(shù)據(jù)傳輸性能,但卻比RAID 0+1具有更高的可靠性。RAID 10陣列的實際容量為M×n/2,磁盤利用率為50%。RAID 10也需要至少4個硬盤驅(qū)動器構成,因而價格昂貴。 RAID 10的可靠性同RAID 1一樣,但由于RAID 10硬盤驅(qū)動器之間有數(shù)據(jù)分割,因而數(shù)據(jù)傳輸性能優(yōu)良。RAID 5與RAID 3很相似,不同之處在于RAID 5的奇偶校驗信息也同數(shù)據(jù)一樣被分割保存到所有的硬盤驅(qū)動器,而不是寫入一個指定的硬盤驅(qū)動器,從而消除了單個奇偶校驗硬盤驅(qū)動器的瓶頸問題。RAID 5磁盤陣列的性能比RAID 3有所提高,但仍然需要至少3塊硬盤驅(qū)動器。其實際容量為M×(n-1),磁盤利用率為(n-1)/n 。

    posted on 2009-03-04 19:16 小蟲旺福 閱讀(366) 評論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)庫
    主站蜘蛛池模板: 亚洲综合小说另类图片动图| 两个人日本WWW免费版| 曰批全过程免费视频网址| 亚洲人成中文字幕在线观看| 亚欧乱色国产精品免费视频| 亚洲天堂在线视频| 国产在线观看无码免费视频| 亚洲日韩欧洲无码av夜夜摸| 精品一区二区三区免费| 亚洲AV日韩精品久久久久久| 无码国产精品一区二区免费3p| 亚洲精品无码不卡| 国产精品久久久久免费a∨| 亚洲最大无码中文字幕| 无码欧精品亚洲日韩一区夜夜嗨| 无码精品人妻一区二区三区免费| 亚洲男人av香蕉爽爽爽爽| 99re8这里有精品热视频免费| 亚洲精品成人网站在线观看| 中国xxxxx高清免费看视频| 亚洲AV综合色区无码二区爱AV| 免费看大美女大黄大色| 男人免费视频一区二区在线观看| 狠狠综合久久综合88亚洲| 日韩插啊免费视频在线观看| 亚洲va精品中文字幕| 亚洲AV蜜桃永久无码精品| 99久久精品毛片免费播放| 亚洲视频在线观看地址| 全免费a级毛片免费看不卡| sss在线观看免费高清| 亚洲午夜免费视频| 国产美女a做受大片免费| 97在线免费观看视频| 亚洲成a人片在线网站| 免费a级毛片大学生免费观看| 国产真人无码作爱免费视频| 亚洲娇小性xxxx| 亚洲无线码一区二区三区| 欧美a级成人网站免费| av网站免费线看|