亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

oracle面試題目總結

系統 1998 0

?阿里巴巴公司DBA筆試題
http://searchdatabase.techtarget.com.cn/tips/2/2535002.shtml?
注:以下題目,可根據自己情況挑選題目作答,不必全部作答.您也可以就相關問題直接找負責面試人員面述而不筆答?
? ?
?   一:SQL? tuning? 類?
? ?
?   1:列舉幾種表連接方式?
? ?
?   2:不借助第三方工具,怎樣查看sql的執行計劃?
? ?
?   3:如何使用CBO,CBO與RULE的區別?
? ?
?   4:如何定位重要(消耗資源多)的SQL?
? ?
?   5:如何跟蹤某個session的SQL?
? ?
?   6:SQL調整最關注的是什么?
? ?
?   7:說說你對索引的認識(索引的結構、對dml影響、對查詢影響、為什么提高查詢性能)?
? ?
?   8:使用索引查詢一定能提高查詢的性能嗎?為什么?
? ?
?   9:綁定變量是什么?綁定變量有什么優缺點??
? ?
?   10:如何穩定(固定)執行計劃?
? ?
?   11:和排序相關的內存在8i和9i分別怎樣調整,臨時表空間的作用是什么?
? ?
?   12:存在表T(a,b,c,d),要根據字段c排序后取第21—30條記錄顯示,請給出sql?
? ?
?   二:數據庫基本概念類?
? ?
?   1:pctused? and? pctfree? 表示什么含義有什么作用?
? ?
?   2:簡單描述table? /? segment? /? extent? /? block之間的關系?
? ?
?   3:描述tablespace和datafile之間的關系?
? ?
?   4:本地管理表空間和字典管理表空間的特點,ASSM有什么特點?
? ?
?   5:回滾段的作用是什么?
? ?
?   6:日志的作用是什么?
? ?
?   7:SGA主要有那些部分,主要作用是什么?
? ?
?   8:oracle系統進程主要有哪些,作用是什么?
? ?
?   三:備份恢復類?
? ?
?   1:備份如何分類?
? ?
?   2:歸檔是什么含義?
? ?
?   3:如果一個表在2004-08-04? 10:30:00? 被drop,在有完善的歸檔和備份的情況下,如何恢復?
? ?
?   4:rman是什么,有何特點?
? ?
?   5:standby的特點?
? ?
?   6:對于一個要求恢復時間比較短的系統(數據庫50G,每天歸檔5G),你如何設計備份策略?
? ?
?   四:系統管理類?
? ?
?   1:對于一個存在系統性能的系統,說出你的診斷處理思路?
? ?
?   2:列舉幾種診斷IO、CPU、性能狀況的方法?
? ?
?   3:對statspack有何認識?
? ?
?   4:如果系統現在需要在一個很大的表上創建一個索引,你會考慮那些因素,如何做以盡量減小對應用的影響?
? ?
?   5:對raid10? 和raid5有何認識?
? ?
?   五:綜合隨意類?
? ?
?   1:你最擅長的是oracle哪部分??
? ?
?   2:喜歡oracle嗎?喜歡上論壇嗎?或者偏好oracle的哪一部分??
? ?
?   3:隨意說說你覺得oracle最有意思的部分或者最困難的部分?
? ?
?   4:為何要選擇做DBA呢??

?

(1) A 表中有100條記錄.

  SELECT * FROM A WHERE A.COLUMN1 = A.COLUMN1

  這個語句返回幾條記錄? (簡單吧,似乎1秒鐘就有答案了:)

  (2) CREATE SEQUENCE PEAK_NO

  SELECT PEAK_NO.NEXTVAL FROM DUAL --> 假設返回1

  10秒中后,再次做

  SELECT PEAK_NO.NEXTVAL FROM DUAL --> 返回多少?

  (3) SQL> connect sys as sysdba

  Connected.


  SQL> insert into dual values ( 'Y');

     1 row created.

  SQL> commit;

     Commit complete.

  SQL> select count(*) from dual;

     COUNT(*)

     ----------

     2

  SQL> delete from dual;

     commit;

     -->DUAL里還剩幾條記錄?

===============================

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產品

的目錄。

21. 如何判斷數據庫的時區?
解答:SELECT DBTIMEZONE FROM DUAL;

22. 解釋GLOBAL_NAMES設為TRUE的用途
解答:GLOBAL_NAMES指明聯接數據庫的方式。如果這個參數設置為TRUE,
在建立數據庫鏈接時就必須用相同的名字連結遠程數據庫

23。如何加密PL/SQL程序?
解答:WRAP

24. 解釋FUNCTION,PROCEDURE和PACKAGE區別
解答:function 和procedure是PL/SQL代碼的集合,通常為了完成
一個任務。procedure 不需要返回任何值而function將返回一個值
在另一方面,Package是為了完成一個商業功能的一組function和proceudre
的集合

25. 解釋TABLE Function的用途
解答:TABLE Function是通過PL/SQL邏輯返回一組紀錄,用于
普通的表/視圖。他們也用于pipeline和ETL過程。

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的作用
解答:Materialized views 用于減少那些匯總,集合和分組的
信息的集合數量。它們通常適合于數據倉庫和DSS系統。

29.? 當用戶進程出錯,哪個后臺進程負責清理它
解答: PMON

30.? 哪個后臺進程刷新materialized views?
解答:The Job Queue Processes.

31.? 如何判斷哪個session正在連結以及它們等待的資源?
解答:V$SESSION / V$SESSION_WAIT

32.? 描述什么是 redo logs
解答:Redo Logs 是用于存放數據庫數據改動狀況的物理和邏輯結構。
可以用來修復數據庫.

33.? 如何進行強制LOG SWITCH?
解答:ALTER SYSTEM SWITCH LOGFILE;

34. 舉出兩個判斷DDL改動的方法?
解答:你可以使用 Logminer 或 Streams

35.? Coalescing做了什么?
解答:Coalescing針對于字典管理的tablespace進行碎片整理,將
臨近的小extents合并成單個的大extent.


36.? TEMPORARY tablespace和PERMANENT tablespace 的區別是?
解答:A temporary tablespace 用于臨時對象例如排序結構而 permanent tablespaces
用來存儲那些'真實'的對象(例如表,回滾段等)


37.? 創建數據庫時自動建立的tablespace名稱?
解答:SYSTEM tablespace.

38.? 創建用戶時,需要賦予新用戶什么權限才能使它聯上數據庫。
解答:CONNECT

39.? 如何在tablespace里增加數據文件?
解答:ALTER TABLESPACE <tablespace_name> ADD DATAFILE <datafile_name> SIZE <size>

40.? 如何變動數據文件的大小?
解答:ALTER DATABASE DATAFILE <datafile_name> RESIZE <new_size>;

41.? 哪個VIEW用來檢查數據文件的大小?
解答: DBA_DATA_FILES

42.? 哪個VIEW用來判斷tablespace的剩余空間
解答:DBA_FREE_SPACE

43.? 如何判斷誰往表里增加了一條紀錄?
解答:auditing

44. 如何重構索引?
解答: ALTER INDEX <index_name> REBUILD;

45. 解釋什么是Partitioning(分區) 以及它的優點。
解答:Partition將大表和索引分割成更小,易于管理的分區。


46.? 你剛剛編譯了一個PL/SQL Package但是有錯誤報道,如何顯示出錯信息?
解答:SHOW ERRORS

47.? 如何搜集表的各種狀態數據?
解答: ANALYZE
The ANALYZE command.

48. 如何啟動SESSION級別的TRACE
解答:? DBMS_SESSION.SET_SQL_TRACE
? ? ? ALTER SESSION SET SQL_TRACE = TRUE;

49.? IMPORT和SQL*LOADER 這2個工具的不同點
解答:這兩個ORACLE工具都是用來將數據導入數據庫的。
區別是:IMPORT工具只能處理由另一個ORACLE工具EXPORT生成
的數據。而SQL*LOADER可以導入不同的ASCII格式的數據源


50。 用于網絡連接的2個文件?
解答: TNSNAMES.ORA and SQLNET.ORA
======================================

淘寶網的問題

數據庫切換日志的時候,為什么一定要發生檢查點?這個檢查點有什么意義?

表空間管理方式有哪幾種,各有什么優劣。

本地索引與全局索引的差別與適用情況。

一個表a varchar2(1),b number(1),c char(2),有100000條記錄,創建B-Tree索引在字段a上,那么表與索引誰大?為什么?

9i的data guard有幾種模式,各有什么差別。

執行計劃是什么,查看執行計劃一般有哪幾種方式。

簡單描述一下nest loop與hash join的差別。

db file sequential read與db file scattered read等待的差別,如果以上等待比較多,證明了什么問題?

library cache pin與library cache lock是什么地方的等待事件,一般說明什么問題?

在一個24*7的應用上,需要把一個訪問量很大的1000萬以上數據級別的表的普通索引(a,b)修改成唯一約束(a,b,c),你一般會選擇怎么做,請說出具體的操作步驟與語句。

如果一個linux上的oracle數據庫系統突然變慢,你一般從哪里去查找原因。

說明一下對raid5與raid01/10的認識。

列舉5個10g的新特性

======================

1、表:table1(FId,Fclass,Fscore),用最高效最簡單的SQL列出各班成績最高的列表,顯示班級,成績兩個字段。

2、有一個表table1有兩個字段FID,Fno,字都非空,寫一個SQL語句列出該表中一個FID對應多個不同的Fno的紀錄。
類如:
101a1001
101a1001
102a1002
102a1003
103a1004
104a1005
104a1006
105a1007
105a1007
105a1007
結果:
102a1002
102a1003
104a1005
104a1006

3、有員工表empinfo
(
Fempno varchar2(10) not null pk,
Fempname varchar2(20) not null,
Fage number not null,
Fsalary number not null
);
假如數據量很大約1000萬條;寫一個你認為最高效的SQL,用一個SQL計算以下四種人:
fsalary>9999 and fage > 35
fsalary>9999 and fage < 35
fsalary <9999 and fage > 35
fsalary <9999 and fage < 35
每種員工的數量;

4、表A字段如下
month person income
月份 人員 收入
要求用一個SQL語句(注意是一個)的處所有人(不區分人員)每個月及上月和下月的總收入
要求列表輸出為
月份 當月收入 上月收入 下月收入


5,表B
C1 c2
2005-01-01 1
2005-01-01 3
2005-01-02 5

要求的處數據
2005-01-01 4
2005-01-02 5
合計 9
試用一個Sql語句完成。


6,數據庫1,2,3 范式的概念與理解。

7,簡述oracle行觸發器的變化表限制表的概念和使用限制,行觸發器里面對這兩個表有什么限制。

8、oracle臨時表有幾種。
臨時表和普通表的主要區別有哪些,使用臨時表的主要原因是什么?

9,怎么實現:使一個會話里面執行的多個過程函數或觸發器里面都可以訪問的全局變量的效果,并且要實現會話間隔離?

10,aa,bb表都有20個字段,且記錄數量都很大,aa,bb表的X字段(非空)上有索引,
請用SQL列出aa表里面存在的X在bb表不存在的X的值,請寫出認為最快的語句,并解譯原因。

11,簡述SGA主要組成結構和用途?

12什么是分區表?簡述范圍分區和列表分區的區別,分區表的主要優勢有哪些?

13,背景:某數據運行在archivelog,且用rman作過全備份和數據庫的冷備份,
且所有的歸檔日志都有,現控制文件全部損壞,其他文件全部完好,請問該怎么恢復該數據庫,說一兩種方法。

14,用rman寫一個備份語句:備份表空間TSB,level 為2的增量備份。

15,有個表a(x number(20),y number(20))用最快速高效的SQL向該表插入從1開始的連續的1000萬記錄。

=========================================

1如果信息采集管理系統(ICM)崩潰了怎么辦?


2你如何加速打補丁的過程?


3打補丁的過程中出錯了,你怎么辦?


4請提供克隆過程和克隆之后采取的手工操作的大概步驟。


5介紹一下AutoConfig。AutoConfig是如何知道文件中的哪個樹脂需要被放入哪一個文件的?


6你能告訴我,你對一個發生故障的自服務登錄問題做哪些測試嗎?你要檢查哪個配置文件操作選項和文件?


7如果你不能看到并發管理日志和輸出文件,是哪里出錯了?


8你是如何更改并發管理日志和輸出文件的位置的?


9如果用戶正遇到性能方面的問題,你如何找到問題的原因?


10你如何更改應用程序的密碼?


11請寫出DBC文件的位置,并且解釋它的重要性和應用程序如何知道DBC文件名?


答案


1所有其他的管理器都會繼續工作。ICM只會處理隊列控制請求,意思是開啟和關閉其他并發的管理器。


  實際的技術對話

  少數能夠通過電話面試的候選人能夠到工作地點去進行面試,Burleson稱之為候選人的技術化。他建議面試人員提出一些專業的,例如“中的SYS用戶默認密碼是多少?”

  這些問題沒有捏造的答案,面試人員可以輕松地判斷候選人的技術能力。“只有那些實踐過的員知道答案是‘change_on_install,’” Burleson說。“經驗豐富的管理員可以立即發現謊話。”

   然后就是最后一個階段,與公司的IT人員在線會見。這些會見通常會持續半天,這是真正在測試你是否會被雇傭。有時候是一些開放的問題,例如“如果一個終 端用戶抱怨性能差勁,你要做的第一件事情是什么?”這些問題的答案非常具有啟發性,Burleson說,因為他們也沒有正確答案,他們只是看看候選人是如 何獨立思考的,或者是數據庫管理員有多少創新思維。

  也許更重要的是,這個最后的交流就是判斷一些無形的,例如人際關系技巧的過程。擁有一個能夠成為團隊中一員的數據庫管理員對于大多數公司(即使不是所有的公司)來說都是優先考慮的。在很多情況下 ,這些無形的東西形成了差別。

  “我見過公司拒絕了技術能力最強的候選人。這樣的事情總是發生,” Burleson指出。“數據庫管理員需要與其他人打好關系。”

  最后,Burleson說,忘掉星期五可以穿便裝的習慣。

  “面試中穿得太隨便是對自己的極度不負責,”他說。

  “外表確實重要。”

————————————————————————————————————

? ? ? 整理了幾個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.

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


2


2.1你可以合并多個補丁。


2.2你可以為一個非交互的補丁創建一個響應文件。


2.3你可以通過選項(nocompiledb, nomaintainmrc, nocompile)來應用補丁,并且在應用了所有的補丁之后,一次運行它們。


3 查看失敗工作的日志,找到并且糾正錯誤,用adctrl 工具重新開啟工作。


4在源文件上(所有層)運行pre-clone,使用RMAN復制(或者從熱或者冷備份中重新存儲數據庫),拷貝文件系統,然后在目標文件(所有層)上運行post-clone 。


手工步驟(可能會更多):


4.1改變所有的非網站配置選項數值(快速克隆的話,只改變網站級別的配置文件選項)。


4.2 修改工作流和并發管理器表。


4.3更改打印機。


5 AutoConfig 使用了一個上下文文件來維護關鍵的配置文件。一個上下文文件就是一個文件,在$APPL_TOP/admin 目錄下,進行集中式的存儲。


當你運行AutoConfig 的時候,它讀取XML文件,并且創建所有的AutoConfig 管理配置文件。


對于AutoConfig維護的每個配置文件,都存在一個臨時文件來判斷哪個數值是從哪個XML文件中得來的。


6


6.1檢查DBC文件中的guest的用戶名和密碼,配置選項guest的用戶名和密碼、數據庫。


6.2查看apache/jserv是否啟動了。


6.3運行IsItWorking, FND_.PING, aoljtest等。


7很有可能是FNDFS監聽器停止了。看看 FND_CONCURRENT_REQUESTS 表中的OUTFILE_NODE_NAME 和 LOGFILE_NODE_NAME 的數值。看看FND_NODES 表。看看tnsnames.ora 中的FNDFS_ entry 。


8日志問卷愛女的位置是由$APPLCSF/$APPLLOG 參數來決定的,輸出文件的位置是由$APPLCSF/$APPLOUT 決定的。


9


9.1追蹤這個會話(用等待)并且使用tkprof 來分析追蹤文件。


9.2生成statspack 報告并進行分析。


9.3使用top/iostat/sar/vmstat 監控O/s 。


9.4通過ping這類基本的測試結果來判斷網絡的瓶頸。


10


10.1 使用FNDCPASS 來更改APPS密碼。


10.2 手工修改wdbsvr.app/CMD.dat 文件。


10.3 更改所有從其他環境指過來的數據庫鏈接。


11


11.1位置:$FND_TOP/secure directory


11.2 重要性:在其他事務中指向數據庫。


11.3 應用程序通過使用“Applications Database Id.”來了解DBC文件的名字。
怎樣查看數據庫引擎的報錯


解答:alert log.


7.? ? 比較truncate和delete 命令


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

(1) A 表中有100條記錄.

  SELECT * FROM A WHERE A.COLUMN1 = A.COLUMN1

  這個語句返回幾條記錄?

  (2) CREATE SEQUENCE PEAK_NO

  SELECT PEAK_NO.NEXTVAL FROM DUAL --> 假設返回1

  10秒中后,再次做

  SELECT PEAK_NO.NEXTVAL FROM DUAL --> 返回多少?

  (3) SQL> connect sys as sysdba

  Connected.


  SQL> insert into dual values ( 'Y');

     1 row created.

  SQL> commit;

     Commit complete.

  SQL> select count(*) from dual;

     COUNT(*)

     ----------

     2

  SQL> delete from dual;

     commit;

     -->DUAL里還剩幾條記錄?

自己解答:
(1) 100
(2) 2
(3) 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產品的目錄。

================================================

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


2.你必須利用備份恢復數據庫,但是你沒有控制文件,該如何解決問題呢?
?

3.如何轉換init.ora到spfile?

4.解釋data block , extent 和 segment的區別(這里建議用英文術語)
?


5.給出兩個檢查表結構的方法
?
6.怎樣查看數據庫引擎的報錯
? .
7事務是什么?




8 oracle中truncate和delete命令有何區別?


?

9 Oracle中char和varchar2數據類型有什么區別?有數據”test”分別存放到char(10)和varchar2(10)類型的字段中,其存儲長度及類型有何區別?


10 什么是聚集索引,什么是非聚集索引,什么又是主鍵?

====================================

1、EXISTS與IN的執行效率問題
在許多基于基礎表的查詢中,為了滿足一個條件,往往需要對另一個表進行聯接.在這種情況下,如果另一個表是小表用in 效率高,是大表用exists 效率高。

2、PL/SQL包含哪些部分
? ? ? ? Pl/sql 的塊結構包括:定義部分,執行部分,異常處理部分。

3、BETWEEN AND 邊界問題
? ? ? ? Between and 包括邊界值

4、帶條件的查詢語句
? ? ? ? Select * from xx where …;

6、索引的創建問題
? 參考:
? ? ? ? 要在自己的模式中創建索引,滿足的條件:
? ? ? ? ? A、被索引的表或者簇在自己的模式中;
? ? ? ? ? B、在要被索引的表上具有index 權限或者有create any index 系統權限。
? ? ? ? 要在其它模式中創建索引,滿足的條件:
? ? ? ? ? A、具有create any index 系統權限;
? ? ? ? ? B、其它模式的擁有者在保存索引或索引分區的表空間中有限額,或者他具有unlimited tablespace

7、DML,DDL有哪些語句
DDL 數據定義語言: CREATE,DROP,ALTER,GRANT,REVOKE,TRUNCATE,ANALYZE
? ? ? ? DML 數據操縱語言: SELECT,INSERT,UPDATE,DELETE,SET TRANCTION等

9、數據庫的COMMIT與ROLLBACK
? ? ? ? COMMIT:提交事務
ROLLBACK:回滾事務

11、DELETE與TRUNCATE的區別
? ? ? ? ? truncate可以快速清空表,釋放空間,但不能回滾;?
? ? ? ? delete可刪除指定條件記錄并可回滾
------------------------------------------------------------

1.存儲過程和函數的區別
存儲過程是用戶定義的一系列sql語句的集合,涉及特定表或其它對象的任務,用戶可以調用存儲過程,而函數通常是數據庫已定義的方法,它接收參數并返回某種類型的值并且不涉及特定用戶表。
2.事務是什么?
事務是作為一個邏輯單元執行的一系列操作,一個邏輯工作單元必須有四個屬性,稱為ACID(原子性、一致性、隔離性和持久性)屬性,只有這樣才能成為一個事務:
原子性
事務必須是原子工作單元;對于其數據修改,要么全都執行,要么全都不執行。
一致性
事務在完成時,必須使所有的數據都保持一致狀態。在相關數據庫中,所有規則都必須應用于事務的修改,以保持所有數據的完整性。事務結束時,所有的內部數據結構(如B樹索引或雙向鏈表)都必須是正確的。
隔離性
由并發事務所作的修改必須與任何其它并發事務所作的修改隔離。事務查看數據時數據所處的狀態,要么是另一并發事務修改它之前的狀態,要么是另一事務修改它之后的狀態,事務不會查看中間狀態的數據。這稱為可串行性,因為它能夠重新裝載起始數據,并且重播一系列事務,以使數據結束時的狀態與原始事務執行的狀態相同。
持久性
事務完成之后,它對于系統的影響是永久性的。該修改即使出現系統故障也將一直保持。

3.游標的作用?如何知道游標已經到了最后?
游標用于定位結果集的行,通過判斷全局變量@@FETCH_STATUS可以判斷是否到了最后,通常此變量不等于0表示出錯或到了最后。
4.觸發器分為事前觸發和事后觸發,這兩種觸發有和區別。語句級觸發和行級觸發有何區別。
事前觸發器運行于觸發事件發生之前,而事后觸發器運行于觸發事件發生之后。通常事前觸發器可以獲取事件之前和新的字段值。
語句級觸發器可以在語句執行前或后執行,而行級觸發在觸發器所影響的每一行觸發一次。
----------------------------------------------------------------------------------------------

?

看看這個網站的Oracle面試題專欄 無數有用的面試題

* .NET/C#面試題
? ? * ASP面試題
? ? * C/C++面試題
? ? * EJB面試題
? ? * Hibernate面試題
? ? * HR面試
? ? * IQ測試面試題
? ? * Java/J2EE面試題
? ? * LINUX/UNIX面試題
? ? * LoadRunner面試題
? ? * Mobile開發面試題
? ? * MySQL面試題
? ? * Oracle面試題
? ? * PHP面試題
? ? * Spring面試題
? ? * SQL Server面試題
? ? * Struts面試題
? ? * Web開發面試題
? ? * 外企面試
? ? * 嵌入式開發
? ? * 應屆生面試題
? ? * 數據庫面試題
? ? * 綜合技術面試題
? ? * 網友面經
? ? * 網絡技術面試題
? ? * 英語面試題
? ? * 軟件測試題
? ? * 面試指導

=========================================

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

  解答:熱備份針對歸檔模式的數據庫,在數據庫仍舊處于工作狀態時進行備份。而冷備份指在數據庫關閉后,進行備份,適用于所有模式的數據庫。熱備份的優點在于當備份時,數據庫仍舊可以被使用并且可以將數據庫恢復到任意一個時間點。冷備份的優點在于它的備份和恢復操作相當簡單,并且由于冷備份的數據庫可以工作在非歸檔模式下,數據庫性能會比歸檔模式稍好。(因為不必將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產品

  的目錄。

  21. 如何判斷數據庫的時區?

  解答:SELECT DBTIMEZONE FROM DUAL;

  22. 解釋GLOBAL_NAMES設為TRUE的用途

  解答:GLOBAL_NAMES指明聯接數據庫的方式。如果這個參數設置為TRUE,在建立數據庫鏈接時就必須用相同的名字連結遠程數據庫

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

  解答:WRAP

  24. 解釋FUNCTION,PROCEDURE和PACKAGE區別

  解答:function 和procedure是PL/SQL代碼的集合,通常為了完成一個任務。procedure 不需要返回任何值而function將返回一個值在另一

  方面,Package是為了完成一個商業功能的一組function和proceudre的集合

  25. 解釋TABLE Function的用途

  解答:TABLE Function是通過PL/SQL邏輯返回一組紀錄,用于普通的表/視圖。他們也用于pipeline和ETL過程。

  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的作用

  解答:Materialized views 用于減少那些匯總,集合和分組的信息的集合數量。它們通常適合于數據倉庫和DSS系統。

  29. 當用戶進程出錯,哪個后臺進程負責清理它

  解答: PMON

  30. 哪個后臺進程刷新materialized views?

  解答:The Job Queue Processes.

  31. 如何判斷哪個session正在連結以及它們等待的資源?

  解答:V$SESSION / V$SESSION_WAIT

  32. 描述什么是 redo logs

  解答:Redo Logs 是用于存放數據庫數據改動狀況的物理和邏輯結構。可以用來修復數據庫.

  33. 如何進行強制LOG SWITCH?

  解答:ALTER SYSTEM SWITCH LOGFILE;

  34. 舉出兩個判斷DDL改動的方法?

  解答:你可以使用 Logminer 或 Streams

  35. Coalescing做了什么?

  解答:Coalescing針對于字典管理的tablespace進行碎片整理,將臨近的小extents合并成單個的大extent.

  36. TEMPORARY tablespace和PERMANENT tablespace 的區別是?

  解答:A temporary tablespace 用于臨時對象例如排序結構而 permanent tablespaces用來存儲那些'真實'的對象(例如表,回滾段等)

  37. 創建數據庫時自動建立的tablespace名稱?

  解答:SYSTEM tablespace.

  38. 創建用戶時,需要賦予新用戶什么權限才能使它聯上數據庫。

  解答:CONNECT

  39. 如何在tablespace里增加數據文件?

  解答:ALTER TABLESPACE ADD DATAFILE SIZE

  40. 如何變動數據文件的大小?

  解答:ALTER DATABASE DATAFILE RESIZE ;

  41. 哪個VIEW用來檢查數據文件的大小?

  解答: DBA_DATA_FILES

  42. 哪個VIEW用來判斷tablespace的剩余空間

  解答:DBA_FREE_SPACE

  43. 如何判斷誰往表里增加了一條紀錄?

  解答:auditing

  44. 如何重構索引?

  解答: ALTER INDEX REBUILD;

  45. 解釋什么是Partitioning(分區)以及它的優點。

  解答:Partition將大表和索引分割成更小,易于管理的分區。

  46. 你剛剛編譯了一個PL/SQL Package但是有錯誤報道,如何顯示出錯信息?

  解答:SHOW ERRORS

  47. 如何搜集表的各種狀態數據?

  解答: ANALYZE

  The ANALYZE command.

  48. 如何啟動SESSION級別的TRACE

  解答: DBMS_SESSION.SET_SQL_TRACE

  ALTER SESSION SET SQL_TRACE = TRUE;

  49. IMPORT和SQL*LOADER 這2個工具的不同點

  解答:這兩個ORACLE工具都是用來將數據導入數據庫的。

  區別是:IMPORT工具只能處理由另一個ORACLE工具EXPORT生成

  的數據。而SQL*LOADER可以導入不同的ASCII格式的數據源

  50。用于網絡連接的2個文件?

  解答: TNSNAMES.ORA and SQLNET.ORA

---------------------------------------------------

1.在數據庫中條件查詢速度很慢的時候,如何優化?
1.建索引
2.減少表之間的關聯
3.優化sql,盡量讓sql很快定位數據,不要讓sql做全表查詢,應該走索引,把數據量大的表排在前面
4.簡化查詢字段,沒用的字段不要,已經對返回結果的控制,盡量返回少量數據

1 使用函數時,下列哪一個描述是不正確的
A 不要忘記獲取返回值
B 不能用過程來調用函數
C 可以定義不能返回值的函數
D 可以定義沒有返回類型的函數

2 下列關于包的說法,不正確的是
A 不能夠在還沒有編寫包主體的情況下調用包
B 主體包含了規范的實現、以及私有例程/數據/變量
C 不能直接調用Oracle提供的包
D DBMS_OUTPUT程序包可以讓用戶輸出文本信息
3 PL/SQL匿名塊中
A 注釋可以嵌套 B 執行體可以嵌套
C 所有組成成分都不能嵌套 D 以上答案均不正確

第一題選B,過程完全可以調用函數,只要接收回值就和調用其他過程一樣。
第二題選C,oracle 提供的包就是一些pl/sql形式的API,當然可以調用了。
第三題選B,一個使用 begin/end 的塊中可以包含其他 begin/end 塊。

1 如何增加buffer cache的命中率?

解答:在數據庫較繁忙時,適用buffer cache advisory 工具,查詢v$db_cache_advice . 如果有必要更改,可以使用 alter system set db_cache_size 命令

2 ora-01555的應對方法?

解答:具體的出錯信息是snapshot too old within rollback seg , 通常可以通過增大rollback seg來解決問題。當然也需要察看一下具體造成錯誤的sql文本

3. 解釋$oracle_home和$oracle_base的區別?

解答:oracle_base是oracle的根目錄,oracle_home是oracle產品的目錄。

oracle面試題目總結


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 四虎成人精品在永久免费 | 午夜dy888理论不卡达达兔 | 日韩伊人 | 精品久久久久亚洲 | 四虎影院永久地址 | 国产全黄一级毛片 | 精品福利一区二区三区免费视频 | 亚洲香蕉毛片久久网站老妇人 | 免费在线一级毛片 | 亚洲精品tv久久久久久久久 | 911视频免费版| 久久国产精品2020盗摄 | 99久久精品在免费线18 | 亚洲视频在线网站 | www伊人 | 成人国内精品久久久久影 | 国产视频一区二区在线播放 | 久久婷婷丁香七月色综合 | 在线免费国产视频 | 好吊妞视频在线 | 亚洲特级片 | 国产亚洲欧美日韩综合另类 | 日本不卡在线观看 | 一区二区三区四区亚洲 | 国产a免费视频 | 黑人一级毛片 | 九九99| 日日操天天操夜夜操 | 激性欧美激情在线播放16页 | 六月丁香深爱六月综合激情 | 亚洲日韩欧美一区二区在线 | 国产成人v片视频在线观看 国产成人爱片免费观看视频 | 久热这里只精品99国产6_99 | 欧美专区一区二区三区 | 欧美精品v欧洲精品 | 青青久视频| 尹人香蕉久久99天天 | 99久久免费国产特黄 | 亚洲欧洲国产经精品香蕉网 | 人人干人人草 | 亚洲国产人成在线观看69网站 |