甲骨文(Oracle)面試題目

這也許是你一直期待的文章,在關注這部分技術問題的同時,請務必閱讀有關面試中有關
個人的問題和解答。這裡的回答並不是十分全面,這些問題可以通過多個角度來進行解釋
,也許你不必在面試過程中給出完全詳盡的答案,只需要通過你的解答使面試考官了解你
對oracle概念的熟悉程度。
1.解釋冷備份和熱備份的不同點以及各自的優點
解答:熱備份針對歸檔模式的資料庫,在資料庫仍舊處於工作狀態時進行備份。而冷
備份指在資料庫關閉後,進行備份,適用於所有模式的資料庫。熱備份的優點在於當備份
時,資料庫仍舊可以被使用並且可以將資料庫恢復到任意一個時間點。冷備份的優點在於
它的備份和恢復操作相當簡單,並且由於冷備份的資料庫可以工作在非歸檔模式下,資料庫
性能會比歸檔模式稍好。(因為不必將archive log寫入硬碟)
2.你必須利用備份恢複數據庫,但是你沒有控制檔案,該如何解決問題呢?
解答:重建控制檔案,用帶backup control file 子句的recover 命令恢複數據庫。
3.如何轉換init.ora到spfile?
解答:使用create spfile from pfile 命令.
4.解釋data block , extent 和 segment的區別(這裡建議用英文術語)
解答:data block是資料庫中最小的邏輯存儲單元。當資料庫的對象需要更多的物理
存儲空間時,連續的data block就組成了extent . 一個資料庫對象擁有的所有extents被
稱為該對象的segment.
5.給出兩個檢查表結構的方法
解答:1.describe命令
 2.dbms_metadata.get_ddl 包
6.怎樣查看資料庫引擎的報錯
解答:alert log.
   7.比較truncate和delete 命令
解答:兩者都可以用來刪除表中所有的記錄。區別在於:truncate是ddl操作,它移動
hwk,不需要rollback segment .而delete是dml操作, 需要rollback segment 且花費較長
時間.
8.使用索引的理由
解答:快速訪問表中的data block
9.給出在star schema中的兩種表及它們分別含有的數據
解答:fact tables 和dimension tables. fact table包含大量的主要的信息而dime
nsion tables 存放對fact table 某些屬性描述的信息
10.fact table上需要建立何種索引?
解答:點陣圖索引 (bitmap index)
11. 給出兩種相關約束?
解答:主鍵和外鍵
12. 如何在不影響子表的前提下,重建一個母表
解答:子表的外鍵強制實效,重建母表,激活外鍵
13. 解釋歸檔和非歸檔模式之間的不同和它們各自的優缺點
解答:歸檔模式是指你可以備份所有的資料庫 transactions並恢復到任意一個時間點
。非歸檔模式則相反,不能恢復到任意一個時間點。但是非歸檔模式可以帶來資料庫性能
上的少許提高.
   14. 如何建立一個備份控制檔案?
解答:alter database backup control file to trace.
15. 給出資料庫正常啟動所經歷的幾種狀態 ?
解答:startup nomount – 資料庫實例啟動
 startup mount - 資料庫裝載
 startup open – 資料庫打開
16. 哪個column可以用來區別v$視圖和gv$視圖?
解答:inst_id 指明集群環境中具體的 某個instance 。
17. 如何生成explain plan?
解答:運行utlxplan.sql. 建立plan 表
 針對特定sql語句,使用 explain plan set statement_id = 'tst1' into pl
an_table ,運行utlxplp.sql 或 utlxpls.sql察看explain plan
18. 如何增加buffer cache的命中率?
解答:在資料庫較繁忙時,適用buffer cache advisory 工具,查詢v$db_cache_adv
ice.如果有必要更改,可以使用 alter system set db_cache_size 命令
19. ora-01555的應對方法?
解答:具體的出錯信息是snapshot too old within rollback seg , 通常可以通過增
大rollback seg來解決問題。當然也需要察看一下具體造成錯誤的sql文本
20. 解釋$oracle_home和$oracle_base的區別?
解答:oracle_base是oracle的根目錄,oracle_home是oracle產品的目錄。