Oracle笔试题库附参考答案
1.下列不属于ORACLE的逻辑结构的是(C)
1. 区
2. 段
3. 数据⽂件
4. 表空间
2. 下⾯哪个⽤户不是ORACLE缺省安装后就存在的⽤户(A)
A . SYSDBA
B. SYSTEM
C. SCOTT
D. SYS
3        下⾯哪个操作会导致⽤户连接到ORACLE数据库,但不能创建表(A)
1. 授予了CONNECT的⾓⾊,但没有授予RESOURCE的⾓⾊
2. 没有授予⽤户系统管理员的⾓⾊
3. 数据库实例没有启动
4. 数据库监听没有启动
1. ( )函数通常⽤来计算累计排名,移动平均数和报表聚合。
A . 汇总
B. 分析
C 分组、
D 单⾏
1. 带有(B)字句的SELECT语句可以在表的⼀⾏或多⾏放置排他锁。
A .  FOR INSERT
B.  FOR UPDATE
C.  FOR DELETE
D.  FOR REFRESH
1. 在Oracle中,你以SYSDBA登录,CUSTOMER表位于Mary⽤户⽅案中,下⾯哪条语句为数据库中的所有⽤户创建CUSTOMER表的同义词(B)。
1. CREATE PUBLIC SYNONYM cust ON mary.customer;
2. CREATE PUBLIC SYNONYM cust FOR mary.customer;
3. CREATE SYNONYM cust ON mary.customer FOR PUBLIC;
4. 不能创建CUSTOMER的公⽤同义词。
5.
7. 在Oracle中,当FETCH语句从游标获得数据时,下⾯叙述正确的是(C)。
1. 游标打开
2. 游标关闭
3. 当前记录的数据加载到变量中
4. 创建变量保存当前记录的数据
8. 在Oracle中,下⾯关于函数描述正确的是(AD)。
1. SYSDATE函数返回Oracle服务器的⽇期和时间
2. ROUND数字函数按四舍五⼊原则返回指定⼗进制数最靠近的整数
3. ADD_MONTHS⽇期函数返回指定两个⽉份天数的和
4. 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)。
1. DELETE FROM employee WHERE dept_no=10;
2. INSERT INTO employee(salary,last_name,first_name)
1.                        i.              VALUES(32000,’Chung’,'Mike’);
2. INSERT INTO employee(salary,last_name,first_name)
1.                        i.              VALUES(35000,’Wang’,'Fred’);
2. INSERT INTO employee(salary,last_name,first_name)
1.                        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)。
1. FROM MAX(order_dt)
2. SELECT SUM(order_dt)
3. SELECT SUM(order_amount)
4. WHERE MAX(order_dt) = order_d
11. 在Oracle中,表EMP包含以下列:
……
NAME VARCHAR2(20)
ADDR VARCHAR2(60)
……
要以NAME’s address is ADDR格式返回数据,以下SQL语句正确的是(B)。
+ 的两边做To_number()
1. SELECT NAME + ’’’s address is ‘ + ADDR FROM EMP;
2. SELECT NAME || ’’’s address is ‘ || ADDR FROM EMP;
3. SELECT NAME + ’\’s address is ‘ + ADDR FROM EMP;
4. SELECT NAME || ’\’s address is ‘ || ADDR FROM EMP;
12. 在Oracle中,以下不属于集合操作符的是(B)。
1. UNION
2. SUM
3. MINUS
4. INTERSECT
13. 在Oracle中,表分区⽅式(C)建议分区数是2的幂(2、4、8等),以获得最平均的数据发布。
1. 范围分区
2. 列表分区
3. 散列分区
4. 复合分区
14. 在Oracle中,关于锁,下列描述不正确的是(D)。
1. 锁⽤于在⽤户之间控制对数据的并发访问
2. 可以将锁归类为⾏级锁和表级锁
3. insert、update、delete语句⾃动获得⾏级锁
4. 同⼀时间只能有⼀个⽤户锁定⼀个特定的表
15 .在Oracle中,关于表分区下列描述不正确的是()。
1. 分区允许对选定的分区执⾏维护操作,⽽其他分区对于⽤户仍然可⽤
2. 不可以对包含LONG或LONG RAW列的表进⾏分区
3. 不可以对包含任何LOB列的表进⾏分区
4. 如果分区键包含DATE数据类型的列,则必须使⽤TO_DATE函数完整的指定年份
16:
在Oracl中,哪种表分区维护操作可以将⾮分区表转换为分区表的分区()。
1. 添加分区
2. 结合分区
3. 交换表分区
4. 合并分区
17:
在Oracle中,使⽤带有()⼦句的SELECT命令可以在表的⼀⾏或多⾏上放置排他锁。
1. FOR INSERT OF
2. FOR REFRESH
3. FOR UPDATE OF
4. FOR LOCK
18:
在Oracle中,序列venseq使⽤下⾯的语句创建:
CREATE SEQUENCE venseq INCREMENT BY 1 START WITH 10
MAXVALUE 100 MINVALUE 10 CYCLE CACHE 5;
下⾯对序列venseq修改的语句,错误的是(A)。
1. ALTER SEQUENCE venseq START WITH 1;
2. ALTER SEQUENCE venseq MAXVALUE 90;
3. ALTER SEQUENCE venseq NOMINVALUE;
4. 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)。
1. Oracle将ostatus修改为d,不提⽰任何错误
2. Oracle不执⾏更新操作,并返回错误信息
3. Oracle将ostatus修改为d,同时返回错误信息
4. Oracle不执⾏更新操作,也不提⽰任何错误
20:
在Oracle中,在以下情形建⽴位图索引可以获得较好的性能(C)。
1. 在列值唯⼀的列上建⽴
2. 在列值相差很⼩的列上建⽴
3. 在列值频繁重复的列上建⽴
4. 在⽤于保存位图的列上建⽴
21:
在Oracle中,通过命令(C)可以释放锁。
1. INSERT
2. DELETE
3. ROLLBACK
4. UNLOCK
22
在Oracle中,下⾯关于簇的描述不正确的是(B)。
1. 簇是⼀组表,这些表拥有公共列,并且经常⼀起使⽤
2. 与每个表及其索引单独存储相⽐,簇能够提⾼INSERT语句的性能
3. 由于簇表中的所有⾏都使⽤相同的列作为公共主键,因此这些列仅为所有表存储⼀次,从⽽节省了存储空间
4. 经常更新的列不应选作簇键oracle四舍五入
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));
下列语句能正确执⾏的是()。
1. SELECT city FROM vend_mast WHERE venname=’Joe’;
2. UPDATE vend_mast SET address_ty.street_no=10
WHERE venname=’john’;
1. DELETE FROM vend_mast a WHERE a.venadd.vencode=’v100’;  需要启别名才能访问
2. SELECT a.venadd.street_name FROM vend_mast a
WHERE street_no=11;
24:
在Oracle中,()数据字典表可以⽤来查看抽象数据类型的实际结构。
1. USER_TYPE_ATTRS
2. USER_TABLES
3. USER_TYPE_TABS
4. USER_TAB_COLUMNS
25:
在Oracle中,(B)操作符允许引⽤现有的⾏对象。
1. CAST
2. REF
3. MULTISET
4. MAP
26:
在Oracle中,关于PL/SQL下列描述正确的是(C)。
1. PL/SQL代表Power Language/SQL
2. PL/SQL不⽀持⾯向对象编程
3. PL/SQL块包括声明部分、可执⾏部分和异常处理部分
4. PL/SQL提供的四种内置数据类型是character,integer,float,boolean
27:
在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)次。
1. 1
2. 2
3. 98
4. 100
5. 235:
28:
在Oracle中,()程序包中提供了所有预定义的异常的定义。
1. DBMS_STANDARD
2. DBMS_STD
3. DBMS_SQL
4. DBMS_TYPES
29:
在Oracle中,关于⼦程序的描述不正确的是(C)。
⼦程序就是存储过程和函数
1. ⼦程序是已命名的PL/SQL块,可带参数并可在需要时随时调⽤
2. ⼦程序可以具有声明部分、可执⾏部分和异常处理部分
3. ⼦程序参数的模式只有IN和OUT两种模式
4. ⼦程序可分为过程和函数两种类型
30:
在Oracle中,当从SQL表达式调⽤函数时,下列描述不正确的是(AC)。
1. 从SELECT语句调⽤的函数均不能修改数据库表
2. 函数可以带有IN、OUT等模式的参数
3. 函数的返回值必须是数据库类型,不得使⽤PL/SQL类型
4. 形式参数必须使⽤数据库类型,不得使⽤PL/SQL类型
31:
在Oracle中,关于触发器的描述正确的是(D)。
1. 触发器可以删除,但不能禁⽤
2. 触发器只能⽤于表
3. 触发器可以分为⾏级和语句级两种
4. 触发器是⼀个对关联表发出insert、update、delete或select … for update语句时触发的存储过程
32:
在Oracle中,你需要创建索引提⾼薪⽔审查的性能,该审查要对员⼯薪⽔提⾼12个百分点后进⾏分析处理,下⾯哪个create index命令能解决此问题(A)。
1. CREATE INDEX my_idx_1 ON employee(salary*1.12);
2. CREATE UNIQUE INDEX my_idx_1 ON employee(salary);
3. CREATE BITMAP INDEX my_idx_1 ON employee(salary);
4. 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)。
1. ceil()
2. floor()
3. round(0)
4. trunc()
34:
在Oracle中,⽤以下SQL命令创建了⼀个序列:
CREATE SEQUENCE my_seq
START WITH 394
INCREMENT BY 12
NOMINVALUE
NOMAXVALUE
NOCYCLE
NOCACHE;
⽤户执⾏包含my_seq.NEXTVAL的SQL语句三次,然后执⾏包含(seq建好后的第⼀次my_seq.NEXTVAL值不增加还是394)
my_seq.CURRVAL的SQL语句四次,请问序列my_seq的当前值是(B)。
1. 406
2. 418
3. 430
4. 442
5. 242:
35:
在Oracle中,下列哪种标量类型不能保存到数据库表中(B)。
1. CHAR
2. RAW
3. DATE
4. BOOLEAN
36:
在Oracle中,不属于游标属性的是(C)。
1. %NOTFOUND
2. %FOUND
3. %ISCLOSE
4. %ISOPEN
37:
在Oracle中,在SQL提⽰符下调⽤PL/SQL过程的⽅法是(ABC)。
1. 使⽤CALL语句
2. 使⽤EXECUTE语句
3. 使⽤RUN语句
4. 直接使⽤过程名
38:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。