数据库之Oracle笔试面试题收集(来自网络)

数据库之Oracle笔试面试题收集(来自网络)



问题:

创新互联主要从事成都网站建设、成都做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务尼泸西,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220

1、解释冷备份和热备份的不同点及各自的优点?

2、解释归档和非归档模式之间的不同和它们各自的优缺点?

****************************************************************************************************************************************************************************************

解答:

1、解释冷备份和热备份的不同点及各自优点?

答:

          1、不同点:

            热备份:针对归档模式的数据库,在数据库处于工作状态时进行备份;

            冷备份:适用于所有模式的数据库,在数据库关闭后进行备份。

          2、各自优点:

            热备份:当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点;

            冷备份:它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,不必将归档日志写入硬盘,数据库性能会比归档模式稍好。

记忆方式:热备份>归档模式>工作时进行>恢复任意时间点

                      冷备份>所有模式>关闭时进行>少许提高性能

2、解释归档和非归档模式之间的不同和它们各自的优缺点?

答:归档模式是指可以备份所有的数据库transactions并恢复到任意一个时间点。

        非归档模式则相反,不能恢复到任意一个时间点。

        但是非归档模式可以带来数据库性能上的少许提高。

记忆方式:归档模式>热备份>恢复任意时间点>性能少许下降

                      非归档模式>冷备份>恢复完全备份>性能少许提高

不积跬步无以至千里

问题:

1、如何根据初始化文件pfile转换成spfile文件?

2、数据库正常启动所经历的状态有哪几种?

解答:

1、如何根据初始化文件pfile转换成spfile文件?

答:

使用命令:SQL>create spfile from pfile。

解析:

(1)、概述:

Oracle从9i开始,参数初始化文件新增为两种,即文本参数文件和服务器参数文件。它们在数据库实例启动时候加载,决定了数据库的物理结构、内存、数据库的限制及系统大量的默认值、数据库的各种物理属性、指定数据库控制文件名和路径等信息,是进行数据库设计和性能调优的重要文件。

(2)简述pfile和spfile

它们都是必须的参数文件。

pfile:初始化参数文件,为ASCII文本文件,可以直接编辑,对这类文件的修改是需要手工进行的,并且修改后,重启Oracle实例才会生效。

spfile:服务器参数文件,二进制文件,不可以直接编辑。

(3)、查看系统是以pfile还是spfile启动

命令:SQL>select isspecified,count(*) from v$spparameter group by isspecified;

如果isspecified里有true,表明用spfile进行了指定配置,如果全为false,则表明用pfile启动。

(4)、使用spfile的好处

 spfile改正了pfile管理混乱的问题,在多结点的环境里,pfile会有多个image启动时需要跟踪最新的image,这是个烦琐的过程。用spfile以后,所有参数改变都写到spfile里面参数配置有个权威的来源。

(5)、查看spfile location

命令SQL> show parameter spfile

(6)、互相创建

spfile和pfile是可以相互创建的,命令如下:

SQL>create spfile from pfile;

SQL>create pfile from spfile.

当数据库第一次被创建的时候,系统会收集到创建者设置的各个参数,生成pfile。之后,在第一次启动数据库时,会依靠这个pfile创建spfile,此时将不再需要pfile文件。而当下次启动时会使用pfile文件。如果数据库不出现故障,pfile文件将一直使用。然而若spfile被损坏或需重新创建spfile文件,这时候就可以使用pfile文件来建立新的spfile文件。

2、数据库正常启动所经历的状态有哪几种?

答:

数据库实例启动:NOMOUNT状态;

数据库装载:MOUNTED状态;

数据库打开:OPEN状态。

解析:

(1)、举例简述:

对于数据库的启动介绍前先举一个简单例子,如果我们打算开一家公司,一般会先有初始化的规划,把初始化的规划思路整理成书面材料文件,然后招聘有经验的相关部门的管理人员组成一个团队,其次是招聘每个部门里的基层员工,这样一个简单的公司体系就形成了。

启动oracle数据库如同上面的例子一样,数据库启动时,先要找到初始化文件(spfile/pfile),这时数据库处在nomount状态,这相当于创办公司的初始阶段;其次根据初始文件找到控制文件,这时数据库处于mount状态,这相当于创业时最初组建的管理团队。在之后会根据控制文件找到数据文件、重做日志文件,从而处在open状态,这时用户可以访问数据库了。如同一个公司的体系初步建设起来了。

(2)、实验验证:

输入第1行命令:sqlplus/nolog;

说明:

启动SQLPLUS但不进行登录,只是进入sqlplus软件,相当于打开一个登录窗口,用户名、密码是接下来才输入的,这样输入能够让下面的输入不显示密码起到安全的作用。

数据库之Oracle笔试面试题收集(来自网络)

输入第2行命令:conn / as sysdba;

说明:

        oracle在登录时,有三种身份认证方式:操作系统身份认证、密码文件认证、数据库认证。而conn /as sysdba是属于操作系统认证。你当前电脑开机时登录的用户,也就是进入操作系统的用户,例如Win xp系统下是Administrator,它在你电脑的ORA_DBA组中。可以在“我的电脑”单击右键,找到“管理”,选择“本地用户和组”,发现有一个组叫“ORA_DBA”,双击它,看到成员列表中有“Administrator”。也就是在conn /as sysdba,oracle会进行操作系统验证,发现你当前登录的用户就属于Administrator组,因此才可以登录成功。你可以把ORA_DBA组中的“Administrator”用户删除,再conn /as sysdba,就发现进不去了。

数据库之Oracle笔试面试题收集(来自网络)

输入第3行命令:SQL> shutdown; ------------shutdown

数据库之Oracle笔试面试题收集(来自网络)

输入第4行命令:SQL> select status from v$instance;

说明:

查询当前实例的状态,v$instance是个视图。这个状态指明的是数据库在用startup启动以后的所处的状态。

数据库之Oracle笔试面试题收集(来自网络)

输入第5行命令:SQL> startup nomount; ------------started

数据库之Oracle笔试面试题收集(来自网络)

输入第6行命令:SQL> select status from v$instance;

数据库之Oracle笔试面试题收集(来自网络)

输入第7行命令:SQL> alter database mount; ------------mounted

数据库之Oracle笔试面试题收集(来自网络)

输入第8行命令:SQL> select status from v$instance;

数据库之Oracle笔试面试题收集(来自网络)

输入第9行命令:SQL> alter database open; ------------open

数据库之Oracle笔试面试题收集(来自网络)

输入第10行命令:SQL> select status from v$instance;

数据库之Oracle笔试面试题收集(来自网络)

输入第11行命令:SQL> shutdown;

数据库之Oracle笔试面试题收集(来自网络)

问题:

1、说出两种相关约束?

2、解释$ORACLE_HOME和$ORACLE_BASE的区别?

解答:

1、答:主键和外键。

2、答:$ORACLE_HOME:oracle的产品目录;

              $ORACLE_BASE:oracle的根目录。

问题:

1、创建用户时,需要授予新用户什么权限方能使其连上数据库?

2、备份如何分类?

解答:

1、答:CONNECT权限。

2、答:

第一种:逻辑备份和物理备份。

             逻辑备份可以使用EXP/IMP;

             物理备份可以使用RMAN。

第二种:热备份和冷备份。

             热备份为数据库正常访问的情况下备份数据库,RMAN备份也为热备份。

             冷备份为脱机备份,关闭数据库然后备份数据库的所有文件。

问题:

1、用于网络连接的两个文件是什么?

2、数据库的重做日志(Redo Logs)的作用?

解答:

1、答:TNSNAMES.ORA和SQLNET.ORA;

2、答:Redo Logs是用于存放数据库数据改动状况的物理和逻辑结构,可以用以修复数据库。

1、临时表空间和永久表空间的区别是什么?

2、解释Function、Procedure、Package的区别?

问题:

1、答:

临时表空间(Temporary Tablespace):用于临时对象;

永久表空间(Permanent Tablespace):用于存储存在的对象,如表、回滚段等。

2、答:

Function、Procedure是PL/SQL代码的集合,一般为了完成一个任务;

Procedure不需要返回任何值而Function将返回一个值。

Package是为了完成一个商业功能的一组Function和Procedure的集合。



问题:

1、简述数据库的data block、extent、segement的区别?

2、简述为何要使用索引?

问题:

1、答:

data block是数据库中最小的逻辑存储单元。当数据库的对象需要更多的物理存储空间时,连续的data block就组成了extent。一个数据库对象拥有的所有extents被称为该对象的segment。

2、答:

可以快速访问表中的data block,即能够加快访问数据的速度。



问题:

1、简述tablespace和datafile的关系?

2、什么视图用来判断表空间的剩余空间?

问题:

1、答:

一个tablespace可以有一个或多个datafile;

每个datafile只能在一个tablespace内;

table中的数据通过hash算法分布在tablespace中的各个datafile中;

tablespace是逻辑上的概念,datafile则在物理上储存了数据库的种种对象。

2、答:

DBA_FREE_SPACE。



问题:

1、比较truncate和delete命令的区别?

2、如果必须利用备份恢复数据库,但此时没有控制文件,如何应对?

问题:

1、答:

两者都可以用来删除表中所有的记录。

truncate是DDL操作,它移动HWK,不需要rollback segment。

delete是DML操作,需要rollback segment且花费较长的时间。

2、答:

重建控制文件,用带backup control file子句的recover命令恢复数据库。



1、oracle数据库的约束条件有哪些?

2、表的主键和唯一约束很像,有哪些区别?

问题:

1、  答:

有5个约束条件:主键、外键、非空、唯一、条件。

解释:

非空:这个列的值不能为空(NOT NULL);

唯一:这个列的值在表中是唯一存在的,不能重复,但可以为空值(NULL);

条件:可以对列的值设定在某个条件范围之内,比如,人的年龄就不能为负数,可以设置这个列的条件为大于0而小于200;

主键:primary,主键是关系数据库表中的某一行或者某几列的集合。它能够唯一标识数据库表中的一行。主键不能包含空值(NULL);

外键:foreign,外键是关系数据库表中的一列或者某几列的组合。它的值或与另外一个表的某一列或者某几列相匹配,这一列是另一个表的主键。

2、  答:

表的主键是列的值为表中的唯一标识,不能为空值(NULL),而表的唯一约束是列的值在表中唯一存在,可以为空值(NULL)。

1、日志的作用是什么?

2、RMAN是什么?

问题:

1、

答:

记录数据库事务,最大限度地保证数据的一致性与安全性。

重做日志文件:含对数据库所做的更改记录,这样万一出现故障可以启用数据恢复,一个数据库至少需要两个重做日志文件。

归档日志文件:是重做日志文件的脱机副本,这些副本可能对于从介质失败中进行恢复很必要。

2、

答:

        RMAN(Recovery Manager)是DBA的一个重要工具,用于备份、还原和恢复数据库,RMAN可以用来备份和恢复数据库文件、归档日志、控制文件、系统参数文件,也可以用来执行完全或不完全的数据库恢复。



问题:

1、RMAN的用户接口有几种?

2、描述RMAN的特点?

问题:

1、答:

RMAN有三种不同的用户接口:COMMAND LINE方式、GUI方式、API方式。

解释:

GUI方式集成在OEM中的备份管理器;

API方式用于集成到第三方的备份软件中。

2、答:

RMAN的特点如下:

1 功能类似于物理备份,但比物理备份强大N倍。
2 可以压缩空快。
3 可以在块水平上实现增量。
4 可以把备份的输出打包成备份集,也可以按固定大小分割备份集。
5 备份与恢复的过程可以自动管理。
6 可以使用脚本(存在于Recovery Catalog中)。
7 可以做坏块监测。


 

 







1、下列不属于ORACLE的逻辑结构的是()

A、区

B、段

C、数据文件

D、表空间

答案:C

2、下面哪个用户不是ORACLE缺省安装后就存在的用户( )

A、SYSDBA

B、SYSTEM

C、SCOTT

D、SYS

答案:A

3、下面哪个操作会导致用户连接到ORACLE数据库,但不能创建表( )

A、授予了CONNECT的角色,但没有授予RESOURCE的角色

B、没有授予用户系统管理员的角色

C、数据库实例没有启动

D、数据库监听没有启动

答案:A

4、( )函数通常用来计算累计排名,移动平均数和报表聚合。

A、汇总

B、分析

C、分组

D、单行

答案:B

5、带有( )字句的SELECT语句可以在表的一行或多行放置排他锁。 

A、FOR INSERT

B、FOR UPDATE

C、FOR DELETE

D、FOR REFRESH

答案:B

6、在Oracle中,你以SYSDBA登录,CUSTOMER表位于Mary用户方案中,下面哪条语句为数据库中的所有用户创建CUSTOMER表的同义词( )。

A、CREATE PUBLIC SYNONYM cust ON mary.customer;

B、CREATE PUBLIC SYNONYM cust FOR mary.customer;

C、CREATE SYNONYM cust ON mary.customer FOR PUBLIC;

D、不能创建CUSTOMER的公用同义词。

答案:B

7、 在Oracle中,当FETCH语句从游标获得数据时,下面叙述正确的是( )。

A、游标打开

B、游标关闭

C、当前记录的数据加载到变量中

D、创建变量保存当前记录的数据

答案:C

8、 在Oracle中,表VENDOR包含以下列:

VENDOR_ID NUMBER Primary Key

NAME VARCHAR2(30)

LOCATION_ID NUMBER

ORDER_DT DATE

ORDER_AMOUNT NUMBER(8,2)

下面对表VENDOR运用分组函数的子句合法的是( )。

A、FROM MAX(order_dt)

B、SELECT SUM(order_dt)

C、SELECT SUM(order_amount)

D、WHERE MAX(order_dt) = order_d

答案:C

9、 在Oracle中,表EMP包含以下列:

……

NAME VARCHAR2(20)

ADDR VARCHAR2(60)

……

要以NAME’s address is ADDR格式返回数据,以下SQL语句正确的是( )。 + 的两边做To_number()

A、SELECT NAME + ’’’s address is ‘ + ADDR FROM EMP;

B、SELECT NAME || ’’’s address is ‘ || ADDR FROM EMP;

C、SELECT NAME + ’\’s address is ‘ + ADDR FROM EMP;

D、SELECT NAME || ’\’s address is ‘ || ADDR FROM EMP;

答案:B

10、 在Oracle中,以下不属于集合操作符的是( )。

A、UNION

B、SUM

C、MINUS

D、INTERSECT

答案:B

11、 在Oracle中,表分区方式( )建议分区数是2的幂(2、4、8等),以获得最平均的数据发布。

A、范围分区

B、列表分区

C、散列分区

D、复合分区

答案:C

12、 在Oracle中,关于锁,下列描述不正确的是( )。

A、锁用于在用户之间控制对数据的并发访问

B、可以将锁归类为行级锁和表级锁

C、insert、update、delete语句自动获得行级锁

D、同一时间只能有一个用户锁定一个特定的表

答案:D

13、在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;

B、ALTER SEQUENCE venseq MAXVALUE 90;

C、ALTER SEQUENCE venseq NOMINVALUE;

D、ALTER SEQUENCE venseq NOCACHE;

答案:A

14、在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’; 下列描述正确的是( )。

A、Oracle将ostatus修改为d,不提示任何错误

B、Oracle不执行更新操作,并返回错误信息

C、Oracle将ostatus修改为d,同时返回错误信息

D、Oracle不执行更新操作,也不提示任何错误

答案:B

15、在Oracle中,在以下情形建立位图索引可以获得较好的性能( )。

A、在列值唯一的列上建立

B、在列值相差很小的列上建立

C、在列值频繁重复的列上建立

D、在用于保存位图的列上建立

答案:C

16、在Oracle中,通过命令( )可以释放锁。

A、INSERT

B、DELETE

C、ROLLBACK

D、UNLOCK

答案:C

17、在Oracle中,下面关于簇的描述不正确的是( )。

A、簇是一组表,这些表拥有公共列,并且经常一起使用

B、与每个表及其索引单独存储相比,簇能够提高INSERT语句的性能

C、由于簇表中的所有行都使用相同的列作为公共主键,因此这些列仅为所有表存储一次,从而节省了存储空间

D、经常更新的列不应选作簇键

答案:B

18、在Oracle中,( )操作符允许引用现有的行对象。

A、CAST

B、REF

C、MULTISET

D、MAP

答案:B

19、在Oracle中,关于PL/SQL下列描述正确的是( )。

A、PL/SQL代表Power Language/SQL

B、PL/SQL不支持面向对象编程

C、PL/SQL块包括声明部分、可执行部分和异常处理部分

D、PL/SQL提供的四种内置数据类型是character,integer,float,boolean

答案:C

20、在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

B、2

C、98

D、100

E、235:

答案:A

21、在Oracle中,关于子程序的描述不正确的是( )。

A、子程序是已命名的PL/SQL块,可带参数并可在需要时随时调用

B、子程序可以具有声明部分、可执行部分和异常处理部分

C、子程序参数的模式只有IN和OUT两种模式

D、子程序可分为过程和函数两种类型

答案:C

22、在Oracle中,关于触发器的描述正确的是( )。

A、触发器可以删除,但不能禁用

B、触发器只能用于表

C、触发器可以分为行级和语句级两种

D、触发器是一个对关联表发出insert、update、delete或select … for update语句时触发的存储过程

答案:D

23、在Oracle中,你需要创建索引提高薪水审查的性能,该审查要对员工薪水提高12个百分点后进行分析处理,下面哪个create index命令能解决此问题( )。

A、CREATE INDEX my_idx_1 ON employee(salary*1.12);

B、CREATE UNIQUE INDEX my_idx_1 ON employee(salary);

C、CREATE BITMAP INDEX my_idx_1 ON employee(salary);

D、CREATE INDEX my_idx_1 ON employee(salary) REVERSE;

答案:A

24、在Oracle中,执行下面的语句:

SELECT ceil(-97.342),

floor(-97.342),  -123.01 -124

round(-97.342),

trunc(-97.342)

FROM dual;

哪个函数的返回值不等于-97( )。

A、ceil()

B、floor()

C、round(0)

D、trunc()

答案:B

25、在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的当前值是( )。

A、406

B、418

C、430

D、442

E、242:

答案:B

26、在Oracle中,下列哪种标量类型不能保存到数据库表中( )。

A、CHAR

B、RAW

C、DATE

D、BOOLEAN

答案:B

27、在Oracle中,不属于游标属性的是( )。

A、%NOTFOUND

B、%FOUND

C、%ISCLOSE

D、%ISOPEN

答案:C

28、在Oracle中,用下列语句定义了一个过程:

CREATE OR REPLACE PROCEDURE test(a IN VARCHAR2,

b IN OUT NUMBER,

c OUT VARCHAR2) IS

BEGIN

……

END;

/

假定使用的变量都已定义,下面对过程test的调用语法正确的是( )。

A、test(‘String1’,50,v_str2)

B、test(v_str1,v_num1,’String2’)

C、test(‘String1’,v_num1,v_str2)

D、test(v_str1,20,v_str2)

答案:C

29、在Oracle中,关于程序包的描述不正确的是( )。

A、程序包是一种数据库对象,它是对相关PL/SQL类型、子程序、游标、异常、变量和常量的封装

B、程序包中私有对象是通过PRIVATE关键字来标识的 程序包体可以包括没有在程序包说明中列出的对象,这些是私有对象,程序包的用户不能使用

C、PL/SQL允许两个或多个打包的子程序具有同一名称,只要子程序接受的参数数据类型不同

D、程序包具有模块化、信息隐藏、新增功能及性能更佳等优点

答案:B

30、在Oracle中,用户( )拥有所有内置的程序包。

A、SYS

B、SYSTEM

C、PUBLIC

D、DEFAULT

答案:A

31、在Oracle中,关于触发器的描述正确的是( )。

A、触发器可以删除,但不能禁用

B、触发器只能用于表

C、触发器可以分为行级和语句级

D、触发器使一个对关联表发出select、insert、update或delete语句时触发的存储过程

答案:D

32、在Oracle中,事务中使用下列SQL语句不会引起锁定( )。

A、SELECT

B、INSERT

C、UPDATE

D、DELETE

答案:A

33、在Oracle中,当需要使用显式游标更新或删除游标中的行时,声明游标时指定的SELECT语句必须带有( )子句。

A、WHERE CURRENT OF

B、INTO

C、FOR UPDATE

D、ORDER BY

答案:C

34、在Windows操作系统中,Oracle的( )服务器监听并接受来自客户端应用程序的连接请求。

A、OracleHOME_NAMETNSListener

B、OracleServiceSID

C、OracleHOME_NAMEAgent

D、OracleHOME_NAMEHTTPServer

答案:A

35、在Oracle中,有一个名为seq的序列对象,以下语句能返回序列值但不会引起序列值增加的是( )。

A、select seq.ROWNUM from dual;

B、select seq.ROWIDfrom dual;

C、select seq.CURRVALfrom dual;

D、select seq.NEXTVALfrom dual;

答案:C

36、ORACLE中,执行语句:SELECT address1||’,'||address2||’,'||address2 ”Address” FROM employ;将会返回( )列。

A、0

B、1

C、2

D、3

答案:B

37、在Oracle中,INSTEAD OF触发器主要用于( )。

A、表

B、表和视图

C、基于单个表的视图

D、基于多个表的视图

答案:D

38、Oracle数据库中,下面( )可以作为有效的列名。

A、Column

B、123_NUM

C、NUM_#123

D、#NUM123

答案:C

39、在Oracle中,以下工具可以逻辑备份数据库对象或整个数据库( )。

A、SQL*Plus

B、导出实用程序

C、导入实用程序

D、SQL*Loader

答案:B

40、Oracle数据库中,通过( )访问能够以最快的方式访问表中的一行。

A、主键

B、Rowid

C、唯一索引

D、整表扫描

答案:B

41、在Oracle中,使用下列的语句产生序列: CREATE SEQUENCE id; Oracle服务器会预开辟内存并维持的序列值有( )个。

A、0

B、10

C、20

D、100

答案:C

42、Oracle数据库中,以下( )命令可以删除整个表中的数据,并且无法回滚。

A、drop

B、delete

C、truncate

D、cascade

答案:C

43、Oralce数据库中,以下( )函数可以针对任意数据类型进行操作。

A、TO_CHAR

B、LOWER

C、MAX

D、CEIL

答案:A

44、在Oracle中,语句( )将ORDER_DATE日期值’2000年3月18日’显示为‘2000年1月1日’。

A、SELECT ROUND(order_date,’day’)FROM inventory

B、SELECT ROUND(order_date,’YEAR’)FROM inventory

C、SELECT ROUND(order_date,’month’)FROM inventory

D、SELECT ROUND(to_char(order_date,’yyyy’))FROM inventory

答案:B

45、在Oracle中,以下是STUDENTS表的结构: SID NUMBER NOT NULL,Primary Key SNAME VARCHAR2(30) COURSE_ID VARCHAR2(10) NOT NULL MARKS NUMBER"sql hljs">SID NUMBER NOT NULL,Primary Key SNAME VARCHAR2(30) COURSE_ID VARCHAR2(10) NOT NULL MARKS NUMBER 你需要查询参加了课程ID为C10的考试,并且分数排在前10名的学生,以下( )语句能够实现此功能。

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;

答案:D

46、在Oracle中,用于PL/SQL程序输出调试信息的内置程序包是

A、DBMS_STANDARD

B、DBMS_ALERT

C、DBMS_LOB

D、DBMS_OUTPUT

答案:D

47、在Oracle中,用下列语句定义了一个过程:

CREATE PROCEDURE proc(value1 IN VARCHAR2,value2 OUT NUMBER,value3 IN OUT VARCHAR2)

IS

BEGIN

……

END;

假定使用的变量都已定义,下面对过程proc的调用语法正确的是( )。

A、proc(‘tt’,10,v3)

B、proc(‘tt’,v2,v3)

C、proc(v1,v2,v3)

D、proc(‘tt’,10,’dd’)

答案:B

48、在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'; 下列描述正确的是()。

A、Oracle不执行更新操作,并返回错误信息

B、Oracle成功执行更新操作,再次查看视图时返回0行记录

C、Oracle成功执行更新操作,再次查看视图时返回10行记录

D、Oracle执行更新操作,但提示错误信息

答案:C

49、在Oracle中,下列( )语句不能用于控制游标。

A、Open

B、Create

C、Fetch

D、Close

答案:B

50、在Oracle中,在执行SQL语句时,你不小心使用Update命令将所有的ID值设置成了11111,那么使用( )命令可以取消这一操作。

A、EXIT

B、COMMIT

C、ROLLBACK

D、UNDO

答案:C

51、在Oracle中,数据库中的触发器是一个对关联表发出insert、update或( )语句时触发的存储过程。

A、delete

B、drop

C、create

D、truncate

答案:A

52、在Oracle 中,使用了如下的语句创建用户TOM,则对于该用户而言,以下说法错误的是( )。CREATE USER TOM IDENTIFIED BY TOMSYS

A、该用户的口令为TOMSYS

B、TOM默认为表空间为SYSTEM

C、TOM 的临时表空间为TEMP

D、使ORANT UPDATE 命令可以修改TOM的口令

答案:D

53、在Oracle中,下述( )命令会使挂起的事务完成。。

A、COMMIT

B、DELETE

C、UPDATE

D、SELECT

E、INSERT

答案:A

54、游标变量的类型是( )

A、隐式游标

B、显示游标

C、REF游标

D、循环游标

答案:B

55、在非归档方式下操作的数据库禁用了( )。

A、归档日志。

B、联机日志。

C、日志写入程序。

D、日志文件。

答案:A

56、由于软硬件问题导致的读写数据库文件失败,属于( )故障。

A、实例

B、语句

C、用户进程

D、介质

答案:D

57、( )参数用于确定是否要导入整个导出文件

A、constranints

B、tables

C、full

D、file

答案:C

58、在oracle程序中处理语句时发生的逻辑错误导致( )故障

A、实例

B、介质

C、语句

D、用户进程

答案:C

59、( )方式的导出会从指定的表中导出所有的数据。

A、分区

B、表

C、全部数据库

D、表空间

答案:B

60、使用( )命令可查看在创建触发器时发生的编译错误

A、View errors

B、Show errors

C、Display errors

D、Check errors

答案:B

61、( )包用于显示pl/sql块和存储过程中的调试信息

A、Dbms_output。

B、Dbms_standadr。

C、Dbms_Input。

D、Dbms_session。

答案:A

62、( )触发器允许触发操作的语句访问行的列值

A、行级 :old :new

B、语句级

C、模式

D、数据库级

答案:A

63、要审计用户执行的create,drop,和alter等ddl语句,应创建( )触发器

A、行级

B、语句级

C、Instead of

D、模式

E、数据库

答案:E

64、Oracle内置程序包由( )用户所有

A、sys

B、system

C、scott

D、Pub lic

答案:A

65、( )程序包用于读写操作系统文本文件

A、Dbms_output

B、Dbms_lob (图片,电影)

C、Dbms_random

D、Utl_file

答案:D

66、子程序的( )模式参数可以在调用子程序时指定一个常量

A、in

B、out

C、In out

D、inout

答案:A

67、下面关于主事务处理和自主事务处理的说法错误的是( )

A、自主事务处理结果的变化不倚赖于主事务处理的状态

B、自主事务处理提交或回退时,不影响主事务处理的结果

C、自主事务处理提交,对主事务处理是不可见的

D、自主事务处理还可以启动其他自主事务处理

答案:D

68、 在Oracle中,下面关于函数描述正确的是( )。

A、SYSDATE函数返回Oracle服务器的日期和时间

B、ROUND数字函数按四舍五入原则返回指定十进制数最靠近的整数

C、ADD_MONTHS日期函数返回指定两个月份天数的和

D、SUBSTR函数从字符串指定的位置返回指定长度的子串

答案:AD

69、在Oracle中,当从SQL表达式调用函数时,下列描述不正确的是( )。

A、从SELECT语句调用的函数均不能修改数据库表

B、函数可以带有IN、OUT等模式的参数

C、函数的返回值必须是数据库类型,不得使用PL/SQL类型

D、形式参数必须使用数据库类型,不得使用PL/SQL类型

答案:AC

70、在Oracle中,在SQL提示符下调用PL/SQL过程的方法是()。

A、使用CALL语句

B、使用EXECUTE语句

C、使用RUN语句

D、直接使用过程名

答案:ABC

71、在Oracle中有表”cd”,它包含属性”cdcode”,”category”和”cdname”,要查询category取值为”CLASSIC”或”ROCK”的行,应采用语句( )。

A、SELECT * FROM cd WHERE category IN (‘CLASEIC’,'ROCK’);


网站题目:数据库之Oracle笔试面试题收集(来自网络)
浏览地址:http://azwzsj.com/article/ipspec.html