Oracle面試、筆試常見題

rongshiyuan發表於2012-06-27

這裡的回答並不是十分全面,這些問題可以通過多個角度來進行解釋,也許你不必在面試過程中給出完全詳盡的答案,只需要通過你的解答使面試考官瞭解你對ORACLE概念的熟悉程度。

1.解釋冷備份和熱備份的不同點以及各自的優點

解答:熱備份針對歸檔模式的資料庫,在資料庫仍舊處於工作狀態時進行備份。而冷備份指在資料庫關閉後,進行備份,適用於所有模式的資料庫。熱備份的優點在於當備份時,資料庫仍舊可以被使用並且可以將資料庫恢復到任意一個時間點。冷備份的優點在於它的備份和恢復操作相當簡單,並且由於冷備份的資料庫可以工作在非歸檔模式下,資料庫效能會比歸檔模式稍好。(因為不必將archive log寫入硬碟)

2.你必須利用備份恢復資料庫,但是你沒有控制檔案,該如何解決問題呢?

解答:重建控制檔案,用帶backup control file子句的recover命令恢復資料庫。

3.如何轉換init.oraspfile?解答:使用create spfile from pfile命令.

4.解釋data block , extentsegment的區別(這裡建議用英文術語)

解答:data block是資料庫中最小的邏輯儲存單元。當資料庫的物件需要更多的物理儲存空間時,連續的data block就組成了extent .一個資料庫物件擁有的所有extents被稱為該物件的segment.

5.給出兩個檢查表結構的方法

解答:1.DESCRIBE命令

2.DBMS_METADATA.GET_DDL

6.怎樣檢視資料庫引擎的報錯

解答:alert log.

7.比較truncatedelete命令

解答:兩者都可以用來刪除表中所有的記錄。區別在於:truncateDDL操作,它移動HWK,不需要rollback segment .DeleteDML操作,需要rollback segment且花費較長時間.

8.使用索引的理由

解答:快速訪問表中的data block

9.給出在STAR SCHEMA中的兩種表及它們分別含有的資料

解答:Fact tablesdimension 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.sqlutlxpls.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_BASEoracle的根目錄,ORACLE_HOMEoracle產品的目錄。

21.如何判斷資料庫的時區?

解答:SELECT DBTIMEZONE FROM DUAL;

22.解釋GLOBAL_NAMES設為TRUE的用途

解答:GLOBAL_NAMES指明聯接資料庫的方式。如果這個引數設定為TRUE,

在建立資料庫連結時就必須用相同的名字連結遠端資料庫

23。如何加密PL/SQL程式?

解答:WRAP

24.解釋FUNCTION,PROCEDUREPACKAGE區別

解答:functionprocedurePL/SQL程式碼的集合,通常為了完成

一個任務。procedure不需要返回任何值而function將返回一個值

在另一方面,Package是為了完成一個商業功能的一組functionproceudre

的集合

25.解釋TABLE Function的用途

解答:TABLE Function是通過PL/SQL邏輯返回一組紀錄,用於

普通的表/檢視。他們也用於pipelineETL過程。

26.舉出3種可以收集three advisory statistics

解答:Buffer Cache Advice, Segment Level Statistics, Timed Statistics

27. Audit trace存放在哪個oracle目錄結構中?

解答:unix $ORACLE_HOME/rdbms/audit

Windows the event viewer

28.解釋materialized views

 

 

ORACLE 筆試題目

選擇題 (在正確的答案前打勾)
1, 下面哪一個選項不屬於調優目標的
A,共享應用程式碼
B,減少使用者對資源的等待
C,為沒有剩餘空間的表空間新增資料檔案
D,減少IO操作
2, 資料庫報警日誌檔案的位置
A, user_dump_dest引數指定的位置
B, alert_dump_dest引數指定的位置
C, archive_log_dest 引數指定的位置
D, background_dump_dest 引數指定的位置
3, 下列哪兩種方法可以用來設定會話跟蹤
A, 使用dbms_system.set_sql_trace_in_session 過程
B, 通過alter session set sql_trace=true
C, 使用 dbms_session.set_sql_trace_in_session 過程
D, 通過alter session set log_checkpoints_to_alert=true
4, 下列哪些檢視是資料字典檢視
A, v$sysstat
B, dba_objects
C, dba_tables
D, dba_indexes
5, 下列哪個檢視可以獲取資料庫的啟動時間
A, v$database
B, v$sesstat
C, v$lock
D, v$instance
6, 對於v$session 檢視敘述正確的是
A, 可以通過此檢視查詢出一個會話的sid、serial#
B, 可以直接通過此檢視查詢出此會話的機器的IP地址
C, 可以通過此檢視查詢出一個會話的登陸資料庫的時間
D, 可以通過此檢視查詢出使用者通過什麼程式連線資料庫
7, 關於statspack,下列哪個說法是錯誤的
A, statspack是一個資料庫效能診斷工具
B, 使用statspack時需要將引數timed_statistics設定為true
C, statspack在使用時最少需要執行2次statspack..snap
D, statspack在建庫時,自動被建立。
8, 下列哪些語句屬於DML語句
A, select count(*) from dba_tables;
B, create table test (a number);
C, alter table test nologging;
D, delete from test;
9, 在sql的執行過程中,哪一步進行共享池的分配
A, Create a Cursor 建立遊標
B, Parse the Statement 分析語句
C, Bind Any Variables 繫結變數
D, Parallelize the Statement 並行執行語句
10, 在sql的書寫過程中,使用繫結變數的主要作用
A, 共享SQL
B, 增加sql的執行速度
C, 改變執行計劃
D, 增加sql的可讀性
11, 關於優化器的說法正確的是
A, oracle主要提供了2種優化器:基於規則的優化器(rule)和基於花費的優化器(cost)
B, 基於規則的優化器通過訪問路徑的優先等級,來決定執行計劃
C, 基於花費的優化器,通過IO,CPU, 網路情況,來選擇資源消耗最少的執行計劃
D, oracle9i中,基於花費的優化器不需要統計資訊
12, 下列哪種資料訪問路徑最快
A, Table Access by ROWID
B, index unique scan
C, index range scan
D, index full scan
E, index fast full scan
13, 下列哪種連線方式是需要連線的兩個行源是有序的
A, 合併連線
B, 巢狀迴圈
C, 雜湊連線
D, 笛卡兒積
14, 下列關於索引描述正確的是
A, 所有的索引都不包含null值
B, b*tree 索引的高度越高越好
C, 只要是取值範圍都不好的列,就可以建立bitmap索引
D, 索引可以線上rebuild,而不影響對於表的dml操作
15, 關於索引不能被使用,可能的原因有
A, where子句沒有包含被索引的列
B, 表或索引的統計資訊錯誤
C, where子句的索引列上存在隱含資料型別轉換
D, 返回的行源很多
E, 使用了 like ’%???%’
16, 關於函式索引說法錯誤的是
A, 使用函式索引需要QUERY REWRITE許可權
B, 使用函式索引需要GLOBAL QUERY REWRITE 許可權
C, 可用通過函式索引來實現只索引某些行資料的目的
D, 函式索引很適合oltp系統
17, view this SELECT statement:
1. SELECT department, MAX(salary)
2. FROM employee
3. WHERE department IN(200, 300, 400) and
4. MAX(salary)>60000
5. GROUP BY department;
Which line in the statement causes error?
A. 1
B. 3
C. 4
D. 5
18, Which three commands cause a transaction to end?
A. ALTER
B. GRANT
C. DELETE
D. INSERT
E. UPDATE
F. ROLLBACK
簡答題
1,ORACLE的靜態結構包含哪些型別的檔案?



2,TRACE檔案有哪些種類?一般存放在什麼地方?



3,ORACLE的主要記憶體結構有哪些?
軟體程式碼區:用於儲存正在執行的或可以執行的程式程式碼
系統全域性區(SGA):一組由ORACLE分配的共享的記憶體結構,可包含一個資料庫例項的資料或控制資訊
程式全域性區(PGA):一個記憶體區,包含單個程式的資料和控制資訊
排序區:ORACLE利用該記憶體排序資料

4,REDO LOG的作用是什麼,如果REDO LOG故障如何修復?
重做日誌(Redo Log)也稱作事務日誌( Transaction Log),Oracle在這些特殊的作業系統檔案中記錄針對資料庫進行的修改操作或事務,資料庫系統可以使用這些事務記錄進行恢復操作。
檢查v$session_wait檢視,我們可以從中看到很多session處於log file switch (checkpoint incomplete) 的等待; 檢查DBWR程式。

5,回滾段的主要作用是什麼,如何優化回滾段?如何增加回滾段的大小?回滾段是線狀結構還是環狀結構?
當事務修改表中資料的時候,該資料修改前的值(即前影像)會存放在回滾段中,當使用者回滾事務(ROLLBACK)時,ORACLE將會利用回滾段中的資料前影像來將修改的資料恢復到原來的值。

增加回滾段可以加大回滾段所適應的表空間:
alter database datafile ‘..\*.dbf’resize xxM


6,共享池的主要作用是什麼?設定共享池要注意些什麼?共享池過大有什麼不好?



7,UPDATE較多的表,設定儲存引數的時候應該注意什麼?


8,PGA的工作區域如何配置?



9,如何進行SQL優化?



10, 表之間的關聯方法有哪些?



11、How would you edit your CRONTAB to schedule the running of /test/test.sh to run every other day at 2PM?




12、How do you increase the OS limitation for open files (LINUX and/or Solaris)?




13. Explain how you would restore a database using RMAN to Point in Time?
14.What view(s) do you use to associate a user's SQLPLUS session with his o/s process?






15 What are the commands you'd issue to show the explain plan for "select * from dual"?



16. In which dictionary table or view would you look to determine at which time a snapshot or MVIEW last successfully refreshed?



17. How would you best determine why your MVIEW couldn't FAST REFRESH?



18. How does propagation differ between Advanced Replication and Snapshot Replication (readonly)?



19. Which dictionary view(s) would you first look at to understand or get a high-level idea of a given Advanced Replication environment?



20. Database crashes. Corruption is found scattered among the file system neither of your doing nor of Oracle's. What database recovery options are available? Database is in archive log mode.

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17252115/viewspace-733950/,如需轉載,請註明出處,否則將追究法律責任。

相關文章