




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、ORACLE数据库培训教程,内容纲要:,数据库基础,DBA基本管理,数据库备份与恢复,数据库性能调整,SQL/PL*SQL,数据库管理员是一个或一组全面负责管理和控制数据库系统的人员。简称:DBA(Data Base Administrator),序,数据库管理员的主要职责,了解ORACLE数据库的体系结构 负责数据库管理系统的安装和升级 建立数据库 启动和关闭数据库 管理和监控数据库用户 管理数据库特权 管理存储空间 数据库性能调整,数据库管理员的主要职责(续),备份和恢复数据库 问题发现及处理,第一章,ORACLE发展综述及前景,数据管理得发展和特点,人工管理阶段 文件系统阶段 数据库系统
2、阶段,人工管理阶段(50年代中期),早期的数据处理都是通过手工进行的,因为当时的计算机主要用于科学计算。,应用程序2,数组2,. . . . . .,手工处理数据有两个缺点:第一,应用程序之间的依赖性太强,不独立;第二,数据组和数据组之间可能有许多重复数据,造成数据冗余。,应用程序1,数组1,应用程序N,数组N,文件系统阶段(50年代中期-60年代中期),文件系统的最大特点是解决了应用程序和数据之间的一个公共接口问题,使得应用程序采用统一的存取方法来操作数据。不过,文件系统只是简单地存放数据,相互之间并没有有机的联系。,应用程序1,应用程序2,应用程序N,数据库 管理系统,数据库系统阶段(60
3、年代后期-现在),数据库系统由计算机软、硬件资源组成,它实现了有组织地、动态地存储大量有关联数据,方便多用户访问,它与文件系统的主要区别是数据的充分共享、交叉访问、与应用程序的高度独立性。,数据库管理系统对数据的处理方式和文件系统不同,它把所有应用程序中所使用的数据汇集在一起,并以记录为单位存储起来,以便于应用程序查询和使用。,数据库系统和文件系统的区别是:数据库对数据的存储是按照同一结构进行的,不同的应用程序都可以直接操作这些数据(即对应用程序的高度独立性)。,数据库系统的组成,数据 应用程序 用户 软件 硬件,ORACLE发展历史,Larry Ellison(拉里.埃利森)作为Oracle
4、公司的董事长兼首席执行官于1977年和Robert Minor(罗伯特.迈诺)一道在Redwood创建了Oracle公司。他们率先推出了基于IBM System/R(关系)模型的关系数据库管理系统(RDBMS),同时它也是第一个使用IBM结构化查询语言(SQL)的RDBMS。 今天,Oracle RDBMS支持80多种不同工作环境,这些环境包括IBM大型机、DEC VAX小型机,基于UNIX的小型机、WindowsNT以及多种专利硬件操作系统平台。很显然,Oracle是世界上最大的RDBMS开发商。从收入、软件和服务的角度讲,Oracle是仅次于Microsoft的第二大软件公司。,什么是OR
5、ACLE ORACLE的中文含义为“神谕”,ORACLE发展里程碑,1977Oracle公司成立 1979商用RDBMS 1983可移植的RDBMS 1984可移植的(SQL*)工具集 1986客户/服务器RDBMS 1987CASE工具 1988发布Oracle 6 1990基于客户机的工具集 1992发布UNIX版本的Oracle 7 1993发布合作开发环境(CDE) 发布Oracle Media Server(媒体服务器) 1994发布PC版本的Oracle 7 1996发布Oracle Universal Server 1997发布Oracle 8,ORACLE产品及其组成,数据服务
6、器 应用服务器 开发工具 决策支持产品 应用软件 工作组产品,ORACLE的特点,支持大型数据库和多用户的高性能事物处理 具有可移植性、可兼容性和可连接性 先进性,支持大型数据库和多用户的高性能事物处理,Oracle支持最大的数据库,其大小10万G,支持上万个并发用户,在同一数据上实现各种数据应用,并司数据争 用最小,保证数据一致性。系统维护具有很高的性能,Oracle每天可连接24小时工作。Oracle将存放在多台计算机上的数据组合成一个逻辑数据库,可被全部网络用户存取。分布式系统像集中式数据库一样具有用户透明性和数据一致性。,具有可移植性、可兼容性和可连接性,由于Oracle软件可在许多不
7、同的操作系统上运行,因而在Oracle上所开发的应用可移植到任何操作系统,只需很少修改或不需要修改。Oracle软件同工业标准相兼容,包括许多工业标准的操作系统,所开发系统可在任何操作系统上运行。可连接性是指Oracle允许不同类型的计算机和操作系统通过网络共享信息。,先进性,Oracle是数据库领域的排头兵,从最早的关系型数据库到Oracle8 ,一直到最新的全面支持Internet的数据库Oracle 8i(它把数据库和Internet彻底地结合在一起),其技术都处于领先地位。,ORACLE的未来,基于INTERNET的网络应用 e_business 企业级应用(CRM、ERP),第 二
8、章,ORACLE的体系结构,基本概念,数据库 表空间 文件 实例,数据库,数据库是一个数据的集合,Oracle能够提供关系模式存储和访问数据的方法,因此Oracle是一种关系型数据库管理系统(RDBMS),“数据库”不只是指物理上的数据,也指在本章中描述的物理、存储及进程对象的一个组合。 除了以关系格式存储数据,Oracle8支持面向对象结构如抽象数据类型及方式。 无论是面向对象结构还是关系结构,Oracle数据库都将其数据存储在文件中。,表空间,表空间是数据库的逻辑划分,每个数据库至少有一表空间(叫system表空间),为便于管理及提高运行效率,其他表空间可供用户群及应用系统共同使用。一个表
9、空间只能属于一个数据库。,文件,每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫做数据文件。一个数据文件只能属于一个表空间。,实例,数据库实例(也称为服务器server)就是用来访问一个数据库文件集的一个存储结构及后台进程的集合。,ORACLE的体系结构 体系结构概述,物理结构 数据文件、日志文件、控制文件、参数文件 系统全局区(System Global Area) 共享池、数据缓冲区、日志缓冲区 进 程 用户进程、服务器进程、后台进程,总观,Oracle 内存结构,进程,文件,ORACLE的体系结构 体系结构图示,数据文件 日志文件 控制文件 参数文件,ORACLE的体系结构 物理结
10、构,数据文件(Data File)是物理存储ORACLE数据库数据的文件。其特点如下: 每一个数据文件只与一个数据库相联系。 数据文件一旦被建立则不能修改其大小。 一个表空间可包含一个或多个数据文件。,ORACLE的体系结构 物理结构,日志文件(Log File)记录所有对数据库数据的修改,以备恢复数据时使用。其特点如下: 每一个数据库至少包含两个日志文件组。 日志文件组以循环方式进行写操作。 每一个日志文件成员对应一个物理文件。,ORACLE的体系结构 物理结构,日志开关(Log Switch)是为实现日志文件组的循环使用而设置的。出现日志开关的情况如下: 当一个日志文件组被填满时 关闭数据
11、库时 DBA手动转移日志开关,ORACLE的体系结构 物理结构,日志文件写操作图示,Group 1,Group 2,Member 2.1,Member 1.1,ORACLE的体系结构 物理结构,镜像日志文件是为防止日志文件的丢失,在不同磁盘上同时维护两个或多个联机日志文件的副本。 其特点如下: 每个日志文件组至少包含两个日志文件成员。 每组的成员数目相同。 同组的所有成员同时被修改。 同组的成员大小相同,不同组的成员大小可不同。,ORACLE的体系结构 物理结构,ORACLE的体系结构 物理结构,镜像日志文件,Group 1,Group 2,Group 3,Disk 1,Disk 2,Memb
12、er A,Member A,Member A,Member B,Member B,Member B,控制文件(Control File)是一个较小的二进制文件,用于描述数据库结构。,描述信息如下: 数据库建立的日期。 数据库名。 数据库中所有数据文件和日志文件的文件名及路径。 恢复数据库时所需的同步信息。,要点注意: 在打开和存取数据库时都要访问该文件。 镜像控制文件。 记录控制文件名及路径的参数为: CONTROL_FILES,ORACLE的体系结构 物理结构,参数文件(Parameter File)是一个文本文件,可直接使用操作系统下的文本编辑器对其内容进行修改。该文件只在建立数据库或启动
13、实例时才被访问,在修改该文件之前必须关闭实例。 初始参数文件:init.ora 生成参数文件:initSID.ora config.ora,ORACLE的体系结构 物理结构,参数文件的作用: 确定存储结构的大小。 设置数据库的全部缺省值。 设置数据库的范围。 设置数据库的各种物理属性。 优化数据库性能。,ORACLE的体系结构 物理结构,参数文件中参数的数据类型: 整型 例:DB_BLOCK_SIZE = 2048 字符型 例:DB_NAME = ora7 逻辑型 例:CHECKPOINT_PROCESS = true,ORACLE的体系结构 物理结构,共 享 池 数据库缓冲区 日 志 缓 冲
14、 区,ORACLE的体系结构 系统全局区,实例( INSTANCE ) 是存取和控制数据库的软件机制,它由系统全局区(System Global Area,简称SGA)和后台进程组成。,ORACLE的体系结构 系统全局区,Oracle 实例,服务器进程,Shared Pool,Database Buffer Cache,SGA,Redo LogBuffer,用户进程,Oracle Instance,SGA是ORACLE系统为实例分配的一组共享缓冲存储区,用于存放数据库数据和控制信息,以实现对数据库数据的管理和操作。,ORACLE的体系结构 系统全局区,共享池(Shared Pool)由共享SQ
15、L区和数据字典区组成。参数SHARED_POOL_SIZE 确定共享池的大小。,共享SQL区包括 SQL或PL/SQL语句的文本 SQL或PL/SQL语句的语法分析形式 SQL或PL/SQL语句的执行方案,数据字典区用于存放数据字典信息行。,ORACLE的体系结构 系统全局区,数据缓冲存储区(Database Buffer Cache)用于存储从数据文件中读的数据的备份。,DB_BLOCK_SIZE 确定数据块的大小,一般为2K或4K,对于大数据块的数据库,此参数值为物理块的倍数。 DB_BLOCK_BUFFERS 确定数据块的数目。,ORACLE的体系结构 系统全局区,数据缓冲存储区分为 脏
16、列表 包括被修改过但尚未写到数据文件的缓冲块。 LRU(Least Recently Used)列表 包括空闲缓冲块、正在存取的缓冲块、已被修改但尚未移到脏列表的缓冲块。,ORACLE的体系结构 系统全局区,日志缓冲存储区(Log Buffer)以记录项的形式备份数据库缓冲区中被修改的缓冲块,这些记录将被写到日志文件中。 LOG_BUFFER 确定日志缓冲区的大小。,ORACLE的体系结构 系统全局区,用 户 进 程 服务器进程 后 台 进 程,ORACLE的体系结构 进 程,用户进程 当用户运行一个应用程序时,就建立一个用户进程。,ORACLE的体系结构 用户进程,服务器进程 处理用户进程的
17、请求。 处理过程 分析SQL命令并生成执行方案。 从数据缓冲存储区中读取数据。 将执行结果返回给用户。,ORACLE的体系结构 服务器进程,后台进程 为所有数据库用户异步完成各种任务。,ORACLE的体系结构 后台进程,DBWR(Data Base Writer) 将数据缓冲区中所有修改过的缓冲块数据写到数据文件中,并使用LRU算法来保持缓冲区中的数据块为最近经常使用的,以减少I/O次数。该进程在启动实例时自动启动。,ORACLE的体系结构 后台进程,DBWR进行写操作的情况: 脏列表达到最低限制。 相当于参数DB_BLOCK_WRITE_BATCH值的一半。 一个进程在LRU列表中扫描指定数
18、目的缓冲块,未找到空闲缓冲块。 参数DB_BLOCK_MAX_SCAN_CNT确定扫描数目。,ORACLE的体系结构 后台进程,DBWR进行写操作的情况: 出现超时 3秒钟内该进程未活动,则该进程将在LRU列表中查找尚未查找的缓冲块,这组缓冲块的数目相当于参数DB_BLOCK_WRITE_BATCH值的2倍。 出现检查点。,ORACLE的体系结构 后台进程,LGWR(Log Writer) 将日志缓冲区中的所有记录项写到日志文件中。 该进程在启动实例时自动启动。,ORACLE的体系结构 后台进程,LGWR进行写操作的情况: 用户进程提交一个事务(Commit) 日志缓冲区达到1/3范围 DBW
19、R对一个检查点需要清除缓冲块 出现超时(3秒钟内未活动,则进行一次写操作。),ORACLE的体系结构 后台进程,检查点(Checkpoint) : 在检查点出现期间,DBWR进程将数据缓冲区中的所有脏缓冲块写到数据文件中,LGWR进程将日志缓冲区中的所有记录项写到日志文件中,以确保上一个检查点至今修改过的所有数据块都被写到磁盘上。,ORACLE的体系结构 后台进程,检查点: 预定数目的记录项被填满。 参数LOG_CHECKPOINT_INTERVAL确定了预定数目。 设置指定的秒数。 参数LOG_CHECKPOINT_TIMEOUT确定了间隔秒数。 每个日志开关处 关闭实例时,DBA手动操作。
20、 表空间离线。,ORACLE的体系结构 后台进程,CKPT(Checkpointer) 在控制文件中记录检查点。参数CHECKPOINT_PROCESS 确定了检查点的启动/不启动状态。 若CKPT进程不启动,则该进程的工作将由LGWR进程代劳。(如果数据库的数据文件过多,这样操作会降低系统性能。),ORACLE的体系结构 后台进程,ARCH(Archiver) 在日志文件组出现切换时,将旧日志文件的内容拷贝到脱机存储介质上,出现介质失败时用于恢复数据。 LOG_ARCHIVE_START 确定了该进程的启动/不启动状态。,ORACLE的体系结构 后台进程,ARCH(Archiver) LOG
21、_ARCHIVE_DEST 当数据库在归档模式下操作时,该参数确定了日志文件的归档目标。 LOG_ARCHIVE_FORMAT 当数据库在归档模式下操作时,该参数确定了归档日志文件的缺省文件名格式。,ORACLE的体系结构 后台进程,SMON(System Monitor) 负责完成自动实例恢复。该进程在启动实例时自动启动。 回收用户不在使用的临时段所站的空间。 连接所有数据文件中空闲表空间。,ORACLE的体系结构 后台进程,ORACLE的体系结构 后台进程,PMON(Process ) 撤消异常中断的用户进程,并释放该进程已获得的系统资源或锁。 回滚未提交操作。,RECO(Recover)
22、 在分布式操作的情况下,恢复一个事务的失败。 LCKn(Lock) 在并行服务器系统间加锁,最多可加10个锁,分别为LCK0,LCK1,LCK9。,ORACLE的体系结构 后台进程,处理SQL语句的三个阶段 语法分析(parse) 执行(execute) 返回指令(fetch),ORACLE的体系结构 示 例,SELECT操作,SQL SELECT sal FROM emp WHERE job = CLERK ;,ORACLE的体系结构 示 例,UPDATE操作 为了支持读一致性,恢复和回滚,所有修改操作需要回滚段。修改操作执行:,将数据块送到数据缓冲区 将回滚块送到数据缓冲区 在修改行上设置
23、行锁 保存回滚数据到回滚段块 将修改写到数据块,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的逻辑结构是由一个或多个表空间组成。 一个表空间由一组分类段组成 一个段由一组范围组成 一个范围由一批数据库块组成 一个数据库块对应一个或多个物理块,逻辑结构示意图,Database,File,N
24、ext Extent 5 MB,Segment 20 MB,Initial Extent 15 MB,Database Blocks,Tablespace,数据库块(Database Block)是数据库使用的I/O最小单元,又称逻辑块或ORACLE块。 一个数据库块对应一个或多个物理块,块的大小由参数DB_BLOCK_SIZE确定。,ORACLE的逻辑结构 数据库块,数据库块的格式,ORACLE的逻辑结构 数据库块,标题:包括通用的块信息,如块地址/段类型等,最佳大小为85-100bytes。 表目录:存储聚集中表的信息,这些信息用于聚集段。 行目录:包括这块中的有效行信息,允许使用每行开头
25、的2bytes。 自由空间:这块中能插入或修改的一组空间。 行数据:存储表或索引的数据。,ORACLE的逻辑结构 数据库块,PCTFREE 用于行的UPDATE操作,在遇到PCTFREE后,这块被填满且不能进行INSERT操作。,ORACLE的逻辑结构 数据库块,控制 PCTFREE参数值,设定一个较小的PCTFREE参数值 允许插入更多的记录. 要求相对较少的数据块来存储数据. 会造成行迁移. 链接会因为源于同一个逻辑行的数据被分配到不同的物理位置,而影响运行性能.,控制 PCTFREE参数值,设定一个较大的PCTFREE参数值 保留更多的空间用来做更新操作. 要求相对较多的数据块来存储数据
26、. 会减少行迁移.,PCTUSED 用于行的INSERT的操作,当块的百分比小于PCTUSED时,可通过行DELETE或UPDATE来减少列存储。,ORACLE的逻辑结构 数据库块,设定一个较大的PCTUSED参数值 因为数据块不总是空闲,故而会降低Processing costs. 会造成空间的浪费. 设定一个较大的PCTUSED参数值 因为数据块会经常空闲,故而会增大Processing costs. 提高空间利用率,控制 PCTUSED参数值,PCTFREE = 20%,PCTUSED = 40%,ORACLE的逻辑结构 数据库块,范围(Extent)是数据库存储空间分配的逻辑单位,一个
27、范围由一组数据库块组成,范围是由段分配的,分配的第一个范围称初始范围,以后分配的范围称增量范围。,ORACLE的逻辑结构 范 围,逻辑结构范 围,控 制 范 围 分 配 的 参 数,段(Segment)是表空间中一个指定类型的逻辑存储结构,它由一个或多个范围组成,段将占用并增长存储空间。,ORACLE的逻辑结构 段,段的分类,ORACLE的逻辑结构 段,表空间(Tablespace)是数据库中物理编组的数据仓库,对应一个或多个数据文件,表空间的大小是它所对应的数据文件大小的总和。,ORACLE的逻辑结构 表空间,System Tablespace,Data Tablespace,ORACLE的
28、逻辑结构 表空间,ORACLE数据库中的数据逻辑存储在表空间中,物理存储在数据文件中。,ORACLE的逻辑结构 数据库结构,第 四 章,数据库的安装,硬件结构,数据库的安装 硬件需求,服务器CPU Intel 486网卡 支持TCP/IP协议内存 16M外存 1GB,客 户Intel 486支持TCP/IP协议16M400MB,服务器 操作系统 TCP/IP协议,客 户 操作系统 TCP/IP协议,数据库的安装 软件需求,1.修改OS参数 SEMMNI 20 SEMMNS 60 SHMMAX 20971520 SHMMNI 100 SHMSEG 15,2.重新启动系统,3.建立一个ORACLE
29、用户(DBA组),并登录到ORACLE用户下。,数据库的安装 安装示例,4.设置环境变量vi .profile追加下列语句:ORACLE_HOME = /目录名/用户名 (/oracle/oracle7)ORACLE_SID = 数据库名(ora7)TK2DEV = 终端类型(ansi),数据库的安装 安装示例,5.读介质磁盘:$.切入 root 用户 # mkdir /cdrom # chmod 777 /cdrom 将光盘放入光驱内 # mount -f RCKRDG, lower /dev/cd0 /cdrom,数据库的安装 安装示例,6.设置安装环境$换入 oracle 用户 $ cd
30、 /cdrom/orainst $ orainst $ su# cd /home/oracle/orainst# ./rootpre.sh 设置安装环境# exit$,数据库的安装 安装示例,$ tcpctl start SQLNET V1或 $ lsnrctl start SQLNET V2,数据库的安装 安装示例,一个产品对应一个子目录 公共目录(命令)bin 管理和维护软件 dbs 有关安装的软件 orainst,数据库的安装 安装示例,DBA应用程序,SQL*DBA SQL*Loader Export/Import,SQL*DBA 允许DBA控制和监视ORACLE数据库。 (只有DBA
31、特权的用户可以使用),DBA应用程序,SQL*DBA SQL*Loader Export/Import,命令执行方式: 行命令: $ svrgrm30 SQLDBA 输入行命令,DBA应用程序,SQL*DBA SQL*Loader Export/Import,SQL*Loader 将标准操作系统文件(文本文件或C数据格式文件)中的数据安装到ORACLE数据基表中。 (DBA和用户都可以使用),DBA应用程序,SQL*DBA SQL*Loader Export/Import,Export/Import 允许DBA卸出/恢复ORACLE格式的数据。,ORACLE特殊用户,internal syst
32、em sys,internal 只能在服务器端使用的超级用户,它具有DBA的所有特权。 连接方式与普通用户相同。,ORACLE特殊用户,internal system sys,System (manager) 在建立数据库时自动建立的一个超级用户,它拥有显示管理信息的附加表和视图,以及由ORACLE工具使用的所有表和视图。 连接方式与普通用户相同。,ORACLE特殊用户,internal system sys,Sys(change_on_install) 只能在服务器端使用的超级用户,它具有DBA的所有特权。 连接方式与普通用户相同。,第 五 章,数据库的启动和关闭,数据库的启动,启动步骤:
33、启动Server Manager 连接INTERNAL用户 启动实例,读参数文件 分配SGA 启动后台进程 打开后台跟踪文件,数据库的启动,启动状态,状态描述,NOMOUNT,MOUNT,OPEN,仅仅启动例程,用来创建数据库,例程启动并同时打开控制文件, 用来改变文件结构和控制文件的 标志,使数据库对所有用户可用,数据库的启动,STARTUP,MOUNT,NOMOUNT,mount_options :=,PFILE=filename,RESTRICT,FORCE,OPEN,RECOVER,database,PARALLEL,EXCLUSIVE,SHARED,RETRY,启动语法,数据库的启动
34、,约束条件: Open:允许用户进入数据库 Mount:允许某些DBA操作,但是不允许用户进入数据库 Nomount:创建SGA区并启动后台进程,但不允许进入数据库 Exclusive:只允许当前的用户例程进入数据库,数据库的启动,约束条件: Parallel:允许多个例程访问数据库(Oracle Parallel Server) Shared Retry:提供一种并行的选项,指明一个并行例程应该在5秒钟后启动 Pfile=parfile:允许标识一个非缺省的初始化文件,约束条件: Force:在启动实例前,强行关闭当前实例。 Restrict :数据库启动后,只有DBA特权的用户才能访问数据
35、库。 Recover:在启动实例时,用日志文件做数据库恢复。,数据库的启动,关闭步骤: 启动Server Manager 连接INTERNAL用户 关闭数据库,数据库的关闭,SHUTDOWN,IMMEDIATE,ABORT,NORMAL,关闭语法,数据库的关闭,数据库的关闭,约束条件: Normal 处理完用户提交的所有事务,等待 用户退出连接后,关闭数据库、卸载数 据库、关闭实例。在下次启动实例时, 不做实例恢复操作。此方式是数据库关 闭的缺省方式。,约束条件: Immediate 结束正在处理的SQL语句、回 滚未提交事务,不等待当前的用户退出数 据库,关闭数据库、卸载数据库、关闭实 例。
36、在下次启动实例时,不做实例恢复操 作。,数据库的关闭,约束条件: Abort 最快的一种关闭数据库方式。不等 待当前用户退出联结,而且不回滚当前未 提交操作,下次数据库启动时进行例程 恢复。,数据库的关闭,数据库的关闭,例:用行命令关闭数据库 $ svrmgrl SVRMGR connect internal SVRMGR shutdown abort,练习: 1用MOUNT的方式启动数据库。 2打开数据库,通过dba_users查询当前的所有数据库用户。,第 六 章,数据库存储空间管理,表空间,SYSTEM 表空间 进行数据库操作所必须要求的表空间 包含数据字典的信息、存储过程和数据库触发子
37、的定义 包括系统回滚段 可以存储用户数据,但最好不要 非SYSTEM 表空间 可以包括回滚段、临时段、应用数据、应用索引和用户空间 提供了一种更加灵活的数据库管理基础,创建表空间,参数说明: Name:表空间名 Data Files:数据文件名及大小 Storage:设置表空间的存储参数 Bring Online After Creation:表空间在线 Leave Offine After Creation:表空间离线,创建表空间的例子: CREATE TABLESPACE user_stu DATAFILE diska:user_stu1.dat SIZE 20M DEFAULT STOR
38、AGE ( INITIAL 10K NEXT 50K MINEXTENTS 1 MAXEXTENTS 99 PCTINCREASE 10 ) ONLINE ;,使表空间在线,修改表空间的例子: ALTER TABLESPACE accounting ONLINE ;,使表空间离线:,参数说明: Normal:ORACLE检测该离线表空间所对应的数据文件是否有问题,如果没有问题可离线。 Temporary:ORACLE检测该离线表空间所对应的数据文件是否有问题,如果有问题可离线。 Immediate:不检测该离线表空间所对应的数据文件,直接离线。,删除表空间:,参数说明: Including c
39、ontained objects 删除表空间的同时,将该表空间包含的对象一并从数据库中删除。 Cascade drop of integrity constraints 在删除表空间包含的对象的同时,将每个模式对象所对应的约束一并从数据库中删除。,数据库存储空间的管理 表空间,行命令删除表空间:,DROP TABLESPACE 表空间名 INCLUDING CONTENTS CASCADE CONSTRAINTS,删除表空间的例子: DROP TABLESPACE user_stu INCLUDING CONTENTS CASCADE CONSTRAINTS ;,修改缺省的段存储参数:,Ini
40、tial Extent Size:在表空间中创建的对象的第一个区间的缺省大小 Next Extent Size:在表空间中创建的对象的第二个区间的缺省大小 Mininum # of Extents:指定区间缺省的最小值 Maxnum # of Extents:在表空间中创建的对象的缺省最大值 % Increase Next:连续区间分配的缺省增加百分比。 例:某表Next Extent Size的大小是1000字节, pctincrease 的值为10%,那么第二个区间将是1000字节,第三个区间将是 1100字节,第四个区间将是1210字节,参数说明:,练习: 1以 system/manag
41、er 登录创建一个表空间TAB,存放在c:temptab01.dbf,大小为10M,并查看dba_tablespaces 。 2在TAB的表空间下创建一个基表TEST,然后删除该TAB表空间。,第 七 章,安全管理,(一)用户管理,创建用户:,参数说明: Name:用户名 Password Authentication:用户密码 OS Authentication:操作系统识别方式,设参数 OS_AUTHENT_PREFIX的值为“OPS$”。 Default Tablespace:用户对象保存的表空间 Temporary Tablespace:临时用户对象保存的表空间 Quotas:用户使用
42、的表空间限量 Profile:用户使用的系统资源限量,行命令建立用户语法: CREATE USER 用户名 INDENTIFIED BY 口令 EXTERNALLY DEFAULT TABLESPACE 表空间名 TEMPORARY TABLESPACE 表空间名 QUOTA 整数 K/M ON 表空间名 UNLIMITED PROFILE 环境文件名,例1:建立用户sidney CREATE USER sidney INDENTIFIED BY carton DEFAULT TABLESPACE cases_ts TEMPORARY TABLESPACE temp_ts QUOTA 5M O
43、N cases_ts QUOTA 5M ON temp_ts PROFILE engineer ;,例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 ;,修改用户:,参数说明: No change in Authentication:无识别方式 Password Authentica
44、tion:用户密码 OS Authentication:操作系统识别方式 Default Tablespace:用户对象保存的表空间 Temporary Tablespace:临时用户对象保存的表空间 Quotas:用户使用的表空间限量 Profile:用户使用的系统资源限量 Default Role:分配给用户的角色,行命令修改用户: ALTER USER 用户名 INDENTIFIED BY 口令 EXTERNALLY DEFAULT TABLESPACE 表空间名 TEMPORARY TABLESPACE 表空间名 QUOTA 整数 K/M ON 表空间名 UNLIMITED PROFI
45、LE 环境文件名 DEFAULT ROLE 角色名 ALL EXCEPT 角色名 NONE,,,,,例1: ALTER USER scott INDENTIFIED BY lion DEFAULT TABLESPACE tstest ; 例2: ALTER USER scott PROFILE clerk ;,行命令修改用户的例子:,删除用户:,行命令删除用户: DROP USER 用户名 CASCADE 例如: DROP USER bradley CASCADE ;,(二)资源管理,创建环境文件:,参数说明: Sessions/User:限制一个用户的并发会话个数。 CPU Time/Ses
46、sion :限制一次会话的CPU时间,单位:百分之一秒。 CPU Time/Call:限制一次调用(一次语法分析、执行或获得)的CPU时间,单位:百分之一秒。 Connect Time:限制一会话总的使用时间,单位:分。 Idle Time:限制会话期间连接不活动周期,单位:分。长的运行查询和其它操作不受这个限制。,参数说明: Logical Reads/Session:限制在一次会话中读的数据块的数目,包括从内存或磁盘读的块数。 Logical Reads/Call:限制处理一个SQL语句(语法分析、执行和获取)一次调用所读的数据块的数目。 Private SGA/Session:限制一次会
47、话在SGA的共享池可分配的专用空间的数目,单位:bytes/Kbytes/Mbytes。 Composite Limit:一次会话总的资源开销,以服务单位表示该参数的值。,ORACLE以下列资源的带权的和计算总的资源开销: CPU Time/Session Connect Time Logical Reads/Session Private SGA/Session,行命令建立环境文件: CREATE PROFILE 环境文件名 LIMIT SESSION_PER_USER 整数 CPU_PER_SESSION UNLIMITED CPU_PER_CALL DEFAULT CONNECT_TIM
48、E IDLE_TIME LOGICAL_READS_PER_SESSION LOGICAL_READS_PER_CALL COMPOSITE_LIMIT PRIVATE_SGA 整数/K/M UNLIMITED DEFAULT,例如:建立环境文件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
49、 1000 PROVATE_SGA 15K COMPOSITE_LIMIT 5000000 ;,行命令修改环境文件语法: ALTER PROFILE 环境文件名 LIMIT SESSION_PER_USER 整数 CPU_PER_SESSION UNLIMITED CPU_PER_CALL DEFAULT CONNECT_TIME IDLE_TIME LOGICAL_READS_PER_SESSION LOGICAL_READS_PER_CALL COMPOSITE_LIMIT PRIVATE_SGA 整数/K/M UNLIMITED DEFAULT,例:在ENGINEER环境文件中定义5个
50、并行会话的限制。 ALTER PROFILE engineer LIMIT SESSION_PER_USER 5 ;,行命令删除环境文件: DROP PROFILE 环境文件名 CASCADE,删除Profile文件:,更改资源开销:,行命令更改资源开销: ALTER RESOUCE COST CPU_PER_SESSION 整数 CONNECT_TIME 整数 LOGICAL_READS_PER_SESSION 整数 PRIVATE_SGA 整数 例如:指定资源的权。 ALTER RESOUCE COST CPU_PER_SESSION 100 CONNECT_TIME 1,(三)特权管理,
51、系统特权:完成特殊活动或在一个特殊 类型的对象上完成特殊活动 的一个特权。 对象特权:在一个指定的对象(表、视 图、序列、过程、函数或包) 上完成一个特殊活动的特权。,授系统特权或角色给用户,例1:将CREATE SESSION系统特权 授予RICHARD。 GRANT create session TO richard ; 例2:将 CREATE TABLE 系统特权 授予RICHARD并带有允许授权选项。 GRANT create table TO richard WITH ADMINI OPTION ;,回收系统特权或角色,例:从用户Bill和Mary回收DROP ANY TABLE系统
52、特权。 REVOKE drop any table FROM bill , mary ;,回收系统特权的连锁反映分析:,对象特权的授权: 例1: GRANT select ON dept TO stu10 , stu11 ; 例2: GRANT select , insert(empno , ename) , update(ename) ON emp TO scott WITH GRANT OPTION ;,对象特权的回收: 例1: REVOKE select ON dept FROM stu10 , stu11 ; 例2: REVOKE all ON emp FROM scott ;,(四)
53、角色管理,角色是由一个命名的关联特 权组组成,用来维护和控制特权。 角色的特点: 减少授权次数 动态的特权管理 选择可用特权,无角色管理的授权示意图,使用角色管理的授权示意图,ORACLE数据库预定义的角色: CONNECT: 创建会话、聚簇、数据库链、序列、同义词、表、触发器 RESOURCE: 创建聚簇、存储过程、序列、表、触发器 DBA: 所有权限 EXP_FULL_DATABASE: 选择、备份任何表和在SYS.INCVID, SYS.INCFIL and SYS.INCEXP表上进行插入、修改、删除的权限,创建角色,例1: CTEATE ROLE acct ; 例2: CTEATE
54、ROLE acct IDENTIFIED BY bicent ;,修改角色,例: ALTER ROLE acct NOT IDENTIFIED ;,删除角色,行命令删除角色: DROP ROLE 角色名 例: DROP ROLE acct ;,注:授予角色特权和回收角色特 权的操作与给用户授权和回收操 作相同。,练习: 1进入SERVER MANAGER或者SQL*PLUS,用SYSTEM/MANAGER连接,创建一个用户bert,临时表空间为TEMP,不设定缺省表空间并给该用户无限的在SYSTEM表空间上的使用权。 2检查视图dba_users查看bert用户相关的表空间信息,通过dba_t
55、s_quotas查看用户的引用情况。,3用bert 用户连接,看有何现象产生。 4给bert用户授权,使其可以连接并可以对数据库进行操作。,第 八 章,数据库的备份和恢复,(一)数据库的备份,备份方法: 操作系统备份(物理备份) 无归档备份 归档备份 Export程序备份(逻辑备份),归档需求: 数据库必须在ARCHIVELOG模式下操作 启动自动归档进程ARCHIVER 有足够的资源保存归档日志文件,指定归档模式: 建立数据库时 建立控制文件时,修改归档模式的方法: SQLDBA CONNECT internal ; SQLDBA STARTUP MOUNT ; SQLDBA ALTER D
56、ATABASE ARCHIVELOG ; SQLDBA ALTER DATABASE OPEN ;,修改归档进程状态: 修改参数LOG_ARCHIVE_START的值为true/false ALTER SYSTEM ARCHIVE LOG START TO directory or device name (/STOP) ;,做好数据库的备份工作,可以在数据库出现故障时,能尽可能快的修复数据库,因此做好数据库的备份工作是十分重要的。 定期执行整个操作系统的备份。 频繁修改的表空间要经常备份。 在修改数据库结构之前和之后,要备份所影响的数据文件、 日志文件和控制文件。,操作系统备份 离线数据库全
57、备份:数据库无归档操作 在线数据库全备份:数据库归档操作 在线表空间备份:数据库归档操作 离线表空间备份:数据库无归档操作 控制文件备份,离线数据库全备份 需要备份的文件:数据文件、日志文件、控制文件和参数文件 步骤: 记录数据库所有文件的路径及文件名 用NORMAL关闭数据库 用操作系统命令拷贝数据库所有文件 重新启动ORACLE实例,显示数据文件路径及文件名: SQL SELECT file_name FROM dba_data_files ; 显示日志文件路径及文件名: SQL SELECT member FROM v$logfile ; 显示控制文件路径及文件名: SQL SELECT value FROM v$parameter WHERE name = control_files ;,操作系统备份数据库的例子: SQLDBA CONNECT internal ; 用SELECT f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 茶叶市场推广与广告合作合同样本
- 民政招聘面试题及答案
- 小区大铁门改造方案
- 逾期工程款催收服务合同
- 现房开荒保洁方案(3篇)
- 小广场摊位规划方案
- 塑胶项目面试题及答案
- 烹饪理论考试题及答案
- 闲置经济面试题及答案
- 瓣膜病的超声诊断
- 【新】2019-2020成都市石室中学北湖校区初升高自主招生数学【4套】模拟试卷【含解析】
- 《文明礼貌我最棒》班会课件
- 办公室工作手册(共83页)
- 意外受伤赔偿协议书的格式
- PE管闭水试验表
- 山东省教师职称改革实施方案
- 《河南省企业安全风险辨识管控与隐患排查治理双重预防体系建设导则(试用)》
- 生产过程检验记录表
- 孤独症治疗评估表
- 规划放线报告材料样本
- 完整版佛教葬礼仪式
评论
0/150
提交评论