極詳細oracle數據庫面試題目匯總_第1頁
極詳細oracle數據庫面試題目匯總_第2頁
極詳細oracle數據庫面試題目匯總_第3頁
極詳細oracle數據庫面試題目匯總_第4頁
極詳細oracle數據庫面試題目匯總_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1.對字符串操作的函數?答:ASCII( -函數返回字符表達式最左端字符的ASCII 碼值CHR( -函數用于將ASCII 碼轉換為字符-如果沒有輸入0 255 之間的ASCII 碼值CHR 函數會返回一個NULL 值-應該是必須給chr(賦數字值concat(str,str連接兩個字符串LOWER( -函數把字符串全部轉換為小寫UPPER( -函數把字符串全部轉換為大寫LTRIM( -函數把字符串頭部的空格去掉RTRIM( -函數把字符串尾部的空格去掉TRIM( -同時去掉所有兩端的空格實際上LTRIM(,RTRIM(,TRIM(是將指定的字符從字符串中裁減掉其中LTRIM(,RTRIM(的

2、格式為xxxx(被截字符串,要截掉的字符串,但是TRIM(的格式為TRIM(要截掉的一個字符from 被截的字符串SUBSTR( -函數返回部分字符串INSTR(String,substring -函數返回字符串中某個指定的子串出現的開始位置,如果不存在則返回0REPLACE(原來的字符串,要被替換掉的字符串,要替換成的字符串SOUNDEX( -函數返回一個四位字符碼-SOUNDEX函數可用來查找聲音相似的字符串但SOUNDEX函數對數字和漢字均只返回NULL 值2、事務概念答案:事務是這樣一種機制,它確保多個SQL語句被當作單個工作單元來處理。事務具有以下的作用:* 一致性:同時進行的查詢和

3、更新彼此不會發(fā)生沖突,其他用戶不會看到發(fā)生了變化但尚未提交的數據。* 可恢復性:一旦系統(tǒng)故障,數據庫會自動地完全恢復未完成的事務。3、oracle中查詢系統(tǒng)時間答:select sysdate from dual4、觸發(fā)器的作用,什么時候用觸發(fā)器,創(chuàng)建觸發(fā)器的步驟,觸發(fā)器里是否可以有commit, 為什么?答案:觸發(fā)器是可以由事件來啟動運行的,存在于數據庫服務器中的一個過程。他的作用:可以實現一般的約束無法完成的復雜約束,從而實現更為復雜的完整性要求。使用觸發(fā)器并不存在嚴格的限定,只要用戶想在無人工參與的情況下完成一般的定義約束不可以完成的約束,來保證數據庫完整性,那么就可以使用觸發(fā)器。由于觸

4、發(fā)器主要是用來保證數據庫的完整性的,所以要創(chuàng)建一個觸發(fā)器,首先要明確該觸發(fā)器應該屬于那一種(DML,INSTEAD OF,SYSTEM因為他們各有個的用途;其次就是要確定觸發(fā)器被觸發(fā)以后所設計到的數據。出發(fā)器中不可以使用COMMIT。5.數字函數abs(絕對值exp(valuee的value次冪ceil(大于等于該值的最小整數floor(小于等于該值的最大整數trunc(value,precision保留precision個小數截取value round(value,precision保留precision個小數對value進行四舍五入sign(根據值為正負零返回1,-1,0 mod(取模操作

5、power(value,exponentvalue的exponent次冪sqrt(求平方根1.初級4、關系數據庫系統(tǒng)與文件數據庫系統(tǒng)的區(qū)別在那里?關系數據庫系統(tǒng)一般適用那些方面?答案:關系數據庫系統(tǒng)文件系統(tǒng)的區(qū)別在于:首先,關系性數據庫的整體數據是結構化的,采用關系數據模型來描述,這是它與文件系統(tǒng)的根本區(qū)別。(數據模型包括:數據結構,數據操作以及完整性約束條件其次,關系數據庫系統(tǒng)的共享性高,冗余低可以面向整個系統(tǒng),而文件系統(tǒng)則具有應用范圍的局限性,不易擴展。第三,關系數據庫系統(tǒng)采用兩級映射機制保證了數據的高獨立性,從而使得程序的編寫和數據都存在很高的獨立性。這方面是文件系統(tǒng)無法達到的,它只能針

6、對于某一個具體的應用。(兩級映射:保證邏輯獨立性的外模式/模式映射和保證物理獨立性的內模式/模式映射。外模式:用戶模式,是數據庫用戶的局部數據的邏輯結構特征的描述。模式:數據庫全體數據的邏輯結構特征的描述。內模式:也就是數據最終的物理存儲結構的描述。第四,就是關系性數據庫系統(tǒng)由統(tǒng)一的DBMS進行管理,從而為數據提供了如安全性保護,并發(fā)控制,完整性檢查和數據庫恢復服務。5、觸發(fā)器的概念,存儲過程的概念.答案:觸發(fā)器:是存儲在數據庫中的過程,當表被修改(增、刪、改時它隱式地被激發(fā)。存儲過程:是數據庫語言SQL的集合,同樣也存儲在數據庫中,但是他是由其他應用程序來啟動運行或者也可以直接運行。6、基本

7、SQL語句有哪些.答案:select、insert、update、delete、create、drop、truncate1.中級8、什么是事務一致性? 選擇熟悉的數據庫實現一個事務處理,如信用卡提款.答案:事務的一致性:是事務原子性的體現,事務所對應的數據庫操作要么成功要么失敗沒有第三種情況。事務不管是提交成功與否都不能影響數據庫數據的一致性狀態(tài)。事務:用戶定義的一個數據庫操作序列,這些操作要么全部成功完成要么全部不做,是一個不可分割的整體。定義事務的SQL語句有:BEGIN TRANSACTION,COMMIT, ROLLBACK。事務的原子性:就是事務所包含的數據庫操作要么都做,要么都不做

8、.事務的隔離性:事務對數據的操作不能夠受到其他事務的影響。事務的持續(xù)性:也就是說事務對數據的影響是永久的。對'信用卡提款'這一事務而言就是要保證'提取到現金'和'卡帳號余額'的修改要同時成功或失敗.BEGIN TRANSACTION讀取A的帳戶余額BALANCE;BALANCE=BALANCE-AMOUNT轉帳金額;IF(BALANCE<0THENROLLBACK;ELSEBEGIN將A的新余額寫回;讀取B的帳戶余額BALANCEB;BALANCEB=BALANCEB+AMOUNT轉帳金額;將B的新余額寫回;COMMIT;END IF;EN

9、D;9、實際編寫和調試存儲過程或觸發(fā)器.答案:10、實現索引的方式? 索引的原理? 索引的代價? 索引的類型?答案:實現索引的方式有兩種:針對一張表的某些字段創(chuàng)建具體的索引,如對oracle: create index 索引名稱on 表名(字段名;在創(chuàng)建表時為字段建立主鍵約束或者唯一約束,系統(tǒng)將自動為其建立索引。索引的原理:根據建立索引的字段建立索引表,存放字段值以及對應記錄的物理地址,從而在搜索的時候根據字段值搜索索引表的到物理地址直接訪問記錄。引入索引雖然提高了查詢速度,但本身占用一定的系統(tǒng)存儲容量和系統(tǒng)處理時間,需要根據實際情況進行具體的分析.索引的類型有:B樹索引,位圖索引,函數索引等

10、。11、view 的概念? 何時應用?答案:view 是對表級數據的多角度的透視,適用于對查詢安全性、靈活性有一定要求的環(huán)境12、sql語句例外處理?舉例說明?答案:當sql 語句在執(zhí)行過程中出現意外時,如查詢時,未查詢到結果;更改時無記錄等情況的應采取的措施.以oracle為例:測試其對exception的理解.如select 字段into 變量from table ;若查詢出多條記錄,應增加exception 例外處理.Oracle處理異常有三種:1.預定義的例外處理,EXCEPTION WHEN exception_name THEN2.EXCEPTION_INIT產生例外首先要decl

11、are 聲明一個例外名;然后將例外名和錯誤代碼綁定pragmaexception_init(錯誤名,錯誤代碼;最后在EXCEPTION 處when 錯誤名then3.用戶自定義例外,不用EXCEPTION,當判斷條件成熟時用raise_application_error(-20000-20999,提示信息。13、判斷下列論述是否正確。(1 一個事務中的某條SQL命令提交時,其它SQL命令可以不提交。(2 在一個關系表中,主鍵可唯一標識一行記錄。(3 一個關系表中的外鍵必定是另一表中的主鍵。(4 回滾可以在事務失敗時,回到操作事務前的數據狀態(tài)。答案:(1錯誤(2正確(3正確(4正確14、以下哪些

12、手段可保證數據庫中數據的完整性和一致性:(1自定義數據類型(2觸發(fā)器(3主鍵和外鍵(4事務答案:(1(2(3(4 (為什么有115、使用存儲過程訪問數據庫比直接用SQL語句訪問有哪些優(yōu)點?答案:存儲過程是預編譯過的,執(zhí)行時勿須編譯,執(zhí)行速度更快;存儲過程封裝了一批SQL 語句,便于維護數據的完整性與一致性;可以實現代碼的復用。1.高級16、對于精通的數據庫系統(tǒng)描述其體系結構,主要包括存儲機制、回滾機制、運行機制等.答案:對oracle 系統(tǒng)而言,描述sga的結構; 后臺pmon,ckpt、lgwr,smon等進程的功能;表空間的分配策略; 回滾段的結構oracle的sga(系統(tǒng)全局區(qū)包括的主要

13、區(qū)有:數據庫緩存區(qū),重做日志緩存區(qū),共享池(數據字典緩存和庫緩存,大池等。數據庫緩存區(qū)用來存放最近使用過的數據塊主要和后臺進程中的數據庫寫進程(DBWR以及數據文件發(fā)生關系;重做日志緩存區(qū)用于存放操作數據庫數據所產生的重做日志信息,與之合作的有重做日志寫進程(LGWR和重做日志文件;共享池主要緩存SQL/PLSQL,資源鎖,控制信息等,其中的庫緩存主要緩存被解析執(zhí)行過的SQL/PLSQL庫緩存可分為共享SQL和私有SQL兩個區(qū),共享SQL用于存放SQL語句的語法分析結果和執(zhí)行計劃,私有SQL則用來存放與具體SQL語句執(zhí)行有關的綁定變量,會話參數等。ORACLE實例的另外一個重要部分就是其后臺進

14、程,主要的后臺進程有:數據庫寫進程(DBWR,重做日志寫進程(LGWR,系統(tǒng)監(jiān)視器(SMON,進程監(jiān)視器(PMON,檢查點進程(CKPT。DBWR主要是對數據庫緩存區(qū)中的臟冷數據進行寫入數據文件操作; LGWR主要是將對數據庫數據操作所產生的重做日志信息寫入到重做日志文件中;SMON 完成由于非正常關閉數據庫的情況下重起數據庫時對數據庫的恢復;PMON用來恢復失敗的用戶進程和服務進程,并釋放其所占的系統(tǒng)資源;CKPT可以表示數據庫在此出處于完整狀態(tài)。邏輯存儲結構:數據塊BLOCK,區(qū)EXTENT,段SEGMENT,表空間TABLESPACE物理存儲空間:表空間,數據文件,控制文件,日志文件,數

15、據字典軟件體系結構就是上邊對SGA和后臺進程的描述。17、對于精通的數據庫系統(tǒng)描述其數據一致性的保證機制,包括lock,事務一致性等.答案:在并發(fā)環(huán)境下,采用多種機制保持其數據的一致性,如oracle系統(tǒng)提供的事務級的一致性、行級鎖、表級鎖等等.18、對精通的數據庫系統(tǒng)描述其聯機備份機制、恢復機制,考核其對日志的理解.答案:描述相關數據庫的實時聯機備份策略,如數據庫系統(tǒng)在運行中通過何種方式保證其數據的實時備份, 出現問題時,應采取何種辦法從聯機備份進行恢復.對對oracle而言,其archive online 備份方式應如何設置、修改什么參數、如何安排備份空間等等.19、精通的數據庫系統(tǒng)描述性

16、能優(yōu)化方法,包括優(yōu)化的策略、參數、驗證方法等.答案:20、Truncate; 與delete;的區(qū)別?(這道題可以衍生出很多的問題比如:想快速的清除一個很大的表中的數據應該用設么操作?答案是:應該用truncate。還有,在對兩個相同紀錄數的分別表使用了truncate,和delete commit;后對這兩個表進行count(*統(tǒng)計記錄數操作,那個表速度會快些?答案是:使用了truncate的會快些。21、寫一個游標并使用它。(這道題應該注意的是:在使用游標后一定要記得關閉游標。DeclareCursor cursor_name isSelect * from tablename;Begin

17、Open cursor_name;LoopFetch cursor_name into bianliang;Exit when cursor_name%notfound;Sql.End loop;Close cursor_name;End;22、在創(chuàng)建表的時候會設置pctfree 10pctused 40而創(chuàng)建表的索引的時候卻沒有pctused 40這是為什么?(這道題的主要思想是索引不能在pctused 40上得到什么好處23、使用過的最大的表有多少行紀錄?(這道題不是看應試者的技術過不過關,而是考察應試者是否有大型數據庫的管理操作經驗不要對表的索引列進行函數操作,因為這樣系統(tǒng)就不能使用索引

18、,使查詢變得很慢,但是在ora8i以后就已經開始支持函數的索引,彌補了這個不足。24、ORACLE數據庫啟動與關閉的步驟啟動:啟動實例-加載數據庫數據-打開數據庫關閉:關閉數據庫-卸載數據庫數據-關閉實例25、Delete與truncate的區(qū)別delete一般用于刪除少量記錄的操作,而且它是要使用回滾段并且要進行顯示的提交事務。而truncate則使用于大量刪除數據,而且隱式提交事務,其速度要比使用delete快的多。26、DDL和DML分別代表什么?DDL表示數據定義語言,在ORACLE中主要包括CREA TE,ALTER,DROPDML表示數據操作語言,主要的DML有SELECT,INS

19、ERT,UPDA TE,DELETE28、Javascript中動態(tài)效果時調用的函數。29、數據庫中有若干條相同的記錄,刪除到只剩下一條記錄。如何做,請用SQL語句通過ROW_ID來寫出執(zhí)行過程。Delete table_name where ziduan=and rowed<(select max(rowed from table_name where ziduan=;30、oracle數據庫表存放到磁盤什么地方(什么物理空間上大概意思?Oracle數據庫表存放在數據文件上。31、Oracle使用什么語句給用戶分配權限?GRANT TO 語句32、你在項目現場,用戶要求你向正在運行的表

20、中添加一個字段,你該怎么做?第一種方法:關閉數據庫,然后使用受限模式打開,由sys/sysdba來進行第二種方法:不關閉數據庫,將數據庫置于靜默狀態(tài)在SYS/SYSDBA模式下用ALTER SYSTEM QUISCE RESTRICTED,這種狀態(tài)下只有SYS/SYSDBA才可以對數據庫進行操作,修改完畢之后再退出靜默狀態(tài)ALTER SYSTEM UNQUISCE在這里復習到了數據庫的兩種特殊狀態(tài):靜默狀態(tài)(QUISCE和掛起狀態(tài)靜默狀態(tài)就是只有特殊權限的SYS/SYSDBA才可以對數據庫進行操作,使用ALTER SYSTEM QUISCE RESTRICTED以后系統(tǒng)將等候活動著的會話主動結

21、束,同時阻止建立新的會話,系統(tǒng)掛起所有的SQL語句,等恢復以后再重新激活會話執(zhí)行掛起的SQL。掛起狀態(tài)就是系統(tǒng)將數據庫所有對物理文件(數據文件,控制文件,日志文件的I/O操作都暫停,但是并不禁止非DBA用戶對數據庫進行操作。這種狀態(tài)主要用于進行數據庫備份。33、Oracle中回滾的概念?回滾段有什么作用?;貪L就是在事務提交之前將數據庫數據恢復到事務修改之前數據庫數據狀態(tài)?;貪L段就是為回滾提供依據,記錄的是事務操作數據庫之前的數據或者對應于以前操作的操作,這個內容要根據以前的操作而定。比如說以前事務操作如果是UPDA TE那么回滾段則存儲UPDA TE以前的數據,如果事務是DELETE操作那么存

22、儲的則是與之相對應的INSERT操作語句,相反如果事務操作是INSERT那么記錄相應的則是DELETE操作了。34、Oracle的8I和9I有什么區(qū)別35、一張表有10萬條記錄,如何刪除其中的任意20條記錄?請用SQL語句進行操作36、客戶端如何訪問服務器端的oracle?如果客戶端無法訪問服務器端的oralce,可能會是什么原因?客戶端通過網絡或者進程方式以合法的用戶身份來取得和服務器端ORACLE的連接。如果客戶端無法訪問服務器端ORACLE可能出現的原因是:用戶無權訪問;服務器端數據庫并沒有打開(啟動數據庫的第三步沒有完成;如果服務器是在共享模式下的則有可能沒有對應于該客戶所使用的通信協(xié)

23、議的調度進程Dnnn。37、oracle中執(zhí)行語句錯誤時去哪里查找錯誤信息?Select * from USER_ERRORS38、select語句需要提交嗎?insert和update語句呢?39、在執(zhí)行insert語句并提交后,這些提交的數據存儲到什么地方?被存儲到數據文件中40、oracle中有哪些類型的文件?數據文件,控制文件,日志文件和數據字典41、介紹一下oracle的體系結構?邏輯體系結構:塊,區(qū),段,表空間物理體系結構:表空間,三大文件軟件體系結構:SGA,后臺進程42、談談對oracle的row_ id是否理解?請簡述?ORACLE的row_id是一個偽列,其個是為18個字節(jié)

24、可將這18個字節(jié)用6363來劃分,分別表示段編號,數據文件編號,數據塊編號和記錄編號。Row_id表示的是一個記錄的物理存儲地址。43、oracle中如何刪除用戶?Oracle中使用DROP USER來刪除用戶,如果使用DROP USER CASCADE那么用戶的對象也同時被刪除掉。為了達到刪除用戶的效果而又不影響對用戶下的對象的使用可以使用alter user username account lock將用戶鎖定。44、客戶端對服務器端的oralce操作的流程是什么?專用模式下:用戶通過應用程序進程試圖去得到一個與ORACLE數據庫服務器的連接客戶端通過網絡傳遞連接請求,ORACLE服務器則

25、使用監(jiān)聽進程監(jiān)聽用戶請求,并且來驗證用戶身份,通過驗證則為用戶分配一專用服務進程用戶提交SQL語句專用服務進程則首先在SGA區(qū)的共享池中檢查是否有與該SQL語句相似的已經被解析執(zhí)行并且緩存的SQL語句,如果有則采用它的解析結果和執(zhí)行計劃執(zhí)行SQL語句,如果沒有則對SQL 語句進行語法解析生成執(zhí)行計劃通過解析則執(zhí)行操作獲取數據將執(zhí)行結果返回給客戶。共享模式下:與專用模式不同在于當監(jiān)聽程序驗證用戶的合法性以后并不為它分配一個專用的服務進程,而是將該請求與響應的調度進程相聯系起來,并將起放入到一個請求隊列中,最終由響應的Dnnn來從調度隊列中獲取一個請求并為之分配一個空閑的服務進程,接下來有服務進程

26、對該請求進行服務操作和專用方式下相同,處理完成之后由服務進程先將結果放入一個返回隊列最后再由調度進程(Dnnn將返回隊列中的結果返回給對應的用戶。45、exits和in在ORALCE數據庫中那個執(zhí)行效率更高?Exits執(zhí)行效率比in高。因為:46、如何判斷游標已經到最后一行?Cursor_name%notfound47、聚簇索引和普通索引在不同的SQL語句中哪個效率更高?(筆試題,原題回憶不起來,主題就是聚簇索引和普通索引的區(qū)別概念類:聚合函數? Session的定義和用法?Oracle的存儲過程?什么是構造函數?48、簡述ORACLE中SGA的組成部分。答:系統(tǒng)全局區(qū)包括:共享池、重做日志緩

27、存區(qū)、數據高速緩存區(qū),大池,JA V A池。49、簡述ORACLE的啟動和關閉各有多少步驟?啟動:啟動實例、裝載數據庫數據、打開數據庫。關閉:關閉數據庫、卸載數據庫數據、關閉實例。50、在Oracle表空間的分類和作用,如排序時數據將放在什么表空間?作用是為了突破存儲容量的限制,是一個邏輯概念。排序數據放在臨時表空間。51、執(zhí)行COMMIT命令時,數據庫將會發(fā)生什么改變,ROLLBACK呢?答:commit 提交時首先是與事務對應的重做日志信息將被寫入到數據庫物理文件中的重做日志文件中,至于是否會真正將事務操作的內容反映到數據文件還好看DBWR是否啟動了。在完成數據庫的插入,刪除和修改操作時,

28、只有當事務提交到數據庫才算完成,有提交前只有操作數據庫的本人才能看到,別人只有在最后提交完成才可以看到。ROLLBACK回滾當前尚未提交的事務,使數據庫恢復到事務操作前的狀態(tài)。52、用命令創(chuàng)建用戶,并為用戶授權。Create user user_nameidentified by password /identified externally/identified blobally as CN=userdefault tablespace tablespace_nametemporary tablespace tablespace_name;grant role/privilege to us

29、er_name;53、寫一個存儲過程,使employee(name,age,emp_no,salary表中的salary值在0-1000之間的員工的工資上漲20%,(提示:要求用到游標Cteate or replace procedure emp_salV_name %type;V_emp_no employee.emp_no%type;V_salary employee.salary%type;Cursor cursor_sal isSelect name,emp_no,salary from employee where salary between 0 and

30、1000;BeginOpen cursor_sal;LoopFetch cursor_sal into v_name,v_emp_no,v_salary;Exit when cursor_sal%notfound;Update employee set salary=salary*1.2 where name=v_name and emp_no=v_emp_no;End loop;Close cursor_sal;Commit;End;54、ORACLE數據庫都有哪些類型的文件?數據文件,控制文件,日志文件,參數文件55、用命令創(chuàng)建表空間、用戶,并為用戶授權、收回權限。Create table

31、space tabllespacenameDatafile f:orcluser001.dbf size 20mDefault storage(Initial 512kNext 512kminextents 2pctincrease 50%maxExitnts 2048minimum extent 512kloggingonlinepermanentextent management dictionary;回收權限:revoke privilege from user;create tablespace tablespace_namedatafile default storage(initi

32、al xxxkbnext yykbminextents 2pctincrease nnnnmaxextents mmmloggingonlineextent management dictionary/localautoallocate/uniform size xxxmb;create user user_nameidentified by passwore/identified externally/identified globally as CN=userdefault tablespace tablespace_nametemporary tablespace tablespace_

33、nameaccount lock /unlockgrant connect to user_name;grant create table to suer_name;grant update on table_name to user_name;revoke create table from user_name;revoke update on table_name from user_name;56、在Oracle中如何更改用戶名?57、如何在Oracle中查詢某個用戶下所有已建的表?答:select * from cat;57、執(zhí)行TRUNCA TE命令后,存儲空間是否還存在,是否可被其

34、他的表占用?執(zhí)行TRUNCA TE之后,為表分配的區(qū)空間將被回收HWM將回退,如果在使用TRUNCA TE 的時候沒有指定REUSE STORAGE那么執(zhí)行操作后僅僅留下由MINEXTENTS所指定的區(qū)否則表的所有空間將被回收用于再分配。59、何在Oracle中查看當前用戶,通常有哪些方式?(提示:show user和select * from user_usersshow user;/select username from user_users;60、出在Oracle中,創(chuàng)建表空間的語法結構,以及所含參數說明。Create tablespace tablespacenameDatafile

35、 Logging/nologgingDefault storage(initial kbNext kbMinextents xMaxextents yPctincrease zonline/not onlineextent management dictionary/localautoallocate/uniform size kb;61、如何判斷游標是否到了末尾?(提示:用%notfoundcursor_name%notfound62、在Oracle中,如何查看當前用戶下的所有表空間?Select tablespace_name from user_tablespaces;63、在Oracl

36、e中,你所創(chuàng)建的表空間信息放在哪里?存放在數據字典中,數據字典內容對應于系統(tǒng)表空間SYSTEM表空間。64、ORACLE中的控制文件什么時候讀取?ORACLE服務器啟動時,先啟動實例然后再讀取數據庫的各個文件當然也包括控制文件。也就是說在數據庫服務器啟動的第二步時讀取。65、Oracle的表格信息存儲在哪個地方?SYSTEM表空間的數據字典文件中。66、如何根據字典創(chuàng)建一個表空間,并說明參數?66、ORACLE中當一個用戶正在操作一個執(zhí)行過程,管理員此時取消了他的權限,會發(fā)生什么事情?68、談談你對角色的理解,常用的角色有哪些?角色就是一組權限的數據庫實體,它不屬于任何模式或用戶但是可以被授予

37、任何用戶。常用的角色有CONNECT,DBA,RESOURCE,SELECT_CA TALOG_ROLE(查詢所有表視圖權,DELETE_CA TALOG_ROLE(刪除權限等。角色的創(chuàng)建和授權:和創(chuàng)建用戶為用戶授權差不多。Create role role_name identified grant 權限to role_name。69、簡述Oracle的歸檔與不歸檔工作模式,分別說明。Oracle歸檔模式是指在創(chuàng)建數據庫時指定了ARCHIVELOG參數,這種模式下,當重做日志文件寫滿的時候會將該重做日志文件的內容保存到指定的位置(由初始化文件中的參數ARCHIVE_LOG_DEST_n來決定。

38、并不是數據庫在歸檔模式下工作的時候就可以自動完成歸檔操作,在歸檔模式下可以有兩種歸檔方式:自動歸檔(在初始化文件中的參數ARCHIVE_LOG_START被設置為TRUE和手動歸檔。如果歸檔模式下沒有啟動自動歸檔的話,而且又沒有實行手動歸檔那么當LGWR進程將重做日志信息寫入已經寫滿的重做日志文件時數據庫將會被掛起直到進行了歸檔??梢姎w檔是對重做日志文件信息的一種保護措施。Oracle非歸檔模式下當重做日志文件寫滿以后若是有LGWR進行重做日志信息的寫入操作時,以前保存在重做日志文件中的重做日志信息就會被覆蓋掉。70、Oracle索引分為哪幾類,說出唯一索引和位圖索引的概念。Oracle索引有

39、B樹索引,位圖索引,函數索引,簇索引等。唯一索引也是B樹索引的一種,它要求被索引的字段值不可以重復。在創(chuàng)建的時候使用B 樹算法創(chuàng)建。位圖索引并不是采用象唯一索引那樣存儲(索引字段值,記錄ROWID來創(chuàng)建索引段的,而是為每一個唯一的字段值創(chuàng)建一個位圖,位圖中使用位元來對應一個記錄的ROWID。位元到ROWID是通過映射的到的。71、ORACLE的基本數據類型有哪些?Char(存儲定長字符,定義的時候可以不為他指定長度但是如若往里插入值則會出錯; varchar2(存儲變長字符定義的時候必須指定長度,date存儲時間日期;Number(數字類型,包括整型,浮點型等;clob(大容量字符串;blob

40、(大二進制對象72、SQL中,執(zhí)行四舍五入的是哪個函數?Round(value,保留的小數位數與只對應的還有一個特別相似的函數trunc(value,保留的小數位數它的作用是根據要保留的小數位數來截取原數。73、oracle數據庫表存放到磁盤什么地方?數據文件ORACLE數據庫的表存放在物理文件中的數據文件中。74、當執(zhí)行insert語句并提交后,這些提交的數據存儲到什么地方?存儲到了數據庫的數據文件中。75、Exits和in在ORALCE數據庫中那個執(zhí)行效率更高?EXITS執(zhí)行效率要比使用IN要快。76、ORACLE自己提供的函數,想知道具體位置,如何操作?77、數據庫的幾種物理文件?1數據

41、文件2控制文件3日志文件78、控制文件都含有哪些信息?控制文件存放有實例信息(實例名稱創(chuàng)建時間等,數據文件和日志文件信息,還有系統(tǒng)運行時記錄的系統(tǒng)變更碼(SCN,檢查點信息和歸檔的當前狀態(tài)信息等。數據庫在加載數據庫的時候首先要讀取控制文件獲得和數據庫有關的物理結構信息之后才能夠正確加載數據文件和日志文件并打開數據庫。79、Decode函數的用法?DECODE的語法:DECODE(value,if1,then1,if2,then2,if3,then3,.,else,表示如果value等于if1時, DECODE函數的結果返回then1,.,如果不等于任何一個if值,則返回else。初看一下,DE

42、CODE 只能做等于測試,但剛才也看到了,我們通過一些函數或計算替代value,是可以使DECODE函數具備大于、小于或等于功能。2.如何用decode進行大于小于的比較?利用sign(函數和DECODE和在一起用select decode(sign(變量1-變量2,-1,變量1,變量2 from dual;decode(條件,值1,翻譯值1,值2,翻譯值2,.值n,翻譯值n,缺省值該函數的含義如下:IF 條件=值1 THENRETURN(翻譯值1ELSIF 條件=值2 THENRETURN(翻譯值2.ELSIF 條件=值n THENRETURN(翻譯值nELSERETURN(缺省值END I

43、F·使用方法:1、比較大小select decode(sign(變量1-變量2,-1,變量1,變量2 from dual; -取較小值sign(函數根據某個值是0、正數還是負數,分別返回0、1、-1例如:變量1=10,變量2=20則sign(變量1-變量2返回-1,decode解碼結果為“變量1”,達到了取較小值的目的。2、表、視圖結構轉化現有一個商品銷售表sale,表結構為:month char(6 -月份sell number(10,2 -月銷售金額現有數據為:200001 1000200002 1100200003 1200200004 1300200005 140020000

44、6 1500200007 1600200101 1100200202 1200200301 1300想要轉化為以下結構的數據:year char(4 -年份month1 number(10,2 -1月銷售金額month2 number(10,2 -2月銷售金額month3 number(10,2 -3月銷售金額month4 number(10,2 -4月銷售金額month5 number(10,2 -5月銷售金額month6 number(10,2 -6月銷售金額month7 number(10,2 -7月銷售金額month8 number(10,2 -8月銷售金額month9 number(

45、10,2 -9月銷售金額month10 number(10,2 -10月銷售金額month11 number(10,2 -11月銷售金額month12 number(10,2 -12月銷售金額結構轉化的SQL語句為:create or replace viewv_sale(year,month1,month2,month3,month4,month5,month6,month7,month8,month9, month10,month11,month12asselectsubstrb(month,1,4,sum(decode(substrb(month,5,2,'01',sel

46、l,0,sum(decode(substrb(month,5,2,'02',sell,0,sum(decode(substrb(month,5,2,'03',sell,0,sum(decode(substrb(month,5,2,'04',sell,0,sum(decode(substrb(month,5,2,'05',sell,0,sum(decode(substrb(month,5,2,'06',sell,0,sum(decode(substrb(month,5,2,'07',sell,0,su

47、m(decode(substrb(month,5,2,'08',sell,0,sum(decode(substrb(month,5,2,'09',sell,0,sum(decode(substrb(month,5,2,'10',sell,0,sum(decode(substrb(month,5,2,'11',sell,0,sum(decode(substrb(month,5,2,'12',sell,0from salegroup by substrb(month,1,4;79、CASE語句的用法?Oracle用法很

48、簡單:SELECT last_nam e, job_id, salaryCASE job_idWHEN 'IT_PROG' THEN 1.10*salaryWHEN 'ST_CLERK' THEN 1.15*salaryWHEN 'SA_REP' THEN 1.20*salaryELSE salary END "REVISED_SALARY"FROM employees80、truncate和delete的區(qū)別?1、TRUNCA TE在各種表上無論是大的還是小的都非常快。如果有ROLLBACK命令DELETE將被撤銷,而TRU

49、NCA TE則不會被撤銷。2、TRUNCA TE是一個DDL語言而DELETE是DML語句,向其他所有的DDL語言一樣,他將被隱式提交,不能對TRUNCA TE使用ROLLBACK命令。3、TRUNCA TE將重新設置高水平線和所有的索引。在對整個表和索引進行完全瀏覽時,經過TRUNCA TE操作后的表比DELETE操作后的表要快得多。4、TRUNCA TE不能觸發(fā)觸發(fā)器,DELETE會觸發(fā)觸發(fā)器。5、不能授予任何人清空他人的表的權限。6、當表被清空后表和表的索引講重新設置成初始大小,而delete則不能。7、不能清空父表。81、表空間如何擴展?并用語句寫出?兩種擴展方式:a增加數據文件alt

50、er tablespace tablespace_name add datafile xxMBb擴展數據文件大小alter database datafile resize newMB82、表空間區(qū)管理方式?哪種方式現在是推薦使用的?a字典管理方式extent management dictionary;默認方式b本地管理方式extent management localautoallocate/uniform xxmb;83、用什么函數獲得日期?和日期中的月,日,年to_char(sysdate,year:tow thsound six to_char(sysdate,yyyy :2006to_char(sysdate,month:8月to_char(sysdate,mm:08to_char(sysdate,day:星期4 to_char(sysdate,dd:2284、分區(qū)表的應用?a一個分區(qū)表有一個或多個分區(qū),每個分區(qū)通過使用范圍分區(qū)、散列分區(qū)、或組合分區(qū)分區(qū)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論