Oracle作业及其答案答辩
- 格式:ppt
- 大小:344.50 KB
- 文档页数:22
Oracle数据库课程大作业任务一: 基础知识(1-2天)问题: 1) Oracle 的逻辑存储结构包括哪些结构对象?它们之间有什么关系?答:包括表空间、数据块、区、段。
1、每个表空间中可以存放一个或多个段;2、每个段是由一个或多个区段组成;3、每个区段是有一个或多个连续的Oracle连续的数据块组成。
2) Oracle 数据库服务端口默认是多少?答:15213)Oracle数据库实例的启动过程分为哪几个步骤?请分别写出以下情况下启动数据库的脚本:答:启动分为startup nomountalter database mountalter database opena)启动实例不加载数据库;答:sql>startup nomountb) 启动实例、加载数据库并保持数据库关闭;答:sql>startup nomountsql>alter database mountc) 启动实例、加载并打开数据库。
答:startup nomountalter database mountalter database open4)Oracle中有四种关闭数据库实例的方式,请写出其执行脚本。
答:shutdown immediate、shutdown normal、shutdown abort、shutdown transactional5)简述存储过程、函数和触发器的区别和联系。
答:触发器是特殊的存储过程,存储过程需要程序调用,而触发器会自动执行;函数是根据输入产生输出,自定义只不过输入输出的关系由用户来定义。
在什么时候用触发器。
要求系统根据某些操作自动完成相关任务,比如,根据买掉的产品的输入数量自动扣除该产品的库存量。
存储过程就是程序,它是经过语法检查和编译的SQL语句,所以运行特别快。
6)简述数据库索引的优点和缺点。
答:第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。
第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。
Oracle作业二答案《Oracle数据库》作业二一、填空题:1、如果只需在本地执行管理操作,则可以使用(操作系统)认证方式2、用户若要连接到Oracle数据库,必须具有(CREATE SESSION)系统权限3、Oracle通过角色,提供了简单、易于控制的(权限)管理。
4、Oracle支持两种类型的权限:(系统)权限和(对象)权限5、DBA通常将权限分配给一系列(角色),然后再分配给基于此的用户,目的是提供简单的、易于控制的(权限)管理6、同义词可以分为两种类型:(公有)同义词和(私有)同义词7、每个Oracle数据库在创建后都会有两个默认的数据库用户账号(system)和(sys),他们的默认口令分别是(manager)和change_on_install。
二、判断题:1、索引是与表和簇相联系的结构,它能够使与表有关的SQL语句执行得更快。
(对)2、当对一个表进行插入、更新或删除操作时,oracle数据库能自动维护这个表的索引,对索引进行相应的操作。
(对)3、与表一样,视图中也有数据。
(错)4、对于列的基数较低的情况应该为该列创建位映射索引(对)5、用户可以在视图中插入、更改或删除数据()√6、角色的名称可以与数据库已有的用户名相同()╳7、视图是由一个或若干个基表产生的数据集合,但视图中没有数据()√。
三、选择题8、数据库角色不具有以下哪个功能()A.角色被授予其它角色B.角色可以被授予系统权限C.任何数据库用户都可以被授予任何角色D.授予角色的角色可以显示地启用和禁用9、下列哪一项不是伪列ROWID的作用(A)A.保存一条记录的记录头信息B.获得表中数据的物理存储方式C.快速访问指定的记录D.唯一的标识表中的各条记录10、下面哪一项不是Oracle 9i提供的认证方式()DA.数据库认证B.外部认证C.代理认证D.服务器认证四、简答题5.Oracle提供了哪两种类型的权限?赋予用户在指定的数据库对象上执行特定类型的操作属于什么类型的权限?答:分为系统权限和对象权限。
1. 解释冷备份和热备份的不同点以及各自的优点 解答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库。热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好。(因为不必将archive log写入硬盘) 2. 你必须利用备份恢复数据库,但是你没有控制文件,该如何解决问题呢? 解答:重建控制文件,用带backup control file 子句的recover 命令恢复数据库。 3. 如何转换init.ora到spfile? 解答:使用create spfile from pfile 命令 .4. 解释data block , extent 和 segment的区别(这里建议用英文术语) 解答:data block是数据库中最小的逻辑存储单元。当数据库的对象需要更多的物理存储空间时,连续的data block就组成了extent . 一个数据库对象拥有的所有extents被称为该对象的segment. 5. 给出两个检查表结构的方法 解答:1、DESCRIBE命令 2、DBMS_METADATA.GET_DDL 包 6. 怎样查看数据库引擎的报错 解答:alert log. 7. 比较truncate和delete 命令 解答:两者都可以用来删除表中所有的记录。区别在于:truncate是DDL操作,它移动HWK,不需要 rollback segment .而Delete是DML操作, 需要rollback segment 且花费较长时间. 8. 使用索引的理由 解答:快速访问表中的data block 9. 给出在STAR SCHEMA中的两种表及它们分别含有的数据 解答:Fact tables 和dimension tables. fact table 包含大量的主要的信息而 dimension tables 存放对fact table 某些属性描述的 信息 10. FACT Table上需要建立何种索引? 解答:位图索引(bitmap index) 11. 给出两种相关约束? 解答:主键和外键 12. 如何在不影响子表的前提下,重建一个母表 解答:子表的外键强制失效,重建母表,激活外键 13. 解释归档和非归档模式之间的不同和它们各自的优缺点 解答:归档模式是指你可以备份所有的数据库 transactions并恢复到任意一个时间点。非归档模式则相反,不能恢复到任意一个时间点。 但是非归档模式可以带来数据库性能上的少许提高 14. 如何建立一个备份控制文件? 解答:Alter database backup control file to trace. 15. 给出数据库正常启动所经历的几种状态 ? 解答: STARTUP NOMOUNT – 数据库实例启动 STARTUP MOUNT - 数据库装载 STARTUP OPEN – 数据库打开 16. 哪个column可以用来区别V$视图和GV$视图? 解答: INST_ID 指明集群环境中具体的某个instance 。 17. 如何生成explain plan? 解答: 运行utlxplan.sql. 建立plan 表针对特定SQL语句,使用 explain plan set statement_id = 'tst1' into plan_table 运行 utlxplp.sql 或 utlxpls.sql察看explain plan 18. 如何增加buffer cache的命中率? 解答:在数据库较繁忙时,适用buffer cache advisory 工具,查询v$db_cache_advice . 如果有必要更改,可以使用 alter system set db_cache_size 命令 19. ORA-01555的应对方法? 解答:具体的出错信息是snapshot too old within rollback seg , 通常可以通过增大rollback seg来解决问题。当然也需要察看一下具 体造成错误的SQL文本 20. 解释$ORACLE_HOME和$ORACLE_BASE的区别? 解答:ORACLE_BASE是oracle的根目录,ORACLE_HOME是oracle产品的目录 21。如何判定数据库的时区? 解答:SELECT DBTIMEZONE FROM DUAL; 22。解释GLOBAL_NAMES 设为TRUE的用处 解答:GLOBAL_NAMES指明联接数据库的方法。假如这个参数设置为TRUE,在树立数据库链接时就必需用雷同的名字衔接近程数据库。 23。如何加密PL÷SQL次序? 解答:WRAp 24。解释FUNCTION,PROCEDURE和PACKAGE差别 解答:function和procedure是PL÷SQL代码的聚拢,通常为了实现一个义务。procedure不须要返回任何值而function将返回一个值在另一方面,Package 是为了实现一个商业功用的一组function和procedure得聚拢 25。解释TABLE Function的用处 解答:TABLE Function 是通过PL÷SQL逻辑返回一组记载,用于普通的表÷视图。他们也用于pipeline 和ETL历程。 26。举出三中可以收集three advisory statistics 解答:Buffer Cache Advice,Segment Level Statistics,Timed Statistics 27。Audit trace寄放在哪个oracle目录构造中? 解答:unix $ORACLE_HOME÷rdbms÷auditWindows the event viewer 28。解释materialized view 的作用 解答:Materialized view 用于增添那些汇总,聚拢和分组的信息的几何数量。它们统称适宜于数据仓库和DSS体系。 29。当用户过程出错,哪个后盾过程担任清算它 解答:PMON 30。哪个后盾过程刷新materialized view? 解答:The Job Queue Processes 31。如何判定哪个session正在衔接以及他们期待的资源? 解答: V$SESSION ÷V$SESSION_WAIT 32。描写什么是redo logs 解答:Redo Logs是用于寄放数据库数据修正状况的物理和逻辑构造。可以用来修单数据库。 33。如何进行强迫LOG SWITCH? 解答:ALTER SYSTEM SWITCH LOGFILE; 34。举出两个判定DDL修正的方法? 解答:你可以运用Logminer或Streams 35。Coalescing做了什么? 解答:Coalescing针关于字典治理的tablespace进行碎片整顿,将邻近的小extents兼并成单个的大extent。 36。TEMPORARY tablespace和PERMANENT tablespace的差别是? 解答:A temporary tablespace 用于暂时对象列如排序构造而permanenttablespaces用来存储那些实在的对象(例如表,回滚段等) 37。创立数据库时主动树立的tablespace称号? 解答:SYSTEM tablespace。 38创立用户时,须要赋予新用户什么权限能力使它联上数据库。 解答:CONNECT 39。如何在tablespace里增添数据文件? 解答:ALTER TABLESPACEADD DATAFILESIZE 40。如何变化数据文件的大小? 解答:ALTER DATABASE DATAFILERESIZE; 41。哪个VIEW用来检讨数据文件的大小? 解答:DBA_DATA_FILES 42。哪个VIEW用来判定tablespace的残余空间? 解答:DBA_FREE_SPACE 43。如何判定谁往表里增添了一条记载? 解答:auditing 44。如何重构索引? 解答:ALTER INDEXREBULID; 45。解释什么是Partitioning(分区)以及它的长处。 解答:Partition将大表和索引联系成更小,易于治理的分区。 46,你刚刚编译了一个PL÷SQL Package 然而有同伴报道,如何显示出错信息
第一次书面作业答案(作业请在2013.4.3之前提交)一、填空题1.Oracle数据库系统的物理存储结构主要由3类文件组成,分别为数据文件、日志文件、控制文件。
2.用户对数据库的操作如果产生日志信息,则该日志信息首先被存储在日志缓冲区,随后由LGWR 进程保存到日志文件组。
3.在物理上,一个表空间对应一个或多个数据文件。
4.在Oracle的逻辑存储结构中,根据存储数据的类型,可以将段分为数据段索引段、回退段、LOB段和临时段。
5.在Oracle的逻辑存储结构中,数据块是最小的I/O单元。
6.使用PROMPT 命令可以在屏幕上输出一行数据。
这种输出方式有助于在脚本文件中向用户传递相应的信息。
7.使用SPOOL 命令可以将查询结果保存在一个文件中。
8.通过使用COLUMN 命令,可以对控制查询结果集中列的显示格式。
9.在ORDER BY子句中,asc 关键字表示升序排列,desc 关键字表示降序排列。
10.子查询语句必须使用小括号括起来,否则无法判断子查询语句的开始和结束。
在子查询语句中,不能使用ORDER BY 子句。
二、选择题1.当用户与Oracle服务器的连接非正常中断时,哪个后台进程负责释放用户所锁定的资源?( D )A.DBWn B.LGWR C.SMON D.PMON 2.向数据库发出一个COMMIT命令提交事务时,哪个后台进程将重做日志缓冲区的内容写入联机重做日志文件?( B )A.DBWn B.LGWR C.CKPT D.CMMT 3.当启动Oracle实例时,默认情况下,哪个后台进程不会被启动?( D ) A.DBWn B.LGWR C.CKPT D.ARCn 4.在数据库逻辑结构中,按从大到小的次序排列是正确的是( B )。
A.表空间、区、段、块B.表空间、段、区、块C.段、表空间、区、块D.区、表空间、段、块5.在全局存储区SGA中,哪部分内存区域是循环使用的?( B )A.数据缓冲区B.日志缓冲区C.共享池D.大池6.解析后的SQL。
Oracle测试题(卷)+答案解析1) PL/SQL块中可以使用下列()命令。
(选择两项)a) TRUNCATEb) DELETEc) SA VEPOINTd) ALTER TABLE2) 授予sa用户在SCOTT.EMP表中SAL列的更新权限的语句是(B)〔选择一项〕a) GRANT CHANGE ON SCOTT.EMP TO SAb) GRANT UPDA TE ON SCOTT.EMP(SAL) TO SAc) GRANT UPDA TE (SAL) ON SCOTT.EMP TO SAd) GRANT MODIFY ON SCOTT.EMP(SAL) TO SA3) EMP表有14条记录,则语句SELECT ‘Aptech’FROM EMP 的执行结果是(C)〔选择一项〕a) Aptechb) 无输出c) 14行Aptechd) 编译出错4) PL/SQL块中哪几部分是可选的()〔选择二项〕a) Declareb) Beginc) Exceptiond) Constant5) 在创建序列的过程中,下列()选项指定序列在达到最大值或最小值后,将继续从头开始生成值。
(选择一项)a) Cycleb) Nocyclec) Cached) Nocache6) 同义词有以下()用途。
(选择三项)a) 简化SQL 语句b) 隐藏对象的名称和所有者c) 提供对对象的公共访问d) 显示对象的名称和所有者7) Oracle中用来释放锁的语句有()〔选择二项〕a) commitb) Drop lockc) rollbackd) unlock8) 关于类型定义Number(9,2)说确的有()〔选择一项〕a) 整数部分9位,小数部分2位,共11位b) 整数部分7位,小数部分2位,共9位c) 整数部分6位,小数点一位,小数部分2位,共9位d) 以上说法均不正确9) 下列哪种Lob类型用来存储数据库以外的操作系统文件()〔选择一项〕a) CLOBb) BLOBc) CFILEd) BFILE10) Oracle中的三种系统文件分别是()〔选择三项〕a) 数据文件b) 归档文件c) 日志文件d) 控制文件11) 下列哪项不是Oracle中常用的分区方法?()〔选择一项〕a) 围分区b) 散列分区c) 列表分区d) 条件分区12) 查看Test中名称为P1的分区中的记录的查询语句为()〔选择一项〕a) Select * from Test Where PartitionName=’p1’b) Select * from Test(p1)c) Select * from Test Partition(p1);d) 以上均正确13) 创建序列时,若未指定Cycle选项,则当当前值大于MaxValue时将()〔选择一项〕a) 从MinValue重新开始循环b) 重复使用MaxValue 值c) 执行出错d) 使用随机值14) 下列哪项是创建索引组织表所必需的()〔选一项〕a) Primary Keyb) Order Byc) Group Byd) 以上均不是15) 若表的某字段值存在大量的重复,则基于该字段适合创建哪种索引?()〔选一项〕a) 标准索引b) 唯一索引c) 位图索引d) 分区索引16) 在PL/SQL块中定义一个名为PI值为3.14的Real型常量的语法是()〔选一项〕a) A.Pi Const Real=3.14;b) B.Pi Real Const =3.14;c) C.Constant Pi Real:=3.14d) D.Pi Constant Real:=3.1417) 22.当Select语句没有返回行时,将引发下列哪个异常?()[选择一项]a) A.No_rows_foundb) B.No_data_foundc) C.No_Data_rows_foundd) D.Invalid_Number18) Oracle中提供的两种游标是()〔选择二项〕a) A.隐式游标b) B.静态游标c) C.REF游标d) D.显式游标19) 若Emp表中有14条记录,则用户执行了以下操作,结果是:()〔选择一项〕Cursor mycur is Select * From emp;。
方法一1、从表1获取数据,格式化输出为表2。
drop user ben cascade;create user ben identified by 12345;grant dba to ben;conn ben/12345;show user ;create table tableone(studname varchar2(16),coursename varchar2(16),cscore number(2) check(cscore >=0 and cscore <=100),uscore number check(uscore in (1,3,5)));insert into tableone values('李白','摔跤',80,'1');insert into tableone values('李白','军事理论',60,'5');insert into tableone values('李白','数学',70,'3');insert into tableone values('杜甫','摔跤',95,'1');insert into tableone values('杜甫','军事理论',85,'5');insert into tableone values('杜甫','数学',75,'3');insert into tableone values('李清照','摔跤',45,'1');insert into tableone values('李清照','军事理论',55,'5'); insert into tableone values('李清照','数学',50,'3');insert into tableone values('蔡琰','摔跤',25,'1');insert into tableone values('蔡琰','军事理论',15,'5');insert into tableone values('蔡琰','数学',10,'3');create or replace view tabletwoasselect studname as 姓名,max(decode(coursename,'摔跤', cscore)) as 摔跤,max(decode(coursename,'军事理论', cscore)) as 军事理论, max(decode(coursename,'数学', cscore)) as 数学,sum(uscore) as 总学分from tableone group by studname; set pagesize 15;column studname format a18; column coursename format a18; select * from tableone;select * from tabletwo;2、从表2读取数据,格式化输出为表1。
大学oracle数据库试题及答案大学Oracle数据库试题及答案一、选择题(每题2分,共20分)1. Oracle数据库中,下列哪个选项是正确的?A. PL/SQL是Oracle数据库的存储过程语言B. PL/SQL是Oracle数据库的查询语言C. PL/SQL是Oracle数据库的报告生成语言D. PL/SQL是Oracle数据库的调试工具答案:A2. 在Oracle数据库中,哪个命令用于创建表?A. CREATE TABLEB. CREATE DATABASEC. CREATE INDEXD. CREATE VIEW答案:A3. Oracle数据库中,哪个命令用于删除表?A. DROP TABLEB. DELETE TABLEC. REMOVE TABLED. ERASE TABLE答案:A4. 在Oracle数据库中,哪个命令用于插入数据?A. INSERT INTOB. PUT INTOC. ADD INTOD. CREATE INTO答案:A5. Oracle数据库中,哪个命令用于更新数据?A. UPDATEB. MODIFYC. CHANGED. ALTER答案:A6. 在Oracle数据库中,哪个命令用于查询数据?A. SELECTB. QUERYC. FETCHD. GET答案:A7. Oracle数据库中,哪个命令用于删除数据?A. DELETEB. REMOVEC. DROPD. ERASE答案:A8. 在Oracle数据库中,哪个命令用于创建视图?A. CREATE VIEWB. CREATE TABLEC. CREATE INDEXD. CREATE DATABASE答案:A9. Oracle数据库中,哪个命令用于创建索引?A. CREATE INDEXB. CREATE KEYC. CREATE TABLED. CREATE DATABASE答案:A10. 在Oracle数据库中,哪个命令用于创建存储过程?A. CREATE PROCEDUREB. CREATE FUNCTIONC. CREATE PACKAGED. CREATE TRIGGER答案:A二、填空题(每题2分,共20分)1. Oracle数据库中,用于创建数据库的命令是________。