大型关系数据库应用知识点汇总

前言

参考教材:《Oracle数据库技术基础教程》 贺超波 刘海 编著

第1章 Oracle数据库概述

1.4 Oracle数据库体系结构

在这里插入图片描述
在这里插入图片描述

1. SGA

系统全局区,SGA 由所有服务器进程和后台进程共享。

组成如下:

  • 数据高速缓存:主要用于缓存频繁访问的数据,可以提高数据读写效率。
  • 重做日志缓存:用于缓存重做日志,可以通过批量写入磁盘的方式提高重做日志的保存效率。
  • 共享池:主要用于缓存已执行的 SQL 语句的编译方案和执行计划,可以提高重复运行的 SQL 语句的执行效率。
  • 大型池:用于缓存大型 I/O 数据的可选区域,可以支持并行查询、数据备份以及恢复操作。
  • Java 池:用于内嵌的 Java 存储过程或其他 Java 程序运行时需要的内存。
  • 流池:用于缓存流进程在数据库间移动或复制数据时使用的队列消息,采用队列结构进行存储。

2. PGA

程序全局区,PGA 由各个服务器进程和后台进程专用,每个进程都有一个 PGA。

3. 后台进程

  • DBWR:数据库写入进程,负责把数据高速缓存中的被修改的数据写入磁盘文件,从而可以保证数据高速缓存中有足够的空闲空间。
  • LGWR:重做日志写入进程,把重做日志缓存中的日志内容写入联机的重做日志文件中,从而可以释放重做日志缓存空间。
  • RECO:分布式事务恢复进程,可以用于自动解决在分布式数据库环境中出现的事务故障。
  • CKPT:检查点进程,用于执行数据库检查点事件,触发 DBWR 和 LGWR 进程保存数据,可以维护数据库的一致性状态。
  • SMON:系统监控进程,负责在实例启动时对数据库进行恢复,并用于清理不再使用的临时空间。
  • PMON:进程监控进程,在用户进程出现故障时执行进程恢复,并负责清理内存储区和释放该进程所使用的资源。
  • ARCH:日志归档进程,用于将已写满的在线日志文件复制指定的存储位置,实现重做日志文件的在线备份。
  • LCKn:锁进程,用于实例间的封锁,在具有并行服务器选项的环境下使用,可最多建立 10 个进程:LCK0,LCK1,…,LCK9。

第2章 管理与开发工具

2.2 SQL Plus

2.2.2 常用命令

请自行参考教材,P23。

2.5 网络配置助手

Oracle 网络配置助手(NCA)主要为用户提供 Oracle 数据库的

  • 监听程序(Listener):用于响应远程数据库连接请求。
  • 命名方法:用于解析数据库连接标识符。
  • 本地网络服务名:是从本地访问远程数据库的服务名。
  • 目录(Directory):指的是 Oracle 的目录服务。

使用等的配置向导。

第3章 数据库运行状态维护

3.1 数据库启动与关闭

3.1.1 数据库的启动

1. 启动实例

根据数据库初始化参数文件创建数据库实例,分配 SGA 内存区域,并启动一系列后台进程和服务器进程。启动实例阶段需要访问数据库初始化参数文件,但并不需要访问控制文件以及数据文件,因此当控制文件以及数据文件出现问题时可以在该阶段进行修复。

2. 装载数据库

从数据库控制文件中获取数据库名称、数据文件以及重做日志文件的位置等信息,为打开数据库做准备,如果控制文件损坏将无法装载数据库。

3. 打开数据库

打开所有处于联机状态的数据文件和重做日志文件,如果出现任何一个文件打开错误,数据库将返回错误信息并需要进行恢复处理。

3.1.2 数据库的关闭

Oracle 数据库的关闭过程与启动过程是相反的。

关闭数据文件和重做日志文件 → 卸载数据库并关闭控制文件 → 关闭数据库实例、释放内存资源,停止数据库服务进程和后台进程

关闭方式 允许新连接 等待当前会话结束 等待当前事务处理结束 强制执行检查点并关闭文件
normal
transactional
immediate
abort

3.2 数据库运行状态转换

状态 状态一 状态二 操作命令
不装载与装载 nomount mount alter database
只读与读写 xxx read only xxx read write alter database
受限与非受限 enable restricted xxx disable restricted xxx alter system
静默与非静默 quiesce restricted unquiesce alter system
挂起与非挂起 suspend resume alter system

3.3服务器初始化参数文件管理

3.3.1 初始化参数文件概述

Oracle 数据库初始化参数文件是支持数据库运行的重要配置文件,数据库启动时需要根据初始化参数的设置分配 SGA 并启动后台进程,如果初始化参数文件损坏则数据库无法启动。

3.3.3 修改初始化参数

详见教材P60。

1. 使用alter session语句修改初始化参数

alter session set parameter_name=parameter_value

2. 使用alter system语句修改初始化参数

alter system set parameter_name=parameter_value [scope=spfile|momory|both]
情况 适合修改 何时生效
scope=spfile 动态参数和静态参数 重启数据库后
scope=memory 动态参数 立即
scope=both 动态参数 立即

第4章 物理存储结构

4.1 数据文件

对数据文件的操作参考教材P66。

4.1.1 概述

数据文件,扩展名dbf,是Oracle数据库物理结构的核心组成部分,用于存储系统数据、数据字典数据、索引数据以及用户的应用数据等。用户进行数据的增删改等操作,实质上是针对数据文件的操作。

数据文件分为永久数据文件和临时数据文件。

4.2 控制文件

对控制文件的操作参考教材P73。

4.2.1 概述

控制文件,扩展名ctl,其在Oracle数据库中具有极其重要的作用,如果该文件损失或者丢失,那么数据库将无法正常启动,即使是正在运行的数据库也会立即出错关闭,其原因在于控制文件记录了数据库的物理结构信息,数据库启动以及运行过程中的物理存储结构变化都需要读写该文件。

4.3 重做日志文件

工作原理参考教材P78。

4.3.1 概述

重做日志文件,也称为联机重做日志文件,用于数据库恢复。记录用户对数据库的修改操作,DBA根据重做日志文件和数据库备份文件,将数据库恢复到最近一次记录日志时的状态。

重做日志文件由重做记录组成,重做记录由一组修改向量组成,每个修改向量记录了数据库中某个数据块所做的修改。

4.4 归档重做日志文件

详细操作参考教材P83。

4.4.1 概述

归档重做日志文件实际上是对重做日志文件进行备份,重做日志文件如果不进行归档操作,已保存的日志记录在进行日志文件切换时将会被覆盖,这样如果 Oracle 数据库出现故障,将无法恢复到出现故障前的任一时间点的状态。Oracle 数据库有两种日志模式可以设置,一种为非归档模式(noarchivelog),另外一种为归档模式(archivelog)。在非归档日志模式下,重做日志文件的内容会被覆盖,而在归档模式下,在重做日志文件的内容被覆盖之前会进行归档操作,归档操作由进程 ARCH 负责完成。

第5章 逻辑存储结构

5.1 逻辑存储结构概述

逻辑存储结构是指 Oracle 数据库的逻辑构成形式,它的组成部分按层次等级划分为表空间、段、区以及数据块,最高层是表空间,表空间可以包含多个段,多个区又可以组成一个段,区又由多个数据块组成。
在这里插入图片描述

5.2 表空间

表空间是 Oracle 数据库逻辑结构中最大的逻辑划分,一个数据库可以包含多个表空间,但一个表空间只能属于一个数据库。同时,一个表空间可以包含多个数据文件,但一个数据文件只能属于一个表空间。由于表空间中的数据文件主要用于存储数据对象中的表数据,所以称为表空间。
在这里插入图片描述

5.3 段

段是表空间的组成单位,表空间可以有多个段,但一个段只能属于一个表空间。段用于存储各类数据库对象,根据存储对象的不同,又分为

  • 数据段
  • 索引段
  • 临时段
  • 回滚段

5.4 区

区是存储空间分配与回收的最小单位,一个或多个不连续的区可以构成一个段。

5.5 数据块

数据块是 Oracle 数据库中最小的数据组织单位与管理单位,也是数据库 I/O 的最小单位。

第6章 数据库对象管理

6.2 表

2. 创建分区表

分区表在逻辑上仍然是一张完整的表,在用户层面上,操作分区表与非分区表没有任何区别,但分区表可以将表中的记录在物理上存储到多个表空间(物理文件),这在表的数据量不断增加时可以带来如下优势。

  • 改善查询性能。对分区表数据的查询可以仅搜索所在的分区,避免了全盘扫描,从而可以提高检索速度。
  • 增强可用性。如果某个分区出现故障,表在其他分区的数据仍然可用。
  • 维护方便。如果某个分区出现故障,只需要修复该分区的数据。
  • 均衡 I/O。可以把不同的分区映射到不同的磁盘,可以均衡I/O,从而改善整个系统的性能。

6.6 序列

序列(Sequence)是 Oracle 数据库提供的用于产生一系列唯一数值的数据库对象,其产生的数值具有按步长连续递增的特点,因此其常常用于实现表的主键值递增以及记录计数。

6.8 数据库链接

数据库链接是在分布式网络环境中从一个 Oracle 数据库到另外一个 Oracle 数据库的通信路径。通过使用数据库链接,用户在访问本地数据库的同时,可以操作远程数据库。

第7章 数据库安全管理

7.3 权限管理

Oracle 数据库将权限分为两类:

  • 系统权限:是指用户可以执行的系统级别的操作,例如,连接数据库、创建用户会话以及执行系统级的DDL语句(create、alter 和 drop 等)。
    在这里插入图片描述

  • 对象权限:是指用户对特定数据库对象可以执行的操作,例如,对某个表的增加、删除、更新以及查询等操作。
    在这里插入图片描述

基础题目

Oracle数据库是由甲骨文公司开发的。

目前Oracle数据库的最新版是Oracle 19c

程序全局区(PGA)包括

  • 排序区
  • 会话区
  • 游标区
  • 堆栈区

Oracle数据库包含的特点有

  • 可移植性强
  • 高性能
  • 高度可扩展
  • 安全性高且支持多种标准操作接口

Oracle数据库由

  • 数据库实例
  • 数据库文件

两大部分组成。

Oracle数据库包含的三级认证分别有:

  • OCA
  • OCP
  • OCM

Oracle数据库实例由

  • 内存结构
  • 后台进程

两部分组成。

Oracle数据库是关系数据库。

数据高速缓存(Data Buffer Cache):主要用于缓存频繁访问的数据,可以提高数据读写效率。

与监听器密切关联的配置文件是 listener.org

SQL Plus中环境变量 linesize 可以用来控制每行显示的最长字符数。

show 命令可以用来显示 SQL Plus 的环境变量值。

SQL plus中用于连接数据库的命令是 connect

网络配置助手提供

  • 监听器配置
  • 命名方法配置
  • 本地网络服务名配置
  • 目录使用配置

功能。

借助数据库配置助手可以完成

  • 创建数据库
  • 删除数据库
  • 配置数据库
  • 管理数据库模板操作

如果要在SQL Plus中直接运行一个存放在磁盘中的脚本文件,则可以使用

  • start
  • @

命令。

SQL Plus 中用于操作缓冲区的命令:

  • list
  • edit
  • clear buffer

在SQL Plus中,断开当前数据库连接的命令是 disc

如果使用sys用户连接数据库orcl,密码为Oracle12c,可以使用命令

connect sys/Oracle12c@orcl as sysdba

创建服务器初始化参数文件的命令是 create spfile

alter database open read only 命令可以将数据库设置为只读状态。

创建控制文件使用的命令是 create controlfile

用于查看数据库当前归档模式的命令是 archive log list

关闭Oracle数据库使用的命令是 shutdown

将Oracle数据库置于挂起状态,使用的命令是 alter system suspend

show parameter spfile 命令查看服务器初始化参数的存放路径。

重做日志文件的状态包含有

  • Current
  • Active
  • Inactive
  • Unused

数据文件包含

  • 永久性文件
  • 临时性文件

两种文件类型。

表空间分为

  • 系统表空间
  • 非系统表空间

可以使用alter system命令完成以下状态间的转换

  • 受限与非受限状态
  • 静默与非静默状态
  • 挂起与非挂起状态

表空间可以包含多个数据文件,一个数据文件不可以加入到多个表空间。

服务器初始化参数文件是一种二进制文件。

数据库可以包含多个表空间,一个数据文件不可以分配到多个表空间。

更改会话级参数应使用alter session命令。

逻辑存储结构包含表空间、段、区、数据块等层次结构。

创建临时表空间使用的命令是create temporary tablespace

初始化参数可以分为

  • 动态
  • 静态

归档重做日志文件本质就是对重做日志文件进行备份。

执行alter tablespace ... rename datafile ... to ...命令仍需要首先手工在文件系统中重命名数据文件名称或移动存储位置。

数据块大小由db_block_size参数决定。

模式与用户一 一对应,每一个用户都具有一个同名的模式。

如果需要既不约束新增数据也不验证已有数据,可以将相应约束设置为disable novalidate状态。

将数据库数据导出为二进制文件形式的备份称为逻辑备份

序列对象的currval属性可以用于获取当前值。

进行角色授予的命令是grant

sessions_per_user用来控制用户并发会话的最大数量。

临时表包括

  • 会话级别临时表
  • 事务级别临时表

Oracle数据库将权限分为两类:

  • 系统权限
  • 对象权限

ExpExpdp工具可以用来导出数据库数据。

Oracle数据库包括三个级别的审计,分别为

  • 语句审计
  • 权限审计
  • 对象审计

根据索引键值的唯一性可以分为

  • 唯一索引
  • 非唯一索引

Oracle数据库的用户表包括

  • 普通表
  • 分区表
  • 临时表

分区表具有的优点包括

  • 改善查询性能
  • 增强可用性
  • 维护方便
  • 均衡I/O

根据是否处于联机状态可以将数据库备份分为

  • 冷备份
  • 热备份

Oracle的数据泵工具包括

  • Expdp
  • Impdp

使用create global temporary table... on commit preserve rows语句创建的表是会话级别临时表。

Oracle数据库的安全可以分为

  • 系统安全性
  • 数据安全性

逻辑恢复是指直接导入二进制备份文件。

进行对象权限授权,并带有with grant option选项时,表示被授权用户还可以再将权限授权给其它用户,即传递权限。

使用create global temporary table... on commit delete rows语句创建的表是事务级别临时表。

分区表的本质是将表中的记录在物理上存储到多个表空间(物理文件)。

分区表包括

  • 范围分区(range)
  • 列表分区(list)
  • 哈希分区(hash)
  • 范围-列表组合分区(range-list)
  • 范围-哈希组合分区(range-hash)

概要文件是一种用于对用户进行资源限制及口令管理的参数配置文件。

connect_time用于限制每个会话的最长连接时间。
在概要文件参数中,CONNECT_TIME可以用来设置每个会话可持续的最大时间值。

其他题目

在 Oracle 中,一个用户拥有的所有数据库对象统称为模式

在Oracle数据库的逻辑结构中组件从大到小依次是:表空间 > 段 > 区 > 数据块

在Oracle数据库中,SYS用户模式存储数据字典表和视图对象。

在Oracle中创建用户时,若未提及 DEFAULT TABLESPACE 关键字,则Oracle就将 SYSTEM 表空间分配给用户作为默认表空间。

在Windows操作系统中,Oracle的 OracleServiceSID 服务是使用iSQL*Plus必须的。

EXEC 可以在SQL*Plus 中直接调用一个过程。

如果服务器进程无法在数据缓冲区中找到空闲块,为添加从数据文件中读出的数据块,则系统会启动 SMON 进程。

ORACLE中,用来判断列值是否为空的操作符是 AS NULL

SPOOL 可以将SQL 命令的运行结果保存到文件中。

表或索引等模式对象一定属于某一个模式。

在Oracle 数据库中,模式与数据库用户是一一对应的。

一个模式可以拥有多个表,但一个表不可以属于多个模式。

WHERE 子句可以包含子查询。

在下列模式对象中,哪个对象不会占用实际的存储空间 A
A.视图 B.表 C.索引 D.簇

角色是具有名称的一组相关权限的组合。

一个表空间物理上对应一个或多个数据文件。

标准的SQL 语言语句类型可以分为:

  • 数据定义语句(DDL)
  • 数据操纵语句(DML)
  • 数据控制语句(DCL)

如果需要向表中插入一批已经存在的数据,可以在 INSERT 语句中使用 select 语句。

通过视图修改数据时,实际上是在修改基本表中的数据。

在众多的事务控制语句中,用来撤销事务的操作的语句为 ROLLBACK,用于持久化事务对数据库操作的语句是 COMMIT

在多进程Oracle 实例系统中,进程分为

  • 用户进程
  • 后台进程
  • 服务器进程

假设当前用户是SCOTT用户以普通用户登录,口令为tiger,请写出该用户以管理员身份登录的命令:

conn scott/tiger as sysdba;

假设用户SCOTT以管理员身份登录,现需创建用户Lisa,口令是Lisa,请写出相应的命令:

create user Lisa identify by Lisa;

假设用户SCOTT以管理员身份登录,已知用户账号Lisa被锁定,需为他解除锁定,请写出相应的命令:

alter user Lisa account unlock;

假设用户SCOTT以管理员身份登录,需授予用户Lisa对SCOTT用户模式下的EMP表进行查询(SELECT)的权限,请写出相应的命令:

grant select on emp to Lisa;

假设用户SCOTT以管理员身份登录,在SQL Plus的SQL>提示符下,希望用户Lisa用Lisa以普通用户身份登录到系统,请写出相应的命令:

conn Lisa/Lisa;

假设用户Lisa用Lisa以普通用户身份登录到系统,现需查看本用户下的Class表的结构,请写出相应的命令:

desc Class;

假设用户Lisa用Lisa以普通用户身份登录到系统,用命令select * from Class查询Class表中的数据,现需将缓冲区中的SQL 命令保存到C盘根目录下的class.txt文件中, 请写出相应的命令:

save C:\class.txt;

假设用户Lisa用Lisa以普通用户身份登录到系统,现需查看本用户下有哪些表,请写出相应的命令:

select table_name from user_tables;

假设用户 Lisa 用 Lisa 以普通用户身份登录到系统,现需为 Class 表的 ID 列添加一个名为 PK_CLASS_ID 的主键约束,请补充完整相应的命令:

ALTER TABLE Class
Add constraint PK_CLASS_ID PRIMARY KEY(ID);

假设用户 Lisa 用 Lisa 以普通用户身份登录到系统,现需创建一个 UPDATE 语句来修改本用户下 ARTISTS 表中的数据,并且把每一行的 T_ID 值都改成 15,应该使用的SQL 语句是:

update artists set T_ID =15;

当 Oracle 服务器启动时,数据文件、控制文件、日志文件都是必须存在的,而归档日志文件不是必须存在的。

在 Oracle 中,当用户要执行 SELECT 语句时,由服务器进程从磁盘获得用户需要的数据。

在 windows 操作系统中,Oracle 的 OracleHOME_NAMETNSListener 服务监听并接受来自客户端应用程序的连接请求。

在 Oracle 中,SELECT ename, NVL(comm, 0) FROM emp; 的意思是当 COMM 字段为空时显示 0,不为空时显示 COMM 的值。

NVL(expr1,expr2) 如果 oracle 第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值。

用于限制分组函数的返回值的子句是 HAVING。

有一个名为seq的序列对象,select seq.CURRVAL from dual; 能返回序列值但不会引起序列值增加。

Oracle 提供的 export 和 import 工具,能够在不同硬件平台上的 Oracle 数据库之间传递数据。

在这里插入图片描述
假设用户USER1的默认表空间为USERS,他在该表空间的配额为10MB,则USER1在USERS表空间创建基本表时,他应具有 CREATE TABLE 的权限。

USERS 表空间用于存放用户创建的各类数据库对象的应用数据。

把一个表空间切换到 OFFLINE 状态时可以使用四个参数:

  • NORMAL
  • IMMEDIATE
  • TEMPORARY
  • FOR RECOVER

在设置撤销表空间的自动管理功能时,DBA通过使用相关的初始化参数对自动撤销表空间进行配置。与自动撤销管理功能相关的参数有:

  • UNDO_MANAGEMENT
  • UNDO_TABLESPACE
  • UNOD_RETENTION

在用户配置文件中,可以限定的资源:

  • 各个会话的用户数:SESSIONS_PER_USER
  • 使用CPU的时间:CPU_PER_SESSION
  • 使用SGA区的大小:PRIVATE_SGA

检查下面的 SQL 语句,哪一项是错误的?B

Alter user tempuser identified by oracle default tablespace users
default temporary tablespace temp quota 100M on users;

A.default tablespace users
B.default temporary tablespace temp
C.quota 100M on users
D.identified by oracle

解释:default temporary tablespace temp

如果 a 表原本是空表,请问执行下列语句后,

 insert into a values(1,'abc','1');
 insert into a values(2,'abc','2');
 create table b as select * from a;
 rollback;

a 表有数据,b 表没有数据

在以下用户中,哪个用户不能删除?A
A.一个与数据库连接的用户
B.一个没有任何模式对象的用户
C.一个带有只读表的用户
D.在任何时间可以删除所有用户

若允许一个用户在 DOG_DATA 表空间使用 38M 的磁盘空间,需在 CREATE USER 语句中使用 QUOTA

创建表空间时使用 quota 来指定用户在特定表空间的最大存储配额,可以使用多个 quota 子句指定多个表空间。

当查询数据字典 DBA_USERS 时,这个数据字典将显示所有用户的表空间份额(quote)

数据字典视图:dba_users 包含用户的所有信息,例如创建用户时设置的所有参数信息。

开启口令(密码)检验函数:在 SYS 模式中执行 utlpwdmg.sql 脚本

如果没有赋予一个用户任何概要文件,默认(DEFAULT)概要文件被赋予了这个用户

如要关闭资源限制,应修改初始化参数 RESOURCE_LIMIT

作为 DBA,运行了创建 VERIFY_FUNCTION 函数的脚本,并且这个脚本修改了默认的概要文件。如果用户 KIMJ 被赋予了默认概要文件,她当前的密码是 TIME_2_GO,请问以下哪个密码是可以接受的?
A.KIM
B.KIMJ
C.KIM_J
D.ITS4_ME
E.TIME_2_GO
F.TIME_3_GO

[解析]这一题是测试对口令验证函数的理解程度。根据有关口令复杂性检验的介绍,可知口令必须包含至少一个字符、一个数字和一个特殊字符,所以可以断定选项A、B和C都是错误的。
根据有关口令复杂性检验的介绍,可知口令不能够与用户名相同,所以同样可以断定选项B是错误的。
根据有关口令复杂性检验的介绍,可知口令必须至少有3个字母与以前的口令不同,所以可以断定选项E和F都是错误的。
最后,只剩下了选项D,利用有关口令复杂性检验的规则进行对比,这个密码是符合所有限制条件的,因此选项D是唯一的答案。

要显示概要文件 DOG_PROJECT 的资源限制信息,应该查询数据字典 DBA_PROFILES

假设正在管理一个概要文件的口令设置。如果要确保应该用户在更改三次密码之前不能重新使用当前的密码,要使用 PASSWORD_REUSE_MAX 参数。

数据库管理员可以使用概要文件来使口令衰老和过期。

不能删除默认的概要文件。

数据库管理员不可以使用概要文件更改用户密码。

在一个新的数据库中,如果要限制一个用户的并行会话(同时连接)数,需要以下 3 个步骤:

  • 使用 SESSION_PER_USER 参数创建一个概要文件
  • 使用 ALTER SYSTEM 语句强制开启资源限制
  • 使用 ALTER USER 语句将概要文件赋予用户

可以创建概要文件确保用户在指定的时间间隔内不会重用一个密码。

概要文件只影响后续的会话。

假设正在写一个 ALTER PROFILE 语句来修改默认概要文件的参数值。其要求是:
如果一个用户试这登录了三次以上并都失败了,用户在试图再次登录之前需要等待一分钟,以下就是所需要的 ALTER PROFILE 语句:
(1)ALTER PROFILE default LIMIT
(2)PASSWORD_LIFE_TIME 60
(3)PASSWORD_GRACE_TIME 10
(4)PASSWORD_REUSE_TIME 1800
(5)PASSWORD_REUSE_MAX UNLIMITED
(6)FAILED_LOGIN_ATTEMPTS 3
(7)PASSWORD_LOCK_TIME 1/1440
(8)PASSWORD_VERIFY_FUNCTION verify_fuction;

1/1440 在 Oracle 中是 1 分钟的意思。

在默认概要文件中,资源限制参数 SESSION_PER_USER 的初始值是 UNLIMITED

假设正在写一个 ALTER PROFILE 语句来修改 dog_prof 概要文件的参数值,其 SQL 语句如下:

ALTER PROFILE dog_prof LIMIT
CPU_PER_SESSION 3600
IDLE_TIME 30

请问,使用概要文件 dog_prof 的用户在下一个会话(下一次连接)中被允许访问的时间是 36 秒钟的 CPU 时间和 30 分钟没有活动

查询 DBA_TS_USERS 视图显示每个用户所使用的磁盘空间。

请看这个 DDL 语句:

ALTER USER babydog QUOTA 0 ON dog_data;

如果在 dog_data 表空间已经存在一个隶属于 babydog 用户的表,并且这个表的大小为20M,那么不能再为这个表空间分配新的区段(extents)了

当删除一个用户的操作时,在这个模式包含了对象的情况下,应该在 DROP USER 语句中使用 CASCADE 选项。

一个将在 jinlian_data 表空间创建表的用户需要在 jinlian_data 表空间上的磁盘配额。

Cat 使用带有 WITH ADMIN OPTION 子句的 DCL 语句将 DROP ANY TABLE 系统权限授予了 Fox,而 Fox 又将这一权限授予了 Dog。如果 Cat 的权限被收回,除了 Cat 以外,没有其他用户丧失权限

撤销带有 with admin option,连带的权限将保留。
撤销带有 with grant option,连带的权限将一同被撤销。

要截断(TRUNCATE)其他用户拥有的一个表,需要 DROP ANY TABLE 权限。

在如下的授权语句中,哪 4 个是系统权限授予 girldog? A,C,D,E
A.GRANT CREATE TABLE TO girldog;
B.GRANT CREATE INDEX TO girldog;
C.GRANT CREATE SESSION TO girldog;
D.GRANT CREATE PROCEDURE TO girldog;
E.GRANT UPDATE ANY TABLE TO girldog;
F.GRANT ALL ON girldog.baby_view to boydog WITH GRANT OPTION;

[解析] 这一题还是测试对权限的分类以及系统权限的理解程度。根据有关系统权限的介绍――“并没有CREATE INDEX权限,因为索引是基于表的,所以CREATE TABLE系统权限隐含了创建索引的权限”,可以断定选项B是错误的。
根据有关对象权限的授权的介绍,可知ALL、ON对象名,以及WITHGRANT OPTION子句都是在授予或回收对象权限时使用的,所以可以断定选项F是错误的。
利用排除法,只有选项A、C、D和E是正确的。

**Superdog 数据库初始化参数 remote_login?_passwordfile 被设置为了 EXECUSIVE,如要确定被授予了 SYSDBA 或 SYSOPER 权限的用户,应该查询哪一个数据库字典 V$PWFILE_USERS

如要显示全部具有 ATLTER ANY ROLE 系统权限的用户,应该查询的数据字典视图为 DBA_SYS_PRIVS

假设通过使用如下的 DDL 语句创建了一个新用户—dog

CREATE USER dog IDENTIFIED BY wangwang;

dog 创建之后,并没有授予这个用户任何权限。现在 dog 用户需要在其默认表空间中创建一个表,至少必须授予他下列 3 个系统权限:

  • CREATE TABLE
  • CREATE SESSION
  • UNLIMITED TABLESPACE

如果不想让数据库用户查询数据字典中的数据,需要将参数 07_DICTIONARY_ACCESSIBILITY 设置为 FALSE

语句 ALTER USER jinlian DEFAULT ROLL ALL; 将把所有的角色都设置成 jinlian 用户的默认角色。

当 Oracle 服务器启动时,归档重做日志文件不是必须的。

在 Oracle 中,当用户要执行 SELECT 语句时,服务器进程从磁盘获得用户需要的数据。

当需要重新创建控制文件时,数据库必须处于nomount状态。

在做排序操作时,可通过分配TEMPORARY表空间提高排序效率。

ROLLBACK SEGMENT可以用来

  • 保持数据读一致性
  • 支持事务回滚
  • 恢复数据库

CREATE SYNONYM命令创建一个同义词。

Oracle 数据库中参数文件有

  • 初始化参数文件(pfile),文本文件
  • 服务器初始化参数文件(spfile),二进制文件

Oracle 中可用于导入和导出数据的命令为

  • imp
  • exp

SQL*Plus 中用来连接数据库的命令和断开数据连接的命令分别为connectdisconnect

Oracle 数据库用于授予用户权限和回收权限的命令分别为grantrevoke

猜你喜欢

转载自blog.csdn.net/qq_44491553/article/details/111316507
今日推荐