Oracle 基础知识习题175道

Oracle 基础知识习题175道

 

ORACLE数据库课程习题

       

1

通过SQL*PLUS等数据库访问工具登录数据库服务器时,

所需的数据库连接串是在以下哪个文件中定义的( )A

(A) tnsnames.ora

(B) sqlnet.ora

(C) listener.ora

(D) init.ora

(E) 以上所述都不正确

2

以下关于数据库连接串的叙述正确的是( )E

(A) 数据库连接串必须与数据库名一致

(B) 数据库连接串必须与全局数据库名一致

(C) 数据库连接串必须与数据库的实例名(INSTANCE)一致

(D) 数据库连接串必须与数据库的SID一致

(E) 以上所述都不正确

3

关于SQL*PLUS的叙述正确的是( )A

(A) SQL*PLUS是ORACLE数据库的专用访问工具

(B) SQL*PLUS是标准的SQL访问工具,可以访问各类关系型数据库

(C) SQL*PLUS是所有ORACLE应用程序的底层API

(D) SQL*PLUS是访问ORACLE数据库的唯一对外接口

(E) 以上所述都不正确

4

SQL*PLUS在ORACLE数据库系统中的作用,以下叙述正确的是( )C

(A) 是ORACLE数据库服务器的主要组成部分,是服务器运行的基础构件.

(B) 是ORACLE数据库系统底层网络通信协议,为所有的ORACLE应用程序提供一个公共的通信平台

(C) 是ORACLE客户端访问服务器的一个工具,通过它可以向服务器发送SQL命令

(D) 是ORACLE客户端到客户端的点对点的通信工具,用来传递各个客户端的数据

(E) 以上所述都不正确

5

命令sqlplus /nolog的作用是( )C

(A) 仅创建一个ORACLE实例,但并不打开数据库.

(B) 仅创建一个ORACLE实例,但并不登录数据库.

(C) 启动sqlplus,但并不登录数据库

(D) 以nolog用户身份启动sqlplus

(E) 以上所述都不正确

6

在SQL*PLUS中显示EMP表结构的命令是( )B

(A) LIST EMP

(B) DESC EMP

(C) SHOW DESC EMP

(D) STRUCTURE EMP

(E) SHOW STRUCTURE EMP

7

在SQL*PLUS环境中可以利用DBMS_OUTPUT包中的PUT_LINE方法来回显服务器端变量的值

但在此之前要利用一个命令打开服务器的回显功能,这一命令是( )D

(A) set server on

(B) set serverecho on

(C) set servershow on

(D) set serveroutput on

(E) set serverdisplay on

8

将SQL*PLUS的显示结果输出到d:"data1.txt文件中的命令是( )E

(A) write to d:"data1.txt

(B) output to d:"data1.txt

(C) spool to d:"data1.txt

(D) spool on d:"data1.txt

(E) spool d:"data1.txt

9

在SQL*PLUS中,显示执行时长的命令是( )B

(A) set time on

(B) set timing on

(C) set long

(D) set timelong on

(E) set sqlprompt

10

在SQL*PLUS中执行刚输入的一条命令用( )A

(A) 正斜杠(/)

(B) 反斜杠(")

(C) 感叹号(!)

(D) 句号(.)

(E) 以上所述都不正确

11

在SQL*PLUS版本9中,可以通过以下哪条命令更改当前的用户口令( )B

(A) pass

(B) passw

(C) passwd

(D) pass word

(E) 以上所述都不正确

12

在SQL*PLUS中显示当前用户的命令是( )C

(A) show account

(B) show accountname

(C) show user

(D) show username

(E) 以上所述都不正确

13

在SQL*PLUS中显示数据库例程的内存分配情况,可用命令( )D

(A) show all

(B) show mem

(C) show memory

(D) show sga

(E) show rel

14

假定某非本机数据库的全局数据库名为ORCL.COM,数据库实例的SID为ORCL,

定义的这个数据库的连接串为ORCLDB,数据库的用户名为scott,口令为tiger.那么以下哪个命令可以登录这个数据库( )D

(A) sqlplus scott/tiger

(B) sqlplus scott/[email protected]

(C) sqlplus scott/tiger@ORCL

(D) sqlplus scott/tiger@ORCLDB

(E) 以上所述都不正确

15

如何设置SQL*PLUS操作界面的行宽可以容纳1000个字符( )B

(A) set long 1000

(B) set line 1000

(C) set numformat 1000

(D) set page 1000

(E) set size 1000

16

当用SQL*PLUS已经登录到某一数据库,此时想登录到另一数据库,应该用命令( )A

(A) CONN

(B) DISC

(C) GOTO

(D) LOGIN

(E) LOGON

17

以下哪个命令是DDL命令( )A

(A) CREATE

(B) INSERT

(C) COMMIT

(D) SELECT

(E) 以上所述都不正确

18

第一步执行了DELETE命令,删除了某表中的一条记录.第二步执行了COMMIT命令.

最后又执行了ROLLBACK命令.请问以下叙述正确的是( )B

(A) 被删除的记录又被恢复回来,仍然存放在数据库的表中

(B) 被删除的记录彻底从数据库中被删除掉了

(C) 被删除的记录只是当前用户看不到了,而其它用户还能看到

(D) 被删除的记录当前用户可以看到,而其它用户却看不到了

(E) 以上所述都不正确

19

第一步用DELETE命令删除了表A中的数据(但并没有提交),第二步成功创建了一个表B,

第三步执行了一个ROLLBACK回滚操作.请问以下叙述正确的是( )D

(A) 表A中的数据被恢复回来,创建的表B被从数据库中被删除,恢复为未建表之前的状态

(B) 表A中的数据被恢复回来,表B被创建在数据库中.

(C) 表A中的数据被彻底从数据库中删除,但表B被从数据库中被删除,恢复为未建表之前的状态

(D) 表A中的数据被彻底从数据库中删除,表B被创建在数据库中.

(E) 以上所述都不正确

20

第一步用DELETE命令删除了表A中的数据(但并没有提交),

第二步试图创建了一个表B,但由于权限不足,表B并没有创建成功.

第三步执行了一个ROLLBACK回滚操作.请问以下叙述正确的是( )B

(A) 表A中的数据被恢复回来

(B) 表A中的数据被彻底从数据库中删除

(C) 表A中的数据被移至一个临时的表中

(D) 表A中的数据将处于一个不确定的状态

(E) 以上所述都不正确

21

某个表的创建语句如下:

CREATE TABLE USER_TAB01

(COL1, COL2, COL3)

TABLESPACE USER01

STORAGE(INITIAL 64K NEXT 128K PCTINCREASE 100);

ORACLE为该表的数据段分配的前3个区的大小依次为多大?( )D

(A) 64KB, 128KB, 128KB

(B) 64KB, 128KB, 192KB

(C) 64KB, 128KB, 64KB

(D) 64KB, 128KB, 256KB

(E) 64KB, 128KB, 100KB

22

下面哪项信息不保存在控制文件中( )B

(A) 当前的重做日志序列号

(B) 数据库的名称

(C) 初始化参数文件的位置

(D) 数据文件和名称和位置

(E) 重做日志文件的名称和位置

23

下列哪一个后台进程和对应的数据库组件能够保证即使用户对数据库所做的修改没有写入数据文件,

也不会发生修改内容丢失的情况( )B

(A) DBWn与数据库缓冲区

(B) LGWR与重做日志文件

(C) CKPT与控制文件

(D) ARCn与归档日志文件

24

数据字典在SGA中的哪一个组件中进行缓存( )B

(A) DATABASE BUFFER

(B) DATA DICTIONARY BUFFER

(C) LIBRARY BUFFER

(D) LARGE POOL

(E) REDO LOG BUFFER

25

解析后的SQL语句在SGA中的哪一个组件中进行缓存( )C

(A) DATABASE BUFFER

(B) DATA DICTIONARY BUFFER

(C) LIBRARY BUFFER

(D) LARGE POOL

(E) REDO LOG BUFFER

26

假定表A中有十万条记录,要删除表中的所有数据,但仍要保留表的结构,请问用以下哪个命令效率最高( )D

(A) delete from a;

(B) drop table a;

(C) trunc table a;

(D) truncate table a;

(E) 以上所述都不正确

27

若想要修改一个表的结构,应该用以下哪个命令( )A

(A) ALTER TABLE

(B) DEFINE TABLE

(C) MODIFY TABLE

(D) REBUILD TABLE

(E) REVISE TABLE

28

以下对于事务的叙述,比较全面的是( )E

(A) 事务中的操作是一个整体,要成功都成功,要失败都失败

(B) 事务可以把所操作的数据库由一个状态转变到另一个状态

(C) 事务在提交之前,其它事务看不到它对数据库的影响

(D) 事务提交后,其结果将在数据库中得以体现

(E) 以上所述都是正确的

29

ORACLE9i数据库服务器不能在下列哪个OS平台上安装运行( )C

(A) WindowsNT

(B) Windows2000

(C) Windows98

(D) SCO UNIX

(E) Redhat Linux

30

列出EMP表中,从事每个工种(JOB)的员工人数( )D

(A) select job from emp;

(B) select job,count(*) from emp;

(C) select distinct job,count(*) from emp;

(D) select job,count(*) from emp group by job;

(E) select job,sum(empno) from emp group by job;

31

列出JONES的所有下属员工,但不包括JONES本人( )B

(A) select ename from emp connect by prior empno=mgr

        start with ename='JONES';

(B) select ename from emp where ename<>'JONES'

        connect by prior empno=mgr

        start with ename='JONES';

(C) select ename from emp where ename='JONES'

        connect by prior empno=mgr

        start with ename='JONES';

(D) select ename from emp where ename='JONES'

        connect by prior empno=mgr

        start with ename<>'JONES';

32

列出KING(公司总裁)的所有下属之间的层次关系,

但不要显示出JONES及其所有下属( )A

(A) select level,ename,empno,mgr from emp

        connect by prior empno=mgr

        and ename<>'JONES'

        start with ename ='KING'

(B) select level,ename,empno,mgr from emp

        connect by prior empno=mgr

        and ename='JONES'

        start with ename ='KING'

(C) select level,ename,empno,mgr from emp

        connect by prior empno=mgr

        and ename<>'JONES'

        start with ename <>'KING'

(D) select level,ename,empno,mgr from emp

        connect by prior empno=mgr

        and ename='JONES'

        start with ename <>'KING'

33

求emp表中销售人员的最高和最低工资( )C

(A) select max(sal),min(sal) from emp;

(B) select deptno,max(sal),min(sal) from emp

        group by deptno;

(C) select max(sal),min(sal) from emp

        where job='SALES';

(D) select deptno,max(sal),min(sal) from emp

        where job='SALES' group by job;

34

求最高工资大于10000的部门( )B

(A) select deptno,min(sal) from emp

        group by deptno having count min(sal)<1000;

(B) select deptno,min(sal) from emp

        group by deptno having count max(sal)>1000;

(C) select deptno,min(sal) from emp

        group by deptno having count max(sal)<1000;

(D) select deptno,min(sal) from emp

        group by deptno having count min(sal)>1000;

35

怎样取出在集合A中,但却不在集合B中的数据( )A

(A) A MIUS B

(B) B MINUS A

(C) A INTERSECT B

(D) B INTERSECT A

36

怎样取出在集合A中,又在集合B中的数据( )C

(A) A UNION B

(B) A UNION ALL B

(C) A INTERSECT B

(D) A MIUS B

37

列出每个员工及其直属领导的的名字( )B

(A) SELECT ENAME

    FROM EMP b, EMP a

    WHERE b.MGR=a.EMPNO;

(B) SELECT b.ENAME, a.ENAME

    FROM EMP b, EMP a

    WHERE b.MGR=a.EMPNO;

(C) SELECT b.ENAME, a.ENAME

    FROM EMP b, EMP a

    WHERE b.MGR IN a.EMPNO;

(D) SELECT b.ENAME, a.ENAME

    FROM EMP b, EMP a

    WHERE b.MGR BETWEEN a.EMPNO;

38

列出所有部门的职工人数(包括没有职工的部门) ( )B

(A) select dept.deptno,dname,count(emp.empno)

        from emp,dept where emp.deptno=dept.deptno

        group by dept.deptno,dname;

(B) select dept.deptno,dname,count(emp.empno)

        from emp,dept where emp.deptno(+)=dept.deptno

        group by dept.deptno,dname;

(C) select dept.deptno,dname,count(emp.empno)

        from emp,dept where emp.deptno=dept.deptno(+)

        group by dept.deptno,dname;

(D) select dept.deptno,dname,count(emp.empno)

        from emp,dept where emp.deptno(+)=dept.deptno(+)

        group by dept.deptno,dname;

39

列出没有职工的部门( )A

(A) select dept.deptno from emp,dept

        where emp.deptno(+)=dept.deptno

        and emp.deptno is null;

(B) select dept.deptno from emp,dept

        where emp.deptno(+)=dept.deptno

        and dept.deptno is null;

(C) select dept.deptno from emp,dept

        where emp.deptno(+)=dept.deptno

        and emp.deptno=null;

(D) select dept.deptno from emp,dept

        where emp.deptno=dept.deptno(+)

        and dept.deptno is null;

40

查找出SCOTT所在部门的所有职工( )D

(A) select count(*) from emp where deptno=

        (select deptno from emp where ename='SCOTT');

(B) select sum(*) from emp where deptno=

        (select deptno from emp where ename='SCOTT');

(C) select * from emp where empno=

        (select empno from emp where ename='SCOTT');

(D) select * from emp where deptno=

        (select deptno from emp where ename='SCOTT');

41

查询EMP表中的数据并且显示出行号(从1开始) ( )C

(A) select rowid,a.* from emp a;

(B) select level,a.* from emp a;

(C) select rownum,a.* from emp a;

(D) select sequence,a.* from emp a;

42

查询出当前的数据库系统时间,精确到秒( )B

(A) select to_date(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;

(B) select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;

(C) select date(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;

(D) select chr(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;

43

查询出所有名字以'S'开始的员工( )C

(A) select * from emp where ename in 'S%';

(B) select * from emp where ename='S%';

(C) select * from emp where ename like 'S%';

(D) select * from emp where ename like 'S_';

44

取出工资在2000到3000元(包括上下限)之间的员工( )D

(A) select * from emp wher sal in (2000,3000);

(B) select * from emp wher sal like (2000,3000);

(C) select * from emp wher sal = (2000,3000);

(D) select * from emp wher sal between 2000 and 3000;

45

查询出EMP表中COMM字段为空的记录( )D

(A) select * from emp where comm='';

(B) select * from emp where comm=null;

(C) select * from emp where nvl(comm)=0;

(D) select * from emp where comm is null;

(E) select * from emp where nvl(comm,0)=0;

46

查询出EMP表中1982年及以后入职的员工信息(注:字段hiredate为入职日期,数据类型为DATE型) D

(A) select * from emp where hiredate>='19820101';

(B) select * from emp where hiredate>=to_char('19820101','YYYYMMDD');

(C) select * from emp where to_date(hiredate,'YYYYMMDD')>='19820101';

(D) select * from emp where to_char(hiredate,'YYYYMMDD')>='19820101';

47

如何显示今天是星期几(周一到周日,分别用1~7表示) ( )D

(A) select to_char(sysdate,'D') from dual;

(B) select to_char(sysdate,'W') from dual;

(C) select to_char(sysdate,'D')-1 from dual;

(D) select to_char(sysdate-1,'D') from dual;

(E) select to_char(sysdate-1,'W') from dual;

48

显示本月月末的日期( )C

(A) select last_date(sysdate) from dual;

(B) select finally_day(sysdate) from dual;

(C) select last_day(sysdate) from dual;

(D) select tail_day(sysdate) from dual;

49

数据库必须拥有至少几个控制文件( )A

(A) 1

(B) 2

(C) 3

(D) 4

(E) 由初始参数指定

50

如果一个进程意外终止,ORACLE使用下列哪一个后台进程来释放它所占用的资源( )D

(A) DBWn

(B) LGWR

(C) SMON

(D) PMON

(E) RECO

51

下列哪项后台服务进程不是ORACLE例程必须要启动的( )E

(A) DBWn

(B) LGWR

(C) SMON

(D) PMON

(E) ARCn

52

哪一个表空间不能切换为脱机状态( )D

(A) 临时表空间TEMP

(B) 用户表空间USER

(C) 索引表空间INDEX

(D) 系统表空间SYSTEM

53

以下关于ORACLE的说法正确的是( )D

(A) ORACLE是一项数据存储技术,利用这项技术可以有效地提高磁盘的空间利用率

(B) ORACLE是一家IT公司,以提供高效能的数据库硬件及配套软件产品而著称

(C) ORACLE是一套数据库行业标准,所有SQL都要符合此标准

(D) ORACLE是美国的一家软件公司,以提供同名的数据库产品而著称

(E) 以上所述都不正确

54

以下关于ORACLE9i的叙述正确的是( )

(A) ORACLE9i是一种关系型数据库服务器产品,是在ORACLE8i的基础上发展起来的.

(B) Oracle9i Application Server(AS)是一种面向Internet应用的数据库服务器.

(C) Oracle 9i Developer Suite(DS)是一套面向于.NET框架结构的开发工具集.

(D) ORACLE9i数据库服务器要在ORACLE9iAS和ORACLE9iDS的配合下才能提供服务.

(E) 以上所述都不正确

55

以下关于ORACLE的安装的叙述正确的是( )E

(A) ORACLE的同一安装程序,可以安装到各种操作系统上

(B) ORALCE FOR WINDOWS也可以被安装到UNIX系统上

(C) ORALCE FOR WINDOWS服务器可以安装到WINDOWS2000 Professional版上

(D) ORALCE FOR WINDOWS服务器只能安装到WINDOWS2000 Server版上

(E) 以上所述都不正确

56

在WINDOWS平台上ORACLE服务器是以哪种形式运行的( )B

(A) 单进程,单线程B

(B) 单进程,多线程

(C) 多进程,多线程

(D) 多进程,每个进程为单线程

(E) 以上所述都不正确

57

以下关于NET8的叙述正确的是( )D

(A) NET8是ORACLE网络客户端程序的集合

(B) NET8是ORACLE网络服务器端程序的集合

(C) NET8是ORACLE对TCP/IP等网络协议的改进

(D) NET8是在TCP/IP等网络协议间进行数据格式转换

(E) 以上所述都不正确

58

在使用ORACLE提供的数据库访问工具时,一般都需要提供用户名、口令和数据库连接串

以下哪个文件中存储了对数据库连接串的定义( )E

(A) config.ora

(B) init.ora

(C) listener.ora 

(D) sqlnet.ora

(E) tnsnames.ora

59

ORACLE客户端定义与服务器连接的配置文件的路径通常为( )D

(A) $ORACLE_HOME/bin

(B) $ORACLE_HOME/admin/

(C) $ORACLE_HOME/network/

(D) $ORACLE_HOME/network/admin/

(E) 以上所述都不正确

60

ORACLE网络侦听器位于( )B

(A) ORACLE客户端

(B) ORACLE服务器端

(C) ORACLE客户端和服务器端

(D) ORACLE的中间层服务器端

(E) 以上所述都不正确

61

当ORACLE9.2数据库服务器安装后,将自动创建两个具有超级权限的用户,并且要求设定这两个用户的口令,这两个用户是( )B

(A) SYSTEM和MANAGER

(B) SYS和SYSTEM

(C) SYS和SYSMAN

(D) ROOT和SUPERMAN

(E) SCOTT和TIGER

62

以下关于数据库文件的说法正确的是( )E

(A) 数据库是由数据文件构成的,其它文件是辅助文件

(B) 数据库中的表,索引以及日志信息都是以数据的形式存储在数据文件中的

(C) 在线重做日志文件与归档日志文件的区别是:前者在内存中,后者在外存上

(D) 回滚段是建立在重做日志文件基础之上的,用于存储回滚事务信息.

(E) 数据块的大小一旦确定,就不能更改了,除非重新设定数据库

63

以下关于表空间的叙述正确的是( )D

(A) 表是表空间的基础,表空间是所有相关表所占空间的总和

(B) 表空间是由一至多个数据文件构成的,每个表占用一个数据文件

(C) 一张表可以占用多个表空间,一个表空间也可以容纳多张表

(D) 一个表空间可以容纳多张表,但一张表只能归属于一个表空间

(E) 一个空数据库是不占用表空间的

64

以下关于ORACLE数据块的叙述正确的是( )C

(A) 数据块是数据库读写的最小单位,一个数据块对应一个操作系统块

(B) 一个数据块存放表中的一条记录,当记录增加时,数据块也相应增加

(C) 连续的数据块构成区,当表的数据段需要扩展时,是按区进行扩展的

(D) 数据块是数据库存储的最小单位,一个数据块有时分属于不同的表空间

(E) 数据块是可以跨磁盘的,这样可以优化数据库系统I/O的性能

65

用符号"->"表示组成关系,下面哪一个组成关系正确表示了ORACLE数据库的逻辑存储结构( )B

(A) 块->段->区->表空间->数据库

(B) 块->区->段->表空间->数据库

(C) 块->表空间->区->段->数据库

(D) 块->段->表空间->区->数据库

(E) 块->区->表空间->段->数据库

66

当在WINDOWS平台上安装并运行ORACLE9i服务器后,可通过WINDOWS服务窗口来查看其服务情况,

以下哪一个是数据库服务项(假定服务器的SID为ORA92) ( )E

(A) OracleORA92ManagementServer

(B) OracleORA92Agent

(C) OracleORA92HTTP

(D) OracleORA92TNSListener

(E) OracleServiceORA92

67

要重新启动ORACLE数据库服务器,首先要以哪种身份登录数据库( )A

(A) SYSDBA

(B) SYSOPER

(C) SYSMAN

(D) SUPERMAN

(E) SYSTEM/MANAGER

68

根据不同的需要,可对数据库服务器进行相应的启动方式,当以STARTUP MOUNT方式启动时,以下说法正确的是( )B

(A) 仅仅创建一个数据库实例

(B) 创建了数据库实例并且挂载了数据库

(C) 创建了数据库实例,同时也创建了数据库

(D) 打开了数据库,但只能供系统用户访问

(E) 创建了数据库实例,并且以只读方式打开了数据库

69

ORACLE客户端网络配置文件最主要的作用是( )A

(A) 指示NET8如何能找到数据库服务器

(B) 指示NET8如何辨别网络类型和网络协议

(C) 指示NET8如何解析机器名或IP地址

(D) 指示NET8如何转换底层网络协议的数据格式

(E) 以上所述都不正确

70

在ORACLE客户端网络配置文件中"HOST"参数值为( )B

(A) 客户机的IP或客户机的机器名

(B) 服务器的IP或服务器的机器名

(C) 客户机的IP和客户机的机器名

(D) 服务器的IP和服务器的机器名

(E) 以上所述都不正确

71

在ORACLE客户端网络配置文件中"PORT"参数值为( )A

(A) 服务器的侦听端口,默认为1521

(B) 服务器的侦听端口,默认为7778

(C) 中间层的接入端口,默认为1521

(D) 中间层的接入端口,默认为7778

(E) 以上所述都不正确

72

在ORACLE客户端网络配置文件中"SID"参数值为( )D

(A) 服务器的IP

(B) 服务器的机器名

(C) 服务器的数据库域名

(D) 服务器的实例名

(E) 以上所述都不正确

73

从某字符串中截取一部分子串,可以用以下哪个函数实现( )E

(A) TRUNC

(B) TRIM

(C) LPAD

(D) INSTR

(E) SUBSTR

74

对数值型变量V_NUM,进行四舍五入,保留小数点后两位,以下操作正确的是( )D

(A) SUBSTR(V_NUM,1,2)

(B) TRUNC(V_NUM,2)

(C) TRUNC(V_NUM,-2)

(D) ROUND(V_NUM,2)

(E) ROUND(V_NUM,-2)

75

取大于或等于变量V_NUM的最小整数,应该以下哪项操作( )A

(A) CEIL(V_NUM)

(B) FLOOR(V_NUM)

(C) TRUNC(V_NUM)

(D) ROUND(V_NUM)

76

取小于或等于变量V_NUM的最大整数,应该用以下哪项操作( )B

(A) CEIL(V_NUM)

(B) FLOOR(V_NUM)

(C) TRUNC(V_NUM)

(D) ROUND(V_NUM)

77

对于雇员表(EMP)中的员工薪水(SAL)进行分级,3000元以上的为A级,2000元以上到3000元为B级,2000元及以下为C级

以下哪此操作能实现以上要求( )C

(A) select sal,decode(sal>3000,'A',sal>2000,'B','C') grade from emp;

(B) select sal,decode(sal,3000,'A',2000,'B','C') grade from emp;

(C) select sal,(case when sal>3000 then 'A' when sal>2000 then 'B' else 'C' end) grade from emp;

(D) select sal,(if sal>3000 then 'A' elsif sal>2000 then 'B' else 'C' end if) grade from emp;

78

列出薪水高于所在部门平均工资的员工信息( )B

(A) select deptno,ename,sal from emp a where sal>(select avg(a.sal) from emp where deptno=a.deptno);

(B) select deptno,ename,sal from emp a where sal>(select avg(sal) from emp where deptno=a.deptno);

(C) select a.deptno,a.ename,a.sal from emp a,emp b where a.deptno=b.deptno and a.sal>avg(b.sal);

(D) select a.deptno,a.ename,a.sal from emp a,emp b where a.deptno=b.deptno and b.sal>avg(a.sal);

79

在PL/SQL中定义一个名为v_name长度为60个字符的变长字符串类型的变量,以下正确的是( )C

(A) v_name char(60);

(B) v_name string(60);

(C) v_name varchar2(60);

(D) v_name varchar2(61);

80

在PL/SQL中预定义了所要查询的数据没有找到例外,它是( )C

(A) NO DATA FOUND

(B) DATA_NOT_FOUND

(C) NO_DATA_FOUND

(D) DATA_NO_FOUND

81

在PL/SQL中定义一个可以存放雇员表(EMP)的员工名称(ENAME)的PL/SQL表类型,应该( )C

(A) type array arr_type[emp.ename%type] index by binary_integer;

(B) type table arr_type[emp.ename%type] index by binary_integer;

(C) type arr_type is table of emp.ename%type index by binary_integer;

(D) type arr_type is pl_sql table of emp.ename%type index by binary_integer;

82

假定已经定义了一个名为arr_type的PL/SQL表类型,那么怎样实例化一个arr_type类型的变量( )A

(A) v_arr arr_type;

(B) v_arr is arr_type;

(C) v_arr of arr_type;

(D) v_arr arr_type%type;

83

对于一个名为v_arr的类型为PL/SQL表类型的变量,以下对它进行引用形式正确的是( )B

(A) v_arr[1]

(B) v_arr(1)

(C) v_arr<1>

(D) v_arr{1}

84

下列关于PL/SQL的说法正确的是( )B

(A) PL/SQL是应用于各种数据库上的通用语言

(B) PL/SQL是过程化的SQL语言

(C) PL/SQL是只能在SQL*PLUS中运行

(D) 在PL/SQL可以直接执行所有的SQL操作

85

关于PL/SQL块的说法正确的是( )B

(A) 执行部分是必须的,因此声明部分也可以放到执行部分中来

(B) PL/SQL块在执行时,是统一传输给数据库服务器进行执行的

(C) 在PL/SQL中SELECT的语句的用法与在SQL*PLUS中完全一致

(D) 匿名PL/SQL块的执行效率要高于命名PL/SQL块

86

如何将变量v_row定义为emp表的记录类型( )D

(A) v_row emp%type;

(B) v_row emp%record;

(C) v_row emp%tabletype;

(D) v_row emp%rowtype;

87

以下关于数据库过程和函数叙述正确的是( )A

(A) 过程和函数都是命名的PL/SQL块,但执行效率要比普通PL/SQL块高

(B) 过程和函数都是命名的子程序,每次执行前由数据库进行编译

(C) 过程是没有返回参数的,而函数是有返回参数的

(D) 过程不带输入参数,而函数是要带输入参数的

88

以下关于数据库包的叙述正确是的( )B

(A) 包是由包头和包体组成的,在定义包头时,必须也要同时定义好包体

(B) 包是由包头和包体组成的,包头和包体是可以分别创建的

(C) 包是由包头和包体组成的,包头和包体可以写在一起,也可以分别定义

(D) 包是由包头和包体组成的,包头是包体中所有变量的定义区,而包体则只是执行代码部分

89

以下关于数据库例程(INSTANCE)和数据库关系的叙述正确是的( )C

(A) 一个例程只能打开一个数据库,一个数据库也只能由一个例程打开

(B) 一个例程可以打开多个数据库,但一个数据库可以由多个例程打开

(C) 一个例程只能打开一个数据库,但一个数据库可以由多个例程打开

(D) 一个例程可以打开多个数据库,一个数据库也只能由一个例程打开

90

以下关于SGA和PGA的叙述正确的是( )C

(A) PGA是SGA的一部分,SGA是共享的,但分配后的PGA是不共享的

(B) PGA是客户机内存的一部分,而SGA是服务器内存的一部分

(C) PGA和SGA都是服务器内存的一部分,前者是私有的,后者是共享的

(D) PGA与SGA的总和等于服务器主机内存的总和

91

在数据库启动后,用户权限、数据库对象的定义等信息,被存放在下列哪个区域( )B

(A) 库缓冲区

(B) 数据字典缓冲区

(C) 数据缓冲区

(D) 重做日志缓冲区

92

以下关于数据库后台服务进程叙述正确是的() D

(A) DBWn负责从数据文件中读取数据到内存,并且负责将数据从内存回写到数据文件中

(B) LGWR负责从重做日志文件中读取信息到内存,并且负责将日志信息从内存回写到重做日志文件中

(C) SMON负责定时启动数据库并做相应的恢复和清理工作

(D) CKPT负责向数据库发出检查点,用于同步数据库的所有数据文件、控制文件和重做日志文件

(E) PMON负责定时回收所有进程所占用的数据库资源

93

SQL语句的编译和执行是在SGA的哪一部分中进行的( )

(A) Database Buffer Cache

(B) Redo Log Buffer

(C) Shared Pool

(D) Large Pool

(E) Java Pool

94

当对数据库进程调整时,要求除DBA用户外的其它用户都不能访问数据库,这时可以用以下哪种数据库启动方式( )

(A) STARTUP NOMOUNT

(B) STARTUP MOUNT

(C) STARTUP RESTRICT

(D) STARTUP DBA

(E) STARTUP FORCE

95

在关闭数据库时,要求当前尚未处理完成的事务立即停止处理,未完成事务进行回滚.可采用下列哪种方式( )

(A) SHUTDOWN

(B) SHUTDOWN ABORT

(C) SHUTDOWN IMMEDIATE

(D) SHUTDOWN NORMAL

(E) SHUTDOWN TRANSACTIONAL

96

以下关于SQL的说法正确的是( )

(A) SQL是一种过程化的语言,可实现各种流程控制

(B) SQL是ORACLE所独有数据库操作语言

(C) SQL是一种数据库的驱动程序

(D) SQL是一种非过程化的语言,也是数据库的工业标准

(E) SQL是一种结构化和过程化相结构的语言

97

CREATE,DROP,ALTER等命令属于下列哪类命令( )

(A) DCL

(B) DDL

(C) DML

(D) DQL

(E) 以上所述都不正确

98

INSERT,UPDATE,DELETE等命令属于下列哪类命令( )

(A) DCL

(B) DDL

(C) DML

(D) DQL

(E) 以上所述都不正确

99

下列哪类命令在未提交前可以通过ROLLBACK命令进行回退( )

(A) DCL

(B) DDL

(C) DML

(D) DQL

(E) 以上所述都不正确

100

下列关于表和视图的说法正确的是( )

(A) 每个视图对应一个表

(B) 视图是表的一个镜像备份

(C) 对所有视图也可象表一样执行UPDATE操作

(D) 视图的数据全部在表中

(E) 视图是表结构的一个描述

101

有如下三步操作,并且均成功执行,请选择结果( )

delete from emp;

alter table emp add(addr varchar2(40));

rollback;

(A) emp表中数据处于回滚段中

(B) emp表中的数据被永久删除

(C) emp表中的数据没有变化

(D) 原来的emp表中的数据被添加到新emp表中

(E) 以上所述都不正确

102

下列哪个操作可以将表中的数据删除,并且不需要回滚

删除后回收其所占有的空间,但表定义保留( )

(A) DELETE FROM EMP;

(B) TUNCATE TABLE EMP;

(C) TUNCATE TABLE EMP REUSE STORAGE;

(D) DROP TABLE EMP;

(E) 以上所述都不正确

103

下面哪一个不是数据库物理存储结构中的对象( )

(A) 数据文件

(B) 重做日志文件

(C) 控制文件

(D) 口令文件

104

数据库必须拥有至少几个重做日志组( )

(A) 1

(B) 2

(C) 3

(D) 4

(E) 由初始参数指定

105

表空间默认的PCTINCREASE参数值为下列哪一个( )

(A) 0

(B) 10

(C) 20

(D) 50

(E) 100

106

回滚段的PCTINCREASE参数值为下列哪一个( )

(A) 0

(B) 10

(C) 20

(D) 50

(E) 100

107

ORACLE提供了嵌入式SQL,以下对嵌入式SQL描述正确的是( )

(A) 将SQL语句嵌入C中就是PRO*C,将PRO*C源程序直接交给C编译器进行编译和链接就可生成可执行文件

(B) 将SQL语句嵌入C中称为PRO*C,将SQL语句嵌入JAVA中称为PRO*JAVA

(C) PRO*C源程序需要先由预编译器处理后,才能生成C程序源文件

(D) PRO*C就是在SQL代码中加入了C语言的控制流程

(E) ORACLE的同一个预编译器可以处理各种PRO源程序

108

以下ORACLE认证的级别由低到高排列正确的是( )

(A) OCA->OCP->OCM

(B) OCM->OCP->OCA

(C) OCP->OCA->OCM

(D) OCA->OCM->OCP

(E) OCP->OCM->OCA

109

Which one of the following memory areas is NOT part of the SGA?

(A) Database Buffer Cache

(B) PGA

(C) Redo Log Buffer

(D) Shared Pool

(E) Java Pool

110

Which one of the following statements is true?

(A) An Oracle server is a collection of data consisting of three file types.

(B) A user establishes a connection with the database by staring an Oracle instance.

(C) A connection is a communication pathway between the Oracle server and the Orale instance.

(D) A session starts when a user is validated by the Oracle server.

111

Which one of the following statements are true about the Shared Pool?

(A) The Shared Pool consists of the Library Cache,Data Dictionary Cache,Shared SQL area,Java Pool,and Large Pool.

(B) The Shared Pool is used to store the most recently executed SQL statements.

(C) The Shared Pool is used for an object that can be shared globally.

(D) The Library Cache consists of the Shared SQL and Shared PL/SQL areas.

112

Which one of the following memory areas is used to cache the data dictionary imformation?

(A) Database Buffer Cache

(B) PGA

(C) Redo Log Buffer

(D) Shared Pool

(E) Large Pool

113

ORACLE数据库启动后,有哪五个必要的后台进程(mandatory background processes)

(A) CKPT DBWn LGWR PMON SMON

(B) ARCn CKPT DBWn LGWR SMON

(C) CJQ0 CKPT DBWn LGWR SMON

(D) DBWn LGWR PMON RECO SMON

(E) CKPT DBWn LMON PMON SMON

114

Database Writer进程的作用是:

(A) Assists with writing to data file headers

(B) Is responsible for instance recovery

(C) Cleans up after failed prosesses

(D) Records database changes for recovery purposes

(E) Writes dirty buffers to the data files

115

LGWR进程的作用是:

(A) Assists with writing to data file headers

(B) Is responsible for instance recovery

(C) Cleans up after failed prosesses

(D) Records database changes for recovery purposes

(E) Writes dirty buffers to the data files

116

PMON进程的作用是:

(A) Assists with writing to data file headers

(B) Is responsible for instance recovery

(C) Cleans up after failed prosesses

(D) Records database changes for recovery purposes

(E) Writes dirty buffers to the data files

117

SMON进程的作用是:

(A) Assists with writing to data file headers

(B) Is responsible for instance recovery

(C) Cleans up after failed prosesses

(D) Records database changes for recovery purposes

(E) Writes dirty buffers to the data files

118

CKPT进程的作用是:

(A) Assists with writing to data file headers

(B) Is responsible for instance recovery

(C) Cleans up after failed prosesses

(D) Records database changes for recovery purposes

(E) Writes dirty buffers to the data files

119

Oracle Database包括哪三类文件?

(A) control files, data files, redo log files

(B) parameter file, backup files, archived redo log files

(C) password fils, alert log files, trace files

(D) alert log files, background trace files, user trace files,

(E) data files, redo log files, archived redo log files

120

Oracle Server由哪两个部分组成?

(A) INSTANCE和DATABASE

(B) SGA和PGA

(C) SGA和DATABASE

(D) Server process和Background process

(E) SGA和Background process

121

Oracle Instance由哪两个部分组成?

(A) Shared pool和Server process

(B) Shared pool和Background process

(C) SGA和user process

(D) PGA和user process

(E) SGA和Background process

122

ORACLE初始化参数文件的默认路径是:

(A) 对于UNIX,在$ORACLE_HOME/dbs

(B) 对于UNIX,在$ORACLE_HOME/dbs/admin

(C) 对于Linux,在%ORACLE_HOME%"database

(D) 对于Windows,在%ORACLE_HOME%"dbs

(E) 对于Windows,在%ORACLE_HOME%"database"admin

123

数据字典信息被存放在哪类文件中

(A) 数据文件

(B) 控制文件

(C) 重做日志文件

(D) 归档日志文件

(E) 初始化参考文件

124

在SQL语句执行前的解析阶段,要判断其中涉及的表名和列名是否合法,判断所依据的信息存放在

(A) PGA

(B) SHARED POOL

(C) DATABASE BUFFER CACHE

(D) REDO LOG BUFFER CACHE

(E) LARGE POOL

125

当执行COMMIT语句时,会在哪类文件上发生I/O操作

(A) 数据文件

(B) 控制文件

(C) 重做日志文件

(D) 归档日志文件

(E) 警告文件

126

当CKPT进程工作时,会对哪类文件执行I/O操作

(A) 数据文件

(B) 控制文件

(C) 重做日志文件

(D) 归档日志文件

(E) 警告文件

127

回滚段存放在哪类文件中

(A) 数据文件

(B) 控制文件

(C) 重做日志文件

(D) 归档日志文件

(E) 警告文件

128

假设用户正在执行UPDATE操作,此时用以下哪种方法可以关闭数据库

(A) SHUTDOWN或SHUTDOWN IMMEDIATE或SHUTDOWN ABORT

(B) SHUTDOWN或SHUTDOWN NORMAL或SHUTDOWN TRANSACTIONAL

(C) SHUTDOWN NORMAL或SHUTDOWN ABORT或SHUTDOWN IMMEDIATE

(D) SHUTDOWN或SHUTDOWN IMMEDIATE或SHUTDOWN TRANSACTIONAL

(E) SHUTDOWN ABORT或SHUTDOWN IMMEDIATE或SHUTDOWN TRANSACTIONAL

129

以下哪类表空间中不能建立数据对象(表,索引)

(A) SYSTEM表空间和非SYSTEM表空间

(B) UNDO表空间和Temporary表空间

(C) SYSTEM表空间和Temporary表空间

(D) SYSTEM表空间和UNDO表空间

(E) SYSTEM表空间,UNDO表空间和Temporary表空间

130

以下关于ORACLE物理和逻辑存储结构的说法正确的是

(A) 表空间构成数据库,一个表空间可以同时为多个数据库所拥有

(B) 数据文件是构成表空间的物理基础,一个数据文件可以分属于不同的表空间

(C) 数据块是最小的存储单元,一个数据块对应一个操作系统块

(D) 区是由连续的数据块构成的,它是构成段的基础

(E) 区是不能跨数据文件的,由区构成成的段也不能跨数据文件

131

假定以手动方式管理数据块,PCTFREE=20,PCTUSED=40

以下关于数据块的说法正确的是

(A) 块将一直保留20%的可用空间,以防数据存储过满期

(B) 向块内插入数据,不能超过块可用空间的40%

(C) 对块内的数据删除,使块的使用率下降,当块的已用空间降到80%以下,则又可以向块中插入数据了

(D) 对块内的数据删除,使块的使用率下降,但使用率在40%到80%之间时,是不能再向块中插入数据的

(E) 当块的已用空间超过到80%,则不能再向块中插入数据,也不能执行使块的已用空间超过80%的UPDATE操作

132

Which describes the default behavior when you create a table?

(A) The table is accessible to all users

(B) Tables are created in the public schema

(C) Tables are created in your schema

(D) Tables are created in the DBA schema

(E) You must specify the schema when the table is created

133

Which SQL statement returns a numeric value?

(A) SELECT ADD_MONTHS(MAX(hireDate), 6) FROM EMP;

(B) SELECT ROUND(hiredate) FROM EMP;

(C) SELECT sysdate-hiredate FROM EMP;

(D) SELECT TO_NUMBER(hiredate + 7)FROM EMP;

134

You need to write a SQL statement that returns employee name, salary, department ID,

and maximum salary earned in the department of the employee for all employees who

earn less than the maximum salary in their department. 

Which statement accomplishes this task?

(A) SELECT a.ename, a.sal, b.deptno, MAX(sal) FROM emp a, dept b

    WHERE a.deptno = b.deptno AND a.sal < MAX(sal) GROUP BY b.deptno;

(B) SELECT a.ename, a.sal, a.deptno, b.maxsal FROM emp a, (SELECT deptno,

    MAX(sal) maxsal FROM emp GROUP BY deptno) b WHERE a.deptno = b.deptno

    AND a.sal < b.maxsal;

(C) SELECT a.ename, a.sal, a.deptno, b.maxsal FROM emp a WHERE a.sal <

    (SELECT MAX(sal) maxsal FROM emp b GROUP BY deptno);

(D) SELECT ename, sal, deptno, maxsal FROM emp a, (SELECT deptno,

    MAX(sal) maxsal FROM emp GROUP BY deptno) WHERE a.sal < maxsal;

135

A data manipulation language statement ()

(A) completes a transaction on a table

(B) modifies the structure and data in a table

(C) modifies the data but not the structure of a table

(D) modifies the structure but not the data of a table

136

对于以下SQL语句说法正确的是

SELECT ename FROM emp

WHERE sal IN (SELECT MAX(sal) 

FROM emp GROUP BY deptno);

(A) 这个语句是符合语法的

(B) 这个语句是不能执行的,因为缺少HAVING子句

(C) 这个语句是不能执行的,因为分组的条件列不在SELECT列表中

(D) 这个语句是不能执行的,因为GROUP BY子句应该在主查询中,而不是在子查询中

(E) 在主查询的WHERE条件中,不应该用IN,而应该用等号

137

You want to create a report displaying employee names, department names.

Which query should you use to create an equi-join?

(A) SELECT ename, dname FROM emp, dept;

(B) SELECT emp.ename, dept.dname FROM emp e, dept d WHERE e.deptno=d.deptno;

(C) SELECT e.ename, d.dname FROM emp e, dept d;

(D) SELECT e.ename, d.dname FROM emp e, dept d WHERE e.deptno=d.deptno;

(E) SELECT emp.ename, dept.dname FROM emp e, dept d WHERE emp.deptno=dept.deptno;

138

对于以下SQL语句说法正确的是

SELECT * FROM EMP ORDER BY sal, ename;

(A) The results are not sorted

(B) The results are sorted numerically

(C) The results are sorted alphabetically

(D) The results are sorted numerically and then alphabetically

(E) The results are sorted alphabetically and then numerically

139

针对以下两个SQL语句,哪个说法是正确的

SELECT ename, sal, hiredate FROM EMP ORDER BY sal DESC; 

SELECT ename, sal, hiredate FROM EMP ORDER BY 2 DESC; 

(A) 两个语句执行的结果完全相同

(B) 第二个语句将返回语法错误

(C) 两个语句无需加DESC,因为返回结果默认就符合这个要求

(D) 第二个语句将sal字段加一个别名就正确了

(E) 两个语句在语法上都有问题

140

Which two statements about packages are true?

(A) Packages can be nested.

(B) You can pass parameters to packages.

(C) A package is loaded into memory each time it is invoked.

(D) The contents of packages can be shared by many applications

141

有如下函数:

CREATE OR REPLACE FUNCTION GET_AVG_SALARY

(V_DEPTNO in NUMBER)

RETURN NUMBER

IS

 V_AVG NUMBER;

BEGIN

 SELECT AVG(SAL)

 INTO V_AVG

 FROM EMP

 WHERE DEPTNO = V_DEPTNO;

RETURN (V_AVG);

END;

以下哪个语句可以在SQL*PLUS环境中成功调用这个函数

(A) SELECT GET_AVG_SALARY(DEPTNO) FROM DEPT;

(B) EXECUTE GET_AVG_SALARY(20);

(C) GET_AVG_SALARY('20');

(D) GET_AVG_SALARY(20);

(E) START GET_AVG_SALARY(20)

142

以下关于包(Package)的说法,正确的是

(A) 包是由包头(Specification)和包体(Package Body)两部分组成的,

    在包体中引用的变量均要在包头部分进行定义.

(B) 在编译包头时,包体也同时被自动编译,但是编译包体时,包头不会被编译

(C) 包头是不能脱离包体单独存在的,但是可以对包头单独进行编译

(D) 包头和包体都是可以单独存在的,也是可以单独进行编译的

(E) 删除包头,包体也将被自动删除

143

在PL/SQL中用以下哪个运算符或函数,可以将两个字符串连接起来

(A) strcat

(B) +

(C) ||

(D) stradd

(E) connect

144

在以下PL/SQL循环语句的括号位置应该填写

for i in 1 ( ) 10 loop

(A) TO

(B) ->

(C) ..

(D) INC

(E) ++

145

emp表是雇员信息表,sal字段存放是的雇员的月薪

以下哪个变量可以存放sal类型的值

(A) v_sal emp%rowtype;

(B) v_sal emp.sal%type;

(C) v_sal emp.sal.%type;

(D) v_sal %type(emp.sal);

(E) v_sal (emp.sal)%type;

146

emp表是雇员信息表,以下哪个变量可以存放emp表中的一条记录

(A) v_record emp%type;

(B) v_record emp%recordtype;

(C) v_record emp%record_type;

(D) v_record emp%rowtype;

(E) v_record emp%row_type;

147

对于ORACLE PL/SQL标识符(Identifier)的有效长度是

(A) 16

(B) 18

(C) 24

(D) 30

(E) 32

148

以下对PL/SQL变量的定义,正确的是

(A) v_hiredateDATE:=TO_DATE(SYSDATE);

(B) v_deptno   NUMBER(2) NOT NULL:=10;

(C) v_locationVARCHAR2(13) := "Attanta";

(D) c_comm     CONSTANT NUMBER;

(E) v_count     PLS_INTEGER(4);

149

以下关于PL/SQL变量类型的说法正确的是

(A) CHAR类型的变量比VARCHAR2类型的变量更省空间

(B) 对VARCHAR2类型变量的访问效率要高于CHAR类型的变量

(C) BOOLEAN变量的值只有两种:TRUE和FALSE

(D) DATE类型的变量取值可以精确毫秒

(E) PLS_INTEGER与BINARY_INTEGER类型变量取值范围相同

150

以下关于PL/SQL块的说法正确的是

(A) 匿名块(Anonymous Blocks)是在客户端解析后再送到服务器端执行的

(B) 子程序(Subprograms)是被命名的PL/SQL块,存储在数据库服务器端

(C) 匿名块比子程序执行效率要高

(D) 无论是匿名块还是子程序,其实都是PL/SQL块,在定义变量前都要以DECLARE关键字开始

(E) 过程(procedure)无返回值,而函数(function)是有返回值的

151

在PL/SQL环境中,以下说法正确的是

(A) 字符串是用单引号加以界定的

(B) 字符串是用双引号加以界定的

(C) 对于单行注释可以用双斜线//开始

(D) 多行注释是以大括号{}加以界定的

(E) 每条语句以句点.做为结束符

152

以下关于PL/SQL块的说法正确的是

(A) PL/SQL块是最小的程序单元,因此PL/SQL块是不能嵌套使用的

(B) 为了使变量的定义清楚明了,尽量在DECLARE部分进行定义,但是也可以在BEGIN和END之间的执行部分定义

(C) 异常处理是PL/SQL的一个特点,因此EXCEPTION部分是不可缺少的

(D) 在PL/SQL块中,SELECT查询语句的用法与SQL中的用法是完全相同的

(E) 在PL/SQL块中DECLARE和EXCEPTION部分都是可以缺省的,但BEGIN和END及其之间的部分是要有的

153

以下关于PL/SQL说法正确的是

(A) PL/SQL是对SQL标准的扩展,目前已经在ORACLE,DB2,SQL Server等主流数据库中得到很好的支持

(B) 对于运行在不同操作系统平台上的ORACLE数据库,即使是数据库版本一致,但也不能直接移植PL/SQL程序

(C) PL/SQL就是将过程化的流程控制语句嵌入到SQL命令中,从而实现对SQL执行过程的控制.

(D) PL/SQL代码中包括过程控制部分和非过程化的SQL部分,在执行时由SQL*PLUS负责解析出这两部分,并送到ORACLE服务器端执行.

(E) PL/SQL是对SQL的扩展,提高了性能和灵活性,但它只能在ORACLE数据库上得到支持

154

在SQL*PLUS环境中,若想通过执行PL/SQL代码来显示指定的字符串,

应该首先做哪项设置

(A) set echo on

(B) set output on

(C) set serveroutput on

(D) set dbms_output on

(E) set server_output on

155

在SQL*PLUS环境中,若想通过执行PL/SQL代码来显示指定的字符串,

以下哪个方法可行

(A) 用SQL*PLUS环境支持的SHOW命令

(B) 用DBMS_OUTPUT包的PUT_LINE过程

(C) 用PRINT命令来输出指定的字符串

(D) 用DISPLAY命令来输出指定的字符串

(E) 用DBMS_OUTPUT包的NEW_LINE过程

156

在PL/SQL环境中,若想定义一个变量v_name,要求与emp表中ename字段类型相同,正确的方法是

(A) v_name emp.ename%TYPE;

(B) v_name emp%TYPE.ename;

(C) v_name ename%TYPE IN emp;

(D) v_name ename%TYPE OF em在p;

(E) v_name %TYPE emp.ename;

157

Which background process updates the online redo log files with the

redo log buffer entries when a COMMIT occurs in the database?

(A) DBWn

(B) LGWR

(C) CKPT

(D) CMMT

(E) ARCn

158

Which view should a user query to display the columns associated with the constraints

on a table owned by the user?

(A) USER_CONSTRAINTS

(B) USER_OBJECTS

(C) ALL_CONSTRAINTS

(D) USER_CONS_COLUMNS

(E) USER_COLUMNS

159

客户端用于网络连接的两个配置文件文件是

(A) TNSNAMES.ORA 和 SQLNET.ORA

(B) TNSNAMES.ORA 和 LISTENER.ORA

(C) TNSNAMES.ORA 和 INIT.ORA

(D) SQLNET.ORA 和 LISTENER.ORA

(E) INIT.ORA 和 LISTENER.ORA

160

如何强制执行日志切换

(A) ALTER SYSTEM CHECKPOINT;

(B) ALTER SYSTEM CHECKPOINT FORCE;

(C) ALTER SYSTEM SWITCH LOGFILE;

(D) ALTER SYSTEM SWITCH LOGFILE FORCE;

(E) ALTER DATABASE LOG SWITCH;

161

以下对于SQL比较运算符ANY和ALL的说法正确的是

(A) <ANY 表示小于最小值

(B) >ANY 表示大于最大值

(C) <ALL 表示小于最大值

(D) >ALL 表示大于最小值

(E) 以上说法都不正确

162

对于示例表EMP,字段EMPNO为雇员编号,字段MGR为雇员直属经理的编号

KING是最高领导,他的直属经理编号为空

以下哪个语句能查询出JONES及其所有下属

(A) SELECT LEVEL,ENAME,DEPTNO,EMPNO,MGR FROM EMP

        CONNECT BY PRIOR EMPNO=MGR

        START WITH ENAME='JONES';

(B) SELECT LEVEL,ENAME,DEPTNO,EMPNO,MGR FROM EMP

        CONNECT BY PRIOR MGR=EMPNO

        START WITH ENAME='JONES';

(C) SELECT LEVEL,ENAME,DEPTNO,EMPNO,MGR FROM EMP

        CONNECT BY EMPNO=PRIOR MGR

        START WITH ENAME='JONES';

(D) SELECT LEVEL,ENAME,DEPTNO,EMPNO,MGR FROM EMP

        CONNECT BY MGR=EMPNO

        START WITH ENAME='JONES';

163

对于示例表EMP,字段EMPNO为雇员编号,字段MGR为雇员直属经理的编号

KING是最高领导,他的直属经理编号为空

以下哪个语句能查询出SMITH及其所有上司

(A) SELECT LEVEL,ENAME,DEPTNO,EMPNO,MGR FROM EMP

        CONNECT BY MGR=EMPNO

        START WITH ENAME='SMITH';

(B) SELECT LEVEL,ENAME,DEPTNO,EMPNO,MGR FROM EMP

        CONNECT BY PRIOR EMPNO=MGR

        START WITH ENAME='SMITH';

(C) SELECT LEVEL,ENAME,DEPTNO,EMPNO,MGR FROM EMP

        CONNECT BY MGR=PRIOR EMPNO

        START WITH ENAME='SMITH';

(D) SELECT LEVEL,ENAME,DEPTNO,EMPNO,MGR FROM EMP

        CONNECT BY EMPNO=PRIOR MGR

        START WITH ENAME='SMITH';

164

对于示例表EMP,字段EMPNO为雇员编号,字段MGR为雇员直属经理的编号

KING是最高领导,他的直属经理编号为空

以下哪个语句能查询出SMITH的所有上司(不包括SMITH本人)

(A) SELECT LEVEL,ENAME,DEPTNO,EMPNO,MGR

        FROM EMP WHERE ENAME<>'SMITH'

        CONNECT BY EMPNO=PRIOR MGR

        START WITH ENAME='SMITH';(B) SELECT LEVEL,ENAME,DEPTNO,EMPNO,MGR

        FROM EMP

        CONNECT BY EMPNO=PRIOR MGR

        AND ENAME<>'SMITH'

        START WITH ENAME='SMITH';

(C) SELECT LEVEL,ENAME,DEPTNO,EMPNO,MGR

        FROM EMP WHERE ENAME<>'SMITH'

        CONNECT BY PRIOR EMPNO=MGR

        START WITH ENAME='SMITH';

(D) SELECT LEVEL,ENAME,DEPTNO,EMPNO,MGR

        FROM EMP

        CONNECT BY PRIOR EMPNO=MGR

        AND ENAME<>'SMITH'

        START WITH ENAME='SMITH';

165

对于示例表EMP,字段EMPNO为雇员编号,字段MGR为雇员直属经理的编号

KING是最高领导,他的直属经理编号为空

以下哪个语句能查询出KING领导下的员工,但不显示SCOTT及其下属员工

(A) SELECT LEVEL,ENAME,DEPTNO,EMPNO,MGR

        FROM EMP

        CONNECT BY EMPNO=PRIOR MGR

        AND ENAME<>'SCOTT'

        START WITH ENAME='KING';(B) SELECT LEVEL,ENAME,DEPTNO,EMPNO,MGR

        FROM EMP

        WHERE ENAME<>'SCOTT'

        CONNECT BY EMPNO=PRIOR MGR

        START WITH ENAME='KING';

(C) SELECT LEVEL,ENAME,DEPTNO,EMPNO,MGR

        FROM EMP

        CONNECT BY PRIOR EMPNO=MGR

        AND ENAME<>'SCOTT'

        START WITH ENAME='KING';

(D) SELECT LEVEL,ENAME,DEPTNO,EMPNO,MGR

        FROM EMP

        WHERE ENAME<>'SCOTT'

        CONNECT BY PRIOR EMPNO=MGR

        START WITH ENAME='KING';

166

对于示例表EMP和DEPT如何查询出没有雇员的部门名称

(A) SELECT DNAME FROM DEPT D,EMP E WHERE D.DEPTNO(+)=E.DEPTNO AND D.DEPTNO IS NULL;

(B) SELECT DNAME FROM DEPT D,EMP E WHERE D.DEPTNO(+)=E.DEPTNO AND E.DEPTNO IS NULL;

(C) SELECT DNAME FROM DEPT D,EMP E WHERE D.DEPTNO=E.DEPTNO(+) AND D.DEPTNO IS NULL;

(D) SELECT DNAME FROM DEPT D,EMP E WHERE D.DEPTNO=E.DEPTNO(+) AND E.DEPTNO IS NULL;

(E) SELECT DNAME FROM DEPT D,EMP E WHERE D.DEPTNO<>E.DEPTNO(+) AND E.DEPTNO IS NULL;

167

查询出月薪高于所在部门平均月薪的雇员信息,以下正确的是

(A) SELECT ename,sal,deptno FROM EMP outer

        WHERE sal>(SELECT AVG(sal) FROM EMP inner WHERE deptno=inner.deptno);

(B) SELECT ename,sal,deptno FROM EMP outer

        WHERE sal>(SELECT AVG(sal) FROM EMP inner WHERE deptno=outer.deptno);

(C) SELECT ename,sal,deptno FROM EMP outer

        WHERE sal>(SELECT AVG(sal) FROM EMP inner WHERE deptno=deptno);

(D) SELECT ename,sal,deptno FROM EMP outer

        WHERE sal>(SELECT AVG(sal) FROM EMP inner WHERE outer.deptno=outer.deptno);

168

要查询出每个雇员的名称及其所在部门的名称,以下哪个语句是错误的

(A) SELECT ename, dname FROM EMP NATURAL JOIN DEPT;

(B) SELECT ename, dname FROM EMP NATURAL CROSS JOIN DEPT;

(C) SELECT ename, dname FROM EMP JOIN DEPT USING (deptno);

(D) SELECT ename, dname FROM EMP e,DEPT d WHERE e.deptno=d.deptno;

(E) SELECT ename, dname FROM EMP e JOIN DEPT d ON (e.deptno=d.deptno);

169

要查询出所有部门的名称,以及部门中员工的名称,没有没工的部门名称也要查询出来

以下哪个语句是错误的

(A) select e.ename, d.dname from emp e right outer join dept d

        on (e.deptno=d.deptno);

(B) select e.ename, d.dname from emp e left outer join dept d

        on (e.deptno=d.deptno);

(C) select e.ename, d.dname from dept d left outer join emp e

        on (e.deptno=d.deptno);

(D) select e.ename, d.dname from emp e full outer join dept d

        on (e.deptno=d.deptno);

170

对于oracle数据库,设计用户表时,家庭住址字段最好采用下面的哪个数据类型进行存储

(A) CHAR

(B) CHAR2

(C) VARCHAR

(D) VARCHAR2

(E) LONG

171

以下的PL/SQL声明哪个是正确的?

(A) v_id NUMBER(4);

(B) v_x, v_y, v_z VARCHAR2(10);

(C) v_birthdate DATE NOT NULL;

(D) v_in_stock BOOLEAN := 1;

172

The trigger heading:

CREATE OR REPLACE TRIGGER salary_check

BEFORE UPDATE OF sal, job ON emp

FOR EACH ROW

Under which condition does this trigger fire?

(A) When a row is inserted into the EMP table

(B) When the value of the SAL or JOB column in a row is updated in the EMP table

(C) When any column other than the SAL and JOB columns in a row are updated in the EMP table

(D) Only when both values of the SAL and JOB columns in a row are updated together in the EMP table

173

What should you do after each fetch statement in the PL/SQL block?

(A) Open the cursor

(B) Close the cursor

(C) Initialize the loop

(D) Test for the rows using the cursor attribute

174

You are a user of PROD database which contains over 1000 tables and you need to

determine the number of tables you can access. Which data dictionary view could you

query to display this information?

(A) USER_OBJECTS

(B) ALL_OBJECTS

(C) DBA_SEGEMENTS

(D) DBA_TABLES

175

Evaluate this PL/SQL block.

 

BEGIN

 FOR i IN 1..10 LOOP

   IF I=4 OR I=6 THEN null;

   ELSE

     INSERT INTO test(result)

     VALUES (I);

   END IF;

   COMMIT;

 END LOOP;

 ROLL BACK;

END.

How many values will be inserted into the TEST table

(A) 0

(B) 4

(C) 6

(D) 8

(E) 10



一天,一个月,一年。总有一天会变得不一样。

你可能感兴趣的:(Oracle 基础知识习题175道)