已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1. 對字符串操作的函數(shù)? 答:ASCII() -函數(shù)返回字符表達(dá)式最左端字符的ASCII 碼值 CHR() -函數(shù)用于將ASCII 碼轉(zhuǎn)換為字符 -如果沒有輸入0 255 之間的ASCII 碼值CHR 函數(shù)會返回一個NULL 值 -應(yīng)該是必須給chr()賦數(shù)字值 concat(str,str)連接兩個字符串 LOWER() -函數(shù)把字符串全部轉(zhuǎn)換為小寫 UPPER() -函數(shù)把字符串全部轉(zhuǎn)換為大寫 LTRIM() -函數(shù)把字符串頭部的空格去掉 RTRIM() -函數(shù)把字符串尾部的空格去掉 TRIM() -同時去掉所有兩端的空格 實際上LTRIM(),RTRIM(),TRIM()是將指定的字符從字符串中裁減掉 其中LTRIM(),RTRIM()的格式為xxxx(被截字符串,要截掉的字符串),但是TRIM() 的格式為TRIM(要截掉的一個字符 from 被截的字符串) SUBSTR() -函數(shù)返回部分字符串 INSTR(String,substring) -函數(shù)返回字符串中某個指定的子串出現(xiàn)的開始位置,如 果不存在則返回0 REPLACE(原來的字符串,要被替換掉的字符串,要替換成的字符串) SOUNDEX() -函數(shù)返回一個四位字符碼 -SOUNDEX函數(shù)可用來查找聲音相似的字符串但SOUNDEX函數(shù)對數(shù)字和漢字均 只返回NULL 值 2、 事務(wù)概念 答案:事務(wù)是這樣一種機制,它確保多個SQL語句被當(dāng)作單個工 作單元來處理。事務(wù)具有以下的作用: * 一致性:同時進(jìn)行的查詢和更新彼此不會發(fā)生沖突,其他 用戶不會看到發(fā)生了變化但尚未提交的數(shù)據(jù)。 * 可恢復(fù)性:一旦系統(tǒng)故障,數(shù)據(jù)庫會自動地完全恢復(fù)未完成 的事務(wù)。 3、oracle中查詢系統(tǒng)時間 答:select sysdate from dual 4、 觸發(fā)器的作用,什么時候用觸發(fā)器,創(chuàng)建觸發(fā)器的步驟,觸發(fā)器 里是否可以有commit, 為什么? 答案:觸發(fā)器是可以由事件來啟動運行的,存在于數(shù)據(jù)庫服務(wù)器 中的一個過程。 他的作用:可以實現(xiàn)一般的約束無法完成的復(fù)雜約束,從而實現(xiàn) 更為復(fù)雜的完整性要求。 使用觸發(fā)器并不存在嚴(yán)格的限定,只要用戶想在無人工參與的情 況下完成一般的定義約束不可以完成的約束,來保證數(shù)據(jù)庫完整 性,那么就可以使用觸發(fā)器。 由于觸發(fā)器主要是用來保證數(shù)據(jù)庫的完整性的,所以要創(chuàng)建一個 觸發(fā)器,首先要明確該觸發(fā)器應(yīng)該屬于那一種(DML, INSTEAD OF,SYSTEM)因為他們各有個的用途;其次就是要 確定觸發(fā)器被觸發(fā)以后所設(shè)計到的數(shù)據(jù)。 出發(fā)器中不可以使用COMMIT。 5數(shù)字函數(shù) abs()絕對值 exp(value)e的value次冪 ceil()大于等于該值的最小整 數(shù) floor()小于等于該值的最大整數(shù) trunc(value,precision)保留precision 個小數(shù)截取value round(value,precision)保留precision個小數(shù)對value進(jìn)行 四舍五入 sign()根據(jù)值為正負(fù)零返回1,-1,0 mod()取模操 作 power(value,exponent)value的exponent次冪 sqrt()求平方根 1. 初級 4、 關(guān)系數(shù)據(jù)庫系統(tǒng)與文件數(shù)據(jù)庫系統(tǒng)的區(qū)別在那里?關(guān)系數(shù)據(jù)庫系 統(tǒng)一般適用那些方面? 答案: 關(guān)系數(shù)據(jù)庫系統(tǒng)文件系統(tǒng)的區(qū)別在于: 首先,關(guān)系性數(shù)據(jù)庫的整體數(shù)據(jù)是結(jié)構(gòu)化的,采用關(guān)系數(shù)據(jù)模型 來描述,這是它與文件系統(tǒng)的根本區(qū)別。(數(shù)據(jù)模型包括:數(shù)據(jù) 結(jié)構(gòu),數(shù)據(jù)操作以及完整性約束條件) 其次,關(guān)系數(shù)據(jù)庫系統(tǒng)的共享性高,冗余低可以面向整個系統(tǒng), 而文件系統(tǒng)則具有應(yīng)用范圍的局限性,不易擴展。 第三,關(guān)系數(shù)據(jù)庫系統(tǒng)采用兩級映射機制保證了數(shù)據(jù)的高獨立 性,從而使得程序的編寫和數(shù)據(jù)都存在很高的獨立性。這方面是 文件系統(tǒng)無法達(dá)到的,它只能針對于某一個具體的應(yīng)用。(兩級 映射:保證邏輯獨立性的外模式/模式映射和保證物理獨立性的內(nèi) 模式/模式映射。外模式:用戶模式,是數(shù)據(jù)庫用戶的局部數(shù)據(jù)的 邏輯結(jié)構(gòu)特征的描述。模式:數(shù)據(jù)庫全體數(shù)據(jù)的邏輯結(jié)構(gòu)特征的 描述。內(nèi)模式:也就是數(shù)據(jù)最終的物理存儲結(jié)構(gòu)的描述。) 第四,就是關(guān)系性數(shù)據(jù)庫系統(tǒng)由統(tǒng)一的DBMS進(jìn)行管理,從而為 數(shù)據(jù)提供了如安全性保護,并發(fā)控制,完整性檢查和數(shù)據(jù)庫恢復(fù) 服務(wù)。 5、 觸發(fā)器的概念,存儲過程的概念. 答案: 觸發(fā)器: 是存儲在數(shù)據(jù)庫中的過程,當(dāng)表被修改(增、刪、改) 時它隱式地被激發(fā)。 存儲過程:是數(shù)據(jù)庫語言SQL的集合,同樣也存儲在數(shù)據(jù)庫中, 但是他是由其他應(yīng)用程序來啟動運行或者也可以直接運行。 6、 基本SQL語句有哪些. 答案: select、insert、update、delete、create、drop、truncate 1. 中級 8、什么是事務(wù)一致性 ? 選擇熟悉的數(shù)據(jù)庫實現(xiàn)一個事務(wù)處理,如信用卡 提款. 答案: 事務(wù)的一致性:是事務(wù)原子性的體現(xiàn),事務(wù)所對應(yīng)的數(shù)據(jù)庫操作要 么成功要么失敗沒有第三種情況。事務(wù)不管是提交成功與否都不能影響 數(shù)據(jù)庫數(shù)據(jù)的一致性狀態(tài)。 事務(wù):用戶定義的一個數(shù)據(jù)庫操作序列,這些操作要么全部成功完 成要么全部不做,是一個不可分割的整體。定義事務(wù)的SQL語句有: BEGIN TRANSACTION,COMMIT,ROLLBACK。 事務(wù)的原子性:就是事務(wù)所包含的數(shù)據(jù)庫操作要么都做,要么都不做. 事務(wù)的隔離性:事務(wù)對數(shù)據(jù)的操作不能夠受到其他事務(wù)的影響。 事務(wù)的持續(xù)性:也就是說事務(wù)對數(shù)據(jù)的影響是永久的。 對信用卡提款這一事務(wù)而言就是要保證提取到現(xiàn)金和卡帳號余 額的修改要同時成功或失敗. BEGIN TRANSACTION 讀取A的帳戶余額BALANCE; BALANCE=BALANCE-AMOUNT轉(zhuǎn)帳金額; IF(BALANCE0) THEN ROLLBACK; ELSE BEGIN 將A的新余額寫回; 讀取B的帳戶余額BALANCEB; BALANCEB=BALANCEB+AMOUNT轉(zhuǎn)帳金額; 將B的新余額寫回; COMMIT; END IF; END; 9、 實際編寫和調(diào)試存儲過程或觸發(fā)器. 答案: 10、 實現(xiàn)索引的方式? 索引的原理? 索引的代價? 索引的類型? 答案: 實現(xiàn)索引的方式有兩種:針對一張表的某些字段創(chuàng)建具體的索 引,如對oracle: create index 索引名稱 on 表名(字段名);在創(chuàng)建表時為字 段建立主鍵約束或者唯一約束,系統(tǒng)將自動為其建立索引。 索引的原理:根據(jù)建立索引的字段建立索引表,存放字段值以及對 應(yīng)記錄的物理地址,從而在搜索的時候根據(jù)字段值搜索索引表的到物理 地址直接訪問記錄。 引入索引雖然提高了查詢速度,但本身占用一定的系統(tǒng)存儲容量和 系統(tǒng)處理時間,需要根據(jù)實際情況進(jìn)行具體的分析. 索引的類型有:B樹索引,位圖索引,函數(shù)索引等。 11、 view 的概念 ? 何時應(yīng)用? 答案: view 是對表級數(shù)據(jù)的多角度的透視,適用于對查詢安全性、靈活 性有一定要求的環(huán)境 12、 sql語句例外處理?舉例說明? 答案: 當(dāng)sql 語句在執(zhí)行過程中出現(xiàn)意外時,如查詢時,未查詢到結(jié)果;更 改時無記錄等情況的應(yīng)采取的措施. 以oracle為例:測試其對exception的理解.如 select 字段 into 變量 from table ; 若查詢出多條記錄,應(yīng)增加exception 例外處理. Oracle處理異常有三種: 1 預(yù)定義的例外處理,EXCEPTION WHEN exception_name THEN 2 EXCEPTION_INIT產(chǎn)生例外 首先要declare 聲明一個例外名;然后將例外名和錯誤代碼綁定 pragma exception_init(錯誤名,錯誤代碼);最后在EXCEPTION 處when 錯誤名then 3用戶自定義例外,不用EXCEPTION,當(dāng)判斷條件成熟時用 raise_application_error(-20000-20999,提示信息)。 13、 判斷下列論述是否正確。 (1) 一個事務(wù)中的某條SQL命令提交 時,其它SQL命令可以不提交。 (2) 在一個關(guān)系表中,主鍵可 唯一標(biāo)識一行記錄。 (3) 一個關(guān)系表中的外鍵必定是另一表中 的主鍵。 (4) 回滾可以在事務(wù)失敗時,回到操作事務(wù)前的數(shù)據(jù) 狀態(tài)。 答案: (1)錯誤 (2)正確 (3)正確 (4)正確 14、 以下哪些手段可保證數(shù)據(jù)庫中數(shù)據(jù)的完整性和一致性: (1)自定義 數(shù)據(jù)類型 (2)觸發(fā)器 (3)主鍵和外鍵 (4)事務(wù) 答案: (1)(2)(3)(4) (為什么有1) 15、 使用存儲過程訪問數(shù)據(jù)庫比直接用SQL語句訪問有哪些優(yōu)點? 答案:存儲過程是預(yù)編譯過的,執(zhí)行時勿須編譯,執(zhí)行速度更快;存儲 過程封裝了一批SQL語句,便于維護數(shù)據(jù)的完整性與一致性;可以實現(xiàn) 代碼的復(fù)用。 1. 高級 16、 對于精通的數(shù)據(jù)庫系統(tǒng)描述其體系結(jié)構(gòu),主要包括存儲機制、 回滾機制、運行機制等. 答案:對oracle 系統(tǒng)而言,描述sga的結(jié)構(gòu); 后臺pmon,ckpt、lgwr,smon等 進(jìn)程的功能;表空間的分配策略; 回滾段的結(jié)構(gòu) oracle的sga(系統(tǒng)全局區(qū))包括的主要區(qū)有:數(shù)據(jù)庫緩存區(qū),重做日志 緩存區(qū),共享池(數(shù)據(jù)字典緩存和庫緩存),大池等。數(shù)據(jù)庫緩存區(qū)用 來存放最近使用過的數(shù)據(jù)塊主要和后臺進(jìn)程中的數(shù)據(jù)庫寫進(jìn)程(DBWR) 以及數(shù)據(jù)文件發(fā)生關(guān)系;重做日志緩存區(qū)用于存放操作數(shù)據(jù)庫數(shù)據(jù)所產(chǎn) 生的重做日志信息,與之合作的有重做日志寫進(jìn)程(LGWR)和重做日志 文件;共享池主要緩存SQL/PLSQL,資源鎖,控制信息等,其中的庫 緩存主要緩存被解析執(zhí)行過的SQL/PLSQL庫緩存可分為共享SQL和私有 SQL兩個區(qū),共享SQL用于存放SQL語句的語法分析結(jié)果和執(zhí)行計劃, 私有SQL則用來存放與具體SQL語句執(zhí)行有關(guān)的綁定變量,會話參數(shù) 等。 ORACLE實例的另外一個重要部分就是其后臺進(jìn)程,主要的后臺進(jìn)程 有:數(shù)據(jù)庫寫進(jìn)程(DBWR),重做日志寫進(jìn)程(LGWR),系統(tǒng)監(jiān)視 器(SMON),進(jìn)程監(jiān)視器(PMON),檢查點進(jìn)程(CKPT)。 DBWR主要是對數(shù)據(jù)庫緩存區(qū)中的臟冷數(shù)據(jù)進(jìn)行寫入數(shù)據(jù)文件操作; LGWR主要是將對數(shù)據(jù)庫數(shù)據(jù)操作所產(chǎn)生的重做日志信息寫入到重做日 志文件中;SMON完成由于非正常關(guān)閉數(shù)據(jù)庫的情況下重起數(shù)據(jù)庫時對 數(shù)據(jù)庫的恢復(fù);PMON用來恢復(fù)失敗的用戶進(jìn)程和服務(wù)進(jìn)程,并釋放其 所占的系統(tǒng)資源;CKPT可以表示數(shù)據(jù)庫在此出處于完整狀態(tài)。 邏輯存儲結(jié)構(gòu):數(shù)據(jù)塊BLOCK,區(qū)EXTENT,段SEGMENT,表空間 TABLESPACE 物理存儲空間:表空間,數(shù)據(jù)文件,控制文件,日志文件,數(shù)據(jù)字典 軟件體系結(jié)構(gòu)就是上邊對SGA和后臺進(jìn)程的描述。 17 、對于精通的數(shù)據(jù)庫系統(tǒng)描述其數(shù)據(jù)一致性的保證機制,包括lock, 事務(wù)一致性等. 答案: 在并發(fā)環(huán)境下,采用多種機制保持其數(shù)據(jù)的一致性,如oracle系統(tǒng) 提供的事務(wù)級的一致性、行級鎖、表級鎖等等. 18、對精通的數(shù)據(jù)庫系統(tǒng)描述其聯(lián)機備份機制、恢復(fù)機制,考核其對日 志的理解. 答案: 描述相關(guān)數(shù)據(jù)庫的實時聯(lián)機備份策略,如數(shù)據(jù)庫系統(tǒng)在運行中通 過何種方式保證其數(shù)據(jù)的實時備份, 出現(xiàn)問題時,應(yīng)采取何種辦法從聯(lián)機 備份進(jìn)行恢復(fù). 對對oracle而言,其archive online 備份方式應(yīng)如何設(shè)置、修改什么參 數(shù)、如何安排備份空間等等. 19、 精通的數(shù)據(jù)庫系統(tǒng)描述性能優(yōu)化方法,包括優(yōu)化的策略、參 數(shù)、驗證方法等. 答案: 20、Truncate; 與 delete;的區(qū)別?(這道題可以衍生出很多的問題比如: 想快速的清除一個很大的表中的數(shù)據(jù)應(yīng)該用設(shè)么操作?答案是:應(yīng)該用 truncate。還有,在對兩個相同紀(jì)錄數(shù)的分別表使用了truncate,和delete commit;后對這兩個表進(jìn)行count(*)統(tǒng)計記錄數(shù)操作,那個表速度會快 些?答案是:使用了truncate的會快些。) 21、寫一個游標(biāo)并使用它。(這道題應(yīng)該注意的是:在使用游標(biāo)后一 定要記得關(guān)閉游標(biāo))。 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)建表的時候會設(shè)置 pctfree 10 pctused 40 而創(chuàng)建表的索引的時候卻沒有 pctused 40 這是為什么? (這道題的主要思想是索引不能在pctused 40上得到什么好處) 23、使用過的最大的表有多少行紀(jì)錄?(這道題不是看應(yīng)試者的技術(shù)過 不過關(guān),而是考察應(yīng)試者是否有大型數(shù)據(jù)庫的管理操作經(jīng)驗) 不要對表的索引列進(jìn)行函數(shù)操作,因為這樣系統(tǒng)就不能使用索引,使查 詢變得很慢,但是在ora8i以后就已經(jīng)開始支持函數(shù)的索引,彌補了這個 不足。 24、ORACLE數(shù)據(jù)庫啟動與關(guān)閉的步驟 啟動:啟動實例-加載數(shù)據(jù)庫數(shù)據(jù)-打開數(shù)據(jù)庫 關(guān)閉:關(guān)閉數(shù)據(jù)庫-卸載數(shù)據(jù)庫數(shù)據(jù)-關(guān)閉實例 25、Delete與truncate的區(qū)別 delete一般用于刪除少量記錄的操作,而且它是要使用回滾段并且要進(jìn) 行顯示的提交事務(wù)。而truncate則使用于大量刪除數(shù)據(jù),而且隱式提交 事務(wù),其速度要比使用delete快的多。 26、DDL和DML分別代表什么? DDL表示數(shù)據(jù)定義語言,在ORACLE中主要包括CREATE,ALTER, DROP DML表示數(shù)據(jù)操作語言,主要的DML有SELECT,INSERT, UPDATE,DELETE 28、Javascript中動態(tài)效果時調(diào)用的函數(shù)。 29、數(shù)據(jù)庫中有若干條相同的記錄,刪除到只剩下一條記錄。如何 做,請用SQL語句通過ROW_ID來寫出執(zhí)行過程。 Delete table_name where ziduan= and rowed(select max(rowed) from table_name where ziduan=); 30、oracle數(shù)據(jù)庫表存放到磁盤什么地方(什么物理空間上大概意 思)? Oracle數(shù)據(jù)庫表存放在數(shù)據(jù)文件上。 31、Oracle使用什么語句給用戶分配權(quán)限? GRANT TO 語句 32、你在項目現(xiàn)場,用戶要求你向正在運行的表中添加一個字段,你 該怎么做? 第一種方法:關(guān)閉數(shù)據(jù)庫,然后使用受限模式打開,由sys/sysdba來進(jìn) 行 第二種方法:不關(guān)閉數(shù)據(jù)庫,將數(shù)據(jù)庫置于靜默狀態(tài)在SYS/SYSDBA 模式下用ALTER SYSTEM QUISCE RESTRICTED,這種狀態(tài)下只有 SYS/SYSDBA才可以對數(shù)據(jù)庫進(jìn)行操作,修改完畢之后再退出靜默狀 態(tài)ALTER SYSTEM UNQUISCE 在這里復(fù)習(xí)到了數(shù)據(jù)庫的兩種特殊狀態(tài):靜默狀態(tài)(QUISCE)和掛起狀 態(tài) 靜默狀態(tài)就是只有特殊權(quán)限的SYS/SYSDBA才可以對數(shù)據(jù)庫進(jìn)行操 作,使用ALTER SYSTEM QUISCE RESTRICTED以后系統(tǒng)將等候活動 著的會話主動結(jié)束,同時阻止建立新的會話,系統(tǒng)掛起所有的SQL語 句,等恢復(fù)以后再重新激活會話執(zhí)行掛起的SQL。 掛起狀態(tài)就是系統(tǒng)將數(shù)據(jù)庫所有對物理文件(數(shù)據(jù)文件,控制文件, 日志文件)的I/O操作都暫停,但是并不禁止非DBA用戶對數(shù)據(jù)庫進(jìn)行 操作。這種狀態(tài)主要用于進(jìn)行數(shù)據(jù)庫備份。 33、Oracle中回滾的概念?回滾段有什么作用。 回滾就是在事務(wù)提交之前將數(shù)據(jù)庫數(shù)據(jù)恢復(fù)到事務(wù)修改之前數(shù)據(jù)庫數(shù) 據(jù)狀態(tài)。 回滾段就是為回滾提供依據(jù),記錄的是事務(wù)操作數(shù)據(jù)庫之前的數(shù)據(jù)或 者對應(yīng)于以前操作的操作,這個內(nèi)容要根據(jù)以前的操作而定。比如說 以前事務(wù)操作如果是UPDATE那么回滾段則存儲UPDATE以前的數(shù) 據(jù),如果事務(wù)是DELETE操作那么存儲的則是與之相對應(yīng)的INSERT操 作語句,相反如果事務(wù)操作是INSERT那么記錄相應(yīng)的則是DELETE操 作了。 34、Oracle的8I和9I有什么區(qū)別 35、一張表有10萬條記錄,如何刪除其中的任意20條記錄?請用SQL 語句進(jìn)行操作 36、客戶端如何訪問服務(wù)器端的oracle?如果客戶端無法訪問服務(wù)器端 的oralce,可能會是什么原因? 客戶端通過網(wǎng)絡(luò)或者進(jìn)程方式以合法的用戶身份來取得和服務(wù)器端 ORACLE的連接。如果客戶端無法訪問服務(wù)器端ORACLE可能出現(xiàn)的 原因是:用戶無權(quán)訪問;服務(wù)器端數(shù)據(jù)庫并沒有打開(啟動數(shù)據(jù)庫的 第三步?jīng)]有完成);如果服務(wù)器是在共享模式下的則有可能沒有對應(yīng) 于該客戶所使用的通信協(xié)議的調(diào)度進(jìn)程Dnnn。 37、 oracle中執(zhí)行語句錯誤時去哪里查找錯誤信息? Select * from USER_ERRORS 38、 select語句需要提交嗎?insert和update語句呢? 39、 在執(zhí)行insert語句并提交后,這些提交的數(shù)據(jù)存儲到什么地 方? 被存儲到數(shù)據(jù)文件中 40、 oracle中有哪些類型的文件? 數(shù)據(jù)文件,控制文件,日志文件和數(shù)據(jù)字典 41、 介紹一下oracle的體系結(jié)構(gòu)? 邏輯體系結(jié)構(gòu):塊,區(qū),段,表空間 物理體系結(jié)構(gòu):表空間,三大文件 軟件體系結(jié)構(gòu):SGA,后臺進(jìn)程 42、 談?wù)剬racle的row_ id是否理解?請簡述? ORACLE的row_id是一個偽列,其個是為18個字節(jié)可將這18個字節(jié)用 6363來劃分,分別表示段編號,數(shù)據(jù)文件編號,數(shù)據(jù)塊編號和記錄編 號。 Row_id表示的是一個記錄的物理存儲地址。 43、 oracle中如何刪除用戶? Oracle中使用DROP USER來刪除用戶,如果使用DROP USER CASCADE那么用戶的對象也同時被刪除掉。為了達(dá)到刪除用戶的效 果而又不影響對用戶下的對象的使用可以使用alter user username account lock將用戶鎖定。 44、 客戶端對服務(wù)器端的oralce操作的流程是什么? 專用模式下:用戶通過應(yīng)用程序進(jìn)程試圖去得到一個與ORACLE數(shù)據(jù) 庫服務(wù)器的連接客戶端通過網(wǎng)絡(luò)傳遞連接請求,ORACLE服務(wù)器則使 用監(jiān)聽進(jìn)程監(jiān)聽用戶請求,并且來驗證用戶身份,通過驗證則為用戶 分配一專用服務(wù)進(jìn)程用戶提交SQL語句專用服務(wù)進(jìn)程則首先在SGA區(qū) 的共享池中檢查是否有與該SQL語句相似的已經(jīng)被解析執(zhí)行并且緩存 的SQL語句,如果有則采用它的解析結(jié)果和執(zhí)行計劃執(zhí)行SQL語句, 如果沒有則對SQL語句進(jìn)行語法解析生成執(zhí)行計劃通過解析則執(zhí)行操 作獲取數(shù)據(jù)將執(zhí)行結(jié)果返回給客戶。 共享模式下:與專用模式不同在于當(dāng)監(jiān)聽程序驗證用戶的合法性以后 并不為它分配一個專用的服務(wù)進(jìn)程,而是將該請求與響應(yīng)的調(diào)度進(jìn)程 相聯(lián)系起來,并將起放入到一個請求隊列中,最終由響應(yīng)的Dnnn來從 調(diào)度隊列中獲取一個請求并為之分配一個空閑的服務(wù)進(jìn)程,接下來有 服務(wù)進(jìn)程對該請求進(jìn)行服務(wù)操作和專用方式下相同,處理完成之后由 服務(wù)進(jìn)程先將結(jié)果放入一個返回隊列最后再由調(diào)度進(jìn)程(Dnnn)將返 回隊列中的結(jié)果返回給對應(yīng)的用戶。 45、 exits和in在ORALCE數(shù)據(jù)庫中那個執(zhí)行效率更高? Exits執(zhí)行效率比in高。因為: 46、 如何判斷游標(biāo)已經(jīng)到最后一行? Cursor_name%notfound 47、 聚簇索引和普通索引在不同的SQL語句中哪個效率更高? (筆試題,原題回憶不起來,主題就是聚簇索引和普通索引 的區(qū)別) 概念類: 聚合函數(shù)? Session的定義和用法? Oracle的存儲過程 ? 什么是 構(gòu)造函數(shù)? 48、簡述ORACLE中SGA的組成部分。 答:系統(tǒng)全局區(qū)包括:共享池、重做日志緩存區(qū)、數(shù)據(jù)高速緩存區(qū),大 池,JAVA池。 49、簡述ORACLE的啟動和關(guān)閉各有多少步驟? 啟動:啟動實例、裝載數(shù)據(jù)庫數(shù)據(jù)、打開數(shù)據(jù)庫。 關(guān)閉:關(guān)閉數(shù)據(jù)庫、卸載數(shù)據(jù)庫數(shù)據(jù)、關(guān)閉實例。 50、在Oracle表空間的分類和作用,如排序時數(shù)據(jù)將放在什么表空間? 作用是為了突破存儲容量的限制,是一個邏輯概念。排序數(shù)據(jù)放在臨時 表空間。 51、執(zhí)行COMMIT命令時,數(shù)據(jù)庫將會發(fā)生什么改變,ROLLBACK 呢? 答:commit 提交時首先是與事務(wù)對應(yīng)的重做日志信息將被寫入到數(shù)據(jù) 庫物理文件中的重做日志文件中,至于是否會真正將事務(wù)操作的內(nèi)容反 映到數(shù)據(jù)文件還好看DBWR是否啟動了。在完成數(shù)據(jù)庫的插入,刪除和 修改操作時,只有當(dāng)事務(wù)提交到數(shù)據(jù)庫才算完成,有提交前只有操作數(shù) 據(jù)庫的本人才能看到,別人只有在最后提交完成才可以看到。 ROLLBACK回滾當(dāng)前尚未提交的事務(wù),使數(shù)據(jù)庫恢復(fù)到事務(wù)操作前的 狀態(tài)。 52、用命令創(chuàng)建用戶,并為用戶授權(quán)。 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%,(提示:要求用 到游標(biāo)) 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數(shù)據(jù)庫都有哪些類型的文件? 數(shù)據(jù)文件,控制文件,日志文件,參數(shù)文件 55、 用命令創(chuàng)建表空間、用戶,并為用戶授權(quán)、收回權(quán)限。 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; 回收權(quán)限: 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中查看當(dāng)前用戶,通常有哪些方式?(提示:show user 和select * from user_users)show user;/select username from user_users; 60、 出在Oracle中,創(chuàng)建表空間的語法結(jié)構(gòu),以及所含參數(shù)說明。 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、 如何判斷游標(biāo)是否到了末尾?(提示:用%notfound) cursor_name%notfound 62、 在Oracle中,如何查看當(dāng)前用戶下的所有表空間? Select tablespace_name from user_tablespaces; 63、 在Oracle中,你所創(chuàng)建的表空間信息放在哪里? 存放在數(shù)據(jù)字典中,數(shù)據(jù)字典內(nèi)容對應(yīng)于系統(tǒng)表空間SYSTEM表空間。 64、 ORACLE中的控制文件什么時候讀??? ORACLE服務(wù)器啟動時,先啟動實例然后再讀取數(shù)據(jù)庫的各個文件當(dāng)然 也包括控制文件。也就是說在數(shù)據(jù)庫服務(wù)器啟動的第二步時讀取。 65、 Oracle的表格信息存儲在哪個地方? SYSTEM表空間的數(shù)據(jù)字典文件中。 66、如何根據(jù)字典創(chuàng)建一個表空間,并說明參數(shù)? 66、 ORACLE中當(dāng)一個用戶正在操作一個執(zhí)行過程,管理員此時取 消了他的權(quán)限,會發(fā)生什么事情? 68、談?wù)勀銓巧睦斫?,常用的角色有哪些?角色就是一組權(quán)限的數(shù)據(jù)庫實體,它不屬于任何模式或用戶但是可以被 授予任何用戶。常用的角色有CONNECT,DBA,RESOURCE, SELECT_CATALOG_ROLE(查詢所有表視圖權(quán)), DELETE_CATALOG_ROLE(刪除權(quán)限)等。 角色的創(chuàng)建和授權(quán):和創(chuàng)建用戶為用戶授權(quán)差不多。Create role role_name identified grant 權(quán)限to role_name。 69、簡述Oracle的歸檔與不歸檔工作模式,分別說明。 Oracle歸檔模式是指在創(chuàng)建數(shù)據(jù)庫時指定了ARCHIVELOG參數(shù),這種模 式下,當(dāng)重做日志文件寫滿的時候會將該重做日志文件的內(nèi)容保存到指 定的位置(由初始化文件中的參數(shù)ARCHIVE_LOG_DEST_n來決定)。 并不是數(shù)據(jù)庫在歸檔模式下工作的時候就可以自動完成歸檔操作,在歸 檔模式下可以有兩種歸檔方式:自動歸檔(在初始化文件中的參數(shù) ARCHIVE_LOG_START被設(shè)置為TRUE)和手動歸檔。如果歸檔模式 下沒有啟動自動歸檔的話,而且又沒有實行手動歸檔那么當(dāng)LGWR進(jìn)程 將重做日志信息寫入已經(jīng)寫滿的重做日志文件時數(shù)據(jù)庫將會被掛起直到 進(jìn)行了歸檔??梢姎w檔是對重做日志文件信息的一種保護措施。 Oracle非歸檔模式下當(dāng)重做日志文件寫滿以后若是有LGWR進(jìn)行重做日 志信息的寫入操作時,以前保存在重做日志文件中的重做日志信息就會 被覆蓋掉。 70、Oracle索引分為哪幾類,說出唯一索引和位圖索引的概念。 Oracle索引有B樹索引,位圖索引,函數(shù)索引,簇索引等。 唯一索引也是B樹索引的一種,它要求被索引的字段值不可以重復(fù)。在 創(chuàng)建的時候使用B樹算法創(chuàng)建。 位圖索引并不是采用象唯一索引那樣存儲(索引字段值,記錄 ROWID)來創(chuàng)建索引段的,而是為每一個唯一的字段值創(chuàng)建一個位 圖,位圖中使用位元來對應(yīng)一個記錄的ROWID。位元到ROWID是通過 映射的到的。 71、ORACLE的基本數(shù)據(jù)類型有哪些? Char()存儲定長字符,定義的時候可以不為他指定長度但是如若往里插 入值則會出錯;varchar2()存儲變長字符定義的時候必須指定長度,date 存儲時間日期;Number()數(shù)字類型,包括整型,浮點型等;clob()大容 量字符串;blob()大二進(jìn)制對象 72、SQL中,執(zhí)行四舍五入的是哪個函數(shù)? Round(value,保留的小數(shù)位數(shù))與只對應(yīng)的還有一個特別相似的函數(shù) trunc(value,保留的小數(shù)位數(shù))它的作用是根據(jù)要保留的小數(shù)位數(shù)來 截取原數(shù)。 73、oracle數(shù)據(jù)庫表存放到磁盤什么地方?數(shù)據(jù)文件 ORACLE數(shù)據(jù)庫的表存放在物理文件中的數(shù)據(jù)文件中。 74、當(dāng)執(zhí)行insert語句并提交后,這些提交的數(shù)據(jù)存儲到什么地方? 存儲到了數(shù)據(jù)庫的數(shù)據(jù)文件中。 75、Exits和in在ORALCE數(shù)據(jù)庫中那個執(zhí)行效率更高? EXITS執(zhí)行效率要比使用IN要快。 76、ORACLE自己提供的函數(shù),想知道具體位置,如何操作? 77、數(shù)據(jù)庫的幾種物理文件? 1) 數(shù)據(jù)文件 2)控制文件 3)日志文件 78、 控制文件都含有哪些信息? 控制文件存放有實例信息(實例名稱創(chuàng)建時間等),數(shù)據(jù)文件和日志文 件信息,還有系統(tǒng)運行時記錄的系統(tǒng)變更碼(SCN),檢查點信息和歸檔 的當(dāng)前狀態(tài)信息等。數(shù)據(jù)庫在加載數(shù)據(jù)庫的時候首先要讀取控制文件獲 得和數(shù)據(jù)庫有關(guān)的物理結(jié)構(gòu)信息之后才能夠正確加載數(shù)據(jù)文件和日志文 件并打開數(shù)據(jù)庫。 79、 Decode函數(shù)的用法? DECODE的語法:DECODE(value,if1,then1,if2,then2,if3,then3,.,else),表示如果value等 于if1時,DECODE函數(shù)的結(jié)果返回then1,.,如果不等于任何一個if值,則返回else。初看一下, DECODE 只能做等于測試,但剛才也看到了,我們通過一些函數(shù)或計算替代value,是可以使 DECODE函數(shù)具備大于、小于或等于功能。 1. 如何用decode進(jìn)行大于小于的比較? 利用sign()函數(shù)和DECODE和在一起用 select decode(sign(變量1-變量2),-1,變量1,變量2) from dual; decode(條件,值1,翻譯值1,值2,翻譯值2,.值n,翻譯值n,缺省值) 該函數(shù)的含義如下: 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()函數(shù)根據(jù)某個值是0、正數(shù)還是負(fù)數(shù),分別返回0、1、-1 例如: 變量1=10,變量2=20 則sign(變量1-變量2)返回-1,decode解碼結(jié)果為“變量1”,達(dá)到 了取較小值的目的。 2、表、視圖結(jié)構(gòu)轉(zhuǎn)化 現(xiàn)有一個商品銷售表sale,表結(jié)構(gòu)為: month char(6) -月份 sell number(10,2) -月銷售金額 現(xiàn)有數(shù)據(jù)為: 200001 1000 200002 1100 200003 1200 200004 1300 200005 1400 200006 1500 200007 1600 200101 1100 200202 1200 200301 1300 想要轉(zhuǎn)化為以下結(jié)構(gòu)的數(shù)據(jù): 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月銷售金額 結(jié)構(gòu)轉(zhuǎn)化的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將重新設(shè)置高水平線和所有的索引。在對整個表和 索引進(jìn)行完全瀏覽時,經(jīng)過TRUNCATE操作后的表比DELETE操作后的 表要快得多。 4、TRUNCATE不能觸發(fā)觸發(fā)器,DELETE會觸發(fā)觸發(fā)器。 5、不能授予任何人清空他人的表的權(quán)限。 6、當(dāng)表被清空后表和表的索引講重新設(shè)置成初始大小,而delete則 不能。 7、不能清空父表。 81、 表空間如何擴展?并用語句寫出? 兩種擴展方式: a) 增加數(shù)據(jù)文件 alter tablespace tablespace_name add datafile xxMB b) 擴展數(shù)據(jù)文件大小 alter database datafile resize newMB 82、 表空間區(qū)管理方式?哪種方式現(xiàn)在是推薦使用的? a) 字典管理方式 extent management dictionary;默認(rèn)方式 b) 本地管理方式 extent management localautoallocate/uniform xxmb; 83、 用什么函數(shù)獲得日期?和日期中的月,日,年 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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度個人獨資企業(yè)資產(chǎn)重組與經(jīng)營權(quán)轉(zhuǎn)讓合同2篇
- “創(chuàng)建和諧班級共建美好校園”主題班會教案3篇
- 二零二五年度高性能壓路機買賣合同3篇
- 二零二五年度智能家居與智能家居設(shè)備銷售合同
- 關(guān)于樂學(xué)善學(xué)班會5篇
- 八年級科學(xué)競賽試題(附答案)
- 財會人員聘用合同
- 宣傳推廣營養(yǎng)品媒體合作協(xié)議
- 商品廣告投放合同
- 菜場租賃合同書范本
- 七年級歷史下冊第2課唐朝建立與貞觀之治
- 8.3+區(qū)域性國際組織+課件高中政治統(tǒng)編版選擇性必修一當(dāng)代國際政治與經(jīng)濟
- 2025年國網(wǎng)陜西省電力限公司高校畢業(yè)生招聘1100人(第二批)高頻重點提升(共500題)附帶答案詳解
- 《深度學(xué)習(xí)的7種有力策略》
- 李四光《看看我們的地球》原文閱讀
- 抖音火花合同電子版獲取教程
- 同意更改小孩名字協(xié)議書
- 隱患排查治理資金使用專項制度
- 家具定做加工合同
- 中國心胸外科的歷史和現(xiàn)狀
- 人教版9年級全一冊英語單詞表
評論
0/150
提交評論