SGA是系统全局区。SGA由所有服务器进程和后台进程共享。
PGA是程序全局区。由各个服务器进程和后台进程专用,每个进程都有一个PGA。
当Oracle数据库服务器进程接受用户请求时,会调用相关后台进程进行数据库操作,后台进程可以完成数据I/O、进程监控以及性能维护等一系列任务。
Oracle数据库文件用于实际保存各类数据,实际上构成了数据库的物理结构。
企业管理器(OEM)提供了一种基于Web方式的可视化管理界面,用户可以直观地进行一些较为简单的管理操作。
使用OEM监控和管理服务器:
- 启动对应数据库的OracleService
以及数据库监听器服务 OracleOraDB12Home1TNSListener(SID:创建数据库时的全局数据库名称) - 启动成功后可以通过浏览器访问数据库对应OEM的url地址
数据库管理员:sys 和 system。
其中,sys为数据库的超级管理员,system为普通管理员。
数据库初始化参数:
- 静态参数:修改后只能在数据库实例重新启动后才能生效
- 动态参数:即时修改即时生效
SQL Plus是一种基于控制台命令输入方式的工具,用户可以输入各种命令以及代码程序完成各种复杂的数据库管理与开发任务。
通过SQL Plus可以完成的操作:
- 连接数据库实例并执行数据库管理操作
- 编写、运行和调试SQL以及PL/SQL程序
- 格式化查询结果、报表生成、打印以及存储等
sqlplus [username]/[password] [@connect_identifier] [nolog]
- @connect_identifier 用于指定要连接的数据库实例,如果省略则连接到操作系统环境变量oracle_sid设置的数据库实例,oracle_sid没有设置则为Oracle安装时默认的数据库实例(orcl)
- nolog参数 用于只启动SQL Plus而不连接任何数据库实例
注意:
最近执行完毕的SQL语句或PL/SQL程序会存入SQL Plus 的 SQL缓冲区中,用户可以使用缓冲区操作命令执行相关操作。
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"可显示当前登录用户。
SQL> discconnect
-- 或者
SQL> disc
例如,执行完“select * from scott.emp where empno=7369”语句后,输入list命令,则可以显示缓冲区中的内容。
注意:
当SQL缓冲区存在可执行的命令或SQL脚本时,可以输入“run”或“/”直接运行。
save filename [create]|[replace]|[append]
- create:新建文件,是默认选项
- replace:存在同名文件时覆盖已有文件
- append:在原有文件后添加新的内容
get filename [list]|[no list]
- list:显示脚本内容
- no list:不显示脚本内容
start filename
-- @ 命令也有相同作用
@filename
“&& 变量名”表示该替换变量只需要输入一次值即可在当前SQL Plus运行环境中一直有效。
注意:
替换变量的名称需遵循Oracle的变量定义规则,单独使用define命令可以列出当前SQL Plus运行环境中已定义的所有替换变量。
使用undefine variable_name命令可以删除某个已定义的替换变量。
variable variable_name variable_datatype
这三个命令常一起使用与用户进行交互。如:
prompt 输入员工编号查询员工工资
prompt 按Enter键继续
pause
accept no number prompt ‘请输入员工编号:’
select empno,sal from scott.emp where empno=&no;
- 各个环境变量都有默认值,用户设置的新的变量值只在当前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 |
column column_name [heading column_heading] [justify left|center|right] [format format]
- heading用于指定列标题
- justify指定标题的对齐方式
- format用于重新定义列的宽度和显示格式
各命令均可以使用left、center或者right控制输出位置
在各个命令后输入off,可以关闭各个已设置信息的显示。
clear screen命令
该命令用于清除SQL Plus命令窗口屏幕的所有内容
help命令
该命令用于查看SQL Plus命令的帮助信息,可以使用“help index”列出SQL Plus的所有命令,使用“help 命令名称”显示该命令的作用及使用语法。
SQL Developer提供一种可视化的数据库集成管理以及开发环境。
数据库配置助手(DBCA)可以帮助用户快速创建和配置自己的数据库。
网络配置助手(NCA)可以创建监听器服务以及配置本地网络服务名。
网络配置助手主要为用户提供Oracle数据库的监听程序(Listener)、命令方法、本地网络服务名和目录使用等的配置向导。
- 监听程序:用于响应远程数据库连接请求
- 命令方法:用于解析数据库连接标识符
- 本地网络服务名:从本地访问远程数据库的服务名
- 目录:指Oracle的目录服务
startup [nomount|mount|open|force|restrict][pfile=filename]
各参数作用:
- nomount:启动数据库不装载数据库(修复控制文件)
- mount:启动实例、装载数据库并保持数据库的关闭状态(修改数据文件)
- open:默认选项,启动实例、装载并打开数据库
- force:强行关闭数据库并重新启动
- restrict:以受限制的方式启动数据库,只允许部分特权用户访问数据库
- pfile:显式指定启动实例时所使用的数据库初始化参数文件
关闭过程与启动过程相反。先关闭数据文件和重做日志文件,然后卸载数据库并关闭控制文件,最后关闭数据库实例、释放内存资源,并停止数据库服务进程和后台进程。
语法格式:
shutdown [normal|transactional|immediate|abort]
关闭方式 | 允许新连接 | 等待当前会话结束 | 等待当前事务处理结束 | 强制执行检查点并关闭文件 |
---|---|---|---|---|
normal | 否 | 是 | 是 | 是 |
transactional | 否 | 否 | 是 | 是 |
immediate | 否 | 否 | 否 | 是 |
abort | 否 | 否 | 否 | 否 |
注意:
用户启动或关闭Oracle数据库可以使用sys用户登录执行,但连接数据库时需要声明sysdba身份
数据库正常运行时为非受限状态,允许所有用户进行连接操作
设置为受限状态(restricted)时,只有create session和restricted session系统权限或者具有sysdba和sysoper系统权限的用户才能连接到数据库
受限状态常用于以下需要:
(1)执行数据导入或导出操作;
(2)暂时拒绝普通用户访问数据库;
(3)进行数据库移植或升级操作。
注意:
- 使用alter database更改数据库的读写状态时需要重新启动数据库到mount状态
- 使用alter system进行受限与非受限状态转换、静默与非静默状态转换以及挂起与非挂起状态转换等操作时不需要重新启动数据库
- alter system更常用于转换数据库运行,因为不需要关闭数据库,可以避免造成登录用户的数据丢失
初始化参数文件概述:
Oracle初始化参数文件是支持数据库运行的重要配置文件,数据库启动时需要根据参数的设置分配SGA并启动后台进程,如果初始化参数问价损坏则数据库无法启动。
服务器初始化参数文件(SPFILE)
show parameter spfile
命令查询当前使用的服务器初始化参数文件或查询动态性能视图v$parameter
创建服务器初始化参数文件
可使用create spfile
命令根据文本初始化参数文件或内存中的当前参数设置情况创建服务器初始化参数文件。
命令格式:
create spfile [='spfile_name'] from pfile [='pfile_name]|memory
spfile:指定创建的服务器初始化参数文件名称及存储路径。无设置时使用默认文件名称和路径
pfile:指定文本初始化参数文件名称及存储路径。无设置时存放于默认位置
memory:用于基于当前内存中的参数设置情况创建服务器初始化参数文件
修改初始化参数
用户在数据库使用过程中,可以根据需要使用alter session
或alter system
语句修改初始化参数:
对会话级参数的修改,修改的参数只对当前的会话有效。
语法格式:
alter session set parameter_name=parameter_value
对实例级参数的修改,修改的参数对当前实例的所有会话都有效。
语法格式:
alter system set parameter_name=parameter_value [scope=spfile|memory|both]
scope=memory时,只适合修改内存中的动态参数,修改后的参数值在当前实例中立即生效,但重启后恢复为修改前的参数值
scope=both时,只适合修改动态参数,修改后的参数值在当前实例中立即生效,并且修改结果保存到服务器参数文件中,重启数据库后仍然有效
如果当前数据库使用的是文本初始化参数文件,则alter system语句对动态参数的修改只能使用scope=memory,对静态参数的修改只能使用scope=spfile
导出服务器初始化参数文件
需要备份服务器初始化参数文件或需要查看当前所有服务器初始化参数的设置情况时,可以考虑导出服务器初始化参数文件为文本初始化参数文件。
命令格式:
create pfile [='pfile_name'] from spfile [='spfile_name']
create pfile
命令直接将内存中的服务器初始化参数的当前值导出为文本初始化参数文件恢复服务器初始化参数文件
对数据文件的管理涉及数据文件增加、修改大小、修改名称或存储路径、改变可用性、删除以及查询文件基本信息等操作,都具有相应的操作命令,但需要用户具有相应的操作权限。
Oracle数据库的数据文件由表空间统一管理:
用户创建数据文件时可以根据需要存储的数据规模设置初始化大小以及增长方式,语法格式:
alter tablespace 表空间名称 add datafile|tempfile filename 参数列表
- datafile:用于创建永久数据文件
- tempfile:用于创建临时文件
- filename:用于指定数据文件的存储路径包括文件名
- 参数列表常用参数:
- size:指定文件数据的初始化大小(GB、MB或KB)
- autoextend:指定文件数据是否可自动扩展。autoextend on表示可以自动增长,并使用next子句指定每次增长的大小;autoextend off表示关闭自动增长方式。
- maxsize:指定数据文件的最大容量,值为unlimited时表示可以无限增长。
alter database datafile filename 参数列表
alter database datafile|tempfile...online|offline
通常情况下数据库处于归档模式时才能够将数据文件进行脱机操作,并且在将数据文件联机前需要进行恢复操作。
如果数据库处于非归档模式时,执行数据文件的脱机操作会出现错误。
将属于同一个表空间的所有数据文件置为联机或者脱机状态的语句:
alter tablespace...datafile|tempfile online|offline
删除某个空的永久性或者临时数据文件的语句:
alter tablespace...drop datafile|tempfile...
删除操作如果成功执行则该数据文件在控制文件和数据字典的相关信息也会被删除,同时也将自动删除操作系统中对应的物理文件。
数据库创建时会同时自动创建控制文件,当控制文件损坏或者丢失,同时又没有备份的情况下则需要用户手工创建控制文件。
手工创建控制文件的语句为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表示设置数据库为非归档模式。
用于控制文件备份的语句:
alter database backup controlfile
该语句有两种可选的备份方式。
控制文件备份为二进制文件:
控制文件备份为文本文件:
当控制文件损坏或者丢失时,可以利用控制文件的二进制备份文件进行恢复。步骤如下:
用户还可以直接编辑初始化参数control_files,用新的控制文件信息替换掉有问题的控制文件信息。
如果某个控制文件已失效则可以删除该控制文件,但要注意不能将所有控制文件全部删除,要至少保留一个,否则数据库将无法启动。
如果需要查看当前正在使用的控制文件存储信息,可以通过show parameter命令显示初始化参数control_files的设置信息。
可以通过查询与控制文件相关的一系列动态性能视图获得与控制文件相关的基本信息,这些视图包括:
三个重做日志文件组,第1组写完写第2组,第2组写完写第3组,第3组写完反过来写第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#必须是已存在的组号,该语句可以同时给指定的重做日志文件组添加多个成员,成员文件名称采用逗号隔开.
alter database drop logfile member logfile_list
logfile_list可以同时指定多个重做日志文件名称和路径
alter database drop logfile group group#
注意:
- Oracle数据库至少要保留2个重做日志文件组
- 只能删除处于Inactive状态的重做日志文件组,如果要删除处于Current状态的重做日志文件组,需要切换到Inactive状态
- 如果数据库处于归档模式,还需要确定将被删除的重做日志文件组已经归档
- 只是从数据字典和控制文件中删除相关信息,OS中对应的物理文件需要手工删除
清空重做日志文件实际上是将重做日志文件的内容清除。
alter database clear logfile
如果重做日志组的文件成员只有1个,该语句可以选择直接清空该重做日志文件成员;如果成员数量超过1个,可以选择直接清空重做日志文件组。
改变重做日志文件的位置或名称。
alter database rename file old_filelist to new_filelist
old_filelist:旧文件位置
new_filelist:新文件位置
使用重做日志文件的时候,要知道是通过哪个进程(如:DBWR、LGWR、RECO、CKPT等这些PGA下面的进程,详情见1.3)来完成重做日志文件的切换。
DBA也可以根据需要进行手动切换:
alter system switch logfile
视图包括:
首先通过v$database
视图或者archive log list
命令查看当前数据库的日志归档模式
然后将数据库启动到mount状态后通过命令alter database archivelog|noarchivelog
将数据库设置为归档模式或者非归档模式,最后打开数据库新的日志归档模式即可生效
如果需要归档重做日志文件,除了需要设置数据库为归档模式外,还需要设置归档位置,即归档重做日志文件的存储路径。
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同时设置使用。
DBA除了使用archive log list命令外,还可以通过查询归档信息相关的一系列动态性能视图获得数据库的详细归档信息,这些视图包括:
- v$database:可以查询数据库是否处于归档模式。
- v$archive_log:可以查询控制文件中的所有已归档的日志信息。
- v$archive_dest:可以查询所有归档位置信息。
语法格式:
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
语句创建多个撤销表空间。
注意:
添加新的数据文件:
alter tablespace ... add datafile ...
alter database datafile ... resize ...
alter database datafile ... autoextend on next ...
联机和脱机状态转换:
表空间在正常情况下是联机状态,需要进行表空间备份、名称修改及数据文件移动等操作时要转换为脱机状态。
alter tablespace ... offline|inline
当需要限制用户对表空间的读写操作时,可以将表空间设置为只读状态,可读写则为正常状态。
alter tablespace ... read only|read write
alter tablespace ... rename to ...
语句重命名表空间,该操作可以自动更新表空间在数据字典中的名称信息。注意:
- 不能够对system和sysaux表空间进行重命名操作
- 重命名的表空间需要处于联机状态
只删除表空间在数据字典的定义:
drop tablespace ...
删除表空间在数据字典的定义以及表空间包含的内容:
drop tablespace...including contents
删除表空间的定义、包含的内容以及数据文件,即对表空间的完全删除:
drop tablespace...including contents and datafiles
视图:
- dba_tablepaces:包含数据库中所有表空间的信息。
- dba_data_files:包含数据文件及其所属表空间的信息。
- dba_ temp_files:包含临时文件及其所属表空间的信息。
- v$tablespace:包含控制文件中的表空间名称和编号信息.
- v$datafile:包含数据文件及其所属表空间的信息。
- v$tempfile:包含临时文件及其所属表空间的信息。
在Oracle数据库,用户可以通过多个数据字典视图以及动态性能视图查询段的相关信息:
- dba_segments:包含数据库所有段的信息,例如,段名称、类型以及所属表空间等。
- dba_rollback_segs:包含所有回滚段的信息。
- v$transaction:包含事务所使用回滚段的信息。
在Oracle数据库,用户可以通过多个数据字典视图以及动态性能视图查询区的相关信
息,其中包括:
- dba_tablespaces:包含表空间区的分配设置信息。
- dba_extents:包含区的基本信息,如区的编号、所属段的名称以及所属表空间的名
称。
引入模式的目的是方便对各种数据库对象进行组织和管理,其实质上是数据库对象的集合。
特点:
在SQL Plus环境中,用户在使用connect语句连接数据库时,如果不声明以sysdba 身份登录,则进入与用户同名的模式,如果声明则进入sys模式。如果要查询当前用户处于哪个模式,可以通过show user命令进行查询。在当前登录用户的模式下,可以直接访问该模式下的数据库对象。
索引是一种用于加快数据查询速度的数据库对象。
索引虽然可以加快数据查询速度,但索引表需要占用一定的存储空间,Oracle数据库会自动在用户的默认表空间或者指定的表空间中创建一个索引段,为索引表的数据提供存储空间。
类型:
每一种索引的特点及作用:
- B树索引:具有树状的索引组织结构,是Oracle数据库的默认索引类型,适合用于索引取值数目多且频繁更新的数据列。
- 位图索引:采用位图作为索引组织结构,适合用于索引取值数目只有几个固定值且基本不更新的数据列。
- 反向键索引:是一种特殊的B树索引,索引键值被反向存储(如原键值“1234”被存储为“4321”),该索引可以均衡索引数据的存储分布。
- 基于函数的索引:实质上也是一种B树索引,但索引键值是索引列的数据经过函数转换后的值,而非索引列的原来数据本身。
- 唯一索引:索引键值不能重复,但允许为空,表中已创建有主键约束的列自动创建有唯一索引。
- 非唯一索引:索引键值可以重复,而且允许为空。默认情况下,Oracle数据库创建的是非唯一索引。
- 单列索引:索引只创建在一列上。
- 复合索引:索引同时创建在多个列上。
序列是Oracle数据库提供的用于产生一系列唯一数值的数据库对象,其产生的数值具有按步长连续递增的特点,因此其常常用于实现表的主键值递增以及记录计数。
创建序列可以使用create sequence语句。
序列提供了两个属性可以获取序列值,一个为currval,可以返回序列当前值,另一个为nextval,可以返回下一个序列值,可以在select、update以及insert语句中通过sequence_name.currval或者sequence_name.nextval的形式获取序列值。
当序列不再需要时,可以使用drop sequence语句删除
同义词实质上是数据库对象的一个别名,经常用于简化数据库对象访问和提高数据库对象访问的安全性。
create synonym
create [public] synonym synonym_name for object_name
当数据库对象具有同义词后,可以使用该同义词替换原有数据库对象名称进行各种访问操作。
drop [public] synonym
语句删除,如果要删除公有同义词,则需要指定public选项dba_synonyms
、all_synonyms
以及user_synonyms
等数据字典视图获取所有同义词的基本信息,这些视图都包含了同义词和原数据库对象的名称信息。数据库链接是在分布式网络环境中从一个Oracle数据库到另外一个Oracle数据库的通信路径。
作用:通过使用数据库链接,用户在访问本地数据库的同时,可以操作远程数据库。
用于管理数据库用户的基本信息,包括用户名以及密码,并对数据库用户的登录进行合法性验证。
[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数据库将权限分 为两类:系统权限和对象权限。
- 系统权限:是指用户可以执行的系统级别的操作,例如,连接数据库、创建用户会话以及执行 系统级的DDL语句(create、alter和drop等)。
- 对象权限:是指用户对特定数据库对象可以执行的操作,例如,对某个表的增加、删除、更新 以及查询等操作
可以通过查询system_privilege_map视图获得各个系统权限的名称列表,这些系统权限规定了数据库系统级别的各种数据管理和维护操作。
grant sys_privilege to user|role|public [with admin option]
- sys_privilege:系统权限名称,多个权限可以使用逗号隔开。
- user:目标用户名,多个用户可以使用逗号隔开。
- role:角色名称,多个角色可以使用逗号隔开。
- public:代表所有用户,表示对所有用户进行授权。
- with admin option:表示被授权用户还可以再将权限授权给其它用户,即传递权限。
revoke sys_privilege|role from user|role|public
- sys_privilege:系统权限名称,多个权限可以使用逗号隔开。
- role:角色名称,多个角色可以使用逗号隔开。
- user:目标用户名,多个用户可以使用逗号隔开。
- public:代表所有用户,表示回收所有用户sys_privilege代表的权限。
如果用户将系统权限再授权给其它用户,则该用户的系统权限被回收时,并不影响其它用户使用该系统权限,如果也需要回收其它用户的相应权限,则需要由DBA进行相应权限的回收操作。
grant object_privilege|all on [schema.]object to user|role|public [with grant option]
revoke object_privilege|all on [schema.]object from user|role|public
用于角色的创建、分配以及回收。
用于限制用户对数据库系统存储以及计算资源的使用。
用于监视和记录用户在数据库中的活动。