一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看

阿里巴巴DBA筆試題

時(shí)間:2023-02-15 10:07:16 筆試題目 我要投稿
  • 相關(guān)推薦

阿里巴巴2010年DBA筆試題

  阿里巴巴公司2010年DBA筆試題

阿里巴巴2010年DBA筆試題

  筆試, DBA, 阿里巴巴

  注:以下題目,可根據自己情況挑選題目作答,不必全部作答.您也可以就相關(guān)問(wèn)題直接找負責面試人員面述而不筆答

  一. SQL tuning 類(lèi)

  1:列舉幾種表連接方式

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

  復制代碼

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

  set autot on

  explain plan set statement_id = item_id for &sql;

  select * from table(dbms_xplan.display);

  或者:

  SQL>EXPLAIN PLAN FOR SELECT * FROM EMP;

  SQL>SELECT plan_table_output FROM TABLE(DBMS_XPLAN.DISPLAY('PLAN_TABLE'));

  復制代碼

  3:如何使用CBO,CBO與RULE的區別

  Rule Based Optimizer(RBO):基于規則

  Cost Based Optimizer (CBO):基于成本,或者講統計信息。

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

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

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

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

  復制代碼

  5:如何跟蹤某個(gè)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調整最關(guān)注的是什么

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

  復制代碼

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

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

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

  索引就是為了提高查詢(xún)性能而存在的, 如果在查詢(xún)中索引沒(méi)有提高性能, 只能說(shuō)是用錯了索引,或者講是場(chǎng)合不同

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

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

  10:如何穩定(固定)執行計劃

  query_rewrite_enabled = true

  star_transformation_enabled = true

  optimizer_features_enable = 9.2.0

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

  復制代碼

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

  8i中sort_area_size/sort_area_retained_size決定了排序所需要的內存.如果排序操作不能在sort_area_size中完成,就會(huì )用到temp表空間

  9i中如果workarea_size_policy=auto時(shí),排序在pga內進(jìn)行,通常pga_aggregate_target的1/20可以用來(lái)進(jìn)行disk sort;如果workarea_size_policy=manual時(shí),排序需要的內存由sort_area_size決定.在執行order by/group by/distinct/union/create index/index rebuild/minus等操作時(shí),如果在pga或sort_area_size中不能完成,排序將在臨時(shí)表空間進(jìn)行(disk sort),

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

  12:存在表T(a,b,c,d),要根據字段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性能較差

  復制代碼

  二. 數據庫基本概念類(lèi)

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

  pctused與pctfree控制數據塊是否出現在freelist中,pctfree控制數據塊中保留用于update的空間,當數據塊中的free space小于pctfree設置的空間時(shí),該數據塊從freelist中去掉,當塊由于dml操作free space大于pct_used設置的空間時(shí),該數據庫塊將添加在freelist鏈表中。

  2:簡(jiǎn)單描述table / segment / extent / block之間的關(guān)系

  table創(chuàng )建時(shí),默認創(chuàng )建了一個(gè)data segment,每個(gè)data segment含有min extents指定的extents數,每個(gè)extent據據表空間的存儲參數分配一定數量的blocks

  3:描述tablespace和datafile之間的關(guān)系

  一個(gè)tablespace可以有一個(gè)或多個(gè)datafile,每個(gè)datafile只能在一個(gè)tablespace內,table中的數據,通過(guò)hash算法分布在tablespace中的各個(gè)datafile中,tablespace是邏輯上的概念,datafile則在物理上儲存了數據庫的種種對象。

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

  本地管理表空間(Locally Managed Tablespace簡(jiǎn)稱(chēng)LMT):8i以后出現的一種新的表空間的管理模式,通過(guò)位圖來(lái)管理表空間的空間使用。

  字典管理表空間(Dictionary-Managed Tablespace簡(jiǎn)稱(chēng)DMT):8i以前包括以后都還可以使用的一種表空間管理模式,通過(guò)數據字典管理表空間的空間使用。

  動(dòng)段空間管理(ASSM):它首次出現在Oracle920里有了ASSM,鏈接列表freelist被位圖所取代,它是一個(gè)二進(jìn)制的數組,能夠迅速有效地管理存儲擴展和剩余區塊(free block),因此能夠改善分段存儲本質(zhì),ASSM表空間上創(chuàng )建的段還有另外一個(gè)稱(chēng)呼叫Bitmap Managed Segments(BMB 段)。

  5:回滾段的作用是什么

  事務(wù)回滾:當事務(wù)修改表中數據的時(shí)候,該數據修改前的值(即前影像)會(huì )存放在回滾段中,當用戶(hù)回滾事務(wù)(ROLLBACK)時(shí),ORACLE將會(huì )利用回滾段中的數據前影像來(lái)將修改的數據恢復到原來(lái)的值。

  事務(wù)恢復:當事務(wù)正在處理的時(shí)候,例程失敗,回滾段的信息保存在undo表空間中,ORACLE將在下次打開(kāi)數據庫時(shí)利用回滾來(lái)恢復未提交的數據。

  讀一致性:當一個(gè)會(huì )話(huà)正在修改數據時(shí),其他的會(huì )話(huà)將看不到該會(huì )話(huà)未提交的修改。當一個(gè)語(yǔ)句正在執行時(shí),該語(yǔ)句將看不到從該語(yǔ)句開(kāi)始執行后的未提交的修改(語(yǔ)句級讀一致性).當ORACLE執行SELECT語(yǔ)句時(shí),ORACLE依照當前的系統改變號(SYSTEM CHANGE NUMBER-SCN)來(lái)保證任何前于當前SCN的未提交的改變不被該語(yǔ)句處理?梢韵胂螅寒斠粋(gè)長(cháng)時(shí)間的查詢(xún)正在執行時(shí),若其他會(huì )話(huà)改變了該查詢(xún)要查詢(xún)的某個(gè)數據塊,ORACLE將利用回滾段的數據前影像來(lái)構造一個(gè)讀一致性視圖。

  6:日志的作用是什么

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

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

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

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

  SGA:db_cache/shared_pool/large_pool/java_pool

  db_cache: 數據庫緩存(Block Buffer)對于Oracle數據庫的運轉和性能起著(zhù)非常關(guān)鍵的作用,它占據Oracle數據庫SGA(系統共享內存區)的主要部分。Oracle數據庫通過(guò)使用LRU算法,將最近訪(fǎng)問(wèn)的數據塊存放到緩存中,從而優(yōu)化對磁盤(pán)數據的訪(fǎng)問(wèn).

  shared_pool:共享池的大小對于Oracle 性能來(lái)說(shuō)都是很重要的。共享池中保存數據字典高速緩沖和完全解析或編譯的的PL/SQL 塊和SQL 語(yǔ)句及控制結構

  large_pool:使用MTS配置時(shí),因為要在SGA中分配UGA來(lái)保持用戶(hù)的會(huì )話(huà),就是用Large_pool來(lái)保持這個(gè)會(huì )話(huà)內存使用RMAN做備份的時(shí)候,要使用Large_pool這個(gè)內存結構來(lái)做磁盤(pán)I/O緩存器

  java_pool: 為java procedure預備的內存區域,如果沒(méi)有使用java proc,java_pool不是必須的

  8. Oracle系統進(jìn)程主要有哪些,作用是什么

  數據寫(xiě)進(jìn)程(dbwr):負責將更改的數據從數據庫緩沖區高速緩存寫(xiě)入數據文件

  日志寫(xiě)進(jìn)程(lgwr):將重做日志緩沖區中的更改寫(xiě)入在線(xiàn)重做日志文件

  系統監控(smon) :檢查數據庫的一致性如有必要還會(huì )在數據庫打開(kāi)時(shí)啟動(dòng)數據庫的恢復

  進(jìn)程監控(pmon) :負責在一個(gè)Oracle 進(jìn)程失敗時(shí)清理資源

  檢查點(diǎn)進(jìn)程(chpt):負責在每當緩沖區高速緩存中的更改永久地記錄在數據庫中時(shí),更新控制文件和數據文件中的數據庫狀態(tài)信息。

  歸檔進(jìn)程(arcn) :在每次日志切換時(shí)把已滿(mǎn)的日志組進(jìn)行備份或歸檔

  作業(yè)調度器(cjq) : 負責將調度與執行系統中已定義好的job,完成一些預定義的工作.

  恢復進(jìn)程(reco) : 保證分布式事務(wù)的一致性,在分布式事務(wù)中,要么同時(shí)commit,要么同時(shí)rollback;

  三. 備份恢復類(lèi)

  1:備份如何分類(lèi)

  邏輯備份:exp/imp

  物理備份:

  1). RMAN備份: full backup/incremental backup(累積/差異)

  2). 熱備份: alter tablespace begin/end backup;

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

  2:歸檔是什么含義

  關(guān)于歸檔日志:Oracle要將填滿(mǎn)的在線(xiàn)日志文件組歸檔時(shí),則要建立歸檔日志(archived redo log)。

  其對數據庫備份和恢復有下列用處:數據庫后備以及在線(xiàn)和歸檔日志文件,在操作系統和磁盤(pán)故障中可保證全部提交的事物可被恢復。在數據庫打開(kāi)和正常系統使用下,如果歸檔日志是永久保存,在線(xiàn)后備可以進(jìn)行和使用。

  數據庫可運行在兩種不同方式下:NOARCHIVELOG方式或ARCHIVELOG方式. 數據庫在NOARCHIVELOG方式下使用時(shí),不能進(jìn)行在線(xiàn)日志的歸檔,如果數據庫在A(yíng)RCHIVELOG方式下運行,可實(shí)施在線(xiàn)日志的歸檔。

  3:如果一個(gè)表在2004-08-04 10:30:00 被drop,在有完善的歸檔和備份的情況下,如何恢復?

  手工拷貝回所有備份的數據文件

  startup mount;

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

  alter database open resetlogs;

  復制代碼

  4:rman是什么,有何特點(diǎn)?

  RMAN(Recovery Manager)是DBA的一個(gè)重要工具,用于備份、還原和恢復oracle數據庫, RMAN 可以用來(lái)備份和恢復數據庫文件、歸檔日志、控制文件、系統參數文件,也可以用來(lái)執行完全或不完全的數據庫恢復。

  RMAN有三種不同的用戶(hù)接口:COMMAND LINE方式、GUI 方式(集成在OEM 中的備份管理器)、API 方式(用于集成到第三方的備份軟件中)。

  具有如下特點(diǎn):

  1)功能類(lèi)似物理備份,但比物理備份強大N倍;

  2)可以壓縮空塊;

  3)可以在塊水平上實(shí)現增量;

  4)可以把備份的輸出打包成備份集,也可以按固定大小分割備份集;

  5)備份與恢復的過(guò)程可以自動(dòng)管理;

  6)可以使用腳本(存在Recovery catalog 中)

  7)可以做壞塊監測

  5:standby的特點(diǎn)

  備用數據庫(standby database):ORACLE推出的一種高可用性(HIGH AVAILABLE)數據庫方案,在主節點(diǎn)與備用節點(diǎn)間通過(guò)日志同步來(lái)保證數據的同步,備用節點(diǎn)作為主節點(diǎn)的備份.可以實(shí)現快速切換與災難性恢復,從920開(kāi)始,還開(kāi)始支持物理與邏輯備用服務(wù)器。

  9i中的三種數據保護模式分別是:

  1)、MAXIMIZE PROTECTION :最大數據保護與無(wú)數據分歧,LGWR將同時(shí)傳送到備用節點(diǎn),在主節點(diǎn)事務(wù)確認之前,備用節點(diǎn)也必須完全收到日志數據。如果網(wǎng)絡(luò )不好,引起LGWR不能傳送數據,將引起嚴重的性能問(wèn)題,導致主節點(diǎn)DOWN機。

  2)、MAXIMIZE AVAILABILITY :無(wú)數據丟失模式,允許數據分歧,允許異步傳送。正常情況下運行在最大保護模式,在主節點(diǎn)與備用節點(diǎn)的網(wǎng)絡(luò )斷開(kāi)或連接不正常時(shí),自動(dòng)切換到最大性能模式,主節點(diǎn)的操作還是可以繼續的。在網(wǎng)絡(luò )不好的情況下有較大的性能影響。

  3)、MAXIMIZE PERFORMANCE:這種模式應當可以說(shuō)是從8i繼承過(guò)來(lái)的備用服務(wù)器模式,異步傳送,無(wú)數據同步檢查,可能丟失數據,但是能獲得主節點(diǎn)的最大性能。9i在配置DATA GUARD的時(shí)候默認就是MAXIMIZE PERFORMANCE

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

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

  四:系統管理類(lèi)

  1.對于一個(gè)存在系統性能的系統,說(shuō)出你的診斷處理思路

  1) 做statspack收集系統相關(guān)信息

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

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

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

  深入研究v$session_event,確定等待事件涉及的會(huì )話(huà)

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

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

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

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

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

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

  五:綜合隨意類(lèi)

  1:你最擅長(cháng)的是oracle哪部分?

  2:喜歡oracle嗎?喜歡上論壇嗎?或者偏好oracle的哪一部分?

  3:隨意說(shuō)說(shuō)你覺(jué)得oracle最有意思的部分或者最困難的部分

  4:為何要選擇做DBA呢?

【阿里巴巴DBA筆試題】相關(guān)文章:

阿里巴巴公司DBA筆試題07-31

阿里巴巴非技術(shù)類(lèi)筆經(jīng)及試題08-13

阿里巴巴筆試題08-10

阿里巴巴筆試題07-17

阿里巴巴筆試題201508-01

阿里巴巴校招筆試題,試題分享08-10

2015年阿里巴巴筆試題08-05

2013阿里巴巴筆試試題09-23

迅雷2011.10.21筆試題08-10

一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看