中南大学oracle数据库期末考试试题及复习资料
Oracle期末考试复习题2

复习题一、填空题:1. Oracle EnterpriseManager是一个基于 B/S的框架系统。
2.Oracle数据库的存储结构分为物理结构和逻辑结构。
3.在游标或者游标变量打开后还没有进行第一次提取时,%found属性为null。
4. 在oracle中已commit或rollback作为上一个事务的结束标志及下一个新事物开始的标志。
5. DML表示数据操作语言,主要的DML有SELECT,INSERT,UPDATE,DELETE.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时,连接身份有两种选择,分别为normal 和sysdba。
二、选择题:1.当Oracle服务器启动时,下列哪种文件不是必须装入内存的()。
DA. 数据文件B. 控制文件C. 日志文件D. 归档日志文件2.在Oracle中,当用户要执行SELECT语句时,下列哪个进程从磁盘获得用户需要的数据()。
BA.用户进程 B. 服务器进程 C. 日志写入进程(LGWR) D. 检查点进程(CKPT)3. 在Oracle数据库的逻辑结构中有以下组件:A 表空间;B 数据块;C 区;D段;这些组件从大到小依次是()。
BA. A→B→C→DB. A→D→C→BC. A→C→B→DD. D→A→C→B4. (B )可以从过程返回多个值。
A. 使用IN参数B. 使用OUT参数C. 使用指针D. 不能5.PL/SQL为内存耗尽时,预定义了(C )异常。
中南大学_软件学院_oracle复习题

一、1.Oracle 数据库主要有哪些后台进程?至少写5个LGWR日志写进程/CKPT检查点写进程/DBWN数据库写进程/SMON系统监控进程/PMON进程监控进程/(作答时中文可以不写)2.Oracle 数据库的逻辑结构由什么组成?TableSpace->segment->extent->block(表空间->段->扩展区—>数据块)3.Oracle 数据库的权限分为哪几类?它们之间的区别是?System:指系统权限。
对数据库数据结构的操作权。
如:创建/删除用户、表、同义词、索引等。
Object:指对象权限。
指用户对数据的操作权,如查询、更新、插入、删除、完整性约束等。
4.关闭oracle的参数有哪些?它们之间有什么区别?Nomal Transaction Immediate Abortshutdown normal:不允许新的连接、等待会话结束、等待事务结束、做一个检查点并关闭数据文件。
启动时不需要实例恢复。
shutdown transactional:不允许新的连接、不等待会话结束、等待事务结束、做一个检查点并关闭数据文件。
启动时不需要实例恢复。
shutdown immediate:不允许新的连接、不等待会话结束、不等待事务结束、做一个检查点并关闭数据文件。
没有结束的事务是自动ROLLBACK的。
启动时不需要实例恢复。
shutdown abort:不允许新的连接、不等待会话结束、不等待事务结束、不做检查点且没有关闭数据文件。
启动时自动进行实例恢复。
二、创建一个触发器,限制一周内向emp表插入数据的时间,如果是周六、周日或晚上6点到第二天早上8点之间插入,则中断操作并提示用户不允许在此时间向emp表插入。
四、解释过程和函数中参数的三个修饰符(in out inout)的翻译,并编写一个示范过程,使用这三个类型的参数。
参数方式(in out inout)定义了形式参数的行为。
oracle数据库期末考试复习题

一名词解释:(5*2 共10分)1. 角色:一组相关权限的集合称之为角色。
2. PL/SQL 语言:是Oracle 数据库专⽤的⽤种⽤级程序设计语⽤,是对标准SQL 语⽤进⽤了过程化的扩展。
3. 游标:用来存储多条查询数据的一种数据结构(结果集或缓冲区),它有一个指针,用来从上往下移动,是指向该缓冲区的句柄或指针,从而达到遍历每条记录的作用。
P2324. 表空间(tablespace):Oracle数据库在逻辑上可以划分为一系列的逻辑区域,每个逻辑区域成为一个表空间,表空间是Oracle数据库中的最大逻辑存储结构,有一系列的段组成。
P495. 段(segment):段是由一个或多个连续或不连续的区组成的逻辑存储单元。
表空间的组成单位,代表特定数据类型的数据存储结构。
6. 区间(extent):区是由一系列连续的数据块组成的逻辑存储单元,是存储空间分配与回收的最小单元。
7. 数据块(block):Oracle数据块是数据库中最小的逻辑存储单元,也是数据库的执行输入/输出操作的最小单位,由一个或多个操作系统块构成。
8. 索引:是一种可选的与表相关的数据库对象,用于提高数据的查询效率。
P989. Oracle 实例:处于用户与物理数据库之间的一个中间层软件称之为实例,由一系列内存结构和后台进程组成。
通常一个实例对应一个数据库。
P65(第五章)10. 序列:是用于产生唯一序号的数据库对象,可以为多个数据库用户依次生成不重复的连续整数,通常使用它自动生成表中的主键,并且不占用实际存储空间。
P115(第七章)11. 同义词:同义词是数据库中表、索引、视图或其他模式对象的⽤个别名。
二单选(10*2 共20分)这些只是范围,没有明确的题,所以基本了解就可以答选择1.在Oracle 数据库的存储结构包括物理存储结构和逻辑存储结构。
2.SGA 中包括数据高速缓冲区、日志缓冲区、共享池、大型池、Java 池、流池等。
oracle数据库期末考试试题及答案

1、以下()内存区不属于 SGA。
A . PGAB .日志缓冲区C .数据缓冲区 D.共享池2、 ()模式存储数据库中数据字典的表和视图。
A. DBAB. SCOTTC. SYSTEMD. SYS3、在Oracle中创建用户时,若未提及 DEFAULT TABLESPACE 关键字,贝U Oracle就将()表空间分配给用户作为默认表空间。
A. HRB. SCOTT C . SYSTEM D . SYS4、 ()服务监听并按受来自客户端应用程序的连接请求。
A . OracleHOME_NAMETNSListe nerB . OracleServiceSIDC . OracleHOME_NAMEAge ntD . OracleHOME_NAMEHTTPServer5、 ()函数通常用来计算累计排名、移动平均数和报表聚合等。
A .汇总B .分析C .分组D .单行6、 ( ) SQL语句将为计算列 SAL*12生成别名 Annual SalaryA . SELECT ename,sal*12 Annual Salary 'FROM emp;B . SELECT ename,sal*12 Annual Salary "FROM emp;C . SELECT en ame,sal*12 AS Ann ual Salary FROM emp;D . SELECT ename,sal*12 AS INITCAP( Annual Salary "FROM emp;7、锁用于提供()。
A.改进的性能B .数据的完整性和一致性C .可用性和易于维护D .用户安全& ()锁用于锁定表,允许其他用户查询表中的行和锁定表,但不允许插入、更新和删除行。
A .行共享 B.行排他 C .共享 D .排他9、带有()子句的SELECT语句可以在表的一行或多行上放置排他锁。
A.FOR INSERT C.FOR DELETE B.FOR UPDATE D.FOR REFRESH10 、使用()命令可以在已分区表的第一个分区之前添加新分区。
oracle数据库期末考试试题及答案(0001)

oracle数据库期末考试试题及答案A13、带有错误的视图可使用()选项来创建。
A.FORCEB.WITH CHECK OPTIONC.CREATE VIEW WITH ERRORD.CREATE ERROR VIEWB14、在联接视图中,当()时,该基表被称为键保留表。
A.基表的主键不是结果集的主键B.基表的主键是结果集的主键C.基表的主键是结果集的外键D.基表的主键不是结果集的外键D15、在列的取值重复率比较高的列上,适合创建()索引。
A.标准B.唯一C.分区D.位图C16、要以自身的模式创建私有同义词,用户必须拥有()系统权限A.CREATE PRIVATE SYNONYMB.CREATE PUBLIC SYNONYMC.CREATE SYNONYMD.CREATE ANY SYNONYMD17、PL/SQL块中不能直接使用的SQL命令是()。
A.SELECT B.INSERTC.UPDATE D.DROPB18、以零作除数时会引发()异常。
A.VALUE_ERROR B.ZERO_DIVIDEC.STORAGE_ERROR D.SELF_IS_NULLA19、要更新游标结果集中的当前行,应使用()子句。
A.WHERE CURRENT OF B.FOR UPDATEC.FOR DELETE D.FOR MODIFYB20、用于处理得到单行查询结果的游标为()。
A.循环游标B.隐式游标C.REF游标D.显式游标C21、公用的子程序和常量在()中声明。
A.过程B.游标C.包规范D.包主体C22、数据字典视图()包含存储过程的代码文本A.USER_OBJECTS B.USER_TEXTC.USER_SOURCE D.USER_DESCC23、以下不属于命名的PL/SQL块的是()。
A.程序包B.过程C.游标D.函数A24、()包用于显示PL/SQL块和存储过程中的调试信息。
A.DBMS_OUTPUTB.DBMS_STANDARDC.DBMS_INPUTD.DBMS_SESSIONA25、Oracle的内置程序包由()用户所有。
ORACLE数据库期末考试题目及答案说课讲解

期末考试卷(卷)课程名称:数据库考试方式:开卷()闭卷(√)、本试卷共 4 页,请查看试卷中是否有缺页。
2、考试结束后,考生不得将试卷、答题纸带出考场。
1、以下(a )内存区不属于SGA。
A.PGAB.日志缓冲区C.数据缓冲区D.共享池2、d )模式存储数据库中数据字典的表和视图。
(A.DBAB.SCOTTC.SYSTEMD.SYS3、Oracle 中创建用户时,在若未提及DEFAULT TABLESPACE 关键字,Oracle 就将 c )则(表空间分配给用户作为默认表空间。
A.HRB.SCOTTC.SYSTEMD.SYS4、a )服务监听并按受来自客户端应用程序的连接请求。
(A.OracleHOME_NAMETNSListenerB.OracleServiceSIDC.OracleHOME_NAMEAgent D.OracleHOME_NAMEHTTPServer 5、b )函数通常用来计算累计排名、移动平均数和报表聚合等。
(A.汇总B.分析C.分组D.单行6、b)SQL 语句将为计算列SAL*12 生成别名Annual Salary (A.SELECT ename,sal*12 ‘Annual Salary’ FROM emp;B.SELECT ename,sal*12 “Annual Salary” FROM emp;C.SELECT ename,sal*12 AS Annual Salary FROM emp; D.SELECT ename,sal*12 AS INITCAP(“Annual Salary”) FROM emp; 7、锁用于提供(b )。
A.改进的性能B.数据的完整性和一致性C.可用性和易于维护D.用户安全8、( c )锁用于锁定表,允许其他用户查询表中的行和锁定表,但不允许插入、更新和删除行。
A.行共享B.行排他C.共享D.排他9、带有( b )子句的SELECT 语句可以在表的一行或多行上放置排他锁。
oracle数据库期末考试试题及答案(一)

一、选择一、选择1) CBO与RULE的区别,RBO根据规则选择最佳执行路径来运行查询,CBO根据表统计找到最低成本的访问数据的方法确定执行计划。
使用CBO需要注意:注意:a) 需要使用提示(Hint) b) 优化SQL的写法的写法c) 选择最有效率的表名顺序选择最有效率的表名顺序YZE命令进行分析统计ANALYZEd) 需要经常对表进行ANAL命令进行分析统计d) 需要稳定执行计划需要稳定执行计划2) 在Oracle中,一个用户拥有的所有数据库对象统称为()。
中,一个用户拥有的所有数据库a) 数据库数据库b) 模式模式c) 表空间表空间d) 实例实例3) 在Oracle中,可用于提取日期时间类型特定部分(如年、月、日、时、分、秒)的函数有()。
TEP ART DATEPa) DAb) EXTRACT c) TO_CHAR d) TRUNC 4) 在Oracle中,有一个教师表teacher的结构如下:的结构如下:ID NUMBER(5) NAME V ARCHAR2(25) EMAIL V ARCHAR2(50) 下面哪个语句显示没有Email地址的教师姓名()。
a) SELECT name FROM teacher WHERE email = NULL; b) SELECT name FROM teacher WHERE email <> NULL; c) SELECT name FROM teacher WHERE email IS NULL; d) SELECT name FROM teacher WHERE email IS NOT NULL; 5) 在Oracle数据库的逻辑结构中有以下组件:数据库的逻辑结构中有以下组件:A 表空间数据块 C 区D 段表空间 B 数据块这些组件从大到小依次是()。
a) A→B→C→D b) A→D→C→B c) A→C→B→D d) D→A→C→B 6) 在Windows操作系统中,Oracle的()服务监听并接受来自客户端应用程序的连接请求。
oracle期末考试卷

oracle期末考试卷Oracle期末考试卷一、选择题(每题2分,共20分)1. Oracle数据库的默认端口号是什么?A. 1521B. 3306C. 1433D. 54322. 在Oracle数据库中,以下哪个命令用于查看当前数据库的所有用户?A. SELECT USER FROM DUAL;B. SELECT DISTINCT USERNAME FROM DBA_USERS;C. SELECT * FROM ALL_USERS;D. SELECT * FROM USER_USERS;3. 以下哪个不是Oracle数据库的体系结构组件?A. 数据库B. 实例C. 表空间D. 索引4. Oracle数据库的哪个组件负责管理数据的存储和检索?A. SQLB. PL/SQLC. RDBMSD. DBMS5. 在Oracle数据库中,以下哪个命令用于创建一个新的表?A. CREATE TABLE;B. CREATE DATABASE;C. CREATE INDEX;D. CREATE VIEW;6. Oracle数据库中,哪个命令用于删除一个表?A. DROP TABLE;B. REMOVE TABLE;C. DELETE TABLE;D. ERASE TABLE;7. Oracle数据库中,哪个命令用于查看表的结构?A. DESCRIBE table_name;B. EXPLAIN table_name;C. SHOW table_name;D. SELECT table_name;8. 在Oracle数据库中,以下哪个命令用于添加新的列到一个已存在的表?A. ADD COLUMN column_name column_type;B. INSERT COLUMN column_name column_type;C. CREATE COLUMN column_name column_type;D. APPEND COLUMN column_name column_type;9. Oracle数据库中,哪个命令用于更新表中的记录?A. UPDATE table_name SET column_name = new_value WHERE condition;B. MODIFY table_name SET column_name = new_value WHERE condition;C. CHANGE table_name SET column_name = new_value WHERE condition;D. ALTER table_name SET column_name = new_value WHERE condition;10. 在Oracle数据库中,以下哪个命令用于删除表中的记录?A. ERASE FROM table_name WHERE condition;B. REMOVE FROM table_name WHERE condition;C. DELETE FROM table_name WHERE condition;D. DROP FROM table_name WHERE condition;二、简答题(每题5分,共30分)1. 简述Oracle数据库的体系结构。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中南大学oracle数据库期末考试试题及答案一、选择题A1、以下()内存区不属于SGA。
A.PGA B.日志缓冲区 C.数据缓冲区 D.共享池D2()模式存储数据库中数据字典的表和视图。
A.DBA B.SCOTT C.SYSTEM D.SYSC3、在Oracle中创建用户时,若未提及DEFAULT TABLESPACE关键字,则Oracle就将()表空间分配给用户作为默认表空间。
A.HR B.SCOTT C.SYSTEM D.SYSA4、()服务监听并按受来自客户端应用程序的连接请求。
A.OracleHOME_NAMETNSListener B.OracleServiceSIDC.OracleHOME_NAMEAgent D.OracleHOME_NAMEHTTPServerB5、()函数通常用来计算累计排名、移动平均数和报表聚合等。
A.汇总 B.分析 C.分组 D.单行B6、()SQL语句将为计算列SAL*12生成别名Annual SalaryA.S ELECT ename,sal*12 …Annual Salary‟ FROM emp;B. B.SELECT ename,sal*12 “Annual Salary” FROM emp;C.C.SELECT ename,sal*12 AS Annual Salary FROM emp;D.D.SELECT ename,sal*12 AS INITCAP(“Annual Salary”) FROM emp;B7、锁用于提供( )。
A.改进的性能B.数据的完整性和一致性 C.可用性和易于维护 D.用户安全C8、( )锁用于锁定表,允许其他用户查询表中的行和锁定表,但不允许插入、更新和删除行。
A.行共享 B.行排他 C.共享 D.排他B9、带有( )子句的SELECT语句可以在表的一行或多行上放置排他锁。
A.FOR INSERT B.FOR UPDATE C.FOR DELETE D.FOR REFRESHC10、使用( )命令可以在已分区表的第一个分区之前添加新分区。
A.添加分区 B.截断分区C.拆分分区 D.不能在第一个分区前添加分区C11、( )分区允许用户明确地控制无序行到分区的映射。
A.散列 B.范围 C.列表 D.复合C12、可以使用()伪列来访问序列。
A.CURRVAL和NEXTVAL B.NEXTVAL和PREVAL C.CACHE和NOCACHE D.MAXVALUE和MINVALUEA13、带有错误的视图可使用()选项来创建。
A.FORCE B.WITH CHECK OPTION C.CREATE VIEW WITH ERROR D.CREATE ERROR VIEW B14、在联接视图中,当()时,该基表被称为键保留表。
A.基表的主键不是结果集的主键 B.基表的主键是结果集的主键 C.基表的主键是结果集的外键 D.基表的主键不是结果集的外键D15、在列的取值重复率比较高的列上,适合创建()索引。
A.标准 B.唯一 C.分区 D.位图C16、要以自身的模式创建私有同义词,用户必须拥有()系统权限A.CREATE PRIVATE SYNONYM B.CREATE PUBLIC SYNONYM C.CREATE SYNONYM D .CREATE ANY SYNONYMD17、PL/SQL块中不能直接使用的SQL命令是()。
A.SELECT B.INSERT C.UPDATE D.DROP B18、以零作除数时会引发()异常。
A.VALUE_ERROR B.ZERO_DIVIDE C.STORAGE_ERROR D.SELF_IS_NULLA19、要更新游标结果集中的当前行,应使用()子句。
A.WHERE CURRENT OF B.FOR UPDATEC.FOR DELETE D.FOR MODIFYB20、用于处理得到单行查询结果的游标为()。
A.循环游标 B.隐式游标 C.REF游标 D.显式游标C21、公用的子程序和常量在()中声明。
A.过程 B.游标 C.包规范 D.包主体C22、数据字典视图()包含存储过程的代码文本A.USER_OBJECTS B.USER_TEXT C.USER_SOURCE D.USER_DESCC23、以下不属于命名的PL/SQL块的是()。
A.程序包 B.过程 C.游标 D.函数A24、()包用于显示PL/SQL块和存储过程中的调试信息。
A.DBMS_OUTPUT B.DBMS_STANDARD C.DBMS_INPUT D.DBMS_SESSIONA25、Oracle的内置程序包由()用户所有。
A.SYS B.SYSTEM C.SCOTT D.PUBLICA26、()触发器允许触发操作中的语句访问行的列值。
A.行级 B.语句级 C.模式 D.数据库级A27、在非归档日志方式下操作的数据库禁用了()。
A.归档日志 B.联机日志 C.日志写入程序 D.日志文件A28、以下哪种备份方式需要在完全关闭数据库进行()。
A.无归档日志模式下的数据库备份 B.归档日志模式下的数据库备份 C.使用导出实用程序进行逻辑备份 D.以上都不对B29、()方式的导出会从指定的表中导出所有数据。
A.分区 B.表 C.全部数据库 D.表空间C30、()参数用于确定是否要导入整个导出文件。
A.CONSTRAINTS B.TABLES C.FULL D.FILE二、填空题(每空2分,共40分)1、假设已在某远程客户端完成网络服务名配置,服务名为aptech,请写出用户MARTIN(用户口令martinpass)连接到服务器的命令:Connect martin/martinpass@aptech2、SYS用户以管理员身份登录后,要授予用户MARTIN可以对SCOTT用户的EMP表进行查询的权限,请写出授权命令:(假设MARTIN用户已存在)Grant select on scott.emp to martin3、创建表employee的副本,但不包含表中的记录:CREATE TABLE employee_copy AS select * from employee where 1=24、查询itemfile表中itemrate列的信息,要求将数值转换为字符串,并使用当前货币符号作为前缀:SELECT to_char (itemrate,'C99999') FROM itemfile;5、查itemfile表中itemdesc、re_level列的信息,要求re_level为NULL时显示为0 SELECT itemdesc, NVL (re_level,0) FROM itemfile;6、完成以下PL/SQL块,功能是:显示2 到50的25个偶数。
BEGINFOR even_number IN 1..25 LOOPDBMS_OUTPUT.PUT_LINE(even_number*2); END LOOP END;7、完成以下PL/SQL块,功能是:接受职员编号并检索职员姓名。
将职员姓名存储在变量empname中,如果代码引发VALUE_ERROR异常,则向用户显示错误消息。
DELCAREempname employee.ename%TYPE;; eno employee.empno%TYPE; BEGINeno:=‟&employee_number‟;select ename into empname from employee where empno=enoDBMS_OUTPUT.PUT_LINE(…职员姓名:‟||empname); exceptionWHEN VALUE_ERROR THENDBMS_OUTPUT.PUT_LINE(…要存储在变量中的值过大‟) END;8、完成以下PL/SQL块,功能是:使用游标,显示所有单价低于250元的玩具的单价。
DECLAREmy_toy_price toys.toyprice%TYPE; CURSOR toy_cur ISSELECT toyprice FROM toys WHERE toyprice<250;BEGINOpen toy_cur LOOPFetch toy_cur into my_toy_price EXIT WHEN toy_cur%NOTFOUND;DBMS_OUTPUT.PUT_LINE (toy_cur%ROWCOUNT || '. 玩具单价:' || my_toy_price); END LOOP; CLOSE toy_cur; END;9、完成以下PL/SQL块,功能是:使用游标显示销售报表。
如果目标销售额(tsales)大于实际销售额(asales),则显示消息“需提高销售额”。
如果tsales等于asales,则显示消息“已达到销售额”,否则显示消息“销售业绩出色”DECLARECURSOR sales_cur IS SELECT * FROM salesdetails; BEGINFor sales_res in sales_cur loopIF sales_rec.tsales > sales_rec.asales THENDBMS_OUTPUT.PUT_LINE('产品:'||sales_rec.pid||' 需提高销售额'); ELSEIF sales_res.tsales=sales_res.asales THENDBMS_OUTPUT.PUT_LINE('产品:'||sales_rec.pid||'已达到销售额'); ELSE DBMS_OUTPUT.PUT_LINE('产品:' ||sales_rec.pid||'销售业绩出色');END IF;END IF;END LOOP;END;10、完成以下PL/SQL块,功能是:创建一个交换两数的过程。
CREATE OR REPLACE PROCEDUREs IN OUT NUMBER, p2 in out NUMBER) IS v_temp NUMBER;BEGIN v_temp := p1; p1 := p2; p2 := v_temp;END;11、完成以下PL/SQL块,功能是:创建一个函数dept_name,其功能是接受职员编号后返回职员所在部门名称。
(注:部门名称在dept表中,而职员信息在emp表中,职员所在部门号的列名为deptno)CREATE OR REPLACE FUNCTION dept_name (emp_no NUMBER)RETURN VARCHAR2 AS dept_no NUMBER(2);result dept.dname%TYPE; BEGIN Selecetdeptnointodept_nofromempwhereempno=emp_noSELECT dname INTO result FROM deptWHERE deptno = dept_no; Return result EXCEPTIONWHEN OTHERS THEN RETURN NULL;END;12、要执行pack_me包中的order_proc过程(有一个输入参数),假设参数值为‟002‟,可以输入以下命令:EXECUTE pack_ma.order-proc(‘002’)13、完成以下PL/SQL块的功能是:创建一个触发器biu_job_emp,无论用户插入记录,还是修改EMP表的job列,都将用户指定的job列的值转换成大写。