Oracle体系结构课件_第1页
Oracle体系结构课件_第2页
Oracle体系结构课件_第3页
Oracle体系结构课件_第4页
Oracle体系结构课件_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库应用技术课程脉络 1 体系结构篇4 安全篇3 PL/SQL语言篇2 对象篇1.1 物理存储结构1.2 逻辑存储结构1.3 内存结构1.4 数据库实例与进程1.5 数据字典第一篇 Oracle 体系结构 Oracle数据库的体系结构,可以用来分析数据库的组成和工作过程,以及及数据库是如何组织和管理数据的。 Oracle数据库从结构上可以分为逻辑结构和物理结构。Oracle 数据库系统的体系结构 Oracle 数据库系统的体系结构 物理结构:数据库实际的数据存储单元,由存储在磁盘中的操作系统的文件组成。如数据文件和数据块。逻辑存储结构:数据概念上的组织,如数据库或表; 逻辑存储结构是从逻辑的

2、角度来分析数据库的构成的,是数据库创建后利用逻辑概念来描述Oracle数据库内部数据的组织和管理形式。类似于数据结构的物理结构和逻辑结构数据文件(data file) 后缀为.dbf日志文件(redo log file) 后缀为.rdo控制文件(control file ) 后缀为.ctl配置文件 1.1 Oracle物理结构归档文件:后缀为.ARC 数据文件(Data File)是指存储数据库数据的文件。 Oracle 数据库的每个表空间包括一个或多个数据文件。 Oracle数据库中所有的数据信息都存放在数据文件中,是存储在文件系统中实际的物理文件。 数据文件用来存储数据库中的全部数据,如存

3、储数据库表中的数据和索引数据。通常为后缀名为.dbf格式的文件。1.1物理结构-数据文件 数据文件可以存放两种类型的数据: 用户数据: 用户应用系统的数据。 系统数据: 管理用户数据和Oracle系统本身的数据。 用户建立的表名,列名,这些数据自动被存放在系统表空间对应的system01.dbf; Oracle系统内部的数据字典、表如DBA_USERS、DBA_DATA_FILES等存放的数据属于Oracle系统内部的数据-存放在系统表空间对应的system01.dbf。1.1 物理结构-数据文件 图 数据库、表空间和数据文件之间的关系 2.2.1物理结构-数据文件 一个数据文件只能属于一个表

4、空间。 数据文件创建后可改变大小。 创建新的表空间需创建新的数据文件。数据文件一旦加入到表空间,就不能从表空间移走,也不能和其他表空间发生联系。1.1物理结构-数据文件 数据字典: dba_data_files和v$datafile 查询当前数据库的所有的表空间及其对应的数据文件。 col file_name for a50; set linesize 140; Select file_name,tablespace_name,bytes from dba_data_files; Select file#,name,checkpoint_change# from v$datafile;1.1

5、物理结构-数据文件补充:describe命令查询对象的结构例如:desc 表名 desc 数据字典名字日志文件(重做日志文件redo log),用于记录数据库所做的全部变更(如增加、删除、修改)及由Oracle内部行为而引起的数据库变化信息。目的:记录数据的改变,提供数据库的恢复1.1.2 物理结构-日志文件1.2 物理结构-日志文件数据修改信息后,数据文件中只保留修改后的数据,日志文件中即保留修改后的数据,又保留修改前的数据。表或整个表空间设定Nologging属性时,基于表或表空间的所有的DML操作将不会生成日志信息。 注意:一个数据库至少需要两个重做日志文件。多元日志文件(multipl

6、exed redo log)系统在不同的位置自动维护重做日志的两个或以上的副本。二、日志的运行流程:日志按照有序循环的方式被使用。1.1.2物理结构-日志文件1.1.2物理结构-日志文件二、日志的运行流程:日志按照有序循环的方式被使用。即当一组日志文件被填满后,循环覆盖下一组日志文件,不断循环。当所有日志文件都被写满后,就回到第一个日志文件,日志切换。重做日志的基本概念重做日志的多元性 重做日志的基本概念 LGWR写入重做日志的过程 查看重做日志信息 V$log和v$logfile【例】查询视图V$LOG,显示控制文件中重做日志文件的信息:SQL SELECT GROUP#, ARCHIVED

7、, STATUS FROM V$LOG;查看重做日志信息 查看重做日志组页面 查看重做日志信息【例】查询视图V$LOGFILE,显示重做日志组及其成员的基本信息:SQL SELECT GROUP#,STATUS,MEMBER FROM V$LOGFILE;创建重做日志组和成员(p) ALTER DATABASE语句创建重做日志组 【例】在使用ALTER DATABASE语句创建重做日志组时,可以使用GROUP子句定义组编号:ALTER DATABASE ADD LOGFILE GROUP 10 (log1a.rdo, log2a.rdo) SIZE 5000k;【例】在ALTER DATABA

8、SE语句中使用ADD LOGFILE子句也可以创建重做日志组:ALTER DATABASE ADD LOGFILE (log1c.rdo, log2c.rdo) SIZE 5000k;创建重做日志组和成员P107 创建重做日志成员 【例】在ALTER DATABASE语句中使用ADD LOGFILE MEMBER关键字,可以向已存在的重做日志组中添加成员:ALTER DATABASE ADD LOGFILE MEMBER log3a.rdo TO GROUP 10; 注意:带member的日志添加没有size语句。SELECT GROUP#,STATUS,MEMBER FROM V$LOGFI

9、LE;删除重做日志组和成员(2)删除重做日志成员 DROP LOGFILE MEMBER子句也可以删除指定的重做日志。 【例】删除重做日志组log1a.rdo:SQL ALTER DATABASE DROP LOGFILE MEMBER log1a.rdo;数据库已更改。删除重做日志组和成员 (1)删除重做日志组 DROP LOGFILE子句也可以删除指定的重做日志组。【例】删除编号为10的重做日志组:SQL ALTER DATABASE DROP LOGFILE GROUP 10;数据库已更改。日志切换可以使用命令行强制执行(了解)ALTER SYSTEM SWITCH LOGFILE多个日

10、志组是循环使用的,一般是前面一个日志组写满了,就开始用下一个日志组。最后一组写满了,又回过来写第一个日志组。alter system switch logfile 是用手工的方式,让Oracle 直接使用下一个日志组,而不管当前使用的日志组是否写满。Oracle 数据库允许将被填充满的重做日志文件组保存到一个或者多个离线的位置,这叫做归档重做日志,简称归档日志。将重做日志文件转换为归档文件的过程叫归档。1.1.2物理结构-日志文件根据在事务信息将被覆盖时,是否应该将文件归档,数据库分为以下两种归档模式:ARCHIVELOG(归档日志)或NOARCHIVELOG(非归档日志)模式。 归档过程只能

11、在ARCHIVELOG模式下数据库中进行.1.2.2物理结构-日志文件1.1.2物理结构-日志文件ARCHIVELOG模式: 采用生成归档日志的模式NOARCHIVELOG模式: 不生成归档日志归档文件: .ARC查看归档日志信息【例】使用ARCHIVE LOG LIST命令可以显示归档日志信息:SQL ARCHIVE LOG LIST;数据库日志模式 存档模式自动存档 启用存档终点 USE_DB_RECOVERY_FILE_DEST最早的联机日志序列 22下一个存档日志序列 22当前日志序列 25SQL ARCHIVE LOG LIST(掌握)必须在sys用户下完成方法二select nam

12、e,log_mode from v$database;(了解)查看归档日志信息与归档日志相关的视图 段 类 型说 明V$DATABASE显示数据库处于归档日志模式(ARCHIVELOG)还是非归档日志模式(NOARCHIVELOG)V$ARCHIVE_PROCESSES显示一个数据库实例的不同归档进程的状态信息V$BACKUP_REDOLOG显示备份和归档日志信息V$LOG显示所有重做日志组,表明哪些重做日志组需要被归档V$LOG_HISTORY显示日志的历史信息1.1.2物理结构-日志文件查询日志信息Select member from v$logfile;查询数据库是否为归档模式Selec

13、t dbid,name,log_mode from v$database; Oracle数据库系统在运行前要首先转到控制文件。以检查数据库是否良好。 每个Oracle数据库都有相应的控制文件,用于打开、存取数据库。它们是较小的二进制文件,其中记录了数据库的物理结构。控制文件名字通常为Ctr*.ctl格式1.1.3 物理结构-控制文件控制文件中的内容只能够由Oracle本身来修改。每个数据库必须至少拥有一个控制文件。一个数据库也可以同时拥有多个控制文件,但是一个控制文件只能属于一个数据库。1.2.3物理结构-控制文件1.1.3物理结构-控制文件控制文件用以记录与描述数据库的外部结构。主要包括:

14、Oracle 11g数据库名称与建立时间。 数据文件与重做日志文件名称及其所在位置。 日志记录序列码(log sequence number)。Select * from v$controlfile;思考与作业:如何查看数据文件,日志文件和控制文件的存储位置及信息1.2.4 配置文件配置文件是一个ASCII文本文件,记录Oracle数据库运行时的一些重要参数。名字通常为*.ora格式。如SPfile.ora文件, 数据库实例初始化文件initSID.ora, listener.ora文件, sqlnet.ora文件, tnsnames.ora文件 总结数据文件 .DBF控制文件 .CTL重做日

15、志文件 .LOG参数文件: .ORA归档文件: .ARC数据库存储结构 上机练习二物理存储结构涉及数据字典的查询SQL复习休息一会儿例 查询哪些雇员的工资高于他所在部门的平均工资。CONN scott/tigerorclSELECT deptno,ename,sal FROM emp outer WHERE sal(SELECT avg(sal) FROM emp WHERE deptno=outer.deptno) ORDER BY deptno;SELECT deptno, avg(sal) FROM emp GROUP BY deptno ORDER BY deptno; 举例:子查询ANY和ALL运算符的应用。SELECT empno, ename , job , sal FROM emp WHERE sal ANY (SELECT sal FROM emp WHERE job =SALESMAN) AND jobSALESMAN ; SELECT empno, ename , job , sal FROM emp WHERE sal ALL (SELECT sal FROM emp WHERE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论