数据库原理与技术程学先第二版第8章课件.ppt
《数据库原理与技术程学先第二版第8章课件.ppt》由会员分享,可在线阅读,更多相关《数据库原理与技术程学先第二版第8章课件.ppt(97页珍藏版)》请在三一办公上搜索。
1、第八章 Oracle 数据库系统,8.2 Oracle 10g的体系结构,8.3 Oracle 10g的安全管理,8.4 Oracle 10g的空间管理,8.5 Oracle 10g PL/SQL编程,8.1 Oracle数据库概述,退 出,本 章 要 点,8.6 Oracle数据查询,8.7 Oracle系统管理,8.1 Oracle数据库概述,R,一、概述 ORACLE 数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。,二、Oracle 10g的特点 1 首个为网格计算
2、设计的数据库 2 借助网格计算,提高可用性和可伸缩性3 优异的安全特性4 借助自我管理数据库降低成本,R,8.1 Oracle数据库概述,R,8.1 Oracle数据库概述,三、数据库的基本管理 1 启动数据库 启动数据库的命令是Startup,基本命令语法如下:STARTUP(MOUNT|OPEND);EXCLUSIVE|PARALLEL|NOMOUNT 说明:EXCLUSIVE和PARALLEL表示以独占或共享方式打 开。NOMOUNT表示以例程方式打开或关闭数据库。,R,8.1 Oracle数据库概述,【例8.1】打开数据库Waremanage SQLstartup opend Ware
3、manage 说明:“SQL”为SQL Plus提示符。2 关闭数据库 语句格式:SHUTDOWN NORMAL|IMMEDIATE|ABORT|TRANSACTIONAL,说明:(1)Shutdown normal,正常关闭数据库。(2)Shutdown immediate,立即关闭数据。(3)Shutdown abort,直接关闭数据库和例程。(4)Shutdown transactional,等待所有有事务连 接的用户完成事务后再关闭数据库。,R,8.1 Oracle数据库概述,3 设置数据库 选择Oracle-ORacDB10g-homelConfiguration and Migra
4、tion ToolsDatabase Configuration Assistant 进行配置。4 创建数据库 在一个Oracle 10g系统上可以建立多个数据库。创建数据库的步骤 可参照书上内容。,R,8.1 Oracle数据库概述,R,8.1 Oracle数据库概述,5 删除数据库 当数据库不再需要或已经测试完毕时,为了增加系统和数据库的执行效率,可以删除不需要的数据库。具体步骤可参照书中内容。,8.2.1 概述Oracle系统的体系结构是指Oracle数据库服务器的主要组成以及这些组成部分间的联系和操作方式。从宏观上看,Oracle数据库服务器主要由两部分组成:数据库和实例。数据库用于保
5、存数据的一系列物理结构和逻辑结构,数据库是静态的。实例是由服务器在运行过程中内存结构和一系列进程组成的,实例是动态的。,R,R,8.2 Oracle 10g的体系结构,R,8.2 Oracle 10g的体系结构,8.2.2 物理存储结构Oracle数据库的物理存储结构 操作系统下数据库的文件组织和实际的数据存储。按其作用不同Oracle数据库的物理存储结构可以分为三类:数据文件日志文件控制文件,R,8.2 Oracle 10g的体系结构,数据文件每一个Oracle数据库有一个或多个物理的数据文件(data file)。一个数据库的这些数据文件包含全部数据库数据。数据文件有下列特征:一个数据文件
6、仅与一个数据库联系。一旦建立,数据文件不能改变大小一个表空间(数据库存储的逻辑单位)由一个或多个数据文件组成。,R,8.2 Oracle 10g的体系结构,日志文件每一个数据库有两个或多个日志文件(redo log file)的组。日志的主要功能是记录对数据所作的修改。日志文件主要是保护数据库以防止故障。日志文件中的信息仅在系统故障或介质故障后恢复数据库时使用。,R,控制文件每一个Oracle数据库有一个控制文件(control file),它记录数据库的物理结构,包含下列信息类型:数据库名;数据库数据文件和日志文件的名字和位置。数据库建立日期。每一次Oracle数据库的实例启动时,它的控制文
7、件用于标识数据库和日志文件。,8.2 Oracle 10g的体系结构,8.2.3 逻辑、存储结构Oracle数据库逻辑、存储结构是按层次管理的,内存中数据结构分为段、区和块.块是内存与硬盘之间交换的最小单位;区由多块组成,段由多个区组成;从逻辑结构看分为数据库、表空间、逻辑对象。一个数据库有一到多个表空间;一个表空间可以有多个逻辑对象;1个逻辑对象只属于1个表空间。,R,8.2 Oracle 10g的体系结构,图 8.12 数据库、表空间、数据文件、逻辑对象间关系,R,块(block)是oracle数据库进行逻辑管理的最基本单元。数据库进行读写以块为单位进行。大小由db_block_size参
8、数决定。区(extent)是Oracle数据库的最小存储单元。由一系列连续的块组成的空间。每一次系统分配和回收空间都以区间为单位进行。,8.2 Oracle 10g的体系结构,段(segment)是表空间中指定类型的逻辑结构。由一个或多个区组成。一个单独的表可以是一个段。段有以下几种常见类型:数据段、索引段、回滚段和临时段。数据对象(Logic Object)或模式对象,是由用户创建的逻辑结构。如表、视图、索引、簇。,8.2 Oracle 10g的体系结构,R,表空间(tablespace)是拥有存放表、索引和视图等对象的磁盘逻辑空间。由一个或多个物理文件表示,是数据库中最顶层的逻辑存储结构,
9、是数据库的逻辑划分。在Oracle10g中,表空间有以下几种:系统(SYSTEM)表空间,SYSAUX表空间;回滚(UNDO)表空间,用户(USERS)表空间,8.2 Oracle 10g的体系结构,R,8.2 Oracle 10g的体系结构,8.2.4 内存结构ORACLE的内存区域主要存储下列信息:执行的程序代码;连接的会话信息;程序执行期间所需数据及共享的信息和存储在外存储上的缓冲信息。在一个实例中,一般有三个主要内存区域:系统全局区(System Global Area,SGA);程序全局区(Program Global Area,PGA);用户全局区(User Global Area
10、,UGA)。,R,8.2 Oracle 10g的体系结构,系统全局区(SGA):如果多个用户同时连接到同一实例时,在实例的SGA中数据可为多个用户所共享,所以又称为共享全局区。在SGA中存储信息将内存划分成几个区:数据库缓冲存储区;日志缓冲区、共享池;请求和响应队列;数据字典存储区和其它各种信息。,R,软件代码区,用于存储正在执行的或可以执行的程序代码。软件区默认的设置为只读形式,可安装成共享或非共享。ORACLE系统程序是可共享的,用户程序可以共享也可以不共享。,8.2 Oracle 10g的体系结构,R,8.2 Oracle 10g的体系结构,8.2.5 数据字典数据字典提供有关该数据库的
11、信息。可以用SQL存取数据字典,允许查询。数据库数据字典是由基本表和用户可存取的视图组成。基本表:数据字典的基础是一组基本表,存储相关的数据库的信息;用户可存取视图:视图将基本表中信息解码成可用信息。,数据字典驻留在SYSTEM表空间中。每一视图集有三种视图包含有类似信息,彼此以前缀相区别,前缀为USER、ALL和DBA。前缀为USER的视图,为用户视图,是在用户的模式内。前缀为ALL的视图,为扩展的用户视图(为用户可存取的视图)。前缀为DBA的视图为DBA的视图。,8.2 Oracle 10g的体系结构,R,8.3.1 用户管理和权限管理用户是允许访问数据库系统的有效账户,是可以对数据库资源
12、进行访问的实体。用户使用在数据库中创建的用户账户连接到数据库。用户管理的内容包括:创建用户。修改用户。删除用户。,8.3 Oracle 10g的安全管理,创建新用户 创建用户。语句格式:CREATE USER 设置口令。语句格式:IDENTIFIED BY 用系统管理员身份登录。使用conn语句。给用户授予权限或安排角色,语句格式:GRANT ON TO|PUBLIC WITH GRANT OPTION.,8.3 Oracle 10g的安全管理,【例8.6】创建用户zqh,口令为“zqh,12345”,默认表空间为users,大小为80MB,临时表空间为temp。1 SQL create us
13、er zqh-创建用户 2 identified by zqh,123456-设置口令 3 default tablespace users-确定用户的表空间和表空间的大小 4 temporary tablespace temp-分配默认的表空间 5 quota 80m on users-分配临时表空间 6 password expire-在用户第一次登录时提示修改口令,8.3 Oracle 10g的安全管理,修改用户修改密码、帐户锁定或解锁。【例8.7】修改用户密码。SQL alter user zqh identified by z123;【例8.8】解除帐户锁定SQL alter use
14、r zqh account lock;【例8.9】锁定用户密码SQL alter user zqh account unlock;,8.3 Oracle 10g的安全管理,R,8.3 Oracle 10g的安全管理,删除用户删除用户,语句格式:Drop User;回收权限,语句格式:REVOKE ON FROM|CASCADE CONSTRAINTS。说明:CASCADE CONSTRAINTS表示同时删除具有参照完整性限制条件的对象,即References权限。,R,8.3 Oracle 10g的安全管理,8.3.2 角色管理对相同对象有相同权限的用户归类管理,称为角色。一种角色包括多个用户
15、,具有相同权限。角色是权限的集合。管理角色 可以使用角色将权限与其他角色组合起来,以便于为用户授予多个权限和角色。,R,8.3 Oracle 10g的安全管理,创建角色。语句格式:CREATE ROLE IDENTIFIED BY。授予角色权限 用Grant语句对角色进行授权。修改角色 用Alter role语句修改角色来改变用户的权限,使用revoke语句来回收权限。删除角色语句格式:DROP ROLE。,R,8.3 Oracle 10g的安全管理,在系统中,数据字典ROLE_SYS_PRIVS保存了所有角色拥有的权限情况。字典USER_TAB_PRIVS_MADE保存了所有授权者、被授权者
16、、对象与权限情况。,R,8.4 Oracle 10g的空间管理,8.4.1 表空间表空间是一个逻辑概念,所有的数据实际上放在一个或多个物理文件中,一个物理文件对应一个表空间。在创建数据库时就必须创建表空间,并指定数据文件。创建与删除表空间都可以利用Oracle管理工具实现,也可以使用命令完成。,R,创建表空间语句格式:CREATE TABLESPACE DATAFILE SIZE K|M REUSE REUSE表示可以重用已有的数据文件。DEFAULT STORAGE(INITIAL K|MNEXT K|MMINEXTENTS MAXEXTENTS|UNLIMITEDPCTINCREASE)指
17、定分配给表空间新对象的默认存储参数。ONLINE|OFFLINE 指定表空间的状态是联机或脱机。PERMANENT|TEMPORARY 指定表空间的类型是永久还是临时。MANAGEMENT LOCAL|DICTIONARY。指定表空间的区管理存储方式是本地管理还是在字典中管理。,8.4 Oracle 10g的空间管理,R,8.4 Oracle 10g的空间管理,修改表空间,语句格式:ALTER TABLESOACE RENAME DATAFILE TO 对表空间中的数据文件重新命名。ADD DATAFILE 向表空间添加数据文件。DEFAULT STORAGE ONLINE|OFFLINEPE
18、RMANENT|TEMPORARYBEGIN BACKUP|END BACKUP 对表空间中的数据文件执行在线备份。END BACKUP表示在线备份完成。,R,8.4 Oracle 10g的空间管理,删除表空间语句格式:DROP TABLESOACE INCLUDING CONTENTSCASCADE CONSTRAINTS说明:(1)当删除的表空间中含有数据对象时,删除表空间的语句中 必须包括:INCLUDING CONTENTS。(2)CASCADE CONSTRAINTS表示同时删除表空间中其他表的引用完整性约束,避免对已删除表的主码的引用。,R,查询表空间和数据字典,8.4 Oracl
19、e 10g的空间管理,表8.1 与表空间相关的数据字典,8.4.2 段创建段,语句格式:CREATE SEGMENT TABLESPACEN 指定段所属表空间名。STORAGE(INITIAL K|MNEXT K|MMINEXTENTS MAXEXTENTS|UNLIMITEDPCTINCREASE)指定分配给段的默认空间。ONLINE|OFFLINE 指定表空间的状态是联机或脱机。,8.4 Oracle 10g的空间管理,R,R,8.4 Oracle 10g的空间管理,【例8.11】创建一个回滚段,所属表空间名为RBS,每区大小1M。SQLcreate rollback segment rb
20、s1 tablesoace rbs 2 storage(initial 1M next 1M minextents 1 maxextents 10 optimal 6M)说明:其中OPTIMAL表示当回滚段增长超过其指定值(6M)时,如果没有当前活动事务,将自动收回超过 部分。,8.4 Oracle 10g的空间管理,修改段,语句格式:ALTER SEGMENT DEFAULT STORAGE ONLINE|OFFLINE删除段,语句格式:DROP SEGMENT,R,8.4 Oracle 10g的空间管理,8.4.3 表Oracle数据库中有4种类型的表。普通表:以无序方式存储在表段中。簇表
21、:由共享相同数据块的一组表组成,优点是节省空间,可以改善SQL的查询性能。索引表:数据以B+树结构存放在主键所对应的索引段中,索引块不仅包含键列数据,也包含非键列数据。分区表:数据划分为更小的部分,分别存储到不同的分区段中。,R,8.4 Oracle 10g的空间管理,创建表,语句格式:CREATE TABLE.(NULL|NIT NULL,PCTFREE INITRANS MAXTRANS TABLESPACE PCTFREE指定预留自由空间(百分比数),默认为10.DEFAULT STORAGE(INITIAL K|MNEXT K|MMINEXTENTS MAXEXTENTS|UNLIMI
22、TEDPCTINCREASE)CLUSTER()指定表放置在所指聚簇中。PARALLEL 并行查询进程个数。AS 基于对已存在的表的查询建立新表。CACHE|NOCACHELOGGING|NOLOGGING,R,修改表,语句格式:ALTER TABLE TO 改变表的名称 ALTER TABLE ADD 在表的后面增加一个字段 ALTER TABLE MODIFY 修改表中字段的定义描述 ALTER TABLE ADD CONSTRAINT PRIMARY KEY()添加主键约束ALTER TABLE CACHE 把表放在数据库的内存区 ALTER TABLE NOCACHE 把表从数据库的内
23、存区取出,8.4 Oracle 10g的空间管理,R,删除表,语句格式:TRUNCATE TABLE 只删除数据保留表结构,即清空表或截断表 DROP TABLE 数据和表结构彻底删除序列管理 Oracle序列是一个顺序数发生器,在某些应用(例如凭证序号)中要求关键字值按升或降序自动生成。子语句格式:CREATE SEQUENCE,8.4 Oracle 10g的空间管理,R,8.4 Oracle 10g的空间管理,序列生成说明有如下选项:START WITH:序列的第1个数字,默认为1。MINVALUE:序列最小数。CYCLE:在达到限制值后重复。要删除序列,用DROP SEQUENCE 同义
24、词管理:同义词指为表或列起的别名。CREATE PUBLIC SYNONYM FOR(1)名字可以是表名,也可以是列名。(2)PUBLIC表示只能由数据库管理员操作。,R,8.4 Oracle 10g的空间管理,8.4.4 索引索引是一种树状结构,从逻辑设计方面分为:单列索引和组合索引;唯一性索引、非唯一性索引;基于函数的索引。从物理实现的角度分为:分区索引、非分区索引,B树索引;正向索引、反向索引;位图索引和位图联接索引。,R,8.4 Oracle 10g的空间管理,创建索引,语句格式:CREATE UNIQUE INDEX ON UNIQUE指定创建唯一索引,默认为非唯一索引。(ASC|D
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 原理 技术 程学先 第二 课件

链接地址:https://www.31ppt.com/p-2157251.html