已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1. 對字符串操作的函數? 答:ASCII() -函數返回字符表達式最左端字符的ASCII 碼值 CHR() -函數用于將ASCII 碼轉換為字符 -如果沒有輸入0 255 之間的ASCII 碼值CHR 函數會返回一個NULL 值 -應該是必須給chr()賦數字值 concat(str,str)連接兩個字符串 LOWER() -函數把字符串全部轉換為小寫 UPPER() -函數把字符串全部轉換為大寫 LTRIM() -函數把字符串頭部的空格去掉 RTRIM() -函數把字符串尾部的空格去掉 TRIM() -同時去掉所有兩端的空格 實際上LTRIM(),RTRIM(),TRIM()是將指定的字符從字符串中裁減掉 其中LTRIM(),RTRIM()的格式為xxxx(被截字符串,要截掉的字符串),但是TRIM() 的格式為TRIM(要截掉的一個字符 from 被截的字符串) SUBSTR() -函數返回部分字符串 INSTR(String,substring) -函數返回字符串中某個指定的子串出現的開始位置,如 果不存在則返回0 REPLACE(原來的字符串,要被替換掉的字符串,要替換成的字符串) SOUNDEX() -函數返回一個四位字符碼 -SOUNDEX函數可用來查找聲音相似的字符串但SOUNDEX函數對數字和漢字均 只返回NULL 值 2、 事務概念 答案:事務是這樣一種機制,它確保多個SQL語句被當作單個工 作單元來處理。事務具有以下的作用: * 一致性:同時進行的查詢和更新彼此不會發(fā)生沖突,其他 用戶不會看到發(fā)生了變化但尚未提交的數據。 * 可恢復性:一旦系統(tǒng)故障,數據庫會自動地完全恢復未完成 的事務。 3、oracle中查詢系統(tǒng)時間 答:select sysdate from dual 4、 觸發(fā)器的作用,什么時候用觸發(fā)器,創(chuàng)建觸發(fā)器的步驟,觸發(fā)器 里是否可以有commit, 為什么? 答案:觸發(fā)器是可以由事件來啟動運行的,存在于數據庫服務器 中的一個過程。 他的作用:可以實現一般的約束無法完成的復雜約束,從而實現 更為復雜的完整性要求。 使用觸發(fā)器并不存在嚴格的限定,只要用戶想在無人工參與的情 況下完成一般的定義約束不可以完成的約束,來保證數據庫完整 性,那么就可以使用觸發(fā)器。 由于觸發(fā)器主要是用來保證數據庫的完整性的,所以要創(chuàng)建一個 觸發(fā)器,首先要明確該觸發(fā)器應該屬于那一種(DML, INSTEAD OF,SYSTEM)因為他們各有個的用途;其次就是要 確定觸發(fā)器被觸發(fā)以后所設計到的數據。 出發(fā)器中不可以使用COMMIT。 5數字函數 abs()絕對值 exp(value)e的value次冪 ceil()大于等于該值的最小整 數 floor()小于等于該值的最大整數 trunc(value,precision)保留precision 個小數截取value round(value,precision)保留precision個小數對value進行 四舍五入 sign()根據值為正負零返回1,-1,0 mod()取模操 作 power(value,exponent)value的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)無法達到的,它只能針對于某一個具體的應用。(兩級 映射:保證邏輯獨立性的外模式/模式映射和保證物理獨立性的內 模式/模式映射。外模式:用戶模式,是數據庫用戶的局部數據的 邏輯結構特征的描述。模式:數據庫全體數據的邏輯結構特征的 描述。內模式:也就是數據最終的物理存儲結構的描述。) 第四,就是關系性數據庫系統(tǒng)由統(tǒng)一的DBMS進行管理,從而為 數據提供了如安全性保護,并發(fā)控制,完整性檢查和數據庫恢復 服務。 5、 觸發(fā)器的概念,存儲過程的概念. 答案: 觸發(fā)器: 是存儲在數據庫中的過程,當表被修改(增、刪、改) 時它隱式地被激發(fā)。 存儲過程:是數據庫語言SQL的集合,同樣也存儲在數據庫中, 但是他是由其他應用程序來啟動運行或者也可以直接運行。 6、 基本SQL語句有哪些. 答案: select、insert、update、delete、create、drop、truncate 1. 中級 8、什么是事務一致性 ? 選擇熟悉的數據庫實現一個事務處理,如信用卡 提款. 答案: 事務的一致性:是事務原子性的體現,事務所對應的數據庫操作要 么成功要么失敗沒有第三種情況。事務不管是提交成功與否都不能影響 數據庫數據的一致性狀態(tài)。 事務:用戶定義的一個數據庫操作序列,這些操作要么全部成功完 成要么全部不做,是一個不可分割的整體。定義事務的SQL語句有: BEGIN TRANSACTION,COMMIT,ROLLBACK。 事務的原子性:就是事務所包含的數據庫操作要么都做,要么都不做. 事務的隔離性:事務對數據的操作不能夠受到其他事務的影響。 事務的持續(xù)性:也就是說事務對數據的影響是永久的。 對信用卡提款這一事務而言就是要保證提取到現金和卡帳號余 額的修改要同時成功或失敗. BEGIN TRANSACTION 讀取A的帳戶余額BALANCE; BALANCE=BALANCE-AMOUNT轉帳金額; IF(BALANCE0) THEN ROLLBACK; ELSE BEGIN 將A的新余額寫回; 讀取B的帳戶余額BALANCEB; BALANCEB=BALANCEB+AMOUNT轉帳金額; 將B的新余額寫回; COMMIT; END IF; END; 9、 實際編寫和調試存儲過程或觸發(fā)器. 答案: 10、 實現索引的方式? 索引的原理? 索引的代價? 索引的類型? 答案: 實現索引的方式有兩種:針對一張表的某些字段創(chuàng)建具體的索 引,如對oracle: create index 索引名稱 on 表名(字段名);在創(chuàng)建表時為字 段建立主鍵約束或者唯一約束,系統(tǒng)將自動為其建立索引。 索引的原理:根據建立索引的字段建立索引表,存放字段值以及對 應記錄的物理地址,從而在搜索的時候根據字段值搜索索引表的到物理 地址直接訪問記錄。 引入索引雖然提高了查詢速度,但本身占用一定的系統(tǒng)存儲容量和 系統(tǒng)處理時間,需要根據實際情況進行具體的分析. 索引的類型有:B樹索引,位圖索引,函數索引等。 11、 view 的概念 ? 何時應用? 答案: view 是對表級數據的多角度的透視,適用于對查詢安全性、靈活 性有一定要求的環(huán)境 12、 sql語句例外處理?舉例說明? 答案: 當sql 語句在執(zhí)行過程中出現意外時,如查詢時,未查詢到結果;更 改時無記錄等情況的應采取的措施. 以oracle為例:測試其對exception的理解.如 select 字段 into 變量 from table ; 若查詢出多條記錄,應增加exception 例外處理. Oracle處理異常有三種: 1 預定義的例外處理,EXCEPTION WHEN exception_name THEN 2 EXCEPTION_INIT產生例外 首先要declare 聲明一個例外名;然后將例外名和錯誤代碼綁定 pragma exception_init(錯誤名,錯誤代碼);最后在EXCEPTION 處when 錯誤名then 3用戶自定義例外,不用EXCEPTION,當判斷條件成熟時用 raise_application_error(-20000-20999,提示信息)。 13、 判斷下列論述是否正確。 (1) 一個事務中的某條SQL命令提交 時,其它SQL命令可以不提交。 (2) 在一個關系表中,主鍵可 唯一標識一行記錄。 (3) 一個關系表中的外鍵必定是另一表中 的主鍵。 (4) 回滾可以在事務失敗時,回到操作事務前的數據 狀態(tài)。 答案: (1)錯誤 (2)正確 (3)正確 (4)正確 14、 以下哪些手段可保證數據庫中數據的完整性和一致性: (1)自定義 數據類型 (2)觸發(fā)器 (3)主鍵和外鍵 (4)事務 答案: (1)(2)(3)(4) (為什么有1) 15、 使用存儲過程訪問數據庫比直接用SQL語句訪問有哪些優(yōu)點? 答案:存儲過程是預編譯過的,執(zhí)行時勿須編譯,執(zhí)行速度更快;存儲 過程封裝了一批SQL語句,便于維護數據的完整性與一致性;可以實現 代碼的復用。 1. 高級 16、 對于精通的數據庫系統(tǒng)描述其體系結構,主要包括存儲機制、 回滾機制、運行機制等. 答案:對oracle 系統(tǒng)而言,描述sga的結構; 后臺pmon,ckpt、lgwr,smon等 進程的功能;表空間的分配策略; 回滾段的結構 oracle的sga(系統(tǒng)全局區(qū))包括的主要區(qū)有:數據庫緩存區(qū),重做日志 緩存區(qū),共享池(數據字典緩存和庫緩存),大池等。數據庫緩存區(qū)用 來存放最近使用過的數據塊主要和后臺進程中的數據庫寫進程(DBWR) 以及數據文件發(fā)生關系;重做日志緩存區(qū)用于存放操作數據庫數據所產 生的重做日志信息,與之合作的有重做日志寫進程(LGWR)和重做日志 文件;共享池主要緩存SQL/PLSQL,資源鎖,控制信息等,其中的庫 緩存主要緩存被解析執(zhí)行過的SQL/PLSQL庫緩存可分為共享SQL和私有 SQL兩個區(qū),共享SQL用于存放SQL語句的語法分析結果和執(zhí)行計劃, 私有SQL則用來存放與具體SQL語句執(zhí)行有關的綁定變量,會話參數 等。 ORACLE實例的另外一個重要部分就是其后臺進程,主要的后臺進程 有:數據庫寫進程(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 物理存儲空間:表空間,數據文件,控制文件,日志文件,數據字典 軟件體系結構就是上邊對SGA和后臺進程的描述。 17 、對于精通的數據庫系統(tǒng)描述其數據一致性的保證機制,包括lock, 事務一致性等. 答案: 在并發(fā)環(huán)境下,采用多種機制保持其數據的一致性,如oracle系統(tǒng) 提供的事務級的一致性、行級鎖、表級鎖等等. 18、對精通的數據庫系統(tǒng)描述其聯機備份機制、恢復機制,考核其對日 志的理解. 答案: 描述相關數據庫的實時聯機備份策略,如數據庫系統(tǒng)在運行中通 過何種方式保證其數據的實時備份, 出現問題時,應采取何種辦法從聯機 備份進行恢復. 對對oracle而言,其archive online 備份方式應如何設置、修改什么參 數、如何安排備份空間等等. 19、 精通的數據庫系統(tǒng)描述性能優(yōu)化方法,包括優(yōu)化的策略、參 數、驗證方法等. 答案: 20、Truncate; 與 delete;的區(qū)別?(這道題可以衍生出很多的問題比如: 想快速的清除一個很大的表中的數據應該用設么操作?答案是:應該用 truncate。還有,在對兩個相同紀錄數的分別表使用了truncate,和delete commit;后對這兩個表進行count(*)統(tǒng)計記錄數操作,那個表速度會快 些?答案是:使用了truncate的會快些。) 21、寫一個游標并使用它。(這道題應該注意的是:在使用游標后一 定要記得關閉游標)。 Declare Cursor cursor_name is Select * from tablename; Begin Open cursor_name; Loop Fetch cursor_name into bianliang; Exit when cursor_name%notfound; Sql End loop; Close cursor_name; End; 22、在創(chuàng)建表的時候會設置 pctfree 10 pctused 40 而創(chuàng)建表的索引的時候卻沒有 pctused 40 這是為什么? (這道題的主要思想是索引不能在pctused 40上得到什么好處) 23、使用過的最大的表有多少行紀錄?(這道題不是看應試者的技術過 不過關,而是考察應試者是否有大型數據庫的管理操作經驗) 不要對表的索引列進行函數操作,因為這樣系統(tǒng)就不能使用索引,使查 詢變得很慢,但是在ora8i以后就已經開始支持函數的索引,彌補了這個 不足。 24、ORACLE數據庫啟動與關閉的步驟 啟動:啟動實例-加載數據庫數據-打開數據庫 關閉:關閉數據庫-卸載數據庫數據-關閉實例 25、Delete與truncate的區(qū)別 delete一般用于刪除少量記錄的操作,而且它是要使用回滾段并且要進 行顯示的提交事務。而truncate則使用于大量刪除數據,而且隱式提交 事務,其速度要比使用delete快的多。 26、DDL和DML分別代表什么? DDL表示數據定義語言,在ORACLE中主要包括CREATE,ALTER, DROP DML表示數據操作語言,主要的DML有SELECT,INSERT, UPDATE,DELETE 28、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、你在項目現場,用戶要求你向正在運行的表中添加一個字段,你 該怎么做? 第一種方法:關閉數據庫,然后使用受限模式打開,由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)將等候活動 著的會話主動結束,同時阻止建立新的會話,系統(tǒng)掛起所有的SQL語 句,等恢復以后再重新激活會話執(zhí)行掛起的SQL。 掛起狀態(tài)就是系統(tǒng)將數據庫所有對物理文件(數據文件,控制文件, 日志文件)的I/O操作都暫停,但是并不禁止非DBA用戶對數據庫進行 操作。這種狀態(tài)主要用于進行數據庫備份。 33、Oracle中回滾的概念?回滾段有什么作用。 回滾就是在事務提交之前將數據庫數據恢復到事務修改之前數據庫數 據狀態(tài)。 回滾段就是為回滾提供依據,記錄的是事務操作數據庫之前的數據或 者對應于以前操作的操作,這個內容要根據以前的操作而定。比如說 以前事務操作如果是UPDATE那么回滾段則存儲UPDATE以前的數 據,如果事務是DELETE操作那么存儲的則是與之相對應的INSERT操 作語句,相反如果事務操作是INSERT那么記錄相應的則是DELETE操 作了。 34、Oracle的8I和9I有什么區(qū)別 35、一張表有10萬條記錄,如何刪除其中的任意20條記錄?請用SQL 語句進行操作 36、客戶端如何訪問服務器端的oracle?如果客戶端無法訪問服務器端 的oralce,可能會是什么原因? 客戶端通過網絡或者進程方式以合法的用戶身份來取得和服務器端 ORACLE的連接。如果客戶端無法訪問服務器端ORACLE可能出現的 原因是:用戶無權訪問;服務器端數據庫并沒有打開(啟動數據庫的 第三步沒有完成);如果服務器是在共享模式下的則有可能沒有對應 于該客戶所使用的通信協議的調度進程Dnnn。 37、 oracle中執(zhí)行語句錯誤時去哪里查找錯誤信息? Select * from USER_ERRORS 38、 select語句需要提交嗎?insert和update語句呢? 39、 在執(zhí)行insert語句并提交后,這些提交的數據存儲到什么地 方? 被存儲到數據文件中 40、 oracle中有哪些類型的文件? 數據文件,控制文件,日志文件和數據字典 41、 介紹一下oracle的體系結構? 邏輯體系結構:塊,區(qū),段,表空間 物理體系結構:表空間,三大文件 軟件體系結構:SGA,后臺進程 42、 談談對oracle的row_ id是否理解?請簡述? ORACLE的row_id是一個偽列,其個是為18個字節(jié)可將這18個字節(jié)用 6363來劃分,分別表示段編號,數據文件編號,數據塊編號和記錄編 號。 Row_id表示的是一個記錄的物理存儲地址。 43、 oracle中如何刪除用戶? Oracle中使用DROP USER來刪除用戶,如果使用DROP USER CASCADE那么用戶的對象也同時被刪除掉。為了達到刪除用戶的效 果而又不影響對用戶下的對象的使用可以使用alter user username account lock將用戶鎖定。 44、 客戶端對服務器端的oralce操作的流程是什么? 專用模式下:用戶通過應用程序進程試圖去得到一個與ORACLE數據 庫服務器的連接客戶端通過網絡傳遞連接請求,ORACLE服務器則使 用監(jiān)聽進程監(jiān)聽用戶請求,并且來驗證用戶身份,通過驗證則為用戶 分配一專用服務進程用戶提交SQL語句專用服務進程則首先在SGA區(qū) 的共享池中檢查是否有與該SQL語句相似的已經被解析執(zhí)行并且緩存 的SQL語句,如果有則采用它的解析結果和執(zhí)行計劃執(zhí)行SQL語句, 如果沒有則對SQL語句進行語法解析生成執(zhí)行計劃通過解析則執(zhí)行操 作獲取數據將執(zhí)行結果返回給客戶。 共享模式下:與專用模式不同在于當監(jiān)聽程序驗證用戶的合法性以后 并不為它分配一個專用的服務進程,而是將該請求與響應的調度進程 相聯系起來,并將起放入到一個請求隊列中,最終由響應的Dnnn來從 調度隊列中獲取一個請求并為之分配一個空閑的服務進程,接下來有 服務進程對該請求進行服務操作和專用方式下相同,處理完成之后由 服務進程先將結果放入一個返回隊列最后再由調度進程(Dnnn)將返 回隊列中的結果返回給對應的用戶。 45、 exits和in在ORALCE數據庫中那個執(zhí)行效率更高? Exits執(zhí)行效率比in高。因為: 46、 如何判斷游標已經到最后一行? Cursor_name%notfound 47、 聚簇索引和普通索引在不同的SQL語句中哪個效率更高? (筆試題,原題回憶不起來,主題就是聚簇索引和普通索引 的區(qū)別) 概念類: 聚合函數? Session的定義和用法? Oracle的存儲過程 ? 什么是 構造函數? 48、簡述ORACLE中SGA的組成部分。 答:系統(tǒng)全局區(qū)包括:共享池、重做日志緩存區(qū)、數據高速緩存區(qū),大 池,JAVA池。 49、簡述ORACLE的啟動和關閉各有多少步驟? 啟動:啟動實例、裝載數據庫數據、打開數據庫。 關閉:關閉數據庫、卸載數據庫數據、關閉實例。 50、在Oracle表空間的分類和作用,如排序時數據將放在什么表空間? 作用是為了突破存儲容量的限制,是一個邏輯概念。排序數據放在臨時 表空間。 51、執(zhí)行COMMIT命令時,數據庫將會發(fā)生什么改變,ROLLBACK 呢? 答:commit 提交時首先是與事務對應的重做日志信息將被寫入到數據 庫物理文件中的重做日志文件中,至于是否會真正將事務操作的內容反 映到數據文件還好看DBWR是否啟動了。在完成數據庫的插入,刪除和 修改操作時,只有當事務提交到數據庫才算完成,有提交前只有操作數 據庫的本人才能看到,別人只有在最后提交完成才可以看到。 ROLLBACK回滾當前尚未提交的事務,使數據庫恢復到事務操作前的 狀態(tài)。 52、用命令創(chuàng)建用戶,并為用戶授權。 Create user user_name identified by password / identified externally/ identified blobally as CN=user default tablespace tablespace_name temporary tablespace tablespace_name; grant role/privilege to user_name; 53、 寫一個存儲過程,使employee(name,age,emp_no,salary)表中的 salary值在0-1000之間的員工的工資上漲20%,(提示:要求用 到游標) Cteate or replace procedure emp_sal V_name %type; V_emp_no employee.emp_no%type; V_salary employee.salary%type; Cursor cursor_sal is Select name,emp_no,salary from employee where salary between 0 and 1000; Begin Open cursor_sal; Loop Fetch 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 tablespace tabllespacename Datafile f:orcluser001.dbf size 20m Default storage( Initial 512k Next 512k minextents 2 pctincrease 50% maxExitnts 2048) minimum extent 512k logging online permanent extent management dictionary; 回收權限: revoke privilege from user; create tablespace tablespace_name datafile default storage( initial xxxkb next yykb minextents 2 pctincrease nnnn maxextents mmm) logging online extent management dictionary/localautoallocate/uniform size xxxmb; create user user_name identified by passwore/ identified externally/ identified globally as CN=user default tablespace tablespace_name temporary tablespace tablespace_name account lock /unlock grant 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í)行TRUNCATE命令后,存儲空間是否還存在,是否可被其他 的表占用? 執(zhí)行TRUNCATE之后,為表分配的區(qū)空間將被回收HWM將回退,如果 在使用TRUNCATE的時候沒有指定REUSE STORAGE那么執(zhí)行操作后 僅僅留下由MINEXTENTS所指定的區(qū)否則表的所有空間將被回收用于 再分配。 59、何在Oracle中查看當前用戶,通常有哪些方式?(提示:show user 和select * from user_users)show user;/select username from user_users; 60、 出在Oracle中,創(chuàng)建表空間的語法結構,以及所含參數說明。 Create tablespace tablespacename Datafile Logging/nologging Default storage(initial kb Next kb Minextents x Maxextents y Pctincrease z ) online/not online extent management dictionary/localautoallocate/uniform size kb; 61、 如何判斷游標是否到了末尾?(提示:用%notfound) cursor_name%notfound 62、 在Oracle中,如何查看當前用戶下的所有表空間? Select tablespace_name from user_tablespaces; 63、 在Oracle中,你所創(chuàng)建的表空間信息放在哪里? 存放在數據字典中,數據字典內容對應于系統(tǒng)表空間SYSTEM表空間。 64、 ORACLE中的控制文件什么時候讀??? ORACLE服務器啟動時,先啟動實例然后再讀取數據庫的各個文件當然 也包括控制文件。也就是說在數據庫服務器啟動的第二步時讀取。 65、 Oracle的表格信息存儲在哪個地方? SYSTEM表空間的數據字典文件中。 66、如何根據字典創(chuàng)建一個表空間,并說明參數? 66、 ORACLE中當一個用戶正在操作一個執(zhí)行過程,管理員此時取 消了他的權限,會發(fā)生什么事情? 68、談談你對角色的理解,常用的角色有哪些? 角色就是一組權限的數據庫實體,它不屬于任何模式或用戶但是可以被 授予任何用戶。常用的角色有CONNECT,DBA,RESOURCE, SELECT_CATALOG_ROLE(查詢所有表視圖權), DELETE_CATALOG_ROLE(刪除權限)等。 角色的創(chuàng)建和授權:和創(chuàng)建用戶為用戶授權差不多。Create role role_name identified grant 權限to role_name。 69、簡述Oracle的歸檔與不歸檔工作模式,分別說明。 Oracle歸檔模式是指在創(chuàng)建數據庫時指定了ARCHIVELOG參數,這種模 式下,當重做日志文件寫滿的時候會將該重做日志文件的內容保存到指 定的位置(由初始化文件中的參數ARCHIVE_LOG_DEST_n來決定)。 并不是數據庫在歸檔模式下工作的時候就可以自動完成歸檔操作,在歸 檔模式下可以有兩種歸檔方式:自動歸檔(在初始化文件中的參數 ARCHIVE_LOG_START被設置為TRUE)和手動歸檔。如果歸檔模式 下沒有啟動自動歸檔的話,而且又沒有實行手動歸檔那么當LGWR進程 將重做日志信息寫入已經寫滿的重做日志文件時數據庫將會被掛起直到 進行了歸檔??梢姎w檔是對重做日志文件信息的一種保護措施。 Oracle非歸檔模式下當重做日志文件寫滿以后若是有LGWR進行重做日 志信息的寫入操作時,以前保存在重做日志文件中的重做日志信息就會 被覆蓋掉。 70、Oracle索引分為哪幾類,說出唯一索引和位圖索引的概念。 Oracle索引有B樹索引,位圖索引,函數索引,簇索引等。 唯一索引也是B樹索引的一種,它要求被索引的字段值不可以重復。在 創(chuàng)建的時候使用B樹算法創(chuàng)建。 位圖索引并不是采用象唯一索引那樣存儲(索引字段值,記錄 ROWID)來創(chuàng)建索引段的,而是為每一個唯一的字段值創(chuàng)建一個位 圖,位圖中使用位元來對應一個記錄的ROWID。位元到ROWID是通過 映射的到的。 71、ORACLE的基本數據類型有哪些? Char()存儲定長字符,定義的時候可以不為他指定長度但是如若往里插 入值則會出錯;varchar2()存儲變長字符定義的時候必須指定長度,date 存儲時間日期;Number()數字類型,包括整型,浮點型等;clob()大容 量字符串;blob()大二進制對象 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) 數據文件 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。初看一下, DECODE 只能做等于測試,但剛才也看到了,我們通過一些函數或計算替代value,是可以使 DECODE函數具備大于、小于或等于功能。 1. 如何用decode進行大于小于的比較? 利用sign()函數和DECODE和在一起用 select decode(sign(變量1-變量2),-1,變量1,變量2) from dual; decode(條件,值1,翻譯值1,值2,翻譯值2,.值n,翻譯值n,缺省值) 該函數的含義如下: IF 條件=值1 THEN RETURN(翻譯值1) ELSIF 條件=值2 THEN RETURN(翻譯值2) ELSIF 條件=值n THEN RETURN(翻譯值n) ELSE RETURN(缺省值) END IF 使用方法: 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 1000 200002 1100 200003 1200 200004 1300 200005 1400 200006 1500 200007 1600 200101 1100 200202 1200 200301 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(10,2) -9月銷售金額 month10 number(10,2) -10月銷售金額 month11 number(10,2) -11月銷售金額 month12 number(10,2) -12月銷售金額 結構轉化的SQL語句為: create or replace view v_sale(year,month1,month2,month3,month4,month5,month6,month7,month8,month9,month10,month11,month12) as select substrb(month,1,4), sum(decode(substrb(month,5,2),01,sell,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), sum(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,0) from sale group by substrb(month,1,4); 79、CASE語句的用法? Oracle用法很簡單: SELECT last_name, job_id, salary CASE job_id WHEN IT_PROG THEN 1.10*salary WHEN ST_CLERK THEN 1.15*salary WHEN SA_REP THEN 1.20*salary ELSE salary END “REVISED_SALARY“ FROM employees 80、 truncate和delete的區(qū)別? 1、TRUNCATE在各種表上無論是大的還是小的都非???。如果有 ROLLBACK命令DELETE將被撤銷,而TRUNCATE則不會被撤銷。 2、TRUNCATE是一個DDL語言而DELETE是DML語句,向其他所 有的DDL語言一樣,他將被隱式提交,不能對TRUNCATE使用 ROLLBACK命令。 3、TRUNCATE將重新設置高水平線和所有的索引。在對整個表和 索引進行完全瀏覽時,經過TRUNCATE操作后的表比DELETE操作后的 表要快得多。 4、TRUNCATE不能觸發(fā)觸發(fā)器,DELETE會觸發(fā)觸發(fā)器。 5、不能授予任何人清空他人的表的權限。 6、當表被清空后表和表的索引講重新設置成初始大小,而delete則 不能。 7、不能清空父表。 81、 表空間如何擴展?并用語句寫出? 兩種擴展方式: a) 增加數據文件 alter tablespace tablespace_name add datafile xxMB b) 擴展數據文件大小 alter database datafile resize newMB 82、 表空間區(qū)管理方式?哪種方式現在是推薦使用的? a) 字典管理方式 extent management dictionary;默認方式 b) 本地管理方式 extent management localautoallocate/uniform xxmb; 83、 用什么函數獲得日期?和日期中的月,日,年 to_char(sysdate,year):tow thsound six to_char(sysdate,yyyy) :2006 to_char(sysdate,month):8月 to_char(sysdate,mm):08 to_char(sysdate,day):星期4 t
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年跨境電子商務平臺合作運營合同
- 二零二五年度二樓商鋪租賃與節(jié)假日臨時展覽服務合同2篇
- 2024年金融機構電腦系統(tǒng)采購合同
- 2024收養(yǎng)協議書范本:收養(yǎng)兒童法律援助服務3篇
- 2024年度打樁機租賃與節(jié)能環(huán)保服務合同3篇
- 2024版充電樁安裝協議書
- 2024版冠梁承包合同
- 提升保險資金利用效率的策略
- 2024年簡明短期汽車租賃合同范例版B版
- 2024年物業(yè)租賃合同(商業(yè)用途)
- 第六屆石油工程設計大賽方案設計類鉆完井單項組
- 中餐烹飪實訓室安全隱患分析
- 中醫(yī)藥養(yǎng)生保健服務方案設計
- 2024年菏澤單州市政工程集團有限公司招聘筆試參考題庫附帶答案詳解
- 教育創(chuàng)新智慧課堂賦能學習
- 園林綠化員工培訓課件
- 《雷達對抗原理》課件
- 《CT檢查技術》課件-CT圖像后處理
- 刑事辯護策略技巧案例
- 土壤檢測報告表
- 2024年陜西西安高新區(qū)管委會工作人員招聘筆試參考題庫附帶答案詳解
評論
0/150
提交評論