數(shù)據(jù)庫程序員面試分模擬題10_第1頁
數(shù)據(jù)庫程序員面試分模擬題10_第2頁
數(shù)據(jù)庫程序員面試分模擬題10_第3頁
數(shù)據(jù)庫程序員面試分模擬題10_第4頁
數(shù)據(jù)庫程序員面試分模擬題10_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

數(shù)據(jù)庫程序員面試分模擬題10簡答題1.

DBMS_OUTPUT提示緩沖區(qū)不夠,怎么增加?正確答案:采用命令“DBMS_OUTPUT.ENABLE(20000);”,另外,如果DBMS_OUTPUT(江南博哥)的信息不能顯示,那么需要設(shè)置SETSERVEROUTPUTON。[考點]系統(tǒng)包

2.

后臺進程、服務(wù)器進程和用戶進程之間的區(qū)別是什么?正確答案:后臺進程、服務(wù)器進程和用戶進程間的關(guān)系如下圖所示。

(1)USERPROCESS(用戶進程)

用戶進程指的是Oracle客戶端進程。例如,常用的Oracle的SQL*Plus就是最常用的客戶端進程。

(2)SERVERPROCESS(服務(wù)器進程)

服務(wù)器進程指的是與客戶端連接的服務(wù)器端的后臺進程。對于每個前臺的用戶進程,后臺都有一個服務(wù)器進程與之對應(yīng)。服務(wù)器主要是通過它和用戶進程進行聯(lián)系、溝通及進行數(shù)據(jù)的交換。

(3)BACKGROUNDPROCESSES(后臺進程)

后臺進程是Oracle的程序,在Oracle實例啟動的時候啟動,用來管理數(shù)據(jù)庫的讀寫、恢復(fù)和監(jiān)視等工作,例如PMON、SMON等進程。后臺進程是Oracle實例的核心。

在UNIX操作系統(tǒng)上,Oracle的后臺進程對應(yīng)于操作系統(tǒng)進程,也就是說,一個Oracle后臺進程將啟動一個操作系統(tǒng)進程;在Windows操作系統(tǒng)上,Oracle的后臺進程對應(yīng)于操作系統(tǒng)線程,打開任務(wù)管理器,只能看到一個ORACLE.EXE的進程,但是通過另外的工具,就可以看到包含在ORACLE.EXE進程中的線程。[考點]后臺進程

3.

Oracle中哪個包可以獲取環(huán)境變量的值?正確答案:可以通過DBMS_SYSTEM.GET_ENV來獲取環(huán)境變量的當前生效值。[考點]系統(tǒng)包

4.

如何查詢SCHEDULERJOB的運行日志?正確答案:可以通過查詢視圖DBA_SCHEDULER_JOB_RUN_DETAILS來獲取SCHEDULERJOB的運行日志、產(chǎn)生的錯誤等信息。代碼如下:

SELECTJRD.LOG_ID,JRD.JOB_NAME,N.JOB_CLASS,

TO_CHAR(JRD.LOG_DATE,'YYYY-MM-DDHH24:MI:SS')LOG_DATE,

JRD.STATUS,JRD.ERROR#,JRD.RUN_DURATION運行時長,JRD.ADDITIONAL_INF.O

FROMDBA_SCHEDULER_JOB_LOGN,DBA_SCHEDULER_JOB_RUN_DETAILSJRD

WHEREN.LOG_ID=JRD.LOG_ID

ANDN.JOB_NAME='JOB_INSERT_SQL_LHR'

--JOB的名稱

ORDERBYJRD.LOG_IDDESC;

從查詢結(jié)果中可以看到,JOB_INSERT_SQL_LHR從2016-11-2913:03:36開始執(zhí)行的時候就報錯了,報錯信息可以從ADDITIONAL_INFO列里找到,其報錯的具體信息如下:

ORA-01658:unabletocreateINITIALextentforsegmentintablespaceTS_LHR

ORA-06512:at"DB_MONITOR.PKG_SQL_HISTORY_LHR",line180

可見,涉及的程序是DB_MONITOR用戶下的PKG_SQL_HISTORY_LHR包,而ORA-01658的錯誤是由于表空間不足引起的。[考點]JOB

5.

如何在AWR中查看每秒執(zhí)行事務(wù)的個數(shù)?正確答案:該題考查的是對AWR報告的熟悉程度。AWR中每秒事務(wù)數(shù)在LoadProfile部分的最后,負載較低的數(shù)據(jù)庫每秒執(zhí)行事務(wù)的個數(shù)可能小于1;而對于一些負載比較大的場景,每秒可能會有50、1000,甚至高達10000的事務(wù),所以,這個只與具體的場景有關(guān)。[考點]ASH/AWR/ADDM

6.

在MySQL中,VARCHAR與CHAR的區(qū)別是什么?VARCHAR(50)中的50代表的含義是什么?正確答案:CHAR是一種固定長度的類型,VARCHAR則是一種可變長度的類型。

CHAR列的長度固定為創(chuàng)建表時聲明的長度。長度可以為0~255的任何值。當保存CHAR值時,在它們的右邊填充空格以達到指定的長度。當檢索到CHAR值時,尾部的空格被刪除掉。在存儲或檢索過程中不進行大小寫轉(zhuǎn)換。

VARCHAR列中的值為可變長字符串。長度可以指定為0~65535之間的值。VARCHAR的最大有效長度由最大行大d,~ll使用的字符集確定。在MySQL4.1之前的版本,VARCHAR(50)的“50”指的是50字節(jié)(Byte)。如果存放UTF8漢字時,那么最多只能存放16個(每個漢字3字節(jié))。從MySQL4.1版本開始,VARCHAR(50)的“50”指的是50字符(Character),無論存放的是數(shù)字、字母還是UTF8漢字(每個漢字3字節(jié)),都可以存放50個。

CHAR和VARCHAR類型聲明的長度表示保存的最大字符數(shù)。例如,CHAR(30)可以占用30個字符。對于MyISAM表,推薦CHAR類型;對于InnoDB表,推薦VARCHAR類型。另外,在進行檢索的時候,若列值的尾部含有空格,則CHAR列會刪除其尾部的空格,而VARCHAR則會保留空格。[考點]數(shù)據(jù)類型

7.

V$SESSION_LONGOPS視圖的作用是什么?正確答案:在Oracle11g之前的版本,長時間運行的SQL可以通過監(jiān)控V$SESSION_LONGOPS來觀察,當某個操作執(zhí)行時間超過6s時,就會被記錄在V$SESSION_LONGOPS中。通??梢员O(jiān)控到全表掃描、全索引掃描、哈希連接、并行查詢等操作。[考點]性能診斷

8.

區(qū)塊鏈技術(shù)和比特幣有什么區(qū)別?正確答案:區(qū)塊鏈技術(shù)是比特幣(比特幣是一種使用P2P技術(shù)的去中心化數(shù)字貨幣)的底層技術(shù),比特幣在沒有任何中心化機構(gòu)運營和管理的情況下,多年運行非常穩(wěn)定,沒有出現(xiàn)過任何問題,所以有人注意到了它的底層技術(shù),把比特幣技術(shù)抽象提取出來,稱之為區(qū)塊鏈技術(shù),或者分布式賬本技術(shù)。區(qū)塊鏈技術(shù)不局限于比特幣,它可以用于創(chuàng)造任何其他加密貨幣,比如以太坊和萊特幣,每種都有它們各自的區(qū)塊鏈。[考點]NewSQL和區(qū)塊鏈

9.

請列舉一次你曾經(jīng)處理過的故障。正確答案:沒有唯一答案,讀者根據(jù)自己的維護經(jīng)驗講解即可,下面給出一個作者曾經(jīng)處理過的故障診斷案例。

1.故障環(huán)境項目sourcedbdb類型RACdbversion.0db存儲ASMOS版本及kernel版本AIX64位2.故障發(fā)生現(xiàn)象及報錯信息有一套數(shù)據(jù)庫做測試的時候,CPU利用率很高,當時抓取了CPU和AWR的信息。發(fā)生問題的時間段是19~23點,其中,nmon數(shù)據(jù)截圖如下圖所示??梢钥吹紺PU的利用率是非常高的,下邊來看看AWR中的數(shù)據(jù)。從等待事件中可以很明顯地看出,“enq:SQ-contention”和“DFSlockhandle”這兩個等待事件異常?!癟op5TimedEvents”部分也是AWR報告中非常重要的部分,從這里可以看出等待事件中排在前五位的是哪些事件,從而基本上就可以判斷出性能瓶頸在什么地方。在這里,“enq:SQ-contention”等待了172254次,等待時間為69652s,平均等待時間為69652/172254s=404ms,等待類別為Configuration即配置上的等待問題。3.有關(guān)序列等待的基礎(chǔ)知識根據(jù)AWR報告的內(nèi)容基本可以斷定,只要解決了“enq:SQ-contention”和“DFSlockhandle”這兩個等待事件即可解決問題。其實,“enq:SQ-contention”“rowcachelock”“DFSlockhandle”和“enq:SV-contention”這4個等待事件都與Oracle的序列有關(guān),如下:SELECT*FROMV$EVENT_NAMEWHERENAMEIN('rowcachelock';'enq:SQ-contention','DFSlockhandle','enq:SV-contention');其中,PAREMETER1的值為“name|mode”或“type|mode”的事件為隊列等待。在這類等待事件中,name代表隊列的名稱,type代表隊列的類型,mode代表隊列的模式。使用如下的SQL可以查詢到鎖的名稱和請求的mode值:SELECTCHR(BITAND(P1,-16777216)/16777215)||CHR(BITAND(P1,16711680)/65535)"LOCK",BITAND(P1,65535)"MODE"FROMV$SESSION_WAITWHEREEVENTIN('enq:SQ-contention','DFSlockhandle','enq:SV-contention');其中,MODE值見下表。模式代碼解釋1NullMode2Sub-Shoe3Sub-Exclusive4Share5Share/Sub-Exclusive6Exclusive使用如下的SQL可以查詢SQ和SV這兩種鎖的解釋:SELECT*FROMV$LOCK_TYPEDWHERED.TYPEIN('SV','SQ');事實上,Oracle為了管理序列使用了如下表所示的三種鎖。鎖rowcachelockSQ鎖(SequenceCache)SV鎖(SequenceOrdering)產(chǎn)生的條件NOCACHECACHE+NOORDER或CACHE+ORDER(單實例)CACHE+ORDER(RAC)擁有的鎖模式6-X(Exclusive)6-X(Exclusive)5-SSX(Share/Sub-Exclusive)表現(xiàn)出的等待事件rowcachelockenq:SQ-contentionOracle10g表現(xiàn)為DFSlockhandle,而Oracle11g中表現(xiàn)為enq:SV-contention簡介在賦予了NOCACHE屬性的序列上,在調(diào)用SEQUNECE.NEXTVAL過程中,將數(shù)據(jù)字典信息進行物理修改時擁有該鎖,等待事件表現(xiàn)為rowcachelock賦予了CACHE屬性的序列調(diào)刖NEXTVAL期間,應(yīng)該以SSX模式獲得SQ鎖。若許多會話同時為了獲取SQ鎖而發(fā)生爭用,則等待enq:SQ-contention事件在RAC上節(jié)點之間順序得到保障的情況下,調(diào)用SEQUENCE.NEXTVAL期間擁有該鎖。在RAC環(huán)境中,賦予CACHE+ORDER屬性的序列上發(fā)生,在Oracle10g表現(xiàn)為DFSlockhandle,而在Oracle11g中表現(xiàn)為enq:SV-contention。解決辦法:盡量設(shè)置為NOORDER并增大其CACHE值參數(shù)含義P1代表V$ROWCACHE中的CACHE#P1可以查詢到鎖的名稱和請求的MODE值。P2值是序列的OBJECT_ID。因此,若利用P2值與DBA_OBJECTS的結(jié)合,就可以知道對哪個序列發(fā)生了等待現(xiàn)象P1可以查詢到鎖的名稱和請求的MODE值解決辦法盡量設(shè)置為NOORDER屬性并增大其CACHE值,一般情況下可以增大到1000

在RAC上創(chuàng)建序列時,在賦予了CACHE屬性的狀態(tài)下,若沒有賦予ORDER屬性,則各節(jié)點將會把不同范圍的序列值CACHE到內(nèi)存上。比如,在擁有兩個節(jié)點的RAC環(huán)境下,創(chuàng)建CACHE值為100的序列,則節(jié)點1使用1~100,節(jié)點2使用101~200。若兩個節(jié)點之間都通過遞增方式使用序列,則必須賦予ORDER屬性。Oracle序列默認是NOORDER,如果設(shè)置為ORDER,那么在單實例環(huán)境沒有影響,在RAC環(huán)境中,多實例實際緩存相同的序列,此時在多個實例并發(fā)取該序列的時候,會有短暫的資源競爭來在多實例之間進行同步。因此,性能相比NOORDER要差,所以RAC環(huán)境非必須的情況下不要使用ORDER,尤其要避免NOCACHEORDER組合。

有一點必須要注意,當沒有賦予CACHE屬性時,不管ORDER屬性使用與否或RAC環(huán)境與否,一直等待rowcachelock事件。rowcachelock是可以在全局范圍內(nèi)使用的鎖,單實例環(huán)境或多實例環(huán)境同樣可以發(fā)生。如果使用了CACHE,而此時DB崩潰了,那么序列會從CACHE值之后重新開始,在CACHE中沒有使用的序列會被跳過,這樣就會導(dǎo)致序列不連續(xù)。在創(chuàng)建序列時,CACHE的默認值設(shè)定為較小的20。因此創(chuàng)建并發(fā)量多的序列時,CACHE值應(yīng)該取1000以上的較大值。

另外,若一次性同時創(chuàng)建許多會話時,有時會發(fā)生enq:SQ-contention等待事件。其原因是V$SESSION.AUDSID列值是利用序列創(chuàng)建的。Oracle在創(chuàng)建新的會話后,利用名為SYS.AUDSES$的序列的NEXTVAL來創(chuàng)建AUDSID值。在Oracle10g下SYS.AUDSES$的CACHE值默認為20,但在Oracle11g下SYS.AUDSES$的CACHE值默認為10000,通過如下的SQL可以查詢:

SELECT*FROMDBA_SEQUENCESDWHERED.SEQUENCE_NAME='AUDSES$';

4.故障解決過程

首先查洵出現(xiàn)問題時間段的ASH視圖DBA_HIST_ACTIVE_SESS_HISTORY,通過該視圖可以找到需要的序列名稱??梢杂卸喾N查詢方法:

SELECTD.SQL_ID,COUNT(1)FROMDBA_HISL_ACTIVE_SESS_HISTORYD

WHERED.SAMPLE_TIMEBETWEENTO_DATE('20160823170000','YYYYMMDDHH24MISS')AND

TO_DATE('20160823230000','YYYYMMDDHH24MISS')

ANDD.EVENT=enq:SQ-contention'GROUPBYD.SQL_ID;

可以看到SQL_ID為3jhvjgj7kbpmt的SQL最多,查看具體SQL內(nèi)容:

SELECT*FROMV$SQLAWHEREA.SQL_IDIN('3jhvjgj7kbpmt');

由此可以知道,產(chǎn)生等待的序列名稱為ONLNID,另外,也可以從DBA_HIST_ACTIVE_SESS_HISTORY視圖的P2值獲取到序列的名稱,SQL語句如下:

SELECTD.EVENT,D.P1TEXLD.P1,D.P2TEXLD.P2,

CHR(BITAND(P1,-16777216)/16777215)||

CHR(BITAND(P1,16711680)/65535)"Lock",

BITAND(P1,65535)"Mode",D.BLOCKlNG_SESSION,D.BLOCKING_SESSION_STATUS,D.BLOCKING_SESSION_SERIAL#,

D.SQL_ID,TO_CHAR(D.SAMPLE_TIME,'YYYYMMDDHH24MISS')SAMPLE_TIME,D.*

FROMDBA_HIST_ACTIVE_SESS_HISTORYD

WHERED.SAMPLE_TIMEBETWEENTO_DATE('20160823170000','YYYYMMDDHH24MISS')AND

TO_DATE('20160823230000','YYYYMMDDHH24MISS')

ANDD.EVENT='enq:SQ-contention';

由以上的查詢結(jié)果可知,序列的OBJECT_ID為47989,通過DBA_OBJECTS就可以查詢到序列的名稱了。另外,LOCK為SQ代表的是序列的CACHE鎖(SEQUENCECACHE),MODE為6代表EXCLUSIVE排它鎖。

SELECT*FROMDBA_OBJECTSDWHERED.object_id='47989';

知道了序列名稱后,通過DBA_SEQUENCES視圖就可以查詢到序列的屬性了:

SELECT*FROMDBA_SEQUENCESDWHERED.sequence_name='ONLNID';

可以看到,該序列是NOORDER屬性,CACHE值為默認的20,對于并發(fā)值很高的系統(tǒng)而言,該默認值太低,所以需要調(diào)整到1000。可以執(zhí)行SQL語句“ALTERSEQUENCEONLNlDCACHE1000;”調(diào)整其CACHE值即可解決該問題。[考點]等待事件

10.

SQLServer提供的3種恢復(fù)模型都是什么?有什么區(qū)別?正確答案:SQLServet提供了3種恢復(fù)模型,分別是:

1)簡單恢復(fù),允許將數(shù)據(jù)庫恢復(fù)到最新的備份。

2)完全恢復(fù),允許將數(shù)據(jù)庫恢復(fù)到故障點狀態(tài)。

3)大容量日志記錄恢復(fù),允許大容量日志記錄操作。

這些模型都是針對不同的性能、磁盤和磁帶空間以及保護數(shù)據(jù)丟失的需要。例如,當選擇恢復(fù)模型時,必須考慮下列業(yè)務(wù)要求之間的權(quán)衡:

1)大規(guī)模操作的性能(如創(chuàng)建索引或大容量裝載)。

2)數(shù)據(jù)丟失表現(xiàn)(如已提交的事務(wù)丟失)。

3)事務(wù)日志空間損耗。

4)備份和恢復(fù)過程的簡化。

根據(jù)正在執(zhí)行的操作,可以有多個適合的模型。選擇了恢復(fù)模型后,設(shè)計所需的備份和恢復(fù)過程。下表提供了三種恢復(fù)模型的優(yōu)點和含義的概述。恢復(fù)模型優(yōu)點工作損失表現(xiàn)能否恢復(fù)到即時點?簡單恢復(fù)1)允許高性能大容量復(fù)制操作2)收回日志空間以使空間要求最小必須重做自最新的數(shù)據(jù)庫或差異備份后所發(fā)生的更改可以恢復(fù)到任何備份的結(jié)尾處,隨后必須重做更改完全恢復(fù)1)數(shù)據(jù)文件丟失或損壞不會導(dǎo)致工作損失2)可以恢復(fù)到任意即時點(例如,應(yīng)用程序或用戶錯誤之前)1)正常情況下沒有2)如果日志損壞,那么必須重做自最新的目志備份后所發(fā)生的更改可以恢復(fù)到任何即時點大容量日志記錄恢復(fù)允許高性能大容量復(fù)制操作。大容量操作使用最少的日志空間如果日志損壞,或者自最新的日志備份后發(fā)生了大容量操作,那么必須重做自上次備份后所做的更改,否則不丟失任何工作可以恢復(fù)到任何備份的結(jié)尾處,隨后必須重做更改

簡單恢復(fù)所需的管理最少。在簡單恢復(fù)模型中,數(shù)據(jù)只能恢復(fù)到最新的完整數(shù)據(jù)庫備份或差異備份的狀態(tài)。不使用事務(wù)日志備份,而使用最小事務(wù)日志空間。一旦不再需要日志空間從服務(wù)器故障中恢復(fù),日志空間便可重新使用。與完整模型或大容量日志記錄模型相比,簡單恢復(fù)模型更容易管理,但如果數(shù)據(jù)文件損壞,那么數(shù)據(jù)損失表現(xiàn)會更高。

完全恢復(fù)和大容量日志記錄恢復(fù)模型為數(shù)據(jù)提供了最大的保護性。這些模型依靠事務(wù)日志提供完全的可恢復(fù)性,并防止最大范圍的故障情形所造成的工作損失。完全恢復(fù)模型提供最大的靈活性,可將數(shù)據(jù)庫恢復(fù)到更早的即時點。

大容量日志記錄模型為某些大規(guī)模操作(如創(chuàng)建索引或大容量復(fù)制)提供了更高的性能和更低的日志空間損耗,不過這將犧牲時間點恢復(fù)的某些靈活性。很多數(shù)據(jù)庫都要經(jīng)歷大容量裝載或索引創(chuàng)建的階段,因此可能希望在大容量日志記錄模型和完全恢復(fù)模型之間進行切換。[考點]備份恢復(fù)

11.

什么是細粒度審計?正確答案:從Oracle9i開始,引入了細粒度的對象審計,使得審計變得更為關(guān)注某個方面,并且更為精確。細粒度的審計可以在訪問某些行和列時審計對表的訪問,從而極大地減少審計表的記錄數(shù)量。使用標準的審計,可以發(fā)現(xiàn)訪問了哪些對象,以及由誰訪問,但是無法知道訪問了哪些行或列。細粒度審計被稱為FGA(Fine-GrainedAudit),由DBMS_FGA的PL/SQL程序來實現(xiàn)。[考點]審計

12.

數(shù)據(jù)表損壞的修復(fù)方式有哪些?正確答案:可以使用myisamchk來修復(fù),具體步驟如下:

1)修復(fù)前將mysqld服務(wù)停止。

2)打開命令行方式,然后進入mysql的/bin目錄。

3)執(zhí)行myisamchk-recover數(shù)據(jù)庫所在路徑/*.MYI。

使用repairtable或者OPTIMIZEtable命令來修復(fù),REPAIRTABLEtable_name修復(fù)表,OPTIMIZETABLEtable_name優(yōu)化表,REPAIRTABLE用于修復(fù)被破壞的表。

OPTIMIZETABLE用于回收閑置的數(shù)據(jù)庫空間,當表上的數(shù)據(jù)行被刪除時,所占據(jù)的磁盤空間并沒有立即被回收,使用了OPTIMIZETABLE命令后這些空間將被回收,并且對磁盤上的數(shù)據(jù)行進行重排(注意:是磁盤上,而非數(shù)據(jù)庫)。[考點]備份恢復(fù)

13.

你們公司的數(shù)據(jù)庫有多大?大一點的表有多大?有多少行?正確答案:對于數(shù)據(jù)庫的大小,需要注意的問題是數(shù)據(jù)庫的大小不能以表空間的分配大小而論,而應(yīng)該以表空間的占用空間大小而論,并且需要減掉SYSTEM、SYSAUX、TEMP和Undo這些表空間占用的空間。因為有的系統(tǒng)Undo空間可能分配得很大,比如500GB,所以,計算數(shù)據(jù)庫大小的時候應(yīng)該排除這些表空間。

對于表空間大小,若有如下的結(jié)果:

可以說數(shù)據(jù)庫大約有(2205-751-629-14-2)MB=809MB,而并非是2.2GB。

至于大一點的表有多大?有多少行?這個問題考查DBA對自己庫的熟悉程度,通過下面的SQL語句可以查詢一個表的大?。?/p>

可以看到最大的表是LKILL用戶下的T_KILL表,大約7GB,約有4400W條的數(shù)據(jù)量,讀者應(yīng)該以自己實際管理的庫為準。[考點]性能診斷

14.

什么是字符設(shè)備、塊設(shè)備和裸設(shè)備?正確答案:字符設(shè)備:對字符設(shè)備的讀寫不需要通過OS的緩沖區(qū)(Buffer),它不可被文件系統(tǒng)MOUNT。字符特殊文件與外設(shè)進行I/O操作時每次只傳輸一個字符,通常不支持隨機存取數(shù)據(jù)。

塊設(shè)備:對塊設(shè)備的讀寫需要通過OS的緩沖區(qū)(Buffer),它可以被MOUNT到文件系統(tǒng)中。塊設(shè)備文件用來同外設(shè)進行定長的包傳輸,它使用了Cache機制,在外設(shè)和內(nèi)存之間一次可以傳送一整塊數(shù)據(jù)。塊設(shè)備通常支持隨機存取和尋址,并使用緩存器。

裸設(shè)備:也叫裸分區(qū)(原始分區(qū)),是一種沒有經(jīng)過格式化,不被Unix/Linux通過文件系統(tǒng)來讀取的特殊字符設(shè)備。裸設(shè)備可以綁定一個分區(qū),也可以綁定一個磁盤。裸設(shè)備使用字符特殊文件,它由應(yīng)用程序負責(zé)對它進行讀寫操作,不經(jīng)過文件系統(tǒng)的緩沖。[考點]裸設(shè)備(RAW)

15.

進程MMAN、MMNL和MMON這3個進程的作用分別是什么?正確答案:從如下的輸出結(jié)果可以看到,每個ASM實例或數(shù)據(jù)庫實例都有這3個進程:

其中:

1)MMAN(MemoryManagerProcess,內(nèi)存管理進程)進程會隨著時間推移,根據(jù)系統(tǒng)負載的變化和內(nèi)存需要,自動調(diào)整SGA中各個組件的內(nèi)存大小。

2)MMON(ManageabilityMonitorProcess,可管理性監(jiān)視器進程)和它的slave進程(Mnnn)主要用來維護AWR信息和各種與可管理性相關(guān)的后臺任務(wù),具體包括:①啟動slave進程Mnnn去做AWR快照。若MMON進程HANG住,則AWR不可用。②當某個測量值(Metrics)超過了其度量閥值(ThresholdValue)時發(fā)出alert告警。③為最近改變過的SQL對象捕獲指標信息。

3)MMNL(ManageabilityMonitorLiteProcess)將SGA中的ASH(ActiveSessionHistory)Buffer中的統(tǒng)計資料寫到磁盤。當ASHBuffer滿的時候MMNL會把它寫到磁盤上。[考點]后臺進程

16.

OGG的告警日志文件的位置在哪里?正確答案:OGG的告警日志文件為$OGG_HOME/ggserr.log,如下:

[考點]OGG

17.

設(shè)有如下關(guān)系表:

供應(yīng)者:SUPPLIER(SNO,SNAME,CITY),其中,SNO為供應(yīng)者編號,SNAME為供應(yīng)者姓名,CITY為所在城市。

零件:PART(PNO,PNAME,WEIGHT),其中,PNO為零件號,PNAME為零件名稱,WEIGHT為重量。

工程:JOB(JNO,JNAME,CITY),其中,JNO為工程號,JNAME為工程名,CITY為所在城市。

聯(lián)系關(guān)系:SPJ(SNO,PNO,JNO,QTY),其中,QTY為數(shù)量。

1)查找給工程J1提供零件P1的供應(yīng)者號SNO。

2)查找在北京的供應(yīng)者給武漢的工程提供零件的零件號。

3)查找由供應(yīng)者S1提供的零件名PNAME。

4)查找CITY值為上海的工程號和名稱。

5)將工程J3的城市改為廣州。

6)將所有重20公斤的零件改為重10公斤。

7)將給工程J1提供零件P1的供應(yīng)者S1改為S2。

8)將值(S3,麥苗,上海)加到SUPPLIER中。

9)刪除所有上海工程的數(shù)據(jù)。正確答案:1)SELECTSNOFROMSPJ,PART,JOBWHERESPJ.PNO=PART.PNOANDSPJ.JNO=JOB.JNOANDPART.PNAME='P1'ANDJOB.JNAME='J1';

2)SELECTPNOFROMSPJ,PART,JOBWHERESPJ.PNO=PART.PNOANDSPJ.JNO=JOB.JNOANDJOB.CITY='武漢'ANDSUPPLIER.CITY='北京';

3)SELECTPNAMEFROMPARTWHEREPNOIN(SELECTPNOFROMSPJ,SUPPLIERWHERESPJ.SNO=SUPPLIER.SNOANDSUPPLIER.SNAME='S1');

4)SELECTJNO,JNAMEFROMJOBWHERECITY='上海';

5)UPDATEJOBSETCITY='廣州'WHEREJNAME='J3';

6)UPDATEPARTSETWEIGHT='10公斤'WHEREWEIGHT='20公斤';

7)UPDATESUPPLIERSETSNAME='S2'WHERESNAME='S1'ANDSNOIN

(SELECTSNOFROMSPJ,JOB,PARTWHERESPJ.JNO=JOB.JNOANDJOB.JNAME='J1'ANDSPJ.PNO=PART.PNOANDPART.PNAME='P1');

8)INSERTINTOSUPPLIERVALUES(;S3','麥苗','上海');

9)DELETEFROMSPJWHEREJNOIN(SELECTJNOFROMJOBWHERECITY='上海');

DELETEFROMJOBWHERECIT

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論