nullORACLE
数据库管理员教程ORACLE
数据库管理员教程参考书籍
参考书籍
清华大学出版社
《ORACLE数据库系统基础》俞盘祥
《数据库管理及应用开发》沈佩娟
汤荷美
电子工业出版社
《ORACLE数据库管理员教程》
孙宏昌 金 毳 数据库管理员是一个或一组全面负责管理和控制数据库系统的人员。
简称:DBA(Data Base Administrator) 数据库管理员是一个或一组全面负责管理和控制数据库系统的人员。
简称:DBA(Data Base Administrator)序数据库管理员的主要职责数据库管理员的主要职责了解ORACLE数据库的体系结构
负责数据库管理系统的安装和升级
启动和关闭数据库
管理和监控数据库用户
管理数据库特权
管理存储空间
建立数据库
后备和恢复数据库第 一 章第 一 章ORACLE的体系结构ORACLE的体系结构 体系结构概述ORACLE的体系结构 体系结构概述物理结构
数据文件、日志文件、控制文件、参数文件
系统全局区(System Global Area)
共享池、数据缓冲区、日志缓冲区
进 程
用户进程、服务器进程、后台进程ORACLE的体系结构 体系结构图示ORACLE的体系结构 体系结构图示ORACLE的体系结构 物理结构 数据文件
日志文件
控制文件
参数文件ORACLE的体系结构 物理结构ORACLE的体系结构 物理结构 数据文件(Data File)是物理存储ORACLE数据库数据的文件。其特点如下:
每一个数据文件只与一个数据库相联系。
数据文件一旦被建立则不能修改其大小。
一个
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
空间可包含一个或多个数据文件。ORACLE的体系结构 物理结构ORACLE的体系结构 物理结构 日志文件(Log File)记录所有对数据库数据的修改,以备恢复数据时使用。其特点如下:
每一个数据库至少包含两个日志文件组。
日志文件组以循环方式进行写操作。
每一个日志文件成员对应一个物理文件。ORACLE的体系结构 物理结构ORACLE的体系结构 物理结构 日志开关(Log Switch)是为实现日志文件组的循环使用而设置的。出现日志开关的情况如下:
当一个日志文件组被填满时
关闭数据库时
DBA手动转移日志开关ORACLE的体系结构 物理结构日志文件写操作图示日志文件写操作图示Group 1Group 2Member 2.1Member 1.1ORACLE的体系结构 物理结构ORACLE的体系结构 物理结构 镜像日志文件是为防止日志文件的丢失,在不同磁盘上同时维护两个或多个联机日志文件的副本。
其特点如下:
每个日志文件组至少包含两个日志文件成员。
每组的成员数目相同。
同组的所有成员同时被修改。
同组的成员大小相同,不同组的成员大小可不同。ORACLE的体系结构 物理结构镜像日志文件图示镜像日志文件图示Group 1Group 2Disk 1Disk 2ORACLE的体系结构 物理结构ORACLE的体系结构 物理结构 控制文件(Control File)是一个较小的二进制文件,用于描述数据库结构。描述信息如下:
数据库建立的日期。
数据库名。
数据库中所有数据文件和日志文件的文件名及路径。
恢复数据库时所需的同步信息。要点注意:
在打开和存取数据库时都要访问该文件。
镜像控制文件。
记录控制文件名及路径的参数为:
CONTROL_FILESORACLE的体系结构 物理结构ORACLE的体系结构 物理结构 参数文件(Parameter File)是一个文本文件,可直接使用操作系统下的文本编辑器对其
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
进行修改。该文件只在建立数据库或启动实例时才被访问,在修改该文件之前必须关闭实例。
初始参数文件:init.ora
生成参数文件:initSID.ora
config.oraORACLE的体系结构 物理结构ORACLE的体系结构 物理结构参数文件的作用:
确定存储结构的大小。
设置数据库的全部缺省值。
设置数据库的范围。
设置数据库的各种物理属性。
优化数据库性能。ORACLE的体系结构 物理结构ORACLE的体系结构 物理结构参数文件中参数的数据类型:
整型
例:DB_BLOCK_SIZE = 2048
字符型
例:DB_NAME = ‘ora7’
逻辑型
例:CHECKPOINT_PROCESS = trueORACLE的体系结构 物理结构ORACLE的体系结构 系统全局区 共 享 池
数据库缓冲区
日 志 缓 冲 区ORACLE的体系结构 系统全局区ORACLE的体系结构 系统全局区实例( INSTANCE )
是存取和控制数据库的软件机制,它由系统全局区(System Global Area,简称SGA)和后台进程组成。ORACLE的体系结构 系统全局区ORACLE的体系结构 系统全局区 SGA是ORACLE系统为实例分配的一组共享缓冲存储区,用于存放数据库数据和控制信息,以实现对数据库数据的管理和操作。ORACLE的体系结构 系统全局区ORACLE的体系结构 系统全局区共享池(Shared Pool)由共享SQL区和数据字典区组成。参数SHARED_POOL_SIZE 确定共享池的大小。共享SQL区包括
SQL或PL/SQL语句的文本
SQL或PL/SQL语句的语法分析形式
SQL或PL/SQL语句的执行方案数据字典区用于存放数据字典信息行。ORACLE的体系结构 系统全局区ORACLE的体系结构 系统全局区数据缓冲存储区(Database Buffer Cache)用于存储从数据文件中读的数据的备份。DB_BLOCK_SIZE
确定数据块的大小,一般为2K或4K,对于大数据块的数据库,此参数值为物理块的倍数。
DB_BLOCK_BUFFERS
确定数据块的数目。ORACLE的体系结构 系统全局区ORACLE的体系结构 系统全局区数据缓冲存储区分为
脏列表
包括被修改过但尚未写到数据文件的缓冲块。
LRU(Least Recently Used)列表
包括空闲缓冲块、正在存取的缓冲块、已被修改但尚未移到脏列表的缓冲块。ORACLE的体系结构 系统全局区ORACLE的体系结构 系统全局区日志缓冲存储区(Log Buffer)以记录项的形式备份数据库缓冲区中被修改的缓冲块,这些记录将被写到日志文件中。
LOG_BUFFER
确定日志缓冲区的大小。ORACLE的体系结构 系统全局区ORACLE的体系结构 进 程 用 户 进 程
服务器进程
后 台 进 程ORACLE的体系结构 进 程ORACLE的体系结构 进 程 ORACLE实例分为单进程实例和多进程实例两种。
SINGLE_PROCESS
单进程/多进程实例的转换。ORACLE的体系结构 进 程ORACLE的体系结构 进 程单进程/单用户
一个进程执行全部ORACLE代码。ORACLE的体系结构 进 程ORACLE的体系结构 进 程多进程/多用户
使用多个进程执行ORACLE的不同代码,对于每一个连接的用户都有一个进程。ORACLE的体系结构 进 程ORACLE的体系结构 进 程专用服务器方式
为每个用户单独开设一个服务器进程。适用于实时系统。
不设置参数:
MTS_SERVICE
MTS_DISPATCHERS
MTS_SERVERS
MTS_LISTERNET_ADDRESSORACLE的体系结构 进 程ORACLE的体系结构 进 程多线索服务器方式
通过调度器为每个用户进程分配服务器进程。设置参数:
MTS_SERVICE
MTS_DISPATCHERS
MTS_SERVERS
MTS_LISTERNET_ADDRESSORACLE的体系结构 进 程参数的涵义参数的涵义 MTS_SERVICE:服务器名,缺省值为DB_NAME
MTS_DISPATCHERS:调度器个数
MTS_SERVERS:可以启动的服务器进程的个数
MTS_LISTERNET_ADDRESS:SQL*NET监听器地址
MTS_MAX_SERVERS:服务器进程的最大数ORACLE的体系结构 进 程ORACLE的体系结构 用户进程用户进程
当用户运行一个应用程序时,就建立一个用户进程。ORACLE的体系结构 用户进程ORACLE的体系结构 服务器进程服务器进程
处理用户进程的请求。
处理过程
分析SQL命令并生成执行方案。
从数据缓冲存储区中读取数据。
将执行结果返回给用户。ORACLE的体系结构 服务器进程ORACLE的体系结构 后台进程后台进程
为所有数据库用户异步完成各种任务。ORACLE的体系结构 后台进程ORACLE的体系结构 后台进程DBWR(Data Base Writer)
将数据缓冲区中所有修改过的缓冲块数据写到数据文件中,并使用LRU算法来保持缓冲区中的数据块为最近经常使用的,以减少I/O次数。该进程在启动实例时自动启动。ORACLE的体系结构 后台进程ORACLE的体系结构 后台进程DBWR进行写操作的情况:
脏列表达到最低限制。
相当于参数DB_BLOCK_WRITE_BATCH值的一半。
一个进程在LRU列表中扫描指定数目的缓冲块,未找到空闲缓冲块。
参数DB_BLOCK_MAX_SCAN_CNT确定扫描数目。ORACLE的体系结构 后台进程ORACLE的体系结构 后台进程DBWR进行写操作的情况:
出现超时
3秒钟内该进程未活动,则该进程将在LRU列表中查找尚未查找的缓冲块,这组缓冲块的数目相当于参数DB_BLOCK_WRITE_BATCH值的2倍。
出现检查点。
ORACLE的体系结构 后台进程ORACLE的体系结构 后台进程LGWR(Log Writer)
将日志缓冲区中的所有记录项写到日志文件中。
该进程在启动实例时自动启动。ORACLE的体系结构 后台进程ORACLE的体系结构 后台进程LGWR进行写操作的情况:
用户进程提交一个事务(Commit)
日志缓冲区达到1/3范围
DBWR对一个检查点需要清除缓冲块
出现超时(3秒钟内未活动,则进行一次写操作。)ORACLE的体系结构 后台进程ORACLE的体系结构 后台进程检查点(Checkpoint) :
在检查点出现期间,DBWR进程将数据缓冲区中的所有脏缓冲块写到数据文件中,LGWR进程将日志缓冲区中的所有记录项写到日志文件中,以确保上一个检查点至今修改过的所有数据块都被写到磁盘上。ORACLE的体系结构 后台进程ORACLE的体系结构 后台进程检查点:
预定数目的记录项被填满。
参数LOG_CHECKPOINT_INTERVAL确定了预定数目。
设置指定的秒数。
参数LOG_CHECKPOINT_TIMEOUT确定了间隔秒数。
每个日志开关处
关闭实例时 DBA手动操作。
表空间离线。ORACLE的体系结构 后台进程ORACLE的体系结构 后台进程CKPT(Checkpointer)
在控制文件中记录检查点。参数CHECKPOINT_PROCESS 确定了检查点的启动/不启动状态。
若CKPT进程不启动,则该进程的工作将由LGWR进程代劳。(如果数据库的数据文件过多,这样操作会降低系统性能。)ORACLE的体系结构 后台进程ORACLE的体系结构 后台进程ARCH(Archiver)
在日志文件组出现切换时,将旧日志文件的内容拷贝到脱机存储介质上,出现介质失败时用于恢复数据。
LOG_ARCHIVE_START
确定了该进程的启动/不启动状态。ORACLE的体系结构 后台进程ORACLE的体系结构 后台进程ARCH(Archiver)
LOG_ARCHIVE_DEST
当数据库在归档模式下操作时,该参数确定了日志文件的归档目标。
LOG_ARCHIVE_FORMAT
当数据库在归档模式下操作时,该参数确定了归档日志文件的缺省文件名格式。
ORACLE的体系结构 后台进程ORACLE的体系结构 后台进程SMON(System Monitor)
负责完成自动实例恢复。该进程在启动实例时自动启动。
PMON(Process Monitor)
撤消异常中断的用户进程,并释放该进程已获得的系统资源或锁。ORACLE的体系结构 后台进程ORACLE的体系结构 后台进程RECO(Recover)
在分布式操作的情况下,恢复一个事务的失败。
LCKn(Lock)
在并行服务器系统间加锁,最多可加10个锁,分别为LCK0,LCK1,,LCK9。ORACLE的体系结构 后台进程ORACLE的体系结构 示 例处理SQL语句的三个阶段
语法分析
执行
返回指令ORACLE的体系结构 示 例ORACLE的体系结构 示 例 SELECT操作SQL> SELECT sal FROM emp
WHERE job = ‘CLERK’ ;ORACLE的体系结构 示 例ORACLE的体系结构 示 例UPDATE操作
为了支持读一致性,恢复和回滚,所有修改操作需要回滚段。修改操作执行: 将数据块送到数据缓冲区
将回滚块送到数据缓冲区
在修改行上设置行锁
保存回滚数据到回滚段块
将修改写到数据块ORACLE的体系结构 示 例ORACLE的体系结构 示 例 UPDATE操作SQL> SELECT sal FROM emp
WHERE job = ‘CLERK’ ;SQL> UPDATE emp SET sal = sal * 1.1
WHERE job = ‘CLERK’ ;ORACLE的体系结构 示 例第 二 章第 二 章ORACLE的逻辑结构ORACLE的逻辑结构ORACLE的逻辑结构 ORACLE的逻辑结构是由一个或多个表空间组成。
一个表空间由一组分类段组成
一个段由一组范围组成
一个范围由一批数据库块组成
一个数据库块对应一个或多个物理块逻
辑
结
构
图
示逻
辑
结
构
图
示ORACLE的逻辑结构 数据库块ORACLE的逻辑结构 数据库块 数据库块(Database Block)是数据库使用的I/O最小单元,又称逻辑块或ORACLE块。
一个数据库块对应一个或多个物理块,块的大小由参数DB_BLOCK_SIZE确定。ORACLE的逻辑结构 数据库块ORACLE的逻辑结构 数据库块 标
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
:包括通用的块信息,如块地址/段类型等,最佳大小为85-100bytes。
表目录:存储聚集中表的信息,这些信息用于聚集段。
行目录:包括这块中的有效行信息,允许使用每行开头的2bytes。
自由空间:这块中能插入或修改的一组空间。
行数据:存储表或索引的数据。数
据
库
块
的
格
式数
据
库
块
的
格
式ORACLE的逻辑结构 数据库块ORACLE的逻辑结构 数据库块ORACLE的逻辑结构 数据库块 PCTFREE
用于行的UPDATE操作,在遇到PCTFREE后,这块被填满且不能进行INSERT操作。PCTUSED
用于行的INSERT的操作,当块的百分比小于PCTUSED时,可通过行DELETE或UPDATE来减少列存储。ORACLE的逻辑结构 数据库块ORACLE的逻辑结构 数据库块PCTFREE = 20%PCTUSED = 40%ORACLE的逻辑结构 范 围ORACLE的逻辑结构 范 围 范围(Extent)是数据库存储空间分配的逻辑单位,一个范围由一组数据库块组成,范围是由段分配的,分配的第一个范围称初始范围,以后分配的范围称增量范围。逻
辑
结
构
范
围逻
辑
结
构
范
围控
制
范
围
分
配
的
参
数
ORACLE的逻辑结构 段ORACLE的逻辑结构 段 段(Segment)是表空间中一个指定类型的逻辑存储结构,它由一个或多个范围组成,段将占用并增长存储空间。ORACLE的逻辑结构 段ORACLE的逻辑结构 段段的分类ORACLE的逻辑结构 表空间ORACLE的逻辑结构 表空间 表空间(Tablespace)是数据库中物理编组的数据仓库,对应一个或多个数据文件,表空间的大小是它所对应的数据文件大小的总和。ORACLE的逻辑结构 表空间ORACLE的逻辑结构 表空间System TablespaceData TablespaceORACLE的逻辑结构 数据库结构ORACLE的逻辑结构 数据库结构 ORACLE数据库中的数据逻辑存储在表空间中,物理存储在数据文件中。第 三 章第 三 章数据库的安装硬件结构硬件结构数据库的安装 硬件需求数据库的安装 硬件需求 服务器
CPU Intel 486
网卡 支持TCP/IP协议
内存 16M
外存 1GB 客 户
Intel 486
支持TCP/IP协议
16M
400MB数据库的安装 软件需求数据库的安装 软件需求 服务器
操作系统
TCP/IP协议
客 户
操作系统
TCP/IP协议
数据库的安装 安装示例数据库的安装 安装示例1.修改OS参数
SEMMNI 20
SEMMNS 60
SHMMAX 20971520
SHMMNI 100
SHMSEG 15
2.重新启动系统
3.建立一个ORACLE用户(DBA组),并登录到ORACLE用户下。
数据库的安装 安装示例数据库的安装 安装示例4.设置环境变量
vi .profile
追加下列语句:
ORACLE_HOME = /目录名/用户名
(/oracle/oracle7)
ORACLE_SID = 数据库名(ora7)
TK2DEV = 终端类型(ansi)数据库的安装 安装示例数据库的安装 安装示例5.读介质
磁盘:
$ dd ibs=8k if=/dev/rdsk/f0q18dt
|uncompress| cpio -icBmvd
磁带:
$ cpio -icBvd 输入行命令
点菜单:
$ sqldbaDBA应用程序DBA应用程序 SQL*DBA
SQL*Loader
Export/ImportSQL*Loader
将标准操作系统文件(文本文件或C数据格式文件)中的数据安装到ORACLE数据基表中。 (DBA和用户都可以使用)
DBA应用程序DBA应用程序 SQL*DBA
SQL*Loader
Export/ImportExport/Import
允许DBA卸出/恢复ORACLE格式的数据。
ORACLE特殊用户ORACLE特殊用户 internal
system
sysinternal
只能在服务器端使用的超级用户,它具有DBA的所有特权。
连接方式与普通用户相同。
ORACLE特殊用户ORACLE特殊用户 internal
system
sysSystem (manager)
在建立数据库时自动建立的一个超级用户,它拥有显示管理信息的附加表和视图,以及由ORACLE工具使用的所有表和视图。
连接方式与普通用户相同。
ORACLE特殊用户ORACLE特殊用户 internal
system
sysSys(change_on_install)
只能在服务器端使用的超级用户,它具有DBA的所有特权。
连接方式与普通用户相同。
数据库管理员的身份识别数据库管理员的身份识别通过操作系统识别 ,设置参数: REMOTE_LOGIN_PASSWORDFILE=NONE
connect / as sysoper或connect / as sysdba
操作系统角色OSOPER和OSDBA,相当于旧版本的connect internal。
通过Oracle自己的Password文件识别 REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
opapwd file=filename password= password entries=max_users grant sysdba to scott或grant sysoper to scott
connect scott/tiger@score.edu as sysdba第 四 章第 四 章数据库的启动和关闭数据库的启动数据库的启动启动步骤:
启动SQL*DBA
连接INTERNAL用户
启动实例 读参数文件
分配SGA
启动后台进程
打开后台跟踪文件数
据
库
的
启
动数
据
库
的
启
动用菜单命令启动数据库,出现对话框如下:
数据库的启动数据库的启动启动方式:数据库的启动数据库的启动参数说明:
Exclusive/Parallel:专用/并行数据库模式。
Database Name:要启动的数据库名,默认值为ORACLE_SID变量的值。
Parameter File:在启动实例时,访问的参数文件名,默认文件为initSID.ora。数据库的启动数据库的启动约束条件:
Force:在启动实例前,强行关闭当前实例。
Restrict to DBAs:数据库启动后,只有DBA特权的用户才能访问数据库。
Recover:在启动实例时,用日志文件做数据库恢复。数据库的启动数据库的启动例:用行命令启动数据库
$ sqldba mode = line
SQLDBA> connect internal
SQLDBA> startup数
据
库
的
关
闭数
据
库
的
关
闭数
据
库
的
关
闭数
据
库
的
关
闭关闭方式:
Normal
处理完用户提交的所有事务,等待
用户退出连接后,关闭数据库、卸载数
据库、关闭实例。在下次启动实例时,
不做实例恢复操作。
Immediate/ Abort Instance
结束正在处理的SQL语句、回滚未
提交事务、不等待用户退出正常连接。
在下次启动实例时,做实例恢复操作。数据库的关闭数据库的关闭例:用行命令关闭数据库
$ sqldba mode = line
SQLDBA> connect internal
SQLDBA> shutdown 第 五 章第 五 章安全管理null安
全
管
理
用
户
管
理 null安全管理 用户管理 参数说明:
Name:用户名
Password Authentication:用户密码
OS Authentication:操作系统识别方式,设参数
OS_AUTHENT_PREFIX的值为“OPS$”。
Default Tablespace:用户对象保存的表空间
Temporary Tablespace:临时用户对象保存的表空间
Quotas:用户使用的表空间限量
Profile:用户使用的系统资源限量null安全管理 用户管理 行命令建立用户:
CREATE USER 用户名 INDENTIFIED BY 口令
EXTERNALLY
DEFAULT TABLESPACE 表空间名
TEMPORARY TABLESPACE 表空间名
QUOTA 整数 K/M ON 表空间名
UNLIMITED
PROFILE 环境文件名null安全管理 用户管理 例1:建立用户sidney
CREATE USER sidney INDENTIFIED BY carton
DEFAULT TABLESPACE cases_ts
TEMPORARY TABLESPACE temp_ts
QUOTA 5M ON cases_ts
QUOTA 5M ON temp_ts
PROFILE engineer ;null安全管理 用户管理 例2:建立按操作系统帐号george可存取的用户。
CREATE USER OPS$georage
INDENTIFIED EXTERNALLY
DEFAULT TABLESPACE accs_ts
TEMPORARY TABLESPACE temp_ts
QUOTA UNLIMITED ON accs_ts
QUOTA UNLIMITED ON temp_ts ;null安
全
管
理
用
户
管
理 null安全管理 用户管理 参数说明:
No change in Authentication:无识别方式
Password Authentication:用户密码
OS Authentication:操作系统识别方式
Default Tablespace:用户对象保存的表空间
Temporary Tablespace:临时用户对象保存的表空间
Quotas:用户使用的表空间限量
Profile:用户使用的系统资源限量
Default Role:分配给用户的角色null安全管理 用户管理 null安全管理 用户管理 例1:
ALTER USER scott INDENTIFIED BY lion
DEFAULT TABLESPACE tstest ;
例2:
ALTER USER scott PROFILE clerk ; null安
全
管
理
用
户
管
理 null安全管理 用户管理 行命令删除用户:
DROP USER 用户名 CASCADE
例如:
DROP USER bradley CASCADE ;null安
全
管
理
用
户
管
理 例如:
ALTER SYSTEM KILL SESSION ‘ 9, 3 ’ ;null安全管理 用户管理 与用户管理有关的数据字典视图:
USER_USERS
ALL_USERS
DBA_USERS
USER_TS_QUOTAS
DBA_TS_QUOTASnull安
全
管
理
环
境
文
件
管
理 null安全管理 环境文件管理 参数说明:
Sessions/User:限制一个用户的并发会话个数。
CPU Time/Session :限制一次会话的CPU时间,单位:百分之一秒。
CPU Time/Call:限制一次调用(一次语法分析、执行或获得)的CPU时间,单位:百分之一秒。
Connect Time:限制一会话总的使用时间,单位:分。
Idle Time:限制会话期间连接不活动周期,单位:分。长的运行查询和其它操作不受这个限制。null安全管理 环境文件管理 参数说明:
Logical Reads/Session:限制在一次会话中读的数据块的数目,包括从内存或磁盘读的块数。
Logical Reads/Call:限制处理一个SQL语句(语法分析、执行和获取)一次调用所读的数据块的数目。
Private SGA/Session:限制一次会话在SGA的共享池可分配的专用空间的数目,单位:bytes/Kbytes/Mbytes。
Composite Limit:一次会话总的资源开销,以服务单位表示该参数的值。null安全管理 环境文件管理 ORACLE以下列资源的带权的和计算总的资源开销:
CPU Time/Session
Connect Time
Logical Reads/Session
Private SGA/Sessionnull安全管理 环境文件管理 null安全管理 环境文件管理 例如:建立环境文件SYSTEM_MANAGER。
CREATE PROFILE system_manager
LIMIT SESSIONS_PER_USER UNLIMITED
CPU_PER_SESSION UNLIMITED
CONNECT_TIME 45
LOGICAL_READS_PER_SESSION DEFAULT
LOGICAL_READS_PER_CALL 1000
PROVATE_SGA 15K
COMPOSITE_LIMIT 5000000 ;null安
全
管
理
环
境
文
件
管
理 null安全管理 环境文件管理 null安全管理 环境文件管理 例:在ENGINEER环境文件中定义5个
并行会话的限制。
ALTER PROFILE engineer LIMIT
SESSION_PER_USER 5 ;
null安
全
管
理
环
境
文
件
管
理 行命令删除环境文件:
DROP PROFILE 环境文件名 CASCADE null安
全
管
理
环
境
文
件
管
理 null安
全
管
理
环
境
文
件
管
理 行命令更改资源开销:
ALTER RESOUCE COST
CPU_PER_SESSION 整数
CONNECT_TIME 整数
LOGICAL_READS_PER_SESSION 整数
PRIVATE_SGA 整数
例如:指定资源的权。
ALTER RESOUCE COST
CPU_PER_SESSION 100
CONNECT_TIME 1null安全管理 环境文件管理 与环境文件有关的数据字典视图:
USER_RESOURCE_LIMITS
DBA_PROFILES
RESOURCE_COSTnull安全管理 特权管理 系统特权:完成特殊活动或在一个特殊
类型的对象上完成特殊活动
的一个特权。
对象特权:在一个指定的对象(表、视
图、序列、过程、函数或包)
上完成一个特殊活动的特权。 null安
全
管
理
特
权
管
理null安全管理 特权管理 null安全管理 特权管理 例1:将CREATE SESSION系统特权
授予RICHARD。
GRANT create session TO richard ;
例2:将 CREATE TABLE 系统特权
授予RICHARD并带有允许授权选项。
GRANT create table TO richard
WITH ADMINI OPTION ; null安
全
管
理
特
权
管
理null安全管理 特权管理 null安全管理 特权管理 例:从用户Bill和Mary回收DROP ANY
TABLE系统特权。
REVOKE drop any table FROM bill , mary ;
null安全管理 特权管理 回收系统特权的连锁反映分析:null安全管理 特权管理 对象特权的授权:
例1:
GRANT select ON dept TO stu10 , stu11 ;
例2:
GRANT select , insert(empno , ename) , update(ename)
ON emp TO scott WITH GRANT OPTION ; null安全管理 特权管理 对象特权的回收:
例1:
REVOKE select ON dept FROM stu10 , stu11 ;
例2:
REVOKE all ON emp FROM scott ; null安全管理 特权管理 回收对象特权的连锁反映分析:null安全管理 特权管理 与特权有关的数据字典视图:
DBA_SYS_PRIVS
TABLE_PRIVILEGES
COLUMN_PRIVILEGES
ALL/USER_TAB_PRIVS
ALL/USER_TAB_PRIVS_MADE
ALL/USER_TAB_PRIVS_RECD
ALL/USER_COL_PRIVS
ALL/USER_COL_PRIVS_MADE
ALL/USER_COL_PRIVS_RECDnull安全管理 角色管理 角色是由一个命名的关联特
权组组成,用来维护和控制特权。
角色的特点:
减少授权次数
动态的特权管理
选择可用特权null安全管理 角色管理 无角色管理的授权示意图null安全管理 角色管理 使用角色管理的授权示意图null安全管理 角色管理 ORACLE数据库预定义的角色:
CONNECT: ALTER SESSION, CREATE CLUSTER, CTEATE DATABASE LINK, CREATE SEQUENCE, CREATE SESSION, CREATE SYNONYM, CREATE
TABLE, CREATE TABLE, CREATE TRIGGER
RESOURCE: CREATE CLUSTER, CREATE PROCEDURE, CREATE SEQUENCE, CREATE TABLE, CREATE TRIGGER
DBA: All system privileges WITH ADMIN OPTION
EXP_FULL_DATABASE: SELECT ANY TABLE, BACKUP ANY TABLE, INSERT, DELETE and UPDATE on the tables SYS.INCVID, SYS.INCFIL and SYS.INCEXP
IMP_FULL_DATABASE: BECOME USER, WRITEDOWNnull安
全
管
理
角
色
管
理null安全管理 角色管理 例1:
CTEATE ROLE acct ;
例2:
CTEATE ROLE acct IDENTIFIED BY bicent ;null安
全
管
理
角
色
管
理null安全管理 角色管理 例:
ALTER ROLE acct NOT IDENTIFIED ;null安
全
管
理
角
色
管
理null安全管理 角色管理 行命令删除角色:
DROP ROLE 角色名
例:
DROP ROLE acct ;null安全管理 角色管理 行命令删除角色:
DROP ROLE 角色名
例:
DROP ROLE acct ;注:授予角色特权和回收角色特
权的操作与给用户授权和回收操
作相同。null安全管理 特权管理 与角色有关的数据字典视图:
ROLE_SYS_PRIVS
ROLE_TAB_PRIVS
ROLE_ROLE_PRIVS
SESSION_ROLES
USER_ROLE_PRIVS
DBS_ROLES第 六 章第 六 章数据库物理文件
及存储空间的管理null数据库物理文件的管理 数据文件null数据库物理文件的管理 数据文件行命令追加数据文件:null数据库物理文件的管理 数据文件例如:
ALTER TABLESPACE users
ADD DATAFILE ‘userora1.dbf ’ SIZE 1M ;null数据库物理文件的管理 数据文件注意:在执行该操作之前,新文件名应在指定路径下存在。null数据库物理文件的管理 数据文件例如:
ALTER TABLESPACE users
RENAME DATAFILE ‘filename1’, ‘filename2’
TO ‘filename3’, ‘filename4’ ;null数据库物理文件的管理 数据文件 更改数据库命令的语法格式见《ORACLE数据库基础》P158。
例如:
ALTER DATABASE
RENAME FILE ‘filename1’, ‘filename2’
TO ‘filename3’, ‘filename4’ ;null数据库物理文件的管理 数据文件与数据文件有关的数据字典视图:
DBA_DATA_FILES
V$DATAFILEnull数据库物理文件的管理 日志文件null数据库物理文件的管理 日志文件行命令增加在线日志文件组,例如:
ALTER DATABASE
ADD LOGFILE (‘log1c.log’, ‘log2c.log’) SIZE 500K ;null数据库物理文件的管理 日志文件 删除在线日志文件组,DBA应在该操作之前考虑如下问题:
删除该日志文件组后,数据库至少还包含两个在线日志文件组。
要删除的在线日志文件组是否为当前日志文件组。
要删除的在线日志文件组是否已归档。null数据库物理文件的管理 日志文件注意:该操作只删除了控制文件中的指针,即进行了逻辑删除,物理删除直接使用操作系统命令完成。null数据库物理文件的管理 日志文件行命令删除在线日志文件组,例如:
ALTER DATABASE
DROP LOGFILE GROUP 3 ;null数据库物理文件的管理 日志文件null数据库物理文件的管理 日志文件行命令增加在线日志文件成员,例如:
ALTER DATABASE
ADD LOGFILE MEMBER ‘log2b.log’ TO GROUP 2 ;null数据库物理文件的管理 日志文件注意:在执行该操作之前,新文件名应在指定路径下存在。null数据库物理文件的管理 日志文件行命令增加在线日志文件成员,例如:
ALTER DATABASE
RENAME FILE ‘filename1’, ‘filename2’
TO ‘filename3’, ‘filename4’ ;null数据库物理文件的管理 日志文件 删除在线日志文件成员,DBA应在该操作之前考虑如下问题:
删除该日志文件成员后,每个日志文件组至少还包含两个在线日志文件成员。
要删除的在线日志文件成员是否为当前日志文件组的成员。
要删除的成员所属的在线日志文件组是否已归档。null数据库物理文件的管理 日志文件注意:该操作只删除了控制文件中的指针,即进行了逻辑删除,物理删除直接使用操作系统命令完成。null数据库物理文件的管理 日志文件行命令删除在线日志文件成员,例如:
ALTER DATABASE
DROP LOGFILE MEMBER ‘log3c.log’ ;null数据库物理文件的管理 控制文件镜像控制文件的步骤:
关闭数据库
使用操作系统命令复制一份控制文件。
将CONTROL_FILES参数加入参数文件中,以指定复制的控制文件名及路径。
重新启动数据库null数据库存储空间的管理 表空间null数据库存储空间的管理 表空间参数说明:
Name:表空间名
Data Files:数据文件名及大小
Storage:设置表空间的存储参数
Bring Online After Creation:表空间在线
Leave Offine After Creation:表空间离线null数据库存储空间的管理 表空间null数据库存储空间的管理 表空间例如:
CREATE TABLESPACE user_stu
DATAFILE ‘diska:user_stu1.dat’ SIZE 20M
DEFAULT STORAGE
( INITIAL 10K
NEXT 50K
MINEXTENTS 1
MAXEXTENTS 99
PCTINCREASE 10 )
ONLINE ;null数据库存储空间的管理 表空间null数据库存储空间的管理 表空间null数据库存储空间的管理 表空间例如:
ALTER TABLESPACE accounting
ONLINE ;null数据库存储空间的管理 表空间null数据库存储空间的管理 表空间参数说明:
Normal:ORACLE检测该离线表空间所对应的数据文件是否有问题,如果没有问题可离线。
Temporary:ORACLE检测该离线表空间所对应的数据文件是否有问题,如果有问题可离线。
Immediate:不检测该离线表空间所对应的数据文件,直接离线。null数据库存储空间的管理 表空间例如:
ALTER TABLESPACE accounting
OFFLINE NORMAL;null数据库存储空间的管理 表空间null数据库存储空间的管理 表空间参数说明:
Including contained objects
删除表空间的同时,将该表空间包含的对象一并从数据库中删除。
Cascade drop of integrity constraints
在删除表空间包含的对象的同时,将每个模式对象所对应的约束一并从数据库中删除。null数据库存储空间的管理 表空间行命令删除表空间:DROP TABLESPACE 表空间名
INCLUDING CONTENTS
CASCADE CONSTRAINTSnull数据库存储空间的管理 表空间例如:
DROP TABLESPACE user_stu
INCLUDING CONTENTS
CASCADE CONSTRAIN