Oracle笔记

目录

  • 1. Oracle数据库概述
      • 1.1 Oracle数据库技术的三级认证服务
      • 1.2 Oracle数据库的特点
      • 1.3 Oracle数据库的体系结构
          • SGA
          • PGA
          • 后台进程
          • 数据库文件
  • 2. 管理与开发工具
      • 2.1 企业管理器(OEM)
      • 2.2 SQL Plus
          • 启动SQL Plus
          • 常用命令
      • 2.3 SQL Developer
      • 2.4 数据库配置助手
      • 2.5 网络配置助手
  • 3. 数据库运行状态维护
      • 3.1 数据库启动与关闭
          • 数据库的启动
          • 数据库的关闭
      • 3.2 数据库运行状态转换
      • 3.3 服务器初始化参数文件管理
  • 4. 物理存储结构
      • 4.1 数据文件
      • 4.2 控制文件
      • 4.3 重做日志文件
      • 4.4 归档重做日志文件
  • 5. 逻辑存储结构
      • 5.1 逻辑存储结构
      • 5.2 表空间
      • 5.3 段
      • 5.4 区
      • 5.5 数据块
  • 6. 数据库对象管理
      • 6.1 模式
      • 6.2 表
      • 6.3 索引
      • 6.4 序列
      • 6.5 同义词
      • 6.6 数据库链接
  • 7. 数据库安全管理
      • 7.1 用户管理
      • 7.2 权限管理
      • 7.3 角色管理
      • 7.4 概要文件管理
      • 7.5 审计管理
  • 8. 数据库备份与恢复


1. Oracle数据库概述

1.1 Oracle数据库技术的三级认证服务

  • OCA:Oracle数据库认证专员
  • OCP:Oracle数据库认证专家
  • OCM:Oracle数据库认证大师

1.2 Oracle数据库的特点

  1. 可移植性强
  2. 支持多用户以及高并发事务处理
  3. 具有高度可扩展能力
  4. 安全性能优越
  5. 支持多种标准操作接口以及编程规范

1.3 Oracle数据库的体系结构

Oracle笔记_第1张图片


SGA

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

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

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

  • 排序区:用于存放排序操作所产生的临时数据
  • 会话区:用于存放用户会话所具有的角色、权限和性能统计信息
  • 游标区:用于存放执行游标操作时产生的数据
  • 堆栈区:用于存放用户会话过程产生的程序变量和会话变量数据

后台进程

当Oracle数据库服务器进程接受用户请求时,会调用相关后台进程进行数据库操作,后台进程可以完成数据I/O、进程监控以及性能维护等一系列任务。

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

数据库文件

Oracle数据库文件用于实际保存各类数据,实际上构成了数据库的物理结构。

  • 数据文件:用于存储数据库的所有数据。
  • 控制文件:用户记录数据库的物理存储结构信息,属于二进制文件类型。
  • 重做日志文件:用于保存用户对数据库的操作记录。
  • 归档日志文件:用于保存已经写满的重做日志文件,是历史重做日志文件的备份。
  • 参数文件:用于保存数据库启动时所需要的初始化参数值。
  • 备份文件:进行数据库备份操作时所产生 的文件。
  • 其他文件:包括跟踪文件、口令文件以及警告文件等。

2. 管理与开发工具

2.1 企业管理器(OEM)

企业管理器(OEM)提供了一种基于Web方式的可视化管理界面,用户可以直观地进行一些较为简单的管理操作。

  • 企业管理器的主要功能:
  1. 数据库运行状态监测
    可以实时查看数据库实例运行状态、活动作业以及异常事件,以图形化方式实时展示I/O、CPU、内存以及磁盘存储资源的情况。
  2. 数据库配置管理
    可以对数据库服务器各种初始化参数进行编辑,并浏览当前数据库属性。
  3. 数据库存储管理
    提供对数据文件、控制文件以及重做日志文件的管理功能。
  4. 数据库安全管理
    提供对数据库用户、角色以及概要文件的管理功能。
  • 提供四大操作功能:
  1. 配置
  2. 存储
  3. 安全
  4. 性能

使用OEM监控和管理服务器:

  1. 启动对应数据库的OracleService 以及数据库监听器服务 OracleOraDB12Home1TNSListener(SID:创建数据库时的全局数据库名称)
  2. 启动成功后可以通过浏览器访问数据库对应OEM的url地址

数据库管理员:sys 和 system。
其中,sys为数据库的超级管理员,system为普通管理员。

数据库初始化参数:

  • 静态参数:修改后只能在数据库实例重新启动后才能生效
  • 动态参数:即时修改即时生效

2.2 SQL Plus

SQL Plus是一种基于控制台命令输入方式的工具,用户可以输入各种命令以及代码程序完成各种复杂的数据库管理与开发任务。

通过SQL Plus可以完成的操作:

  1. 连接数据库实例并执行数据库管理操作
  2. 编写、运行和调试SQL以及PL/SQL程序
  3. 格式化查询结果、报表生成、打印以及存储等
启动SQL Plus
sqlplus [username]/[password] [@connect_identifier] [nolog]
  • @connect_identifier 用于指定要连接的数据库实例,如果省略则连接到操作系统环境变量oracle_sid设置的数据库实例,oracle_sid没有设置则为Oracle安装时默认的数据库实例(orcl)
  • nolog参数 用于只启动SQL Plus而不连接任何数据库实例

Oracle笔记_第2张图片

注意:
最近执行完毕的SQL语句或PL/SQL程序会存入SQL Plus 的 SQL缓冲区中,用户可以使用缓冲区操作命令执行相关操作。


常用命令

Oracle笔记_第3张图片

  1. 连接命令
  • connect/conn 命令
    该命令用于与数据库实例建立连接。
    语法格式:
conn[ect] [username]/[password] [@connect_identifier]

--例如
SQL> connect system/Oracle12c@orcl
SQL> connect scott/Oracle12c@orcl

-- 如果要以管理员身份连接,需要声明"as sysdba"或"as sysoper"选项
SQL> connect system/Oracle12c@orcl as sysdba

当在本地操作系统以as sysdba或as sysoper连接时,可以不用输入用户名以及密码。
其实际上是使用sys用户登录的,使用"show user"可显示当前登录用户。

  • discconnect/disc
    该命令用于断开当前与数据库实例的连接。
SQL> discconnect
-- 或者
SQL> disc
  1. 缓冲区操作命令
  • list命令
    该命令用于显示SQL Plus的SQL缓冲区中的内容。

例如,执行完“select * from scott.emp where empno=7369”语句后,输入list命令,则可以显示缓冲区中的内容。
Oracle笔记_第4张图片

  • edit命令
    该命令用于启动操作系统默认的文本编辑器显示缓冲区的内容,用户可以直接编辑内容,然后保存关闭文本编辑器,将可以直接执行最新的缓冲区内容。
    Oracle笔记_第5张图片
  • clear buffer命令
    该命令用于直接清除缓冲区中的内容。
    Oracle笔记_第6张图片

注意:
当SQL缓冲区存在可执行的命令或SQL脚本时,可以输入“run”或“/”直接运行。

  1. 文件操作命令
  • save
    该命令用于将SQL缓冲区的内容保存到一个文本文件中。
    语法格式:
save filename [create]|[replace]|[append]
  • create:新建文件,是默认选项
  • replace:存在同名文件时覆盖已有文件
  • append:在原有文件后添加新的内容

在这里插入图片描述

  • get命令
    该命令用于将磁盘中的SQL脚本文件载入到SQL缓冲区中。
    语法格式:
get filename [list]|[no list]
  • list:显示脚本内容
  • no list:不显示脚本内容

在这里插入图片描述

  • start命令
    该命令用于直接执行SQL脚本文件。
    语法格式:
start filename

-- @ 命令也有相同作用
@filename

Oracle笔记_第7张图片

  • spool命令
    该命令用于将SQL Plus的屏幕内容保存到文本文件中。
    Oracle笔记_第8张图片
  1. 交互式命令
  • & 命令
    该命令用于在SQL语句或者PL/SQL程序中定义替换变量,如果一个标识符前有 & 符号,则SQL Plus认为该标识符是一个替换变量,在执行时将提示用户输入值。
    Oracle笔记_第9张图片

“&& 变量名”表示该替换变量只需要输入一次值即可在当前SQL Plus运行环境中一直有效。

  • define命令
    该命令用于预定义替换变量并且指定初始值,当SQL语句或PL/SQL程序有引用该变量时将自动替换为初始值。
    Oracle笔记_第10张图片

注意:
替换变量的名称需遵循Oracle的变量定义规则,单独使用define命令可以列出当前SQL Plus运行环境中已定义的所有替换变量。
使用undefine variable_name命令可以删除某个已定义的替换变量。

  • variable命令
    该命令用于定义可以在SQL语句以及PL/SQL程序中直接引用的绑定变量,可以利用绑定变量返回PL/SQL程序的运行结果。
    语法格式:
variable variable_name variable_datatype
  • variable_datatype为Oracle数据库支持的数据类型。
  • 在SQL Plus中,使用execute命令给绑定变量赋值,使用print命令输出绑定变量的值。
  • PL/SQL程序中使用冒号“:”引用绑定变量
    Oracle笔记_第11张图片
  • prompt、pause与accept命令
    • prompt命令用于输出提示信息
    • pause命令用于暂停程序执行,等待用户按回车键继续运行
    • accept命令用于让用户指定替换变量的名称和类型

这三个命令常一起使用与用户进行交互。如:
prompt 输入员工编号查询员工工资
prompt 按Enter键继续
pause
accept no number prompt ‘请输入员工编号:’
select empno,sal from scott.emp where empno=&no;
Oracle笔记_第12张图片

  • 环境变量操作命令
    SQL Plus中内置有一组环境变量,通过设置环境变量的值可以控制SQL Plus的运行环境。
  • 各个环境变量都有默认值,用户设置的新的变量值只在当前SQL Plus窗口中生效。
  • “show all”命令可以显示SQL Plus的所有环境参数变量及其设置的值。

常用环境变量:

变量名称 功能描述
linesize 设置每行显示的最大字符长度,如果输出字符超过该长度则换行输出,默认值为80
arraysize 设置每次从数据库提取的记录行数,默认值为15
autocommit 设置是否自动提交SQL数据操作语句。设置为on时,每次用户执行SQL数据操作语句都会自动提交;默认值为off,每次用户执行SQL数据操作语句后,需要再输入commit命令才能完成提交
pagesize 设置每页显示的记录行数,默认值为14,如果记录数超过该值,则分页显示;如果设置为0,则不分页显示
colsep 设置列与列之间的间隔符号,默认值为空格
serveroutput 设置是否显示PL/SQL程序中执行dbms_output.put_line命令的输出结果。如果设置为on,则显示输出结果;设置为off,则不输出结果,默认值为off
timing 设置是否显示SQL或PL/SQL程序的执行时间。如果为on,则显示;如果为off,则不显示,默认值为off
  • 环境变量操作命令包括showset。其中show用于显示环境变量的值,set用于设置环境变量的值。
    Oracle笔记_第13张图片
    Oracle笔记_第14张图片
  1. 格式化查询结果命令
  • column命令
    该命令用于改变查询结果默认的列标题。
    语法格式:
column column_name [heading column_heading] [justify left|center|right] [format format]
  • heading用于指定列标题
  • justify指定标题的对齐方式
  • format用于重新定义列的宽度和显示格式
  • ttitle、btitle、repheader与repfooter命令
    • ttitle:为报表的每页设置上标题
    • btitle:为报表的每页设置下标题
    • repheader:为报表设置表头
    • repfooter:为报表设置脚注

Oracle笔记_第15张图片
各命令均可以使用left、center或者right控制输出位置
Oracle笔记_第16张图片

在各个命令后输入off,可以关闭各个已设置信息的显示。

  1. 其他命令
  • describe命令
    该命令用于显示数据库对象的结构信息
    Oracle笔记_第17张图片

  • clear screen命令
    该命令用于清除SQL Plus命令窗口屏幕的所有内容

  • help命令
    该命令用于查看SQL Plus命令的帮助信息,可以使用“help index”列出SQL Plus的所有命令,使用“help 命令名称”显示该命令的作用及使用语法。
    Oracle笔记_第18张图片


2.3 SQL Developer

SQL Developer提供一种可视化的数据库集成管理以及开发环境。


2.4 数据库配置助手

数据库配置助手(DBCA)可以帮助用户快速创建和配置自己的数据库。

  • 数据库配置助手为创建数据库、配置数据库、删除数据库以及管理数据库模板等提供了图形化操作界面,可提高操作效率。

2.5 网络配置助手

网络配置助手(NCA)可以创建监听器服务以及配置本地网络服务名。

网络配置助手主要为用户提供Oracle数据库的监听程序(Listener)、命令方法、本地网络服务名和目录使用等的配置向导。

  • 监听程序:用于响应远程数据库连接请求
  • 命令方法:用于解析数据库连接标识符
  • 本地网络服务名:从本地访问远程数据库的服务名
  • 目录:指Oracle的目录服务
  • 监听程序配置成功后会以“服务”的形式启动
  • Oracle允许创建多个监听程序,因此用户可以为数据库实例配置多个不同的监听程序,每个监听程序端口号不同
  • 本地网络服务名配置时,设置服务名与远程数据库实例名相同

3. 数据库运行状态维护

3.1 数据库启动与关闭

数据库的启动

Oracle笔记_第19张图片

  • startup命令:启动数据库
    语法格式:
startup [nomount|mount|open|force|restrict][pfile=filename]

各参数作用:

  • nomount:启动数据库不装载数据库(修复控制文件)
  • mount:启动实例、装载数据库并保持数据库的关闭状态(修改数据文件)
  • open:默认选项,启动实例、装载并打开数据库
  • force:强行关闭数据库并重新启动
  • restrict:以受限制的方式启动数据库,只允许部分特权用户访问数据库
  • pfile:显式指定启动实例时所使用的数据库初始化参数文件

Oracle笔记_第20张图片


数据库的关闭

关闭过程与启动过程相反。先关闭数据文件和重做日志文件,然后卸载数据库并关闭控制文件,最后关闭数据库实例、释放内存资源,并停止数据库服务进程和后台进程。

语法格式:

shutdown [normal|transactional|immediate|abort]
  1. shutdown[normal]
  • 该命令以正常方式关闭数据库,执行后数据库将拒绝任何新的连接请求。
  • 在数据库关闭之前,oracle数据库将等待目前连接的所有用户断开连接后才开始关闭。
  • 采用这种方式关闭数据库,在下一次启动时不需要进行任何实例的恢复,但由于要等待所有用户断开连接后才能关闭数据库,等待时间可能会比较长。
    Oracle笔记_第21张图片
  1. shutdown transactional
  • 执行该命令后,数据库将拒绝任何新的连接请求和事务运行
  • 在所有活动的事务完成后才关闭数据库,该命令可以在最短时间内关闭数据库,同时还可以保证当前所有活动事务可以正常提交。
    Oracle笔记_第22张图片
  1. shutdown immediate
  • 执行该命令后,当前正在处理的事务立即中断,未提交的事务将全部回滚。
  • 系统不等待所有连接用户退出,而是强制断开所有用户连接,然后执行检查点,将变更数据全部写回数据文件,最后关闭数据库。
  • 在下次启动数据库时不需要进行实例恢复,是一种安全的数据关闭方式。
    Oracle笔记_第23张图片
  1. shutdown abort
  • 执行该命令后,将非正常关闭数据库,系统会立即终止所有用户连接,中断所有事务运行,最后关闭数据库。关闭过程中未完成的事务不会回滚,数据库也不会执行检查点操作,所有下次启动数据库时必须执行实例恢复。
  • 采用abort方式关闭数据库可能会导致不一致的情况出现,同时数据库的重新启动也会由于实例恢复需要而耗费更多时间,所以这种数据库关闭方式也较为少用。
    在这里插入图片描述
    数据库关闭方式对比
关闭方式 允许新连接 等待当前会话结束 等待当前事务处理结束 强制执行检查点并关闭文件
normal
transactional
immediate
abort

注意:
用户启动或关闭Oracle数据库可以使用sys用户登录执行,但连接数据库时需要声明sysdba身份

3.2 数据库运行状态转换

  • 数据库在运行时,可以根据管理以及维护的需要,对数据库的运行状态进行转换
  • 用户进行各种状态转换的操作命令为alter database或者alter system
  1. 启动状态转换
  • 数据库在启动过程中,可以从nomount状态转换至mount状态,同时mount状态可以转换至open状态
  • 这种状态转换常用于修复控制文件、数据文件或者重做日志文件在启动时出现的问题
    Oracle笔记_第24张图片
  1. 读写状态转换
  • 数据库启动时如果被设置为只读状态(read only),用户只能查询数据,数据文件和重做日志文件中的内容都不允许修改,需要重新启动设置为可读写(read write)状态才能够修改数据库文件数据。

只读状态:
Oracle笔记_第25张图片
可读写状态:
Oracle笔记_第26张图片

  1. 受限与非受限状态转换
  • 数据库正常运行时为非受限状态,允许所有用户进行连接操作

  • 设置为受限状态(restricted)时,只有create session和restricted session系统权限或者具有sysdba和sysoper系统权限的用户才能连接到数据库

  • 受限状态常用于以下需要:
    (1)执行数据导入或导出操作;
    (2)暂时拒绝普通用户访问数据库;
    (3)进行数据库移植或升级操作。

Oracle笔记_第27张图片

  1. 静默和非静默状态转换
  • 当数据库处于静默状态(quiesce)时,只有DBA用户sys和system才能够在数据库中执行查询、更新以及运行PL/SQL程序的操作
  • 其它用户只能够在数据库处于非静默状态(unquiesce)时才能连接数据库执行相关操作
  • 当DBA用户进行数据库的管理和维护操作,需要暂时拒绝其它用户的访问操作时,可以将数据库设置为静默状态。

Oracle笔记_第28张图片

  • 可以通过查询动态性能视图v$instance的active_state列查看当前数据库是否处于静默状态。
    • 当active_state取值为normal时为正常非静默状态
    • 为quiescing时为正在进入静默状态
    • 为quiesced时为静默状态

Oracle笔记_第29张图片

  1. 挂起与非挂起状态转换
  • 数据库处于挂起状态时(suspend),所有对物理文件(控制文件、数据文件以及重做日志文件)的I/O操作请求都被暂停执行,当数据库退出挂起状态(resume)时才能够执行。
  • 挂起状态能够保证数据库在没有任何I/O操作冲突的状态下进行物理备份,同时其与静默状态的区别在于它并不禁止非DBA用户的数据库操作,只是暂时停止所有用户的I/O操作。

Oracle笔记_第30张图片

  • 可以通过查询动态性能视图v$instance的database_status列查看当前数据库是否处于挂起状态
    • 当database_status取值为suspended时为挂起状态
    • 为activate时为正常状态

Oracle笔记_第31张图片

注意:

  1. 使用alter database更改数据库的读写状态时需要重新启动数据库到mount状态
  2. 使用alter system进行受限与非受限状态转换、静默与非静默状态转换以及挂起与非挂起状态转换等操作时不需要重新启动数据库
  3. alter system更常用于转换数据库运行,因为不需要关闭数据库,可以避免造成登录用户的数据丢失

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

初始化参数文件概述:

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


服务器初始化参数文件(SPFILE)

  • 存储于服务器端的二进制文件
  • 本地或远程启动数据库都可以读取该文件进行初始化,并对初始化参数的修改可以选择永久性保存在该文件中,从而保证多个数据库实例具有相同的初始化参数
  • 默认名称为 spfile.ora,默认存放位置为Oracle数据库安装主目录下的database目录
  • 使用startup命令启动数据库,如果没有指定pfile参数读取文本初始化参数文件,则在默认位置读取服务器初始化参数文件
  • 可以使用show parameter spfile命令查询当前使用的服务器初始化参数文件或查询动态性能视图v$parameter

Oracle笔记_第32张图片


创建服务器初始化参数文件

可使用create spfile命令根据文本初始化参数文件或内存中的当前参数设置情况创建服务器初始化参数文件。
命令格式:

create spfile [='spfile_name'] from pfile [='pfile_name]|memory

spfile:指定创建的服务器初始化参数文件名称及存储路径。无设置时使用默认文件名称和路径
pfile:指定文本初始化参数文件名称及存储路径。无设置时存放于默认位置
memory:用于基于当前内存中的参数设置情况创建服务器初始化参数文件

Oracle笔记_第33张图片


修改初始化参数

  • show parameter:查看当前用户会话使用的参数设置情况,可以直接查询某个参数的具体设置值
  • show sparameter:查看服务器初始化参数文件中的所有参数设置情况,可以直接查询某个参数的具体设置值
  • 通过动态性能视图v$parameter(当前会话的参数值)、v$system_parameter(当前实例使用的参数)或v$spparameter(当前服务器初始化参数文件中的参数)查询

Oracle笔记_第34张图片


用户在数据库使用过程中,可以根据需要使用alter sessionalter system语句修改初始化参数:

  1. alter session

对会话级参数的修改,修改的参数只对当前的会话有效。

语法格式:

alter session set parameter_name=parameter_value
  • 该语句只能用于修改动态性能视图v$parameter中isses_modifiable列值为true的初始化参数,而且修改后的参数值只在当前会话中生效。

Oracle笔记_第35张图片
2. alter system

对实例级参数的修改,修改的参数对当前实例的所有会话都有效。

语法格式:

alter system set parameter_name=parameter_value [scope=spfile|memory|both]
  • scope=spfile时,适合修改动态参数和静态参数,修改后的参数值需要重启数据库才能生效Oracle笔记_第36张图片

  • scope=memory时,只适合修改内存中的动态参数,修改后的参数值在当前实例中立即生效,但重启后恢复为修改前的参数值
    Oracle笔记_第37张图片

  • scope=both时,只适合修改动态参数,修改后的参数值在当前实例中立即生效,并且修改结果保存到服务器参数文件中,重启数据库后仍然有效
    Oracle笔记_第38张图片

  • 如果当前数据库使用的是文本初始化参数文件,则alter system语句对动态参数的修改只能使用scope=memory,对静态参数的修改只能使用scope=spfile


导出服务器初始化参数文件

需要备份服务器初始化参数文件或需要查看当前所有服务器初始化参数的设置情况时,可以考虑导出服务器初始化参数文件为文本初始化参数文件。

命令格式:

create pfile [='pfile_name'] from spfile [='spfile_name']
  • pfile_name:指定导出的文本初始化参数文件存储路径及名称
  • spfile_name:指定需要导出的服务器初始化参数文件存储路径及名称,不适用该参数时则导出默认的服务器初始化参数文件
    Oracle笔记_第39张图片
    还可以使用create pfile命令直接将内存中的服务器初始化参数的当前值导出为文本初始化参数文件
    在这里插入图片描述

恢复服务器初始化参数文件

  1. 当数据库还处于运行状态时,可以执行create spfile from memory语句,即利用内存中的参数数据恢复服务器初始化参数文件。如果存在文本初始化参数文件,还可以使用create spfile from pfile语句恢复服务器初始化参数文件。
  2. 当数据库已无法启动时,可以先根据Oracle告警日志文件中保存的初始化参数构建文本初始化参数文件,然后再使用create spfile from pfile语句恢复服务器初始化参数文件

4. 物理存储结构

4.1 数据文件

  1. 数据文件
    Oracle笔记_第40张图片

对数据文件的管理涉及数据文件增加、修改大小、修改名称或存储路径、改变可用性、删除以及查询文件基本信息等操作,都具有相应的操作命令,但需要用户具有相应的操作权限。


  1. 创建数据文件

Oracle数据库的数据文件由表空间统一管理:

  • 一个表空间包含多个数据文件
  • 一个数据文件只属于一个表空间
  • 数据文件的创建实质上是给指定的表空间增加数据文件

用户创建数据文件时可以根据需要存储的数据规模设置初始化大小以及增长方式,语法格式:

alter tablespace 表空间名称 add datafile|tempfile filename 参数列表
  • datafile:用于创建永久数据文件
  • tempfile:用于创建临时文件
  • filename:用于指定数据文件的存储路径包括文件名
  • 参数列表常用参数:
    • size:指定文件数据的初始化大小(GB、MB或KB)
    • autoextend:指定文件数据是否可自动扩展。autoextend on表示可以自动增长,并使用next子句指定每次增长的大小;autoextend off表示关闭自动增长方式。
    • maxsize:指定数据文件的最大容量,值为unlimited时表示可以无限增长。

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


  1. 修改数据文件
  • 修改数据文件大小

Oracle笔记_第41张图片
语法格式:

alter database datafile filename 参数列表

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

  • 修改数据文件名称或存储路径
    Oracle笔记_第42张图片
    Oracle笔记_第43张图片
    Oracle笔记_第44张图片
    在这里插入图片描述

  1. 修改数据文件的可用性

Oracle笔记_第45张图片
改变数据文件可用性的语句:

alter database datafile|tempfile...online|offline

通常情况下数据库处于归档模式时才能够将数据文件进行脱机操作,并且在将数据文件联机前需要进行恢复操作。
如果数据库处于非归档模式时,执行数据文件的脱机操作会出现错误。

将属于同一个表空间的所有数据文件置为联机或者脱机状态的语句:

alter tablespace...datafile|tempfile online|offline

Oracle笔记_第46张图片
Oracle笔记_第47张图片
Oracle笔记_第48张图片


  1. 删除数据文件

删除某个空的永久性或者临时数据文件的语句:

alter tablespace...drop datafile|tempfile...

删除操作如果成功执行则该数据文件在控制文件和数据字典的相关信息也会被删除,同时也将自动删除操作系统中对应的物理文件。
在这里插入图片描述
在这里插入图片描述

  1. 查询数据文件信息
    Oracle笔记_第49张图片
    在这里插入图片描述
    Oracle笔记_第50张图片
    也可以通过OEM查看数据文件信息。

4.2 控制文件

  1. 概述
    Oracle笔记_第51张图片

  1. 创建控制文件

数据库创建时会同时自动创建控制文件,当控制文件损坏或者丢失,同时又没有备份的情况下则需要用户手工创建控制文件。

手工创建控制文件的语句为create controlfile

语法格式:

create controlfile
[reuse] database db_name
[logfile redofiles_list]
[datafile datafiles_list]
[maxlogfiles]
[maxlogmembers]
[maxinstances]
[maxdatafiles]
resetlogs|noresetlogs
[archivelog|noarchivelog]
  • reuse:指定reuse表明原有的控制文件能够被覆盖使用,如果忽略该参数,同时已存在控制文件,则创建控制 文件将会出错。
  • db_name:为需要创建控制文件的数据库名称。
  • redofiles_list:为重做日志文件列表,包括各文件的存储路径。
  • datafiles_list:为数据文件列表,包括各文件的存储路径。
  • maxlogfiles:设置重做日志文件的最大数量。
  • maxlogmembers:设置重做日志文件组的最大成员数量。
  • maxinstances:设置数据库的最大实例个数。
  • maxdatafiles:设置数据文件的最大数量;
  • resetlogs|noresetlogs:resetlogs表示不使用原有重做日志文件,noresetlogs表示使用原有重做日志文件。
  • archivelog|noarchivelog:archivelog表示设置数据库为归档模式,noarchivelog表示设置数据库为非归档模式。


Oracle笔记_第52张图片
Oracle笔记_第53张图片


  1. 控制文件的备份与恢复

用于控制文件备份的语句:

alter database backup controlfile

该语句有两种可选的备份方式。

Oracle笔记_第54张图片
控制文件备份为二进制文件:
在这里插入图片描述
控制文件备份为文本文件:
在这里插入图片描述
当控制文件损坏或者丢失时,可以利用控制文件的二进制备份文件进行恢复。步骤如下:
Oracle笔记_第55张图片
用户还可以直接编辑初始化参数control_files,用新的控制文件信息替换掉有问题的控制文件信息。


  1. 删除控制文件

如果某个控制文件已失效则可以删除该控制文件,但要注意不能将所有控制文件全部删除,要至少保留一个,否则数据库将无法启动。

Oracle笔记_第56张图片
在这里插入图片描述


  1. 查询控制文件信息

如果需要查看当前正在使用的控制文件存储信息,可以通过show parameter命令显示初始化参数control_files的设置信息。
Oracle笔记_第57张图片
可以通过查询与控制文件相关的一系列动态性能视图获得与控制文件相关的基本信息,这些视图包括:

  • v$controlfile:包含所有控制文件基本信息,例如,名称和状态信息。
    Oracle笔记_第58张图片
  • v$controlfile_record_section:包含控制文件中各个记录文档段的信息。控制文件被分隔成许多部分,分别记录各种类型的信息,每一类信息称为一个记录文档段。
  • v$parameter:包含了系统的所有初始化参数,从中可以查询参数control_files的值。

4.3 重做日志文件

  1. 概述
    Oracle笔记_第59张图片

三个重做日志文件组,第1组写完写第2组,第2组写完写第3组,第3组写完反过来写第1组。如果没有进行归档重做日志的备份的话,原来的数据就会丢失。
Oracle笔记_第60张图片


  1. 增加重做日志文件
  • 添加新的重做日志文件组:
alter database add logfile [group group# ] (logfile_list) parameter_list
  • group 子句用于显式指定重做日志文件组的组号(注意组号不能和已有的组号冲突)
  • 如果没有使用group子句,系统自动设置组号
  • parameter_list为重做日志文件的存储参数列表,如文件初始化大小size

在这里插入图片描述

  • 重做日志文件组可以根据需要添加成员:
alter database add logfile member...to group group#

group#必须是已存在的组号,该语句可以同时给指定的重做日志文件组添加多个成员,成员文件名称采用逗号隔开.

在这里插入图片描述


  1. 删除重做日志文件
  • 删除重做日志文件可以根据需要删除重做日志文件成员或者重做日志文件组。
alter database drop logfile member logfile_list

logfile_list可以同时指定多个重做日志文件名称和路径

在这里插入图片描述

  • 要删除重做日志文件组
alter database drop logfile group group#

在这里插入图片描述

注意:

  1. Oracle数据库至少要保留2个重做日志文件组
  2. 只能删除处于Inactive状态的重做日志文件组,如果要删除处于Current状态的重做日志文件组,需要切换到Inactive状态
  3. 如果数据库处于归档模式,还需要确定将被删除的重做日志文件组已经归档
  4. 只是从数据字典和控制文件中删除相关信息,OS中对应的物理文件需要手工删除

  1. 清空重做日志文件

清空重做日志文件实际上是将重做日志文件的内容清除。

alter database clear logfile

如果重做日志组的文件成员只有1个,该语句可以选择直接清空该重做日志文件成员;如果成员数量超过1个,可以选择直接清空重做日志文件组。

清空重做日志文件:
在这里插入图片描述

清空重做日志文件组:
Oracle笔记_第61张图片


  1. 修改重做日志文件

改变重做日志文件的位置或名称。

alter database rename file old_filelist to new_filelist

old_filelist:旧文件位置
new_filelist:新文件位置

步骤:
Oracle笔记_第62张图片


  1. 重做日志文件切换
    Oracle数据库在运行过程当中,当处于Current状态的重做日志文件组写满时会自动进行日志文件切换,由LGWR进程负责将重做日志写入下一个重做日志文件组。

使用重做日志文件的时候,要知道是通过哪个进程(如:DBWR、LGWR、RECO、CKPT等这些PGA下面的进程,详情见1.3)来完成重做日志文件的切换。

DBA也可以根据需要进行手动切换:

alter system switch logfile

该语句不需要指定任何参数
Oracle笔记_第63张图片


  1. 查看重做日志文件信息

视图包括:

  • v$log:包含控制文件中的重做日志文件信息,例如,日志文件组编号、成员数量以及状态等。
  • v$logfile:包含重做日志文件组的文件成员信息,例如,重做日志文件的路径及名称。
  • v$log_history:包含重做日志文件的历史信息。

查询重做日志文件组状态:
Oracle笔记_第64张图片
查询重做日志文件信息:
Oracle笔记_第65张图片


4.4 归档重做日志文件

  1. 概述
    在这里插入图片描述

  1. 设置日志归档模式

首先通过v$database视图或者archive log list命令查看当前数据库的日志归档模式

Oracle笔记_第66张图片
然后将数据库启动到mount状态后通过命令alter database archivelog|noarchivelog将数据库设置为归档模式或者非归档模式,最后打开数据库新的日志归档模式即可生效
Oracle笔记_第67张图片
如果需要归档重做日志文件,除了需要设置数据库为归档模式外,还需要设置归档位置,即归档重做日志文件的存储路径。

Oracle数据库提供了多个初始化参数可以设置归档位置:

  • log_archive_dest:用于指定主归档位置,只能指定本地存储路径。
  • log_archive_duplex_dest:用于指定次归档位置,只能指定本地存储路径。
  • log_archive_dest_n:用于指定多个归档位置,Oracle 12c中最多可以指定31个归档位置。该参数不仅可以配置本地存储路径(使用location指定),还可以配置远程存储位置
    (使用service指定)。

以上这些初始化参数均为动态参数,可以通过语句alter system set进行设置,设置完成后即时生效,但需要注意的是的log_archive_dest_n不能与log_archive_dest及log_archive_duplex_dest同时设置使用。

在这里插入图片描述


  1. 查看归档信息

DBA除了使用archive log list命令外,还可以通过查询归档信息相关的一系列动态性能视图获得数据库的详细归档信息,这些视图包括:

  • v$database:可以查询数据库是否处于归档模式。
  • v$archive_log:可以查询控制文件中的所有已归档的日志信息。
  • v$archive_dest:可以查询所有归档位置信息。

Oracle笔记_第68张图片

5. 逻辑存储结构

5.1 逻辑存储结构

Oracle笔记_第69张图片
Oracle笔记_第70张图片


5.2 表空间

  1. 概述
    Oracle笔记_第71张图片
    大文件表空间: 只包含一个大文件。

  1. 创建表空间

语法格式:

create[smallfile|bigfile|temporary|undo] tablespace tablespace_name
datafile datefile1 [,datefile2] ...
[autoextend [on|off] next num[K|M]]
[maxsize num[K|M]|unlimited]
[online|offline]
[logging|nologging]
[extent management dictionary|local [autoallocate|uniform size num[K|M]] segment space management auto|manual]

参数解释:

  • smallfile|bigfile|temporary|undo:分别表示创建的是小文件表空间、大文件表空间、临时表空间以及撤销表空
    间,默认值是小文件表空间,即表空间的最常见类型。
  • tablespace_name:设置表空间的名称,需要符合Oracle数据库的命名规则。
  • datafile:设置表空间包含的一个或者多个数据文件名称以及存储路径。
  • autoextend [on|off]:用于指定数据文件自动扩展(on)或者非自动扩展(off),如果指定为on,则需要设置
    next后面的扩展数量num。
  • maxsize num[K|M]|unlimited:用于指定数据文件可以增长的最大值,如果不限制,则选择unlimited。
  • online|offline:用于指定表空间创建后是处于在线状态(online)或者离线状态(offline),默认为online。
  • logging|nologging:用于指定当操作表空间中的表数据是否产生日志,默认是需要产生日志(logging)。
  • extent management:用于指定表空间的管理方式,dictionary为数据字典管理方式,local为本地管理方式,默
    认值为local。此外,Oracle数据库不建议使用数据字典管理方式。
  • autoallocate|uniform size num[K|M]:用于设定区的分配方式,autoallocate为系统自动分配,uniform为按照指
    定的size大小统一分配。
  • segment space management:用于指定段的管理方式,auto为自动管理,manual为手动管理,默认值为auto。
  • 创建小文件表空间

使用create tablespace语句默认创建的就是小文件表空间。
在这里插入图片描述
在这里插入图片描述

  • 创建大文件表空间

通过create bigfile tablespace语句可以创建大文件表空间。

注意:由于给大数据文件分配大容量磁盘空间需要耗费时间,因此操作过程中需要用户等待。

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

  • 创建临时表空间

使
用的语句为create temporary tablespace,并且使用tempfile子句设置临时文件信息。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果需要更改系统默认的表空间,可以通过语句alter database default temporary tablespace设置新的默认表空间。

  • 创建撤销表空间

用户可以使用create undo tablespace语句创建多个撤销表空间。

注意:

  1. 该语句后面只能使用datafile和extent management两个子句。
  2. Oracle数据库当前在用的撤销表空间只能为1个,如果需要特别指定,可以通过设置初始化参数undo_tablespace完成。

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


  1. 修改表空间
  • 表空间扩展

添加新的数据文件:

alter tablespace ... add datafile ...

在这里插入图片描述增加数据文件大小:

alter database datafile ... resize ...

在这里插入图片描述
设置数据文件可以自动扩展:

alter database datafile ... autoextend on next ...

在这里插入图片描述

  • 状态转换

联机和脱机状态转换:

表空间在正常情况下是联机状态,需要进行表空间备份、名称修改及数据文件移动等操作时要转换为脱机状态。

alter tablespace ... offline|inline

Oracle笔记_第72张图片
只读和读写状态转换:

当需要限制用户对表空间的读写操作时,可以将表空间设置为只读状态,可读写则为正常状态。

alter tablespace ... read only|read write

Oracle笔记_第73张图片

  • 重命名
    DBA可以使用alter tablespace ... rename to ...语句重命名表空间,该操作可以自动更新表空间在数据字典中的名称信息。

注意:

  1. 不能够对system和sysaux表空间进行重命名操作
  2. 重命名的表空间需要处于联机状态

Oracle笔记_第74张图片


  1. 删除表空间
    Oracle数据库中除了system和sysaux表空间,其它表空间都可以删除。

只删除表空间在数据字典的定义:

drop tablespace ...

删除表空间在数据字典的定义以及表空间包含的内容:

drop tablespace...including contents

删除表空间的定义、包含的内容以及数据文件,即对表空间的完全删除:

drop tablespace...including contents and datafiles

Oracle笔记_第75张图片


  1. 查询表空间信息

视图:

  • dba_tablepaces:包含数据库中所有表空间的信息。
  • dba_data_files:包含数据文件及其所属表空间的信息。
  • dba_ temp_files:包含临时文件及其所属表空间的信息。
  • v$tablespace:包含控制文件中的表空间名称和编号信息.
  • v$datafile:包含数据文件及其所属表空间的信息。
  • v$tempfile:包含临时文件及其所属表空间的信息。

在这里插入图片描述
Oracle笔记_第76张图片
在这里插入图片描述
Oracle笔记_第77张图片


5.3 段

Oracle笔记_第78张图片

在Oracle数据库,用户可以通过多个数据字典视图以及动态性能视图查询段的相关信息:

  • dba_segments:包含数据库所有段的信息,例如,段名称、类型以及所属表空间等。
  • dba_rollback_segs:包含所有回滚段的信息。
  • v$transaction:包含事务所使用回滚段的信息。

在这里插入图片描述
Oracle笔记_第79张图片


5.4 区

Oracle笔记_第80张图片

  • 当需要存储数据库对象的数据时,Oracle数据库会首先分配若干个分区构成一个段作为初始存储空间,当段空间写满时,将为段再分配新区。
  • 当表空间为本地管理方式时,新区可以由系统自动分配,需要在创建表空间时设置autoallocate参数,或者定制分配,需要在创建表空间时设置uniform参数。

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

在Oracle数据库,用户可以通过多个数据字典视图以及动态性能视图查询区的相关信
息,其中包括:

  • dba_tablespaces:包含表空间区的分配设置信息。
  • dba_extents:包含区的基本信息,如区的编号、所属段的名称以及所属表空间的名
    称。

在这里插入图片描述
Oracle笔记_第81张图片


5.5 数据块

Oracle笔记_第82张图片


6. 数据库对象管理

6.1 模式

引入模式的目的是方便对各种数据库对象进行组织和管理,其实质上是数据库对象的集合。

特点:

  1. 模式与用户一一对应,每一个用户都具有一个同名的模式,用户创建的各类数据库对象,如果不显式指定模式名称,默认都保存在该用户的同名模式下
  2. 处以同一个模式下的数据库对象名称必须唯一,但不同模式下的数据库对象名称可以相同
  3. 如果用户需要使用其它用户模式下的数据库对象,需要指明该数据库对象所在的模式名称

在SQL Plus环境中,用户在使用connect语句连接数据库时,如果不声明以sysdba 身份登录,则进入与用户同名的模式,如果声明则进入sys模式。如果要查询当前用户处于哪个模式,可以通过show user命令进行查询。在当前登录用户的模式下,可以直接访问该模式下的数据库对象。
Oracle笔记_第83张图片


6.2 表

Oracle笔记_第84张图片


6.3 索引

索引是一种用于加快数据查询速度的数据库对象。

索引虽然可以加快数据查询速度,但索引表需要占用一定的存储空间,Oracle数据库会自动在用户的默认表空间或者指定的表空间中创建一个索引段,为索引表的数据提供存储空间。

类型:

  • 根据索引数据的组织结构可以将索引分为B树索引、位图索引、反向键索引和基于函数的索引
  • 根据索引键值的唯一性可以分为唯一索引和非唯一索引
  • 根据索引列的个数可以分为单列索引和复合索引

每一种索引的特点及作用:

  • B树索引:具有树状的索引组织结构,是Oracle数据库的默认索引类型,适合用于索引取值数目多且频繁更新的数据列。
  • 位图索引:采用位图作为索引组织结构,适合用于索引取值数目只有几个固定值且基本不更新的数据列。
  • 反向键索引:是一种特殊的B树索引,索引键值被反向存储(如原键值“1234”被存储为“4321”),该索引可以均衡索引数据的存储分布。
  • 基于函数的索引:实质上也是一种B树索引,但索引键值是索引列的数据经过函数转换后的值,而非索引列的原来数据本身。
  • 唯一索引:索引键值不能重复,但允许为空,表中已创建有主键约束的列自动创建有唯一索引。
  • 非唯一索引:索引键值可以重复,而且允许为空。默认情况下,Oracle数据库创建的是非唯一索引。
  • 单列索引:索引只创建在一列上。
  • 复合索引:索引同时创建在多个列上。

6.4 序列

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

创建序列可以使用create sequence语句。
在这里插入图片描述
在这里插入图片描述
序列提供了两个属性可以获取序列值,一个为currval,可以返回序列当前值,另一个为nextval,可以返回下一个序列值,可以在select、update以及insert语句中通过sequence_name.currval或者sequence_name.nextval的形式获取序列值。
Oracle笔记_第85张图片
当序列不再需要时,可以使用drop sequence语句删除
Oracle笔记_第86张图片


6.5 同义词

同义词实质上是数据库对象的一个别名,经常用于简化数据库对象访问和提高数据库对象访问的安全性。

  1. 创建同义词
    创建同义词的语句为create synonym
    语法格式:
create [public] synonym synonym_name for object_name
  • public表示创建为公有同义词,但需要具有相应权限,默认为私有同义词
  • synonym_name用于指定同义词名称
  • object_name用于指定原数据库对象名称
    在这里插入图片描述
    在这里插入图片描述

当数据库对象具有同义词后,可以使用该同义词替换原有数据库对象名称进行各种访问操作。
Oracle笔记_第87张图片

  1. 删除同义词
    使用drop [public] synonym语句删除,如果要删除公有同义词,则需要指定public选项
    Oracle笔记_第88张图片
  2. 查询同义词信息
    可以通过查询dba_synonymsall_synonyms以及user_synonyms等数据字典视图获取所有同义词的基本信息,这些视图都包含了同义词和原数据库对象的名称信息。
    Oracle笔记_第89张图片

6.6 数据库链接

数据库链接是在分布式网络环境中从一个Oracle数据库到另外一个Oracle数据库的通信路径。

作用:通过使用数据库链接,用户在访问本地数据库的同时,可以操作远程数据库。


7. 数据库安全管理

Oracle笔记_第90张图片

7.1 用户管理

用于管理数据库用户的基本信息,包括用户名以及密码,并对数据库用户的登录进行合法性验证。

  1. 创建用户
    创建用户可以使用create user语句
    语法格式:
[default tablespace tablespace_name]
[temporary tablespace temptablespace_name]
[quota [integer K|M][unlimited]] on tablespace
[,quota [integer K|M][unlimited]] on tablespace
[profiles profile_name]
[password expire]
[account lock|unlock]

Oracle笔记_第91张图片
在这里插入图片描述
在这里插入图片描述

  1. 修改用户
    数据库用户创建完成后,可以通过alter user语句对指定用户的各个参数进行修改。

在这里插入图片描述
在这里插入图片描述
Oracle笔记_第92张图片

  1. 删除用户
    删除用户的语句为drop user,当要删除的用户拥有数据库对象时,则必须要在该语句最后加上cascade关键字。Oracle数据库在删除用户的同时,也会删除该用户拥有的数据库对象,其它有引用该用户数据库对象的其它用户的数据库对象将被标识为失效状态。
    Oracle笔记_第93张图片
  2. 查询用户信息
    • all_users:包含用户名、用户ID以及创建时间。
    • dba_users:包含用户的所有信息,例如,创建用户时设置的所有参数信息。
    • user_users:包含当前登录用户的所有信息。
    • v$session:包含用户的会话信息,例如,会话ID、登录时间以及用户名等。
      在这里插入图片描述
      Oracle笔记_第94张图片

7.2 权限管理

用于管理用户的操作权限,并对用户的操作进行合法性验证。

Oracle数据库将权限分 为两类:系统权限和对象权限。

  • 系统权限:是指用户可以执行的系统级别的操作,例如,连接数据库、创建用户会话以及执行 系统级的DDL语句(create、alter和drop等)。
  • 对象权限:是指用户对特定数据库对象可以执行的操作,例如,对某个表的增加、删除、更新 以及查询等操作

可以通过查询system_privilege_map视图获得各个系统权限的名称列表,这些系统权限规定了数据库系统级别的各种数据管理和维护操作。
Oracle笔记_第95张图片

  1. 系统权限授予
    进行系统权限授权的操作语句为grant
grant sys_privilege to user|role|public [with admin option]
  • sys_privilege:系统权限名称,多个权限可以使用逗号隔开。
  • user:目标用户名,多个用户可以使用逗号隔开。
  • role:角色名称,多个角色可以使用逗号隔开。
  • public:代表所有用户,表示对所有用户进行授权。
  • with admin option:表示被授权用户还可以再将权限授权给其它用户,即传递权限。

在这里插入图片描述
Oracle笔记_第96张图片
在这里插入图片描述
在这里插入图片描述

  1. 系统权限回收
    回收系统权限可以使用revoke语句
revoke sys_privilege|role from user|role|public
  • sys_privilege:系统权限名称,多个权限可以使用逗号隔开。
  • role:角色名称,多个角色可以使用逗号隔开。
  • user:目标用户名,多个用户可以使用逗号隔开。
  • public:代表所有用户,表示回收所有用户sys_privilege代表的权限。

在这里插入图片描述
Oracle笔记_第97张图片
如果用户将系统权限再授权给其它用户,则该用户的系统权限被回收时,并不影响其它用户使用该系统权限,如果也需要回收其它用户的相应权限,则需要由DBA进行相应权限的回收操作。
在这里插入图片描述
Oracle笔记_第98张图片

  1. 对象权限授予
grant object_privilege|all on [schema.]object to user|role|public [with grant option]

在这里插入图片描述
Oracle笔记_第99张图片

  1. 对象权限回收
revoke object_privilege|all on [schema.]object from user|role|public 

在这里插入图片描述
Oracle笔记_第100张图片

  1. 查询系统权限
    在这里插入图片描述
    Oracle笔记_第101张图片
    在这里插入图片描述
    Oracle笔记_第102张图片
    在这里插入图片描述
    Oracle笔记_第103张图片

7.3 角色管理

用于角色的创建、分配以及回收。

7.4 概要文件管理

用于限制用户对数据库系统存储以及计算资源的使用。

7.5 审计管理

用于监视和记录用户在数据库中的活动。


8. 数据库备份与恢复

Oracle笔记_第104张图片

你可能感兴趣的:(Oracle笔记)