Oracle期末复习总结(填空题简答题)

Oracle开发工具有哪些?

OEM(Oracle Enterprise Manager)、SQL PlusSQL Developer(是免费的、图形化的、集成的数据库开发工具)

默认表空间有哪几个?

users 、system(存放数据字典、数据库对象定义、视图、pl/sql程序源代码等系统信息,故不能删)、sysaux、temp、undotbs1、example

后台服务进程?

DBWR(数据库写入进程):负责把数据高速缓冲区中已被修改过的数据成批写入数据文件中永久保存,同时使缓冲区有更多空闲缓冲块,提高缓存命中率
LGWR(日志写入进程):负责把日志缓冲区的重做记录写入重做日志文件中永久保存
CKPT(检查点):是事件,触发DBWR将脏缓存块写入数据文件及保证数据同步
SMON(系统监控进程):负责数据库实例的恢复
PMON(进程监控进程):恢复进程,释放所占用的资源,监控进程状态
ARCH(归档进程):负责日志切换后将写满的重做日志文件复制到归档目标,防止写满的文件被覆盖

什么是游标?

游标(cursor)是oracle系统在内存中开辟的一个工作区,在其中存放select语句返回的查询结果
使用游标时,select语句查询的结果可以是单条、多条、零条记录。
游标工作区中,存在着一个指针(pointer),在初始状态它指向查询结果的首记录。
游标可分为显式游标与隐式游标
显式游标由用户定义和操作,用于处理返回多行数据的SELECT查询
隐式游标由系统自动进行操作,用于处理DML语句和返回单行数据的SELECT查询

数据库、表空间、数据文件三者之间关系?

一个数据库在物理上包含多个数据文件,逻辑上包含多个表空间;
一个表空间包含一个或多个数据文件,一个数据文件只属于某个表空间
存储结构

数据库用户、角色、权限之间关系?

用户是数据库的使用者和管理者,分为系统预定义用户及DBA创建的用户。数据库通过设置用户及其安全属性来控制用户对数据库的访问和操作。

角色是一系列相关权限的集合,通过将角色授予用户,用户会得到该角色所拥有的权限,简化了权限管理。

数据库使用权限来控制用户对数据库的访问和操作,分为系统权限和对象权限。其中系统权限指数据库级别的某种操作能力或对数据库某一类对象的操作能力,对象权限指对某一特定数据库对象的操作能力,如对特定表的增删改查。

通常将权限授权给角色,然后将角色授权给用户,每个角色可以有多个权限,同一权限也可被多个角色拥有
用户角色权限关系

什么是序列?如何使用?

用于产生唯一数字序号的数据库对象,通常使用序列自动生成表中的主键,可被多个用户共享
使用create sequence语句创建序列,start with设置初始值,increment by设置差值,maxvalue设置最大值
序列有currvalnextval两个伪列,通过currval返回序列当前值,nextval产生新值并返回此值

no_data_found、%notfound、sql%notfound三者有何区别?

no_data_found
系统预定义异常
select…into语句没有查询到任何数据时产生no_data_found异常;如果查询到多个记录,则会产生too_many_rows异常
%notfound
显式游标属性,用于显式游标中
布尔值,如果最近一次使用fetch语句,没有返回结果则为true,否则为false;
sql%notfound
隐式游标属性,用于隐式游标
布尔值,判断当前的操作是否对数据库产生了影响。若没有数据的增删改或未查询到数据,则返回true,否则返回false

匿名块与命名块区别?

匿名块
匿名块是指动态生成,只能执行一次的块,不能由其他程序调用。每次执行都需要编译,降低数据库性能
命名块
一次编译可多次执行的PL/SQL程序,包括函数、存储过程、触发器。它们编译后存于服务器中,由程序调用执行。方便代码块的重用,提高数据库性能

pl/sql块由哪三部分组成?

在这里插入图片描述

零散知识点

角色:一系列相关权限的集合
常用角色:DBA、CONNECT、RESOURCE
用户权限分为:系统权限和对象权限
grant 授权 revoke回收权限
系统权限:数据库级别的某种操作能力(create session)或对数据库某一类对象的操作能力 (通常有any)
(create any index、drop any index)
对象权限:对某一特定数据库对象的操作能力,如对特定表的增删改查

物理存储结构:xx文件
逻辑存储结构
数据块(最小的逻辑存储单元)、区(存储空间分配的最小单位)、段、表空间(最大的逻辑存储单元)

数据类型
数字类型:number(几位数,小数)
字符类型:char(不可变)、varchar2(可变,节省空间)
日期类型:date、timestamp
布尔类型:boolean(true,false,null)
LOB类型:blob(存放二进制数据)、clob/nclob(存放文本数据)、bfile(存放指针)

模式:一系列逻辑数据结构或对象的集合;一个用户所拥有的所有数据库对象的统称
用户与模式1:1

sys连接身份 sysdba
hr/system连接身份 normal

默认日期格式:年-月-日(2019-12月-25)
修改日期格式为年月日:
alter session set nls_date_format = 'yyyy-mm-dd ';
时分秒:hh24:mi:ss

DBMS_OUTPUT.PUT_LINE方法输出时添加:set serveroutput on;

异常分类:系统预定义异常、非预定义的异常、用户定义的异常
常见系统预定义异常:
NO_DATA_FOUND 没有发现数据
TOO_MANY_ROWS 一个SELECT INTO语句匹配多个数据行
ZERO_DIVIDE 除数为0
DUP_VAL_ON_INDEX 违反唯一性约束或主键约束

用户定义异常抛出:
raise e_exception;
raise_application_error(错误代码(-20,000到-20,999),错误说明)(存储过程)

回滚
rollback;
回滚到指定保存点
savepoint a;
savepoint b;
rollback to a;

pl/sql定义变量除基本类型外,还可以是:
%TYPE与%ROWTYPE
如果要定义一个类型与某个变量的数据类型或数据库表中某个列的数据类型一致(不知道该变量或列的数据类型)的变量,可以利用%TYPE来实现。
如果要定义一个与数据库中某个表结构一致的记录类型的变量,可以使用%ROWTYPE来实现。

pl/sql循环结构简单循环while循环for循环

oracle哪些服务必须启动?
OracleServiceORCL
OracleDBConsoleorcl(OEM才启动)

发布了9 篇原创文章 · 获赞 0 · 访问量 3306

猜你喜欢

转载自blog.csdn.net/Akanemiku/article/details/104202725
今日推荐