1. 程式人生 > >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 ?C 資料庫例項啟動 


STARTUP MOUNT - 資料庫裝載 


STARTUP OPEN ?C 資料庫開啟 


16. 哪個column可以用來區別V$檢視和GV$檢視? 


解答:INST_ID 指明叢集環境中具體的 某個instance 。 


17. 如何生成explain plan? 


解答:執行utlxplan.sql. 建立plan 表 


針對特定SQL語句,使用 explain plan set statement_id = 'tst1' into plan_table 


執行utlxplp.sql 或 utlxpls.sql察看explain plan 


18. 如何增加buffer cache的命中率? 


解答:在資料庫較繁忙時,適用buffer cache advisory 工具,查詢v$db_cache_advice.如果有必要更改,可以使用 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產品的目錄。