1. 下列不屬於ORACLE的邏輯結構的是(C)
區段數據文件表空間2. 下面哪個用戶不是ORACLE缺省安裝後就存在的用戶(A)
A . SYSDBA
B. SYSTEM
C. SCOTT
D. SYS
3 下面哪個操作會導致用戶連接到ORACLE數據庫,但不能創建表(A)
授予了CONNECT的角色,但沒有授予RESOURCE的角色沒有授予用戶系統管理員的角色數據庫實例沒有啟動數據庫監聽沒有啟動( )函數通常用來計算累計排名,移動平均數和報表聚合。A . 彙總
B. 分析
C 分組、
D 單行
帶有(B)字句的SELECT語句可以在表的一行或多行放置排他鎖。A . FOR INSERT
B. FOR UPDATE
C. FOR DELETE
D. FOR REFRESH
在Oracle中,你以SYSDBA登錄,CUSTOMER表位於Mary用戶方案中,下面哪條語句為數據庫中的所有用戶創建CUSTOMER表的同義詞(B)。CREATE PUBLIC SYNONYM cust ON mary.customer;CREATE PUBLIC SYNONYM cust FOR mary.customer;CREATE SYNONYM cust ON mary.customer FOR PUBLIC;不能創建CUSTOMER的公用同義詞。7. 在Oracle中,當FETCH語句從遊標獲得數據時,下面敘述正確的是(C)。
8. 在Oracle中,下面關於函數描述正確的是(AD)。
SYSDATE函數返回Oracle服務器的日期和時間ROUND數字函數按四捨五入原則返回指定十進制數最靠近的整數ADD_MONTHS日期函數返回指定兩個月份天數的和SUBSTR函數從字符串指定的位置返回指定長度的子串9. 閱讀下面的PL/SQL程序塊:
BEGIN
INSERT INTO employee(salary,last_name,first_name)
VALUES(35000,’Wang’,'Fred’);
SAVEPOINT save_a;
INSERT INTO employee(salary,last_name,first_name)
VALUES(40000,’Woo’,'David’);
SAVEPOINT save_b;
DELETE FROM employee WHERE dept_no=10;
SAVEPOINT save_c;
INSERT INTO employee(salary,last_name,first_name)
VALUES(25000,’Lee’,'Bert’);
ROLLBACK TO SAVEPOINT save_c;
INSERT INTO employee(salary,last_name,first_name)
VALUES(32000,’Chung’,'Mike’);
ROLLBACK TO SAVEPOINT save_b;
COMMIT;
END;
運行上面的程序,哪兩個更改永久保存到數據庫(CD)。
DELETE FROM employee WHERE dept_no=10;INSERT INTO employee(salary,last_name,first_name) i. VALUES(32000,’Chung’,'Mike’);INSERT INTO employee(salary,last_name,first_name) i. VALUES(35000,’Wang’,'Fred’);INSERT INTO employee(salary,last_name,first_name) i. VALUES(40000,’Woo’,'David’);10. 在Oracle中,表VENDOR包含以下列:
VENDOR_ID NUMBER Primary Key
NAME VARCHAR2(30)
LOCATION_ID NUMBER
ORDER_DT DATE
ORDER_AMOUNT NUMBER(8,2)
下面對錶VENDOR運用分組函數的子句合法的是(C)。
FROM MAX(order_dt)SELECT SUM(order_dt)SELECT SUM(order_amount)WHERE MAX(order_dt) = order_d11. 在Oracle中,表EMP包含以下列:
……
NAME VARCHAR2(20)
ADDR VARCHAR2(60)
……
要以NAME’s address is ADDR格式返回數據,以下SQL語句正確的是(B)。
+ 的兩邊做To_number()
SELECT NAME + ’’’s address is ‘ + ADDR FROM EMP;SELECT NAME || ’’’s address is ‘ || ADDR FROM EMP;SELECT NAME + ’\\’s address is ‘ + ADDR FROM EMP;SELECT NAME || ’\\’s address is ‘ || ADDR FROM EMP;12. 在Oracle中,以下不屬於集合操作符的是(B)。
UNIONSUMMINUSINTERSECT13. 在Oracle中,表分區方式(C)建議分區數是2的冪(2、4、8等),以獲得最平均的數據發佈。
14. 在Oracle中,關於鎖,下列描述不正確的是(D)。
鎖用於在用戶之間控制對數據的併發訪問可以將鎖歸類為行級鎖和表級鎖insert、update、delete語句自動獲得行級鎖同一時間只能有一個用戶鎖定一個特定的表15 .在Oracle中,關於表分區下列描述不正確的是()。
分區允許對選定的分區執行維護操作,而其他分區對於用戶仍然可用不可以對包含LONG或LONG RAW列的表進行分區不可以對包含任何LOB列的表進行分區如果分區鍵包含DATE數據類型的列,則必須使用TO_DATE函數完整的指定年份16:
在Oracl中,哪種表分區維護操作可以將非分區錶轉換為分區表的分區()。
添加分區結合分區交換表分區合併分區17:
在Oracle中,使用帶有()子句的SELECT命令可以在表的一行或多行上放置排他鎖。
FOR INSERT OFFOR REFRESHFOR UPDATE OFFOR LOCK18:
在Oracle中,序列venseq使用下面的語句創建:
CREATE SEQUENCE venseq INCREMENT BY 1 START WITH 10
MAXVALUE 100 MINVALUE 10 CYCLE CACHE 5;
下面對序列venseq修改的語句,錯誤的是(A)。
ALTER SEQUENCE venseq START WITH 1;ALTER SEQUENCE venseq MAXVALUE 90;ALTER SEQUENCE venseq NOMINVALUE;ALTER SEQUENCE venseq NOCACHE;19:
在Oracle中,使用以下語句創建視圖:
CREATE OR REPLACE VIEW pen_view
AS SELECT * FROM order_master
WHERE ostatus = ‘p’ WITH CHECK OPTION CONSTRAINT penv;
當用戶試圖執行以下語句:
UPDATE pen_view SET ostatus = ‘d’ WHERE ostatus=’p’;
下列描述正確的是(B)。
Oracle將ostatus修改為d,不提示任何錯誤Oracle不執行更新操作,並返回錯誤信息Oracle將ostatus修改為d,同時返回錯誤信息Oracle不執行更新操作,也不提示任何錯誤20:
在Oracle中,在以下情形建立位圖索引可以獲得較好的性能(C)。
在列值唯一的列上建立在列值相差很小的列上建立在列值頻繁重複的列上建立在用於保存位圖的列上建立21:
在Oracle中,通過命令(C)可以釋放鎖。
INSERTDELETEROLLBACKUNLOCK22
在Oracle中,下面關於簇的描述不正確的是(B)。
23:
在Oracle中,抽象數據類型address_ty定義如下:
CREATE TYPE address_ty AS OBJECT
( street_no number(3),
street_name varchar2(20),
city varchar2(20),
state varchar2(20))
/
表vend_mast定義如下:
CREATE TABLE vend_mast
(vencode varchar2(5), venname varchar2(15),
venadd address_ty, tel_no number(10));
下列語句能正確執行的是()。
SELECT city FROM vend_mast WHERE venname=’Joe’;UPDATE vend_mast SET address_ty.street_no=10WHERE venname=’john’;
DELETE FROM vend_mast a WHERE a.venadd.vencode=’v100’; 需要啟別名才能訪問SELECT a.venadd.street_name FROM vend_mast aWHERE street_no=11;
24:
在Oracle中,()數據字典表可以用來查看抽象數據類型的實際結構。
USER_TYPE_ATTRSUSER_TABLESUSER_TYPE_TABSUSER_TAB_COLUMNS25:
在Oracle中,(B)操作符允許引用現有的行對象。
CASTREFMULTISETMAP26:
在Oracle中,關於PL/SQL下列描述正確的是(C)。
PL/SQL代表Power Language/SQLPL/SQL不支持面向對象編程PL/SQL塊包括聲明部分、可執行部分和異常處理部分PL/SQL提供的四種內置數據類型是character,integer,float,boolean27:
在Oracle中,閱讀下列PL/SQL塊:
DECLARE
v_lower NUMBER:=2;
v_upper NUMBER:=100;
v_count NUMBER:=1;
BEGIN
I = 2; I <= 2; i++
FOR i IN v_lower..v_lowerLOOP
INSERT INTO test(results)
VALUES (v_count);
v_count := v_count +1;
ENDLOOP;
END;
請問FOR LOOP循環體執行了(A)次。
1298100235:28:
在Oracle中,()程序包中提供了所有預定義的異常的定義。
DBMS_STANDARDDBMS_STDDBMS_SQLDBMS_TYPES29:
在Oracle中,關於子程序的描述不正確的是(C)。
子程序 就是存儲過程和函數
子程序是已命名的PL/SQL塊,可帶參數並可在需要時隨時調用子程序可以具有聲明部分、可執行部分和異常處理部分子程序參數的模式只有IN和OUT兩種模式子程序可分為過程和函數兩種類型30:
在Oracle中,當從SQL表達式調用函數時,下列描述不正確的是(AC)。
從SELECT語句調用的函數均不能修改數據庫表函數可以帶有IN、OUT等模式的參數函數的返回值必須是數據庫類型,不得使用PL/SQL類型形式參數必須使用數據庫類型,不得使用PL/SQL類型31:
在Oracle中,關於觸發器的描述正確的是(D)。
觸發器可以刪除,但不能禁用觸發器只能用於表觸發器可以分為行級和語句級兩種觸發器是一個對關聯表發出insert、update、delete或select … for update語句時觸發的存儲過程32:
在Oracle中,你需要創建索引提高薪水審查的性能,該審查要對員工薪水提高12個百分點後進行分析處理,下面哪個create index命令能解決此問題(A)。
CREATE INDEX my_idx_1 ON employee(salary*1.12);CREATE UNIQUE INDEX my_idx_1 ON employee(salary);CREATE BITMAP INDEX my_idx_1 ON employee(salary);CREATE INDEX my_idx_1 ON employee(salary) REVERSE;33:
在Oracle中,執行下面的語句:
SELECT ceil(-97.342),
floor(-97.342), -123.01 -124
round(-97.342),
trunc(-97.342)
FROM dual;
哪個函數的返回值不等於-97(B)。
ceil()floor()round(0)trunc()34:
在Oracle中,用以下SQL命令創建了一個序列:
CREATE SEQUENCE my_seq
START WITH 394
INCREMENT BY 12
NOMINVALUE
NOMAXVALUE
NOCYCLE
NOCACHE;
用戶執行包含my_seq.NEXTVAL的SQL語句三次,然後執行包含(
my_seq.CURRVAL的SQL語句四次,請問序列my_seq的當前值是(B)。
406418430442242:35:
在Oracle中,下列哪種標量類型不能保存到數據庫表中(B)。
CHARRAWDATEBOOLEAN36:
在Oracle中,不屬於遊標屬性的是(C)。
%NOTFOUND%FOUND%ISCLOSE%ISOPEN37:
在Oracle中,在SQL提示符下調用PL/SQL過程的方法是(ABC)。
使用CALL語句使用EXECUTE語句使用RUN語句直接使用過程名38:
在Oracle中,用下列語句定義了一個過程:
CREATE OR REPLACE PROCEDURE test(a IN VARCHAR2,
b IN OUT NUMBER,
c OUT VARCHAR2) IS
BEGIN
……
END;
/
假定使用的變量都已定義,下面對過程test的調用語法正確的是(C)。
39:
在Oracle中,關於程序包的描述不正確的是(B)。
程序包是一種數據庫對象,它是對相關PL/SQL類型、子程序、遊標、異常、變量和常量的封裝程序包中私有對象是通過PRIVATE關鍵字來標識的 程序包體可以包括沒有在程序包說明中列出的對象,這些是私有對象,程序包的用戶不能使用PL/SQL允許兩個或多個打包的子程序具有同一名稱,只要子程序接受的參數數據類型不同程序包具有模塊化、信息隱藏、新增功能及性能更佳等優點40:
在Oracle中,用戶(A)擁有所有內置的程序包。
SYSSYSTEMPUBLICDEFAULT41:
在Oracle中,DBMS_LOB程序包的()過程用於刪除指定的BLOB或CLOB。
deleteeraseremoveempty_lob42
在Oracle中,關於觸發器的描述正確的是(D)。(選擇一項)
觸發器可以刪除,但不能禁用觸發器只能用於表觸發器可以分為行級和語句級觸發器使一個對關聯表發出select、insert、update或delete語句時觸發的存儲過程43:
在Oracle中,通過命令(CD)可以釋放鎖。(選擇兩項)
44:
在Oracle中,事務中使用下列SQL語句不會引起鎖定(A)。(選擇一項)
SELECTINSERTUPDATEDELETE45:
在Oracle中,當需要使用顯式遊標更新或刪除遊標中的行時,聲明遊標時指定的SELECT語句必須帶有(C)子句。(選擇一項)
WHERE CURRENT OFINTOFOR UPDATEORDER BY46:
在Windows操作系統中,Oracle的(A)服務器監聽並接受來自客戶端應用程序的連接請求。(選擇一項)
47:
在Oracle中,有一個名為seq的序列對象,以下語句能返回序列值但不會引起序列值增加的是(C)。(選擇一項)
select seq.ROWNUM from dual;select seq.ROWIDfrom dual;select seq.CURRVALfrom dual;select seq.NEXTVALfrom dual;48:
ORACLE中,執行語句:SELECT address1||’,'||address2||’,'||address2 ”Address” FROM employ;將會返回(B)列。
012349:
在Oracle中,INSTEAD OF觸發器主要用於(D)。(選擇一項)
表表和視圖基於單個表的視圖基於多個表的視圖50:
Oracle數據庫中,下面(C)可以作為有效的列名。
Column123_NUMNUM_#123#NUM12351:
在Oracle中,以下工具可以邏輯備份數據庫對象或整個數據庫(B)。(選擇一項)
SQL*Plus導出實用程序導入實用程序SQL*Loader52:
Oracle數據庫中,通過(B)訪問能夠以最快的方式訪問表中的一行。
主鍵Rowid唯一索引整表掃描53:
在Oracle中,使用下列的語句產生序列:
CREATE SEQUENCE id;
Oracle服務器會預開闢內存並維持的序列值有(C)個。(選擇一項)
0102010054:
Oracle數據庫中,以下(C)命令可以刪除整個表中的數據,並且無法回滾。
dropdeletetruncatecascade55:
Oralce數據庫中,以下(A)函數可以針對任意數據類型進行操作。
TO_CHARLOWERMAXCEIL56:
在Oracle中,語句(B)將ORDER_DATE日期值’2000年3月18日’顯示為‘2000年1月1日’。(選擇一項)
SELECT ROUND(order_date,’day’)FROM inventorySELECT ROUND(order_date,’YEAR’)FROM inventorySELECT ROUND(order_date,’month’)FROM inventorySELECT ROUND(to_char(order_date,’yyyy’))FROM inventory57:
在Oracle中,以下是STUDENTS表的結構:
SID NUMBER NOT NULL,Primary Key
SNAME VARCHAR2(30)
COURSE_ID VARCHAR2(10) NOT NULL
MARKS NUMBER
你需要查詢參加了課程ID為C10的考試,並且分數排在前10名的學生,以下(D)語句能夠實現此功能。
A. SELECT SID,marks,ROWNUM “Rank”
FORM students
WHERE ROWNUM<=10 AND course_id=’C10′
ORDER BY marks DESC;
B.SELECT SID,marks,ROWNUM”Rank”
FORM students
WHERE ROWNUM<=10 AND course_id=’C10′
ORDER BY marks;
C.
SELECT SID,marks,ROWNUM”Rank”
FORM (SELECT SID ,marks
FORM students
WHERE ROWNUM<=10 AND course_id=’C10′
ORDER BY marks DESC;
D.
SELECT SID,marks,ROWNUM”Rank”
FORM (SELECT SID ,marks
FORM students
WHERE course_id=’C10′ ORDER BY marks DESC)
WHERE ROWNUM<=10;
58:
在Oracle中,用下列語句定義一個過程:
CREATE PROCEDURE proc(value1 in varchar2,value2 out number,value3 in out varchar2)
is
begin
……
end;
假定使用的變量都已定義,下面對過程proc的調用語法正確的是().(選擇一項)
proc(‘tt’,10,v3)proc(‘tt’,v2,v3)proc(v1,v2,v3)proc(‘tt’,10,’dd’)59:
在Oracle中,使用以下語句創建視圖;
create or replace view myView
as select * from orders
where status=’p';
假定Orders表中包含10條status=’p'的記錄,當用戶試圖執行以下語句;
update myView set status=’o’ where status=’p';
下列正確的是()
Oracle不執行更新操作,並返回錯誤信息Oracle成功執行更新操作,再次查看視圖時返回0行記錄Oracle成功執行更新操作,再次查看視圖時返回10行記錄Oracle執行更新操作,但提示錯誤信息60:
在Oracle中,用於PL/SQL程序輸出調試信息的內置程序包是D
DBMS_STANDARDDBMS_ALERTDBMS_LOBDBMS_OUTPUT61:
在Oracle中,用下列語句定義了一個過程:
CREATE PROCEDURE proc(value1 IN VARCHAR2,value2 OUT NUMBER,value3 IN OUT VARCHAR2)
IS
BEGIN
……
END;
假定使用的變量都已定義,下面對過程proc的調用語法正確的是(B)。
proc(‘tt’,10,v3)proc(‘tt’,v2,v3)proc(v1,v2,v3)proc(‘tt’,10,’dd’)62:
在Oracle中,使用以下語句創建視圖:C
CREATE OR REPLACE VIEW MyView
AS SELECT * FROM orders
Where status=’p';
假定orders表中包含10條status=’p'的記錄,當用戶試圖執行以下語句:
UPDATE MyView SET status=’o’ WHERE status=’p';
下列描述正確的是()。
Oracle不執行更新操作,並返回錯誤信息Oracle成功執行更新操作,再次查看視圖時返回0行記錄Oracle成功執行更新操作,再次查看視圖時返回10行記錄Oracle執行更新操作,但提示錯誤信息63:
在Oracle中,語句()將ORDER_DATE日期值’2000年3月18日’顯示為’2000年1月1日’(選擇兩項)
select round(order_date,’day’)from inventoryselect round(order_date,’year’)from inventoryselect round(order_date,’month’)from inventoryselect round(to_char(order_date,’yyyy’))from inventory64:
在Oracle中,使用下列語句產生序列:
CREATE SEQUENCE id;
Oracle服務器會預開闢內存並維持的序列值有()個(選擇一項)
01020100292:65:
在Oracle中,以下工具可以邏輯備份數據庫對象或整個數據庫().
sql*plus導出實用程序導入實用程序sql*loader66:
在Oracle中,INSTEAD OF觸發器主要用於()
表表和視力圖基於單個表的視圖基於多個表的視圖67:
在Oracle中,用於顯示PL/SQL程序輸出調試信息的內置程序包是()。
DBMS_STANDARDDBMS_ALERTDBMS_LOBDBMS_OUTPUT68:
在Oracle中,有一個名為seq的序列對象,以下語句能返回序列值但不會引起序列值增加的是()。
select seq.ROWNUM form dual;select seq.ROWID form dual;select seq.CURRVAL form dual;select seq.NEXTVAL form dual;69:
在Oracle中,事務中使用下列SQL語句不會引起鎖定()。
70.
在Oracle中,通過命令()可以釋放鎖。
INSERTDELETEROLLBACKCOMMIT71
在Oracle中,關於觸發器的描述正確的是()。
觸發器可以刪除,但不能禁用觸發器只能用於表觸發器可以分為行級和語句級觸發器是一個對關聯表發出select、insert、update或delete語句是觸發的存儲過程72:
ORACLE 中,執行語句: SELECT address1||’,’||address2||’,’||address2 “Adress” FROM employ;將會返回()列。(選擇一項)
012373:
在Oracle中,PL/SQL塊中定義了一個帶參數的遊標:
CURSOR emp_cursor(dnum NUMBER) IS
SELECT sal,comm FORM emp WHERE deptno=dnum;
那麼正確打開此遊標的語句是(AD)。
OPEN emp_cursor(20);OPEN emp_cursor FOR 20;OPEN emp_cursor USING 20;FOR rmp_rec IN emp_cursor(20) LOOP … ENDLOOP;74:
Oracle數據庫中,下面()可以作為有效的列名。(選擇一項)
75: Column123_NUMNUM_#123#NUM123Oracle數據庫中,通過(B)訪問能夠以最快的方式訪問表中的一行。(選擇一項)
主鍵Rowid唯一索引整表掃描76:
Oracle數據庫中,以下()函數可以針對任意數據類型進行操作。
TO_CHARLOWERMAXCEIL77:
Oracle數據庫中,以下()命令可以刪除整個表中的數據,並且無法回滾。(選擇一項)
dropdeletetruncatecascade78:
在Oracle中,下列(B)語句不能用於控制遊標。
OpenCreateFetchClose79:
在Oracle中有表”cd”,它包含屬性”cdcode”,”category”和”cdname”,要查詢category取值為”CLASSIC”或”ROCK”的行,應採用語句(AD)。
SELECT * FROM cd WHERE category IN (‘CLASEIC’,'ROCK’);SELECT * FROM cd WHERE category BETWEEN ‘CLASSIC’ AND ‘ROCK’;SELECT * FROM cd WHERE category=’CLASSIC’ AND category=’ROCK’;SELECT * FROM cd WHERE category=’CLASSIC’ OR category=’ROCK’;80:
在Oracle中,在執行SQL語句時,你不小心使用Update命令將所有的ID值設置成了11111,那麼使用(C)命令可以取消這一操作。
EXITCOMMITROLLBACKUNDO81
在Oracle中,數據庫中的觸發器是一個對關聯表發出insert、update或(A)語句時觸發的存儲過程。(選擇一項)
A delete
B drop
C create
D truncate
82
在Oracle 中,使用瞭如下的語句創建用戶TOM,則對於該用戶而言,以下說法錯誤的是(D)。(選擇一項)CREATE USER TOM IDENTIFIED BY TOMSYS
A 該用戶的口令為TOMSYS
B TOM默認為表空間為SYSTEM
C TOM 的臨時表空間為TEMP
D 使ORANT UPDATE 命令可以修改TOM的口令
83
在Oracle中,下述(A)命令會使掛起的事務完成。(選擇一項)。(選擇一項)
A COMMIT
B DELETE
C UPDATE
D SELECT
e) INSERT
84
遊標變量的類型是(B )
A 隱式遊標
B 顯示遊標
C REF遊標
D 循環遊標
85
在非歸檔方式下操作的數據庫禁用了(A)。(選擇一項)
A 歸檔日誌。
B 聯機日誌。
C 日誌寫入程序。
D 日誌文件。
86
由於軟硬件問題導致的讀寫數據庫文件失敗,屬於(D)故障。(選擇一項)
A 實例
B 語句
C 用戶進程
D 介質
87
(C )參數用於確定是否要導入整個導出文件
A constranints
B tables
C full
D file
88
在oracle程序中處理語句時發生的邏輯錯誤導致(C )故障
A 實例
B 介質
C 語句
D 用戶進程
89
以下哪種備份方式需要在完全關閉數據庫後進行。
A 無歸檔日誌模式。
B 歸檔日誌模式。
C 使用導出實用程序進行邏輯備份。
D 以上都不對。
90
(B)方式的導出會從指定的表中導出所有的數據。(選擇一項)
A 分區
B 表
C 全部數據庫
D 表空間
91
使用(B)命令可查看在創建觸發器時發生的編譯錯誤
A View errors
B Show errors
C Display errors
D Check errors
92
(A)包用於顯示pl/sql塊和存儲過程中的調試信息
A Dbms_output。
B Dbms_standadr。
C Dbms_Input。
D Dbms_session。
93
(A)觸發器允許觸發操作的語句訪問行的列值
A 行級 :old :new
B 語句級
C 模式
D 數據庫級
94
要審計用戶執行的create,drop,和alter等ddl語句,應創建(E )觸發器
A 行級
B 語句級
C Instead of
D 模式
e) 數據庫
95
Oracle內置程序包由(A )用戶所有
A sys
B system
C scott
D Pub lic
96
( D)程序包用於讀寫操作系統文本文件
A Dbms_output
B Dbms_lob (圖片,電影)
C Dbms_random
D Utl_file
97
以下不屬於命令的pl/sql塊的是( )
A 程序包
B 過程。
C 遊標。
D 函數
98
執行特定任務的子程序是( AB)
A 函數
B 過程。
C 程序包
D 遊標。
99
子程序的(A )模式參數可以在調用子程序時指定一個常量
A in
B out
C In out
D inout
100
下面關於主事務處理和自主事務處理的說法錯誤的是( D)
A 自主事務處理結果的變化不倚賴於主事務處理的狀態
B 自主事務處理提交或回退時,不影響主事務處理的結果
C 自主事務處理提交,對主事務處理是不可見的
D 自主事務處理還可以啟動其他自主事務處理