華為面試題及答案
華為面試的求職者,面試前做好相應準備很有必要。以下是華為面試題及答案例文,增加你的面試技巧,和小編一起來學習啦。
華為面試題及答案(一)
1、表空間的管理方式有哪幾種?
數據字典管理方式
本地文件管理方式
2、談談你對索引的理解?
索引是若干數據行的關鍵字的列表,查詢數據時,通過索引中的關鍵字可以快速定位到要訪問的記錄所在的數據塊,從而大大減少讀取數據塊的I/O次數,因此可以顯著提高性能。
3、說說索引的組成?
索引列、rowid
4、分區表用過么?談談分區表的應用?
分區表在對表的DML的并行處理上有極大得優勢,而且可以一部分設為只讀,用在銷售記錄,醫院處方等地方!!
5、你對分區表的理解?怎樣截斷分區表一個分區的記錄?
一個分區表有一個或多個分區,每個分區通過使用范圍分區、散列分區、或組合分區分區的行
分區表中的每一個分區為一個段,可各自位于不同的表空間中
對于同時能夠使用幾個進程進行查詢或操作的大型表分區非常有用
alter table table_name truncate partition partition_name;
6、物理文件有哪幾種?控制文件包含了什么信息?
1) 數據文件 2)控制文件 3)日志文件
包含維護和驗證有選舉權據庫完整性的必要信息、例如,控制文件用于識別數據文件和重做日志文件,一個有選舉權據庫至少需要一個控制文件
7、表空間用完了如何增加?
三種種擴展方式:
1 增加數據文件 alter tablespace name add datafile ‘路徑’ size 4M;
2 擴展數據文件大小alter database datafile ‘路徑’ resize 4M;
把數據文件設為自動增長
alter database datafile ‘路徑’ autoextend on next 1M maxsize 20M;
華為面試題及答案(二)
一、SGA包含幾部分?
Shared pool(共享池),DataBase Buffer Cache(數據緩沖區)
Redo Log Buffer(重做日志緩沖區), Large Pool,大池,JAVA池。 3
二、DECODE函數的用法?
DECODE的語法:DECODE(value,if1,then1,if2,then2,if3,then3,...,else),表示如果value等于if1時,DECODE函數的結果返回then1,...,如果不等于任何一個if值,則返回else。初看一下,DECODE 只能做等于測試,但剛才也看到了,我們通過一些函數或計算替代value,是可以使DECODE函數具備大于、小于或等于功能。還可以轉化表結構!
三、 DELETE和TRUNCATE的區別?
答:1、TRUNCATE在各種表上無論是大的還是小的都非常快。如果有ROLLBACK命令DELETE將被撤銷,而TRUNCATE則不會被撤銷。
2、TRUNCATE是一個DDL語言,向其他所有的DDL語言一樣,他將被隱式提交,
不能對TRUNCATE使用ROLLBACK命令。
3、TRUNCATE將重新設置高水平線和所有的索引。在對整個表和索引進行完全瀏覽時,經過TRUNCATE操作后的表比DELETE操作后的表要快得多。
4、TRUNCATE不能觸發任何DELETE觸發器。
5、不能授予任何人清空他人的表的權限。
6、當表被清空后表和表的索引講重新設置成初始大小,而delete則不能。
7、不能清空父表。
四、 談談你對事務的理解?
ORACLE事務從COMMIT、ROLLBACK、連接到數據庫或開始第一條可執行的SQL語句時開始,到一條COMMIT、ROLLBACK語句或退出數據庫時結束。如果在一個事務中包含DDL語句,則在DDL語句的前后都會隱含地執行COMMIT語句,從而開始或結束一個事務。
如果一個事務由于某些故障或者由于用戶改變主意而必須在提交前取消它,則數據庫被恢復到這些語句和過程執行之前的狀態。
利用ROLLBACK語句可以在COMMIT命令前隨時撤消或回退一個事務。可以回退整個事務,也可以會退部分事務,但是不能回退一個已經被提交的事務。回退部分事務的ROLLBACK命令為:ROLLBACK to savepoint 存儲點名存儲點是用戶放入事務中的標記,用來表示一個可被回退的位置。存儲點通過在事務中放入一個SAVEPOINT命令而被插入。該命令的語法是:SAVEPOINT 存儲點名如果在ROLLBACK語句中沒有給出存儲點名,則整個事務被回退。
華為面試題及答案(三)
1、 給表A加一列abc口述?
數據庫正在應用時應先使數據庫處于靜默狀態再
alter table a add abc varchar2(10),
如果不是就直接用!!
2、 客戶端連接服務器需要修改什么文件?
tnsname.ora,listener.ora
3、 索引重建的概念?說說索引重建的意義?
當我們創建索引時,oracle會為索引創建索引樹,表和索引樹通過rowid(偽列)來定位數據。當表里的數據發生更新時,oracle會自動維護索引樹。但是在索引樹中沒有更新操作,只有刪除和插入操作。
例如在某表id列上創建索引,某表id列上有值“101”,當我將“101”更新為“110”時,oracle同時會來更新索引樹,但是oracle先將索引樹中的“101”標示為刪除(實際并未刪除,只是標示一下),然后再將“110”寫到索引樹中。
如果表更新比較頻繁,那么在索引中刪除標示會越來越多,這時索引的查詢
效率必然降低,所以我們應該定期重建索引。來消除索引中這些刪除標記。
一般不會選擇先刪除索引,然后再重新創建索引,而是rebuild索引。在rebuild期間,用戶還可以使用原來的索引,并且rebuild新的索引時也會利用原來的索引信息,這樣重建索引會塊一些。
4、 你對游標的理解,游標的分類,使用方法?
游標是結果集數據中的指針,作用是為遍歷結果集時,存儲每條記錄的結果,
1.聲明游標,2.打開游標,3.提取游標,4.關閉游標
游標for循環
顯式游標,隱式游標,游標變量!
5、 存儲過程的用法?在存儲過程中異常的處理,分類?舉兩個預定義異常的例子?
存儲過程:是預編譯數據庫SQL的集合
存儲過程是預編譯過的,執行時勿須編譯,執行速度更快,存儲過程封裝了一批SQL語句,便于維護數據的完整性與一致性。并且可以多次調用。
異常:自定義,預定義,非預定義
No_Data_Found Too_Many_Rows CASE_NOT_FOUND
6、 談談你對分區索引的理解,說說分類和區別?
分區表和一般表一樣可以建立索引,分區表可以創建局部索引和全局索引。當分區中出現許多事務并且要保證所有分區中的數據記錄的唯
一性時采用全局索引。