《Oracle数据库-第2章-Oracle体系结构(1).ppt》由会员分享,可在线阅读,更多相关《Oracle数据库-第2章-Oracle体系结构(1).ppt(76页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、开发一个信息管理系统需要存储数据,需要2工作情景:工作情景:创建一个新的创建一个新的OracleOracle数据库数据库 任务分析 任务分解q 任务1:认识Oracle系统的体系结构。q 任务2:了解Oracle数据库的物理存储结构。q 任务3:了解Oracle逻辑存储结构。q 任务4:了解Oracle数据库实例的组成。q 任务5:使用DBCA创建数据库。q 任务6:了解Oracle数据库的启动过程。q 任务7:转换数据库的启动模式。q 任务8:以不同方式关闭数据库。q 任务9:查看数据字典视图。34任务1 任务1. 认识Oracle系统的体系结构5q 系统的体系结构决定了数据库如何使用内存、
2、硬件和网络,以及哪个进程或程序运行在哪台机器上。 q Oracle数据库服务器有两个主要的组成部分:数据库和实例(instance)。数据库的主要功能是保存数据,在物理结构上相当于是存储数据的容器,是数据的集合。Oracle实例是指数据库服务器的内存及相关后台进程。 任务16Oracle 数据库是一个数据的集合,该集合被视为一个逻辑单元Oracle 服务器 Oracle 数据库 Oracle 实例管理数据库的后台进程和内存结构的集合称为 Oracle 实例 任务1Oracle体系结构组件概览 7实 例 内存结构内存结构 后台进程后台进程 PMON SMON DBWR LGWR CKPT 其他
3、数据库数据库数据文件数据文件数据文件控制文件控制文件日志文件日志文件参数文件归档日志文件归档日志文件口令文件SGA用户进程服务器进程PGA共享池数据缓冲区日志缓冲区Oracle体系结构qOracle 数据库由操作系统文件组成,这些文件为数据库信息提供实际物理存储区qOracle 数据库包括逻辑结构和物理结构物理结构 逻辑结构 物理结构包含数据库中的一组操作系统文件。逻辑结构指数据库创建之后形成的逻辑概念之间的关系Oracle 数据库数据库 8Oracle 数据库9任务2 任务2. 了解Oracle数据库的物理存储结构 。 q 物理组件就是Oracle数据库所使用的操作系统物理文件。物理文件可分
4、为三类:物理组件数据文件 控制文件日志文件数据文件用于存储数据库数据,如表、索引数据等。控制文件是记录数据库物理结构的二进制文件。日志文件记录对数据库的所有修改信息,用于故障恢复10Oracle 物理组件q 数据文件:q Oracle在数据文件中存储全部的数据库数据。q它们是物理操作系统文件,它们包括诸如用户数据、系统数据和Overhead 数据等所有数据库数据q数据文件中的数据以块为单位q任何数据库创建时至少包含一个数据文件q 内容:q 表数据、索引数据、数据字典定义q 存储过程、常用来排序的临时数据 11数据文件 作为system用户或一些其他有特权的用户登录,查询V$DATAFILE动态
5、性能视图:【例2.1】查找数据文件的存放位置、大小和状态。SQL set linesize 600SQL select status, bytes, name from v$datafile;12查找数据文件q 日志文件用于记录数据库所做的全部变更,以便在系统发生故障时,用它对数据库进行恢复。q 日志文件主要是保护数据库以防止故障。为了防止日志文件本身的故障,ORACLE允许镜象日志(mirrored redo log),以致可在不同磁盘上维护两个或多个日志副本。 q 数据库以下面两种模式运行qNOARCHIVELOG MODENOARCHIVELOG MODEqARCHIVELOG MODE
6、ARCHIVELOG MODE 13日志文件LGWR日志组1日志组2成员1日志组3成员1成员2成员3成员2成员3成员1成员2成员314具有多个成员的重做日志组 作为system用户或一些其他有特权的用户登录,执行select语句,查询v$logfile视图 select member from v$logfile; member - e:oracleoradata redo04.log f:oracleoradata redo03.log e:oracleoradataredo02.log f:oracleoradata redo01.log 15查找日志文件q 每个数据库都有相应的控制文件,
7、它是一个较小的二每个数据库都有相应的控制文件,它是一个较小的二进制文件,用于记录数据库的物理结构。进制文件,用于记录数据库的物理结构。q创建数据库时,就创建了控制文件 q存储数据库的物理结构q还包括关于数据库的信息q数据库的名称q数据文件和恢复日志文件的名称及其位置q时间戳:数据库建立的日期q有关恢复数据库所需的同步信息16控制文件q 1.在参数文件中:initxxxx.ora q 2.作为system用户或一些其他有特权的用户登录,执行select语句: Select name from v$controlfile; name - e:oracleoradatacontrol01.dbf f
8、:oracleoradatacontrol01.dbf17控制文件的名字和位置q initsid.ora:初始化参数文件(PFILE)是一个ASCII文本文件,记录Oracle数据库运行时的一些重要参数,决定着数据库和实例的特性,如:共享池、高速缓存、重做日志缓存分配、后台进程的自动启动、控制文件的读取、为数据库指出归档日志的目标,自动联机回滚段等。q 在Oracle9i之后的版本中增加了服务器端二进制参数文件(SPFILE),默认情况下使用服务器端参数文件启动实例,初始化参数文件不仅可以在运行时修改,还可以通过scope选项决定修改过的参数值是只在本次运行中有效。 18初始化参数文件实训1了
9、解和体验数据库服务器的工作过程与原理 。完成了任务完成了任务1,请尝试实训,请尝试实训1实训2给本系统创建控制文件副本。学完了文件物学完了文件物理结构,请尝理结构,请尝试实训试实训2实训2 创建联机重做日志组和联机重做日志文件 。学完了重做日学完了重做日志文件志文件 ,请,请尝试实训尝试实训222任务3任务3. 通过管理表空间了解Oracle逻辑存储结构 q 数据库的逻辑结构是从逻辑的角度分析数据库的组成。Oracle 的逻辑组件包括:23Oracle 逻辑组件 表空间表空间段段数据块数据块范围范围段段数据库逻辑结构包含表空间、段、扩展区、数据块组成。表空间、段、扩展区和数据块将支配一个数据库
10、的物理空间如何使用。 数据块数据块:数据块是Oracle服务器所能分配、读取或写入的最小存储单元。区区:是数据库存储空间分配的一个逻辑单位,它由连续数据块所组成。区为段分配空间,它由连续的数据块组成。段段:是构成表空间的逻辑存储结构,段由一组区组成。 表空间表空间:一个数据库划分为一个或多个逻辑单位,该逻辑单位称为表空间。数据文件24逻辑结构q表空间中存储在数据库空间分配中的逻辑单位称为段。q定义为分配给逻辑数据库结构的扩展区集合。q不同类型的段:q数据段数据段q索引段索引段q回滚段回滚段q临时段临时段25段q扩展区是在表空间中被段使用的大块空间.q段在以下情况扩展区被分配:q 创建q 扩展q
11、 修改q段在以下情况扩展区被释放:q 删除q 修改q 截断26扩展区q代表数据库存储的最佳粒度级别 q在数据库创建时指定 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b 2 K b
12、 数据块扩展区 扩展区 段 27数据块28数据文件和表空间之间的映射qOracle存储数据逻辑上在表空间,物理上存储在数据文件中q表空间:q 只能属于一个数据库q 能存在一个或多个数据文件q 被分成逻辑的单元q数据文件:q 只能属于一个表空间和一个数据库q表空间的类型:分为系统表空间和非系统表空间。非系统表空间可以分为以下三类:永久表空间、临时表空间和回滚表空间。qOracle10g 数据库中的典型表空间是:q SYSTEM 表空间表空间 :系统创建数据库时自动创建,用于存储系统数据字典、系统管理信息、用户数据表、索引等对象q SYSAUX 表空间:表空间:是10g新增的辅助SYSTEM的表空
13、间,由系统内部自动维护,不存储用户数据q USER 表空间:表空间:表空间一般主要存用户数据q UNDOTBS1 表空间:表空间:表空间用来存储撤销信息,只能存回退段,不能存其他类型的段q TEMP 表空间:表空间:存储执行SQL语句时产生的临时数据(主要是排序或统计),一般此表空间所有用户通用。q状态:表空间主要有以下几种状态:联机、脱机和只读或可读写。29表空间的类型和状态30 数数据据库库 Data1.Ora 1MB Data2.Ora 1MB SYSTEM 表空间 Data3.Ora 4MB USER 表空间 数据文件 表空间的作用q 数据库的控制空间分配(例如表和索引)q 为数据库用
14、户设置空间配额q 备份或恢复数据q 跨越设备分配数据存储可提高性能31q 创建表空间q 更改表空间q设置表空间选项,如最小范围,是否自动扩展等q 删除表空间q 查看表空间信息管理表空间32q 企业管理控制台创建表空间q SQL命令创建表空间创建表空间CREATE TABLESPACE 表空间名DATAFILE 文件标识符,文件标识符.AUTOEXTEND ONNEXT n MAXSIZE UNLIMITED|n|OFFDEFAULT STORAGE(存储配置参数);例 CREATE TABLESPACE userdata DATAFILE D:Oracle11goradataorcluserd
15、ata01.dbf SIZE 10M DEFAULT STORAGE( initial 128K next 128K minextents 1 maxextents unlimited pctincrease 0 );33q 利用企业管理控制台修改表空间q 使用命令行方式修改表空间 语法格式:ALTER TABLESPCE 表空间名(ADD DATAFILE 文件标识符,文件标识符. -增加数据文件RENAME DATAFILE 文件名,文件名.TO 文件名,文件名. -修改表空间数据文件的路径DEFAULT STORAGE(存储配置参数) -修改表空间的存储参数ONLINEOFFLINENO
16、RMALIMMEDIATE -表空间联机/脱机(BEGINEND)BACKUP); -修改表空间的备份状态例 修改表空间,增加一10M的数据文件。SQL alter tablespace userdata add datafile D:Oracle11goradataorcluserdata02.dbf size 10M;修改表空间q 使用企业管理控制台删除表空间q 使用命令行方式删除表空间语法格式语法格式:DROP TABLESPACE表空间名INCLUDING CONTENTS; 例 删除表空间(包括对应的数据文件)SQL drop tablespace usertbs including
17、 contents and datafiles;34删除表空间35q控制台查看有关表空间信息。q命令行方式查看有关表空间信息借助数据字典视图或动态性能视图。如:V$TABLESPACE、DBA_TABLESPACE,USER_TABLESPACE, DBA_DATA_FILES等。例 查看表空间的名称及大小。SQL select t.tablespace_name, round(sum(bytes/(1024*1024),0) ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name = d.tablesp
18、ace_name group by t.tablespace_name; 查看表空间信息实训3管理表空间 。学完了逻辑存学完了逻辑存储结构储结构 ,请,请尝试实训尝试实训337任务4任务4. 了解Oracle数据库实例的组成。 qOracle 实例是后台进程和内存结构的集合Oracle 实例 内存结构 后台进程 分配 启动 38Oracle 实例系统全局区系统全局区 (SGA) 程序全局区程序全局区 (PGA) Oracle 实例启动时分配系统全局区当服务器进程启动时分配程序全局区qOracle 的内存结构包含以下两个内存区: 内存区内存区 39Oracle 实例内存结构q数据库信息存储于SG
19、A,由多个数据库进程共享40SGA的内存结构的内存结构 数据高速缓冲区数据高速缓冲区 共享池共享池 重做日志缓冲区重做日志缓冲区 系统全局区 2-141数据高速缓冲区 q 用于存储从磁盘数据文件中读入的数据,服务器进程将读入的数据保存在数据缓冲区中,当后续的请求需要这些数据时可以在内存中找到,不再从磁盘读取,提高了读取速度。q 数据高速缓冲区中存放着Oracle系统最近使用过的数据库数据块。q 数据缓冲区的大小对数据库的读取速度有直接的影响。共享池 q 共享池是对SQL、PL/SQL程序进行语法分析、编译、执行的内存区域。q 共享池由库缓存和数据字典缓存组成。q 库缓存含有最近执行的SQL、P
20、L/SQL语句的分析码和执行计划;q 数据字典缓存含有从数据字典中得到的表、索引、列定义和权限等信息。共享池的大小直接影响数据库的性能。 重做日志缓冲区 q 日志记录数据库的所有修改信息,日志信息首先产生于日志缓冲区。 q 日志缓冲区日志数据达到一定数量时,由后台进程将日志数据写入日志文件中。系统全局区 2-1重做日志缓冲区 q 在初始化参数文件中查询参数log_buffer 。 q SQL show parameter log_buffer数据高速缓冲区 q 数据缓冲区直接由初始化参数文件中的db_cache_size参数决定 q db_block_size用于定义标准块的大小q SQL s
21、how parameter db_cache_size 共享池 q 共享池的大小由初始化参数shared_pool_size决定,该参数以KB或MB为单位。默认的大小为8MB。q SQL show parameter shared_pool_size4242系统全局区 2-2程序全局区q PGA是用户进程私有的内存区域,不能共享。q PGA包含单个服务器进程或单个后台进程的数据和控制信息,有进程会话变量及内部数组等等。q PGA 是用户进程连接到数据库并创建一个会话时自动分配, 进程中的不同部分可以相互通信,但与外界没有联系。当一个用户会话结束后,PGA释放。43Oracle 实例进程结构q
22、Oracle 实例有几种不同类型的进程,它们是: 实例进程实例进程用户进程 服务器进程 后台进程 用户进程是一个需要与Oracle服务器进行交互的程序。当用户运行一个应用程序准备向数据库服务器发送请求时,即创建了用户进程服务器进程用于处理连接到该实例的用户进程的请求。当用户连接至 Oracle 数据库实例创建会话时,即产生服务器进程 后台进程是Oracle数据库为了保持最佳系统性能和协调多个用户请求而设置的。 Oracle 实例启动时即创建一系列后台进程 44后台进程PMONq 实例的各种后台进程是:SMONDBWRLGWRCKPTARCH 45后台进程q 数据库写入进程(DBWR) 管理数据
23、缓冲区和字典缓冲区的内容,分批将修改后的数据块写回数据库文件。q 日志写入进程(LGWR) 用于将联机重做日志缓存区的内容写入到联机重做日志文件中,是唯一能够读写日志文件的进程。 q 系统监控进程(SMON) 检查数据库的一致性。在数据库系统启动时执行恢复性工作的强制进程,对有故障的CPU或实例进行恢复。46后台进程q 进程监控进程(PMON) 用于恢复失败的数据库用户的强制性进程,当用户进程失败后,进程监控器后台进程会进行清理工作,它回滚用户进程还没做完的事务,释放该用户占用的所有数据库资源。q 归档进程(ARCH) 数据库设置为归档日志模式情况下,每次日志切换时把已满的日志组进行备份或归档
24、。q 检查点进程(CKPT) 确保缓冲区内的内容隔一定时间以后进行一次对数据文件的更新。不然在数据库发生毁损时,就只能用很长时间从日志文件的记录中才能还原回来,造成系统的负担。47后台进程48任务5 任务5.使用DBCA创建数据库,深入了解数据库的整个体系结构。 任务549一、利用DBCA创建数据库案例演示任务550二、使用OEMC查看数据库信息q 启动企业管理控制台q 连接数据库 q 查看默认用户信息 q 查看默认的控制文件 q 查看默认的表空间 51查看数据库信息实训5掌握DBCA创建数据库的步骤和方法 。学完了任务学完了任务5 ,请尝试实训,请尝试实训:创建数据库:创建数据库 5253任
25、务6任务6 了解Oracle数据库启动过程。 54数据库的启动启动 STARTUP FORCE NOMOUNT|MOUNT|OPENq STARTUP NOMOUNT 启动实例,但不装载数据库,用于建立和维护数据库。q STARTUP MOUNT 启动实例,装载数据库,但不打开数据库。 MOUNT:只为DBA操作安装数据库。q STARTUP OPEN或STARTUP 启动实例,装载数据库,打开数据这库,以这种方式启动的数据库允许任何有效的用户连接到数据库。启动数据库NOMOUNT OPENMOUNTNOMOUNTSHUTDOWNSTARTUPSHUTDOWN启动数据库MOUNT OPENMO
26、UNTNOMOUNTSHUTDOWNSTARTUPSHUTDOWN启动数据库OPEN OPENMOUNTNOMOUNTSHUTDOWNSTARTUPSHUTDOWN58任务7任务7 转换数据库的启动模式 。 q改变数据库的启动状态由NOMOUNT到MOUNT 到OPEN q ALTER DATABASE MOUNT | OPEN q启动实例 ,修改数据库的读写状态:qALTER DATABASE OPEN READ WRITE| READ ONLYqREAD WRITE: qREAD ONLY:ALTER DATABASE 命令60任务8任务8 以不同方式关闭数据库 。 关闭数据库用命令: S
27、HUTDOWN NORMAL|IMMEDIATE|TRANSCATIONAL|ABORT q 正常(NORMAL)关闭方式q 立即(IMMEDIATE)关闭方式,立即关闭数据库q 事务(TRANSACTIONAL)关闭方式q 终止(ABORT)关闭方式,直接关闭数据库,系统立即将数据库实例关闭数据库的关闭61实训6,7,8体验数据库的不同关闭方式 。学完了以不同方学完了以不同方式关闭数据库式关闭数据库 ,请尝试实训,请尝试实训6,7,8 63任务9 任务9 通过查看数据字典视图获取数据库的重要信息。 想了解系统的有关内容和问题想了解系统的有关内容和问题 Q&A查询数据库中当前存在的Oracle
28、用户:select username from dba_users;查询本用户所拥有的系统权限:select * from user_sys_privs;查询本用户拥有其他用户对象的权限: select * from user_tab_privs; 查询本用户拥有的对象:select * from user_catalog;当前数据库的详细信息$DATABASE取得oracle版本的详细信息 V$VERSION当前数据库所有日志文件的信息v$logfile当前数据库所有控制文件的信息。 V$CONTROLFILE 当前数据库所有数据文件的详细信息。 V$DATAFILE64Oracle数据字典
29、q 静态数据字典 记录了系统资源信息、用户登录信息及数据库信息等几乎所有内容 q 动态性能表 是一组虚拟表,记录当前数据库的活动情况和性能参数。 65Oracle数据字典q对数据库的重要性q描述Oracle系统的活动信息和所有用户对象的定义信息 q包含只读表和视图信息q存放在system表空间q由SYS用户拥有q由 Oracle server维护q通过select查询信息Control filesData files Redo Log filesDatabaseData Dictionarytables66Oracle静态数据字典静态数据字典提供有关该数据库的信息 :q数据库的逻辑结构和物理结
30、构信息q有关数据库中对象定义、空间分布情况 q关于完整性约束的信息; q用户 q角色 q权限q审计67Oracle静态数据字典q静态数据字典中的视图分为三类 q范围区别:qDBA:数据库中所有对象数据库中所有对象qALL:当前用户能够访问的对象当前用户能够访问的对象qUSER:当前用户所拥有的对象当前用户所拥有的对象USER_xxx 当前用户所拥有的对象的信息当前用户所拥有的对象的信息 ALL_xxx 当前用户能够访问的对象的信息当前用户能够访问的对象的信息 DBA_xxx 数据库中所有对象的信息数据库中所有对象的信息 68静态数据字典分类q全部数据字典表的名称和解释 : dictionary
31、全部数据字典表的名称和解释,同义词dictdict_column全部数据字典表里字段名称和解释q数据库对象: DBA_TABLES, DBA_INDEXES, DBA_TAB_COLUMNS, DBA_CONSTRAINTSq空间分配: DBA_SEGMENTS, DBA_EXTENTSq数据库结构: DBA_TABLESPACES, DBA_DATA_FILES69静态数据字典 例q虚拟表 q记录当前数据库的活动情况 q数据库运行时不断进行更新 q诊断和解决系统运行所出现的问题 qSYS维护的表和视图 q建立了公用同义词(以V$开头) 70动态性能表q V$INSTANCE用于获取当前例程的
32、详细信息。q V$SGA用于取得SGA更详细的信息。q V$PARAMETER用于取得初始化参数的详细信息。q V$VERSION用于取得oracle版本的详细信息。q V$SESSION 用于显示会话的详细信息。q V$BGPROCESS 用于显示后台进程的详细信息q V$DATABASE 用于取得当前数据库的详细信息q V$CONTROLFILE 数据库所有控制文件的信息。q V$DATAFILE 数据库所有数据文件的详细信息V$LOGFILE 用于显示重做日志成员的信息。q V$LOG 用于显示日志组的详细信息。q V$THREAD 用于取得重做线程的详细信息。71动态性能表示例实训9查
33、看数据字典和动态性能表 。学完了数据字学完了数据字典典 ,请尝试,请尝试实训实训9 q Oracle数据库服务器由数据库和实例组成。q 实例由内存结构和一组后台进程组成。q Oracle内存由SGA和PGA组成。 q Oracle后台进程主要由数据写进程(DBWR)、日志写进程(LGWR)、系统监控(SMON)、进程监控(PMON)、检查点进程(CKPT)构成。q Oracle数据库划分有逻辑结构和物理结构。 q 逻辑结构主要包括表空间、数据对象、段、区、数据块。q 物理结构主要由数据文件、控制文件和日志文件组成。q Oracle数据字典由一组表和视图构成, 可以把数据字典划分为静态数据字典和动态性能表两大类。73知识点小结74学习情景总结1.1.学会使用学会使用DBCADBCA创建创建“人事管理系统人事管理系统”数据库数据库. .了解了解数据库实例数据库实例( (即内存和进程即内存和进程) )及其数据库及其数据库( (物理结构物理结构) )。2.2.认识控制文件的重要性认识控制文件的重要性3.3.掌握创建重做日志文件的方法。掌握创建重做日志文件的方法。 4.4.通过管理表空间了解通过管理表空间了解OracleOracle的逻辑结构。的逻辑结构。5.5.通过查看数据字典视图获取数据库的重要信息通过查看数据字典视图获取数据库的重要信息75谢 谢 !76 结束语结束语
限制150内