oracle复习题
一、填空题
1.  Oracle EnterpriseManager是一个基于 B/S的框架系统。
2Oracle数据库的存储结构分为物理结构和逻辑结构。
3在游标或者游标变量打开后还没有进行第一次提取时,%found属性为null
4. oracle中已commitrollback作为上一个事务的结束标志及下一个新事物开始的标志。
5. DML表示数据操作语言,主要的DMLSELECTINSERTUPDATEDELETE.
6.索引的主要目标是提高访问的速度。
7.在Oracle database 10g 系统中,可以使用DBCA工具和CREATE DATEBASE命令两种方式创建数据库。
8. 命令Startup nomount只能启动数据库实例,但不能装载和打开数据库。
9.在输入URL进入Oracle Enterprice Manager Database Control 的时候,必须指出ip地址和端口号
10.在登录Oracle Enterprice Manager Database Control时,连接身份有两种选择,分别为normalsysdba
二、选择题
1.当Oracle服务器启动时,下列哪种文件不是必须装入内存的(  )。D
    A. 数据文件      B. 控制文件      C. 日志文件      D. 归档日志文件
2. Oracle中,当用户要执行SELECT语句时,下列哪个进程从磁盘获得用户需要的数据( )。B
    A用户进程      B. 服务器进程    C. 日志写入进程(LGWR  D. 检查点进程(CKPT
3. Oracle数据库的逻辑结构中有以下组件:A 表空间;B 数据块;C ;D;这些组件从大到小依次是(  )。B
A.  ABCD      B. ADCB      C. ACBD      D. DACB
4. B )可以从过程返回多个值。
A. 使用IN参数    B. 使用OUT参数    C. 使用指针    D. 不能
5PL/SQL为内存耗尽时,预定义了( C )异常。
A. NO_DATA_FOUND      B. MEMORY_ERROR
C. STORAGE_ERROR      D. NO_MEMEORY_FOUND
6. 一下是同义词不具有的用途是( D )。
A. 简化oracle游标的使用SQL语句        B. 隐藏对象的名称和所有者
C. 提供对对象的公共访问  D. 显示对象的名称和所有者
7. Windows操作系统中,Oracle的(  A )服务监听并接受来自客户端应用程序的连接请求。
  A. OracleHOME_NAMETNSListener      B. OracleServiceSID
  C. OracleHOME_NAMEAgent            D. OracleHOME_NAMEHTTPServer
8. Oracle 中创建用户时,若未提及 DEFAULT TABLESPACE 关键字,则 Oracle 就将( B )表空间分配给用户作为默认表空间。
  A. USER          B. SYSTEM          C. SYS          D. DEFAULT
9. 下列哪种Lob类型用来存储数据库以外的操作系统文件(    )。D
  A. CLOB    B. BLOB    C. CFILE    D. BFile
10. Oracle的控制文件不包括以下哪些内容(    )。A
  A. 数据库名称
  B. 数据文件和日志文件的名称和位置
  C. 时间戳
  D. 服务器信息
11. 不属于Oracle的系统文件是(    )。D
  A. 数据文件 DBF      B. 控制文件 CTL  C. 日志文件LOG    D. 归档文件ARC
12. 下列( D )不是PL/SQL过程和函数的参数模式。
    A. In      B. Out      C. In Out      D. Ref
13. 有语句如下:TYPE curtype IS REF CURSOR RETURN book.price%TYPE;表book的列price的数据类型是NUMBER(5);则()。
    A. curtype 可以返回INTEGER类型数据,长度为5
B. curtype 可以返回INTEGER(5,2)类型数据
C. curtype 可以返回VARCHAR2(5,2)类型数据
D. 以上都不对
14. 使用下列( B )将不能把Null值转换为实际值。
  A. NVL    B. NVL2    C. NULLIF    D. To_number
15. 使用( D )数据类型时,数据部能存储在数据库内。
  A. BLOB    B. CLOB    C. NCLOB    D. BFILE
16. SCOTT用户对自己的表Test执行了以下命令:Lock table test in share mode 但没有执行COMMITROLLBACK,此时用户System执行了命令:LOCK TABLE SCOTT.TEST IN share update MODE,将出现什么情况? (    )B
  A. 提示表已锁定  B. 正常执行  C. 出现等待状态,直到Scott用户释放锁
  D. 以上都不正确
17. 关于“For update”子句和“For update of 字段”说法正确的是(    )。C
  A. 没有区别
  B. 前者只锁定当前表中的相关行,而后者锁定所有表的行
  C. 前者锁定所有相关表中的行,而后者锁定当前表中的相关行
  D. 以上说法均布正确
18. 下列哪些想不是Oracle中常用的分区方法?    )。D
  A. 范围    B. 散列    C. 列表    D. 条件
19. 查看Test中名为P1的分区的分区中的记录的查询语句为(    )。C
  A. Select * from Test Where PartitionName=’P1’
  B. Select * from Test(P1)
  C. Select * from Test Where PartitionName(P1)
  D. 以上都不正确
20. Oracle中,下面哪条语句当COMM字段为空时显示0,不为空时显示COMM的值()。
  A. SELECT ename, NVL(comm, 0) FROM emp;    B. SELECT ename, NULL(comm, 0) FROM emp;
  C. SELECT ename, NULLIF(comm, 0) FROM emp; D. SELECT ename, DECODE(comm, NULL, 0) FROM emp;
三、简答题
1. 简述CHARVARCHAR2的区别?
  答:(1) CHAR的长度是固定的,而VARCHAR2的长度是可以变化的;(2) CHAR的效率比VARCHAR2的效率稍高;(3) VARCHAR2Oracle自己开发了一个数据类型,这个类型不是一个标准的VARCHAR,它将在数据库中varchar列可以存储空字符串的特性改为存储NULL值。
2.在PL/SQL程序设计中异常的抛出和处理是非常重要的内容。简述三种方式抛出异常的过程。
    答: 有三种方式抛出异常:
通过PL/SQL运行时;使用RAISE语句;调用RAISE_APPLICATION_ERROR存储过程。
3. 使用存储管理器可以管理哪些对象?简述利用它可以进行的操作。
答:使用存储管理器可以管理表空间、回滚段、数据文件和重做日志等存储对象。
(1) 创建存储对象;
(2) 将数据文件和回滚段添加到表空间中;
(3) 删除存储对象;
4. 解释data block , extent segment的区别。
答:data block是数据库中最小的逻辑存储单元。当数据库的对象需要更多的物理存储空间
时,连续的data block就组成了extent . 一个数据库对象拥有的所有extents被称为该对象的segment.
5. 简述非延迟性(immediate)约束的功能?
答:要在每一个DML语句结束时进行数据完整性的检查。如果有数据违反了约束条件,该语句将被回滚。
6. 简述存储过程与触发器的主要区别?
答:存储过程与触发器的主要区别就是,存储过程是由用户或应用程序显示调用,而触发器是被事件自动触发。
7. 简述游标的作用?
答:游标的作用是用于临时存储从数据库中提取的数据块。在某些情况下,需要把数据从存放在磁盘的表中调到计算机内存中进行处理,最后将处理结果显示出来或最终写回数据库。
四、名词解释
1.对象:对象实际是对一组数据和操作的封装,对象的抽象就是类。
2.并行服务器(OPS):可以允许一个数据库装载到多个数据库实例上,并同时被这多个数据库实例打开。
3.DUAL表:该表只包含一个字段和一条记录。使用它容易解决与表无关的一些查询问题。
4. DML级封锁:用于控制并发事务中的数据操纵,保证数据的一致性和完整性,其封锁对象可以是表或行。
5.触发器:存放在数据库中,它是一种当特定的事件发生时自动执行的存储过程。
五、综合题
1.SQL>环境中完成下SQL列语句。
  取出Oracle的系统日期,利用SELECT语句将其转换为字符型并赋给某一变量。
SELECT  To_char(sysdate,’yyyymmdd’)  INTO  a  FROM DUAL;
  查看某表的创建时间。
select object_name,created from user_objects where object_name = UPPER('&table_name')

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