天天看點

如何應對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 包含大量的主要的資訊而 dimension

      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

      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産品的目錄。