Oracle重点-简答应用
- 格式:docx
- 大小:19.63 KB
- 文档页数:3
第一章1.简要说明例程与数据库之间的联系和区别?ORACLE数据库是安装在磁盘上的ORACLE数据库文件和相关的数据库管理系统的集合。
磁盘上比较重要的文件包括数据文件,控制文件,重做日志文件,初始化参数文件,口令文件,归档重做日志文件。
例程是由在内从中的一组后台进程和内存结构组成。
2.说明数据库、表空间和数据文件之间的关系?ORACLE数据库的逻辑结构和物理结构的对应关系,一个ORACLE数据库可以拥有多个表空间,每个表空间有多个段组成,每个段由若干个区间组成,每个区间包含多个ORACLE 数据块,每个ORACLE数据块包含多个OS屋里磁盘快。
表空间有多个物理文件支持,具体存储表空间中的个对象。
3.比较表和视图二者间的异同?视图中没有数据,仅仅是一条SQL语句,查询语句检索出来的数据以表的形式表示;视图的定义存储在数据字典中,视图的查询基于表;视图没有直接的相关物理数据,不能像表那样被索引。
第二章1.写出以scott用户登录到数据库orcl,然后查看该用户可以访问的表,视图的相关命令?CONN scott/tiger@orclSELECT * FROM tab;2.设置查询结果的显示格式:每页24行,每行100个字符,SAL列的显示格式为¥99.990.0. SET PAGESIZE 24SET LINESIZE 100COLUMN sal FORMAT $99,990.00第三章1.写出查看某个用户说有用的角色的SQL语句。
CONN stu01/stu01pwd@orclCOLUMN USERNAME FORMAT A10SELECT username,granted_role FROM user_role_privs;2.写出查询当前用户将哪些表的访问权限授予给其他用户的SQL语句。
CONN scott/tiger@orclCOLUMN GRANTEE FORMAT A10SELECT grantee,table_name,grantor,privilege,grantableFROM user_tab_privs_made;3.以系统管理员的身份登录,在SQL*plus中查询各用户获得的系统特权和角色。
Oracle 考查重点
1. 考试题型:选择题(20分,每题1分),填空题(20分,每空1分),简答题(20分,每题5分),命令题(20分,每题5分),程序填空题(20分,每空2分)
2. 考试时间:第15周
3. 出题范围:课后习题,课件
4. 考查范围:
(1)oracle服务器的体系结构:oracle服务器包括例程,数据库,例程包括什么?数据库包括什么?每一部分的作用。
(2)oracle数据库在物理由哪几部分组成,在逻辑上由大到小由哪几部分组成的。
(3)oracle的启动和关闭的三个步骤,关闭的四个方式有什么区别。
(4)oracle的控制文件为什么部署多个?
(5)oracle的重做日志文件的工作原理?
Oracle的重做日志文件为什么为多路复用?
(6)oracle的表空间的作用?
表空间的类型包括系统表空间和非系统表空间。
创建表空间的命令是什么?
(7)用户、权限、角色、概要文件的概念?
方案(模式)的概念?
用户创建的命令?权限和角色如何授予和收回。
(8)表创建的命令?
(9)sql语句的查询语句、更新语句、插入语句、删除语句。
(10)PL/SQL语句的结构,游标如何创建,过程和函数,序列,触发器。
这部分出程序填空题。
(20分)。
要求20道判断、20道单选选择10道多选7道问答3道编程,再加20道填空一、单项选择题(每题1分,共20分)1、在Oracle中,一个用户拥有的所有数据库对象统称为(B )A) 数据库B) 模式C) 表空间D) 实例2、在Oracle 中创建用户时,若未提及DEFAULT TABLESPACE 关键字,则Oracle 就将(D)表空间分配给用户作为默认表空间。
A) USER B) SYS C) DEFAULT D) SYSTEM3、在oracle中获取前10条的关键字是(D)A) top B)Limit C)first D) rownum解释:top 是sql server数据库的关键字,limit 是mysql数据库的关键字,first是informix 数据库的关键字4、在Oracle中,( B)操作符返回并集操作并不包括重复行A) Intersect B) Union C) Union all D) Minus解释:Intersect返回交集,union返回并集,不包括重复行,union all 返回并集,包括重复行,minus返回差集5、下面那个语句是错误的(D)A) create synonym dept_synon for scott.deptB) create sequence dept_seque increment by 1C) alter sequence dept_seque increment by 2D) drop dept_synon6、oracle数据库中,通过( C)可以以最快的方式访问表中的一行。
A) 主键B) 唯一索引C) rowid D) 全表扫描7、下面那个不是oracle程序设计中的循环语句( A)A) for… end for B) loop…end loopC) while…end loop D) for… end loop8、oracle存储结构正确的是(B)A) tablespace--segment--osblock--blockB) tablespace--segment--extent--blockC) tablespace--extent--segment--blockD) tablespace--extent--block –segment9、若tnsnames.ora文件中部分配置如下:xfhtdb =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = hello)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = scce)))则表明:( C)A) Oracle服务器所在的主机名为DEDICATEDB) Oracle服务器所在的主机名为scceC) 对应数据库的SID为scceD) 对应数据库的SID为xfhtdb10、现在要启动数据库,那么下面哪一个启动语句是错误的(A)A) STRATUP NORMAL B) STRATUP FORCEC) STRATUP NOMOUNT D) STARTUP MOUNT11、授予sa用户在SCOTT.EMP表中SAL列的更新权限的语句是:( C )A) GRANT CHANGE ON SCOTT.EMP TO SAB) GRANT UPDATE ON SCOTT.EMP(SAL) TO SAC) GRANT UPDATE(SAL) ON SCOTT.EMP TO SAD)GRANT MODIFY ON SCOTT.EMP TO SA12、一个表有百万以上数据,其中一个列经常被作为查询条件并且只有25个不同数据,适合使用(C)索引提高查询速度。
考试题型:一、单选(2*15)二、填空(1*10)三、设计(4*10)四、问答(5*2)四、问答题:1.简述Oracle物理存储结构的主要存储部分以及各部分的主要功能。
●数据文件——用于存储数据库中的所有数据;●控制文件——用于记录和描述数据库的物理存储结构信息;●重做日志文件——用于记录外部程序(用户)对数据库的修改操作;●初始化参数文件——用于设置数据库启动时的参数初始值;●跟踪文件——用于记录用户进程、数据库后台进程的运行情况;●归档文件——用于保存已经写满的重做日志文件●口令文件——用于保存具有SYSDBA,SYSOPER权限的用户名和SYS用户口令。
2.简述Oracle操作模式有哪两种,它们有什么关系?在Oracle数据库中,数据库的操作模式分为专用服务器(DELICATED SERVER)模式和多线程服务器(MULTITHREADED SERVER)模式两种。
其中,在专用服务器模式中,用户进程与服务器进程之间是一对一的关系,即一个服务器进程只为一个用户进程服务;而在多线程服务器模式中,用户进程与服务器进程之间是多对一的关系,即一个服务器进程可以为多个用户进程提供服务。
3.说明数据库模式与用户之间的区别?数据库模式与用户之间的区别在于:用户是数据库的使用者和管理者,用户具有帐户状态、访问权限和操作权限等属性。
模式是一系列逻辑数据结构或对象的集合,是数据库中对象的组织和管理单位。
4.说明数据库的启动过程。
数据库启动分为三个步骤:创建并启动数据库实例、装载数据库和打开数据库。
数据库启动时首先根据初始化参数文件创建并启动实例,然后根据控制文件装载数据库的数据文件和重做日志文件,最后打开数据文件和重做日志文件,从而启动数据库。
三、设计题:1.P111(1)为USERS表空间添加一个数据文件,文件名为userdata03.dbf,大小为50MB。
alter tablespace usersadd datafile ‘d:\Oracle\userdata03.dbf’size 50M;(2)为EXAMPLE表空间添加一个数据文件,文件名为example02.dbf,大小为20MB。
oracle知识点的总结概述Oracle 数据库是一种关系型数据库管理系统 (RDBMS),由美国甲骨文公司 (Oracle Corporation) 开发并提供支持。
它是目前全球最为流行的数据库之一,被广泛应用于企业级应用和大型系统中。
本文将总结一些 Oracle 数据库的重要知识点,包括数据库基本概念、SQL 查询语言、数据库管理、性能优化等方面,帮助读者更好地理解和运用 Oracle 数据库。
数据库基本概念1. 数据库的概念数据库是一种存储、管理和维护数据的系统,它可以让用户方便地访问和处理数据。
数据库的基本概念包括数据表、数据行、数据列、主键、外键、索引等。
数据表是数据库中的基本组织单元,数据行是表中的一条记录,数据列是记录中的字段。
主键是表中用来唯一标识每条记录的字段,外键是表与表之间关联的字段,索引是用来提高数据检索效率的数据结构。
2. SQL 语言SQL (Structured Query Language) 是一种用于操作数据库的标准化语言,它包括数据查询(SELECT)、插入 (INSERT)、更新 (UPDATE)、删除 (DELETE) 等操作。
SQL 查询语言是数据库操作中最为重要的部分,它可以让用户从数据库中检索需要的数据,并对数据进行调整和更新。
SQL 查询语言1. 基本查询SELECT 语句是 SQL 中最基本的查询语句,它用于从数据库中检索数据。
SELECT 语句的基本结构为:SELECT 列名 FROM 表名 WHERE 条件。
用户可以在 WHERE 子句中使用比较符号、逻辑符号和通配符来筛选特定的数据。
2. 聚合函数SQL 中有一些聚合函数,用于对查询结果进行统计和计算。
常见的聚合函数包括 COUNT、SUM、AVG、MAX、MIN 等,它们可以对查询结果集中的数据进行统计和汇总。
3. 子查询子查询是一个嵌套在主查询中的查询语句,它通常用于在查询中引用其他查询的结果。
oracle的知识点总结Oracle是一种关系型数据库管理系统,它提供了一套完整的数据库管理和开发工具。
本文将总结一些Oracle的知识点,希望能够帮助读者更好地理解和应用Oracle。
1. 数据库基础知识在Oracle中,数据库是由表组成的,每个表由多个列组成。
表中的数据以行的形式存储。
在创建表时,需要指定列的名称和数据类型。
常见的数据类型包括整数、字符、日期等。
此外,还可以创建索引来加速数据检索。
2. SQL语言SQL(Structured Query Language)是一种用于管理和操作关系型数据库的语言。
Oracle支持标准的SQL语法,并提供了一些扩展功能。
通过SQL语句,可以实现数据的查询、插入、更新和删除等操作。
常见的SQL语句包括SELECT、INSERT、UPDATE和DELETE。
3. 数据库事务事务是一组数据库操作的逻辑单位,要么全部执行成功,要么全部回滚。
Oracle使用ACID(原子性、一致性、隔离性和持久性)特性来确保事务的正确执行。
可以使用BEGIN、COMMIT和ROLLBACK语句来管理事务。
4. 数据库连接与用户管理在Oracle中,可以通过用户名和密码来连接数据库。
每个用户都有自己的数据库对象(如表、视图、索引等),并且可以授予不同的权限。
可以使用CREATE USER语句创建用户,并使用GRANT语句授予权限。
5. 视图和存储过程视图是数据库中的虚拟表,可以从一个或多个表中检索数据。
视图可以简化数据的查询,隐藏底层表的细节。
存储过程是一段预先编译的代码,可以在数据库中执行。
存储过程可以接受输入参数,并返回结果。
6. 数据库安全性Oracle提供了多种安全功能,用于保护数据库的机密性和完整性。
可以使用角色和权限来限制对数据库对象的访问。
此外,还可以使用透明数据加密来加密敏感数据。
7. 数据库备份与恢复数据库备份是一种重要的数据保护手段,可以防止数据丢失。
Oracle提供了多种备份和恢复工具,如RMAN(Recovery Manager)和Data Pump。
Oracle基础必学知识点1. 数据库概念:Oracle是一种关系型数据库管理系统(RDBMS),用于存储和管理大量结构化数据。
它支持SQL语言,可以通过SQL语句进行数据查询、插入、更新和删除操作。
2. 数据库对象:Oracle数据库由多个对象组成,包括表、视图、索引、序列、存储过程等。
这些对象用于存储和处理数据,可以通过SQL语句进行操作。
3. 数据类型:Oracle支持多种数据类型,包括数字、字符、日期、大对象(LOB)等。
不同的数据类型用于存储不同类型的数据,可以根据需求选择合适的数据类型。
4. 表操作:在Oracle中,表用于存储数据。
可以使用CREATE TABLE语句创建表,使用INSERT语句插入数据,使用SELECT语句查询数据,使用UPDATE语句更新数据,使用DELETE语句删除数据。
5. 索引:索引是一种用于提高查询性能的数据结构。
在Oracle中,可以使用CREATE INDEX语句创建索引,通过索引可以快速定位到需要查询的数据,提高查询效率。
6. 数据约束:数据约束是用于保证数据的完整性和有效性的规则。
在Oracle中,可以使用约束来限制数据的取值范围、保证数据的唯一性等。
常见的约束类型包括主键约束、外键约束、唯一约束、非空约束等。
7. 视图:视图是一种虚拟表,它是从一个或多个表中获取数据的查询结果。
在Oracle中,可以使用CREATE VIEW语句创建视图,通过视图可以简化复杂的查询操作,提高数据的安全性。
8. 存储过程:存储过程是一组预先编译的SQL语句,存储在数据库中,并可以通过调用来执行。
在Oracle中,可以使用CREATE PROCEDURE语句创建存储过程,通过存储过程可以实现复杂的数据处理逻辑。
9. 事务控制:事务是一组逻辑操作,要么全部执行成功,要么全部回滚。
在Oracle中,可以使用BEGIN/END语句或者显式的事务语句(如COMMIT和ROLLBACK)来控制事务的提交或回滚。
简答题(4*5’)1、简述Oracle数据库体系结构的构成。
答:数据库实例,物理存储结构和逻辑存储结构。
实例包括内存结构与后台进程;物理存储结构主要用于描述Oracle数据库外部数据的存储,即在操作系统中如何组织和管理数据,与具体的操作系统有关;逻辑存储结构主要描述Oracle数据库内部数据的组织和管理方式,与操作系统没有关系。
2、简述Oracle数据库逻辑存储结构的组成及相互关系。
答:Oracle数据库逻辑存储结构包括表空间、段、区、块四种。
其中,数据块是数据库中最小I/O单位,由若干连续的数据块组成的区是数据库中最小的存储分配单元,由若干区形成的段是相同类型的数据存储分配区域,由若干段形成的表空间是最大的逻辑存储单元,所有的表空间构成一个数据库。
3、简述Oracle数据库重做日志文件的作用。
答:重做日志文件,保存了用户对数据库所作的更新操作,包含的主要信息是记录事务的开始和结束、事务中每项操作的对象和类型、更新操作前后的数据值等。
4、简述索引作用并说明索引按不同分类依据分为哪些类。
答:创建索引的作用是为了提高对表中数据的查询效率。
根据索引值是否唯一,可分为唯一性索引和非唯一性索引;根据索引的组织结构不同,可分为平衡索引和位图索引;根据索引基于列数不同,可分为单列索引和复合索引。
5、简述Oracle的安全控制机制有哪些?答:1)、用户管理2)、权限管理3)、角色管理4)、表空间设置和配额5)、用户资源限制6)、数据库审计6、简述Oracle数据库角色的种类、作用以及如何利用角色为用户授权。
答:SYS:是数据库中具有最高权限的数据库管理员,可以启动、修改和关闭数据库,拥有数据字典;SYSTEM:是一个辅助的数据库管理员,不能启动和关闭数据库,但可以进行其他一些管理工作,如创建用户、删除用户等。
SCOTT:是一个用于测试网络连接的用户,其口令为TIGER。
PUBLIC:实质上是一个用户组,数据库中任何一个用户都属于该组成员。
oracle名词解释和简答题名词解释1.对象:对象实际是对一组数据和操作的封装,对象的抽象就是类。
2.并行服务器(OPS):可以允许一个数据库装载到多个数据库实例上并同时被这多个数据库实例打开。
3.DUAL表:该表只包含一个字段和一条记录。
使用它容易解决与表无关的一些查询问题。
4.DML级封锁:用于控制并发事务中的数据操纵,保证数据的一致性和完整性,其封锁对象可以是表或行。
5.触发器:存放在数据库中,它是一种当特定的事件发生时自动执行的存储过程。
6.网格计算:通过利用大量异构计算机的未用资源,将其作为嵌入在分布式电信基础设施中的一个虚拟的计算机集群,为解决大规模的计算问题提供了一个模型。
7.模式:一系列逻辑数据结构或对象的集合,模式与用户相对应,一个模式只能被一个数据库用户所拥有,并且模式的名称与这个用户的名称相同。
8.索引:一种可选的与表相关的数据库对象,用于提高数据查询效率。
9.视图:视图是一个逻辑表,是查看表的一种方式。
视图是对根据预定义的选择标准、由一个或者多个行的集合建立起来的动态表的静态定义。
简答题1. 简述Oracle系统的体系结构答:Oracle系统体系结构是整个Oracle服务器系统的框架,是管理和应用Ora 数据服务器的基础和核心。
(1) 数据库实例:系统全局区和后台进程(2) 物理存储结构:参数文件、控制文件、数据文件、重做日志文件等;(3) 逻辑存储结构:表空间、段、盘区、数据块等(4) 内存结构:系统全局区域、程序全局区、用户全局区2. 解释冷备份和热备份的不同点以及各自的优点。
答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。
而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库。
冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好。
PL/SQL程序设计(包、过程、函数等),平常作业大题,注意审题。
简答(3-6句关键话语即可).
简述Oracle数据库体系结构的构成。
Oracle数据库体系结构由物理存储结构、逻辑存储结构和实例组成。
其中物理存储结构描述了操作系统层次数据的存储与管理,包括数据文件、日志文件、重做日志文件等。
逻辑结构描述了数据库内部数据的组织与管理,由表空间、段、区、块组成。
实例是数据库运行的软件结构,由内存结构和后台进程组成。
数据库运行过程中,用户的操作在内存区中进行,最终通过后台进程转化为对数据库的操作。
简述Oracle数据库逻辑存储结构的组成及相互关系。
Oracle数据库的逻辑存储结构分为Oracle数据块(Oracle Data Block)、区(Extent)、段(Segment)和表空间(Table space)4种。
一个或多个连续的Oracle数据块构成区,一个或多个区构成段,一个或多个段构成表空间,所有表空间构成数据库。
简述Oracle数据库重做日志文件的作用。
重做日志文件是以重做记录的形式记录、保存用户对数据库所进行的修改操作,包括用户执行DDL、DML语句的操作。
如果用户只对数据库进行查询操作,那么查询信息是不会记录到重做日志文件中的。
简述索引作用并说明索引按不同分类依据分为哪些类。
索引用于提高数据的查询效率。
根据索引值是否唯一,可以分为唯一性索引和非唯一性索引;
根据索引的组织结构不同,可以分为平衡树索引和位图索引;
根据索引基于的列数不同,可以分为单列索引和复合索引。
简述Oracle的安全控制机制有哪些?
Oracle数据库的安全机制包括:
用户管理;
权限管理、角色管理;
表空间设置和配额管理;
用户资源限制;
数据库审计等。
简述Oracle数据库角色的种类、作用以及如何利用角色为用户授权。
Oracle数据库中角色分为系统预定义角色和用户自定义角色两类。
角色是一系列权限的集合,可以先将权限授予角色,再将角色授予具有相同权限的用户。
简述利用闪回技术进行数据恢复与采用传统方法进行数据恢复的优缺点。
传统的数据库恢复技术的解决的方法是利用预先做好的数据逻辑备份或物理备份进行恢复,而且恢复的程度取决于备份与恢复的策略。
闪回技术是利用数据库内部的设置,利用撤销表空间中的回退信息、回收站、闪回恢复区等信息,在数据库正常运行的状态下即可进行相应的恢复操作。
(3分)
应用题:
createorreplacepackage pkg_emp
as
function func_ret_maxsal(p_deptno number)returnnumber;
procedure pro_showemp(p_deptno number);
end;
createorreplacepackagebody pkg_emp
as
function func_ret_maxsal(p_deptno number)
returnnumber
as
v_maxsal number;
begin
selectmax(salary)into v_maxsal from employees
where department_id=p_deptno;
return v_maxsal;
end;
procedure pro_showemp(p_deptno number)
as
cursor c_emp isselect*from employees
where department_id=p_deptno and
salary=func_ret_maxsal(p_deptno);
begin
for v_emp in c_emp loop
dbms_output.put_line(v_emp.employee_id||' '||
v_emp.salary);
endloop;
end;
end;
createorreplacetrigger trg_secure_emp beforeinsertorupdateordeleteon employees
begin
if to_char(sysdate,'HH24:MI')notbetween'08:00'and'18:00'or
to_char(sysdate,'DY','NLS_DATE_LANGUAGE=AMERICAN')IN('SAT','SUN') then
raise_application_error(-20005,'只能在正常的工作时间内进行改变。
'); endif;
end trg_secure_emp;
CREATEORREPLACEFUNCTION func_dept_info(
p_deptno departments.department_id%TYPE,
p_num OUTNUMBER,
p_avg OUTNUMBER)
RETURN departments.department_name%TYPE
AS
v_dname departments.department_name%TYPE;
BEGIN
SELECT department_name INTO v_dname FROM departments
WHERE department_id=p_deptno;
SELECTcount(*),avg(salary)INTO p_num,p_avg FROM employees WHERE department_id=p_deptno;
RETURN v_dname;
END func_dept_info;
set serveroutput on
DECLARE
v_avgsal employees.salary%TYPE;
v_num NUMBER;
v_dname departments.department_name%TYPE;
BEGIN
FOR v_dept IN(SELECTDISTINCT department_id FROM
employees WHERE department_id ISNOTNULL)LOOP
v_dname:=func_dept_info(v_dept.department_id,v_num, v_avgsal); DBMS_OUTPUT.PUT_LINE(v_dname||' '||v_avgsal||' '||v_num); ENDLOOP;
END;
/。