華為面試題(附答案)Oracle_第1頁
華為面試題(附答案)Oracle_第2頁
華為面試題(附答案)Oracle_第3頁
華為面試題(附答案)Oracle_第4頁
華為面試題(附答案)Oracle_第5頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、一、技術問題部分(數據庫部分)1、 表空間的管理方式有哪幾種?數據字典管理方式本地文件管理方式2、 談談你對索引的理解?索引是若干數據行的關鍵字的列表,查詢數據時,通過索引中的關鍵字可以快速定位到要訪問的記錄所在的數據塊,從而大大減少讀取數據塊的I/O次數,因此可以顯著提高性能。3、 說說索引的組成?索引列、rowid4、 分區表用過么?談談分區表的應用?分區表在對表的DML的并行處理上有極大得優勢,而且可以一部分設為只讀,用在銷售記錄,醫院處方等地方!5、 你對分區表的理解?怎樣截斷分區表一個分區的記錄?一個分區表有一個或多個分區,每個分區通過使用范圍分區、散列分區、或組合分區分區的行分區表

2、中的每一個分區為一個段,可各自位于不同的表空間中對于同時能夠使用幾個進程進行查詢或操作的大型表分區非常有用altertabletable_nametruncatepartitionpartition_name;6、 物理文作有哪幾種?控制文件包含了什么看息?1) 數據文件2)控制文件3)日志文件包含維護和驗證有選舉權據庫完整性的必要信息、例如,控制文件用于識別數據文件和重做日志文件,一個有選舉權據庫至少需要一個控制文件7、 表空間用完了如何增加?三種種擴展方式:1 增加數據文件altertablespacenameadddatafile,路徑?size4M;2 擴展數據文件大小alterdat

3、abasedatafile,路徑?resize4M;3 把數據文件設為自動增長alterdatabasedatafile,路徑?autoextendonnext1Mmaxsize20M;8、 SGA包含幾部分?Sharedpool(共享池),DataBaseBufferCache(數據緩沖區)RedoLogBuffer(重做日志緩沖區),LargePool,大池,JAVA池。9、 DECODE函數的用法?DECODE的語法:DECODE(value,if1,then1,if2,then2,if3,then3,.,else),表示如果value等于if1時,DECODE函數的結果返回then1,

4、.,如果不等于任何一個if值,則返回else。初看一下,DECODE只能做等于測試,但剛才也看到了,我們通過一些函數或計算替代value,是可以使DECODE函數具備大于、小于或等于功能。還可以轉化表結構!10、DELETE和TRUNCATE的區另1?答:1、TRUNCATE在各種表上無論是大的還是小的都非常快。如果有ROLLBACK命令DELETE將被撤銷,而TRUNCATE貝U不會被撤銷。2、TRUNCATE是一個DDL語言,向其他所有的DDL語言一樣,他將被隱式提交,不能對TRUNCATE使用ROLLBACK命令。3、TRUNCATE將重新設置高水平線和所有的索引。在對整個表和索引進行完

5、全瀏覽時,經過TRUNCATE操作后的表比DELETE操作后的表要快得多。4、TRUNCATE不能觸發任何DELETE觸發器。5、不能授予任何人清空他人的表的權限。6、當表被清空后表和表的索引講重新設置成初始大小,而delete則不能。7、不能清空父表。11、 談談你對事務的理解?ORACLE事務從COMMIT、ROLLBACK、連接到數據庫或開始第一條可執行的SQL語何時開始,到一條COMMIT、ROLLBACK語句或退出數據庫時結束。如果在一個事務中包含DDL語句,則在DDL語句的前后都會隱含地執行COMMIT語句,從而開始或結束一個事務。如果一個事務由于某些故障或者由于用戶改變主意而必須

6、在提交前取消它,則數據庫被恢復到這些語句和過程執行之前的狀0利用ROLLBACK語句可以在COMMIT命令前隨時撤消或回退一個事務。可以回退整個事務,也可以會退部分事務,但是不能回退一個已經被提交的事務。回退部分事務的ROLLBACK命令為:ROLLBACKtosavepoint存儲點名存儲點是用戶放入事務中的標記,用來表示一個可被回退的位置。存儲點通過在事務中放入一個SAVEPOINT命令而被插入。該命令的語法是:SAVEPOINT存儲點名如果在ROLLBACK語句中沒有給出存儲點名,則整個事務被回退。12、 給表A加一列abc口述?數據庫正在應用時應先使數據庫處于靜默狀態再altertab

7、leaaddabcvarchar2(10),如果不是就直接用!13、 客戶端連接服務器需要修改什么文件?tnsname.ora,listener.ora14、 索引重建的概念?說說索引重建的意義?當我們創建索引時,oracle會為索引創建索引樹,表和索引樹通過rowid(偽歹1)來定位數據。當表里的數據發生更新時,oracle會自動維護索引樹。但是在索引樹中沒有更新操作,只有刪除和插入操作。例如在某表id列上創建索引,某表id列上有值“101:當我將“101更新為“110”時,oracle同時會來更新索引樹,但是oracle先將索引樹中的“10低示為刪除(實際并未刪除,只是標示一下),然后再將

8、“11%到索引樹中。如果表更新比較頻繁,那么在索引中刪除標示會越來越多,這時索引的查詢效率必然降低,所以我們應該定期重建索引。來消除索引中這些刪除標記。一般不會選擇先刪除索引,然后再重新創建索引,而是rebuild索引。在rebuild期問,用戶還可以使用原來的索引,并且rebuild新的索引時也會利用原來的索引信息,這樣重建索引會塊一些。15、 你對游標的理解,游標的分類,使用方法?游標是結果集數據中的指針,作用是為遍歷結果集時,存儲每條記錄的結果,2 .聲明游標,2.打開游標,3.提取游標,4.關閉游標游標for循環顯式游標,隱式游標,游標變量!16、 存儲過程的用法?在存儲過程中異常的處

9、理,分類?舉兩個預定義異常的例子?存儲過程:是預編譯數據庫SQL的集合存儲過程是預編譯過的,執行時勿須編譯,執行速度更快,存儲過程封裝了一批SQL語句,便于維護數據的完整性與一致性。并且可以多次調用。異常:自定義,預定義,非預定義No_Data_FoundToo_Many_RowsCASE_NOT_FOUND17、 談談你對分區索引的理解,說說分類和區別?分區表和一般表一樣可以建立索引,分區表可以創建局部索引和全局索引。當分區中出現許多事務并且要保證所有分區中的數據記錄的唯一性時采用全局索引。17.1.1. 部索引分區的建立:SQL>createindexdinya_idx_tondin

10、ya_test(item_id)5 local6 (7 partitionidx_1tablespacedinya_space01,8 partitionidx_2tablespacedinya_space02,9 partitionidx_3tablespacedinya_space037);.Indexcreated.SQL>看查詢的執行計劃,從下面的執行計劃可以看出,系統已經使用了索引:SQL>select*fromdinya_testpartition(part_01)twheret.item_id=12;ExecutionPlan0SELECTSTATEMENTOptim

11、izer=CHOOSE(Cost=2Card=1Bytes=187)18、 0TABLEACCESS(BYLOCALINDEXROWID)OF?DINYA_TEST?(Cost=19、 Card=1Bytes=187)21INDEX(RANGESCAN)OF?DINYA_IDX_T?(NON-UNIQUE)(Cost=1Card=1)Statistics0recursivecalls0dbblockgets4consistentgets0physicalreads0redosize334bytessentviaSQL*Nettoclient309bytesreceivedviaSQL*Netf

12、romclient2SQL*Netroundtripsto/fromclient1、 sorts(memory)0sorts(disk)2、 rowsprocessedSQL>2、 全局索引分區的建立全局索引建立時global子句允許指定索引的范圍值,這個范圍值為索引字段的范圍值:SQL>createindexdinya_idx_tondinya_test(item_id)2globalpartitionbyrange(item_id)3(4partitionidx_1valueslessthan(1000)tablespacedinya_space01,5partitionidx

13、_2valueslessthan(10000)tablespacedinya_space02,6partitionidx_3valueslessthan(maxvalue)tablespacedinya_space037);一Indexcreated.SQL>本例中對表的item_id字段建立索引分區,當然也可以不指定索引分區名直接對整個表建立索引,如:SQL>createindexdinya_idx_tondinya_test(item_id);Indexcreated.SQL>同樣的,對全局索引根據執行計劃可以看出索引已經可以使用:SQL>select*fromdi

14、nya_testtwheret.item_id=12;ExecutionPlan0SELECTSTATEMENTOptimizer=CHOOSE(Cost=2Card=3Bytes=561)10TABLEACCESS(BYGLOBALINDEXROWID)OF?DINYA_TEST?(Cost=2Card=3Bytes=561)21INDEX(RANGESCAN)OF?DINYA_IDX_T?(NON-UNIQUE)(Cost=1Card=3)Statistics5recursivecalls0dbblockgets10consistentgets0physicalreads0redosize

15、420bytessentviaSQL*Nettoclient309bytesreceivedviaSQL*NetfromclientSQL*Netroundtripsto/fromclientsorts(memory)0sorts(disk)rowsprocessed創建用戶的語句?Createuseruser_nameidentifiedbypassworddefaulttablespacetablespacename;grantcreatesessiontousername;談談你對實例的理解?Oracle是用實例來進行數據庫管理的,實例在用戶和orale數據庫之間充當中間層的角色。每當在

16、服務器上啟動數據庫時,就在內存中創建一個oracle實例,即oracle為數據庫分配內存和創建并啟動一個或多個oracle進程,然后由實例加載并打開數據庫,最后由這個實例來訪問和控制硬盤中的數據文件。觸發器中能用COMMIT,為什么?在觸發器中不能使用COMMIT;等事務控制語句。因為觸發器是事務觸發的如果有事務控制語句就會影響到觸發它的事務。即連帶觸發它的語句之前的已經完成的沒有提交的語句都要受到影響。這是會影響到數據的一致性的。有幾種表空問?數據表空間(永久表空間)、臨時表空間、撤銷表空間歸檔模式與非歸檔模式?為什么歸檔模式可以恢復到任意時刻?歸檔是在重做日志文件被覆蓋之前,將該重做日志文

17、件通過復制操作系統文件的方式,保存到指定的位置。保存下來的重做日志文件的集合被稱為歸檔重做日志文件,復制的過程被稱為歸檔。在歸檔日志(ARCHIVELOG)模式下,ORACLE對重做日志文件進行歸檔操作。非歸檔日志(NOARCHIVELOG)模式下,不會對重做日志文件進行歸檔操作。由于非歸檔模式不會在覆蓋之前保存,這樣就造成了數據庫在一定時間之前的重做日志文件丟失,也就不能恢復到被覆蓋之前。而歸檔模式在任意時間上都有重做日志文件,故可以恢復到任意時刻。二、技術問題(JAVA部分)Struts和Hibernate分別屬于持久層,用例層,表示層的那一層?Struts是表示層,Hibernate是持

18、久層。Struts里如何體現MVC模式?Html或jsp文件是MVC模式中的視圖層ActionForm是MVC模式中的模式層Action是MVC模式中的控制層通過控制層可以對視圖層和模式層進行業務邏輯的處理用Struts做過那些項目?談談對Struts的認識?Struts跟Tomcat諸多Apache項目一樣,是開源軟件,這是它的一大優點。使開發者能更深入的了解其內部實現機制。除此之外,Struts的優點主要集中體現在兩個方面:Taglib和頁面導航。Taglib是Struts的標記庫,靈活動用,能大大提高開發效率。另外,就目前國內的JSP開發者而言,除了使用JSP自帶的常用標記外,很少開發自

19、己的標記,或許Struts是一個很好的起點。關于頁面導航,我認為那將是今后的一個發展方向,事實上,這樣做,使系統的脈絡更加清晰。通過一個配置文件,即可把握整個系統各部分之間的聯系,這對于后期的維護有著莫大的好處。尤其是當另一批開發者接手這個項目時,這種優勢體現得更加明顯。但是我覺得它雖然還有不少缺點,但它是一種非常優秀的J2EEMVC實現方式,對項目的開發有很大的幫助。String在JAVA里是固定長度的嗎?為什么可以用"璉接?String在JAVA中是有固定長度的可以用”鏈接的原因是Java語言提供對字符串串聯符號("+")和其他對象到字符串的轉換的特殊支持。字符串串聯是通過StringBuilder(或StringBuffer)類及其append方法實現的。再通過調用StingBuffer中的toString方法,將StringBuffer的對象轉換String的對象。String和StringBuffer的區另U?STR

溫馨提示

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

評論

0/150

提交評論