Oracle_基础知识7832.pptx
《Oracle_基础知识7832.pptx》由会员分享,可在线阅读,更多相关《Oracle_基础知识7832.pptx(132页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Oracle DBA Oracle ocp course content系统安装、结构及维护备份和恢复网络管理 性能调优 Architecture and AdministrationOracle结构和维护:结构和维护:1.Oracle 特点、结构2.创建数据库3.Oracle 数据库的访问4.Managing an Oracle Instance5.Maintaining the Control File6.Maintaining Redo Log Files7.Managing Tablespaces and Data Files8.Managing Rollback Segments9.
2、Managing Users,privileges,roles概述概述ORACLE具有甲骨文之意,是全世界第二大软件公司。数据库、电子商务套件、ERP、财务产品、开发工具培训认证。Oracle服务(server)是一个关系数据库(relational database)管理系统,提供开放、全面、完整的信息管理。特点特点 高性能、伸缩性 安全性:角色、权限、用户 并发控制:表锁定、行锁定 海量数据:表空间、空间数据构件 TB级 数据完整性:日志、回滚段 分布式数据库:数据库连接Oracle 概述、特点概述、特点发展和构成发展和构成发展史发展史6.0 性能不如sybase7.0 分区技术支持分段的
3、大型数据库8.0 面向对象8.1.6 面向internet 支持java、webserver、jdeveloper9i portal 手机上网oracle体系结构体系结构Oracle体系结构决定了数据库如何使用内存、硬盘、cpu和网络一个Oracle server包括一个Oracle实例实例(instance)和几个Oracle数数据库文件据库文件(database file).实例实例数据库数据库文件文件Oracle instance 实例 =内存分配 +一组后台进程 如果把Oracle比作一部汽车,instance相当于汽车的发动机一样,启动oracle前提应先启动instance.内存被
4、分配,进程被启动SGAbackground process Oracle体系结构中各种名称体系结构中各种名称 数据库名,用于标示一个数据库用于标示一个数据库,用用db_namedb_name表示。表示。数据库实例名,是用于和操作系统进行联系的标识,数据库启动时将自动是用于和操作系统进行联系的标识,数据库启动时将自动分配分配SGASGA,并启动,并启动OracleOracle的多个后台进程(的多个后台进程(Background ProcessesBackground Processes)。)。内存区域和后台进程合称为实例。一般情况下,数据库与实例是一一对内存区域和后台进程合称为实例。一般情况下,
5、数据库与实例是一一对应的关系,即有一个数据库就有一个实例。但在应的关系,即有一个数据库就有一个实例。但在OracleOracle的并行服务器结的并行服务器结构中,数据库与实例是一对多的关系,这种配置方式中,同一时间用户构中,数据库与实例是一对多的关系,这种配置方式中,同一时间用户只与一个实例相连,当一个实例出现故障,其它实例将自动服务。只与一个实例相连,当一个实例出现故障,其它实例将自动服务。Instance_nameInstance_name是是oracleoracle参数,而参数,而oracle_sidoracle_sid是操作系统环境变量,是操作系统环境变量,Instance_nameI
6、nstance_name与与oracle_sidoracle_sid必须一样。必须一样。数据库域名domain、全局数据库名global name、数据库服务名service name、网络服务名 network nameOracle文件文件一个 Oracle 数据库是一个数据单位的集合。主要目的是为了储存和读取信息。Oracle 数据库可以分为逻辑逻辑(logical)结构和物理结构和物理(physical)结构结构。物理结构指数据库中的操作系统文件的集合,包含以下三种文件:数据文件数据文件(data file)包含数据库中实际数据。数据包含在用户定义的表中,而且数据文件还包含数据词典(da
7、ta dictionary)、数据修改以前的映象(before-images of modified Data)、索引(indexes)和其他类型的结构(other types of structures)。一个数据库中至少包含一个数据文件。数据文件的特性有:一个数据文件只能被一个数据库使用。当数据库空间不足时,数据文件具有自动扩展的特性。一个或者多个数据文件构成数据库的逻辑存储单元叫做表空间(tablespace).重作日志重作日志(Redo logs)包含对数据库的修改记录,可以在数据失败后恢复。一个数据需要至少两两个重作日志文件。控制文件控制文件(Control files)包含维护和检
8、验数据库一致性的信息。例如:控制文件用来检验数据文件和重作日志文件。一个数据库需要至少一个控制文件。其它文件其它文件其他文件参数文件参数文件 用来定义Oracle实例的特性。例如:包含SGA内存的大小。口令验证文件口令验证文件 用来验证启动和关闭Oracle实例的用户。归档重做日志文件归档重做日志文件 是重做日志的备份用以恢复数据。Oracle 数据库逻辑与物理结构Database Architecture数据库结构数据库结构(Database Architecture)Oracle 数据库结构包括物理(physical)和逻辑(logical)结构 物理(physical)结构包括控制文件(
9、control files),在线重作日志(online redo log files),和数据文件(data files).逻辑logical结构包括表空间(tablespaces),段(segments),区间(extents),和数据块(data blocks).Oracle server 可以有条理的通过表空间以及段、扩展、数据块控制磁盘空间表空间表空间(Tablespaces)Oracle database 的数据存储在表空间中。An Oracle database can be logically grouped into smaller logical areas of spac
10、e known as tablespaces.一个 tablespace 只能同时属于一个database。每个 tablespace 包含一个或多个操作系统文件数据文件(data files).一个 tablespace 可能包含一个或多个segments.Tablespaces 可以在数据库运行时使其在线。除了SYSTEM tablespace 或 有活动回滚段的 tablespace,tablespaces 可以被离线(offline)。Tablespaces 可以在读/写之间切换。Database Architecture(Continued)数据文件数据文件 Data FilesOr
11、acle数据库tablespace包含的一个或多个文件叫做数据文件(data files)。这些物理结构在oracle服务运行时与操作系统相配合。一个数据文件只能属于一个tablespace。Oracle 服务为表空间创建一个数据文件,分配指定的磁盘空间再加上额外的一小部分开销。数据库管理员在数据文件创建后可以改变它的大小或者设置为根据需要自动增长。段段 SegmentsSegment指在tablespace中为特定逻辑存储结构分配的空间。例如,为表分配的所有存储空间就是就是一个segment。一个tablespace可能包含一个或多个 Segment.segment不能跨越 tablespa
12、ce;但是,一个 segment 可以跨越多个属于同一 Tablespace 的 data files。每个 segment 有一个或多个extent 组成。区间区间 Extents通过extent 来给segment分配空间。一个或多个extents组成一个segment.当一个 segment创建时,至少包含一个 extent。当 segment增长时,extents被加到 segment 中。DBA可以手工为segment 增加 extents。一个 extent 由一系列连续的 Oracle blocks组成。一个 extent 不能跨越 data file,但必须存在同一data f
13、ile中。The Relationships Among Segments,Extents,and Data Blocks Data BlocksOracle server管理data files存储空间的单位叫做 Oracle blocks or data blocks.Oracle 数据库最小的存储数据单位为data blocks.Oracle data blocks是Oracle server存储、读、写的最小的存储单位。一个data block对应一个或多个分配给data file的操作系统块。在Oracle数据库创建时,初始参数文件的 DB_BLOCK_SIZE 确定Oracle数据
14、库Data block的大小。Data block的大小应该为操作系统块的整数倍,以减少I/O量。Data block的最大尺寸依赖于操作系统。Oracle Instance-SGAOracle instance 包含SGA内存结构和管理数据库的一些后台进程。Instance被看成使用各个操作系统的特定方法 instance 只能同时打开和使用一个database。System Global AreaSGA是存储数据库进程共享的数据库信息的内存区域。它包含Oracle Server 数据和控制信息。分配在Oracle Server驻留的计算机虚拟内存中。SGA包含如下内存结构:共享池共享池(s
15、hared pool)用来存储最近执行的SQL语句和最近使用的数据字典(data dictionary)的数据。这些SQL语句可能是被用户递交的也可能是存储过程调用的。数据缓冲区数据缓冲区(database buffer cache)用来存储最近从数据文件中读写过的数据。重作日志缓冲区重作日志缓冲区(redo log buffer)用来记录服务或后台进程对数据库的操作。另外在SGA中还有两个可选的内存结构:Java pool:用来存储Java代码。Large pool:用来存储不与SQL直接相关的大型内存结构。例如:在备份和恢复时的数据拷贝。Background Processes Datab
16、ase Writer(DBW0)负责将数据的更改由database buffer cache写到data files。Log Writer(LGWR)负责将数据更改记录由redo log buffer写到redo log files.System Monitor(SMON)检查数据库的一致性,必要的情况下,在数据库打开时执行恢复。Process Monitor(PMON)用户进程失败时,进程监控程序实现进程恢复。The Checkpoint Process(CKPT)负责更新数据库的控制文件(control files)中的状态信息。在数据缓存永久写入数据库时。PGA(程序全局区)是内存中的区
17、域,包含单个进程的数据和控制信息。每个服务器进程分配一个PGA,PGA由每个服务器进程独占。当用户连接入Oracle数据库并建立会话时,Oracle分配PGA。与SGA不同,PGA仅被一个进程使用。COMMITs 步骤步骤当 COMMIT 执行时:1 server在redo logBuffer中放置一个SCN作为commit记号。2 LGWR 执行一个不间断的写操作包括所有的redo log buffer写到redo log files及commit记号。在这一点,Oracle server可以保证即使在实例失败时数据也不会丢失。3 用户被通知COMMIT完成。.4 server记录信息显示事
18、务已经完成,锁可以被释放。数据缓冲信息独立的由DBW0执行,可能在commit前也可能在Commit后。System Change Number无论事务在何时提交,Oracle server总是分配一个System Change Number(SCN)给这个事务。SCN自动增加,在数据库是唯一的。它被Oracle Server用来作为内部的时间戳,来同步数据及保证数据读一致性。使用 SCN 可以不依靠操作系统时间来检验一致性。SQL语句的执行过程语句的执行过程 A、用户发出SQL请求,打开游标;B、把SQL语句语法分析,执行计划,数据字典等信息存入内存中共享池内;C、从数据文件中把相关数据块读
19、入数据缓冲区;D、做相应操作,若做修改,先加上行级锁,经确认后,把改过前后记录内容存入重做日志缓冲区内;E、返回结果给用户,关闭游标。备注:SQL语句大小写敏感的,同样的一个语句,若大小写不同,oracle需分析执行两次,每句后必以“;”结束。summaryIn this lesson,you should have learned how to:Explain database files:data files,control files,online redo logs Explain SGA memory structures:DB buffer cache,shared SQL poo
20、l,and redo log buffer Explain primary background processes:DBW0,LGWR,CKPT,PMON,SMON,and ARC0 Explain SQL processing steps:parse,execute,fetch数据字典数据字典数据字典 Data Dictionary数据字典数据字典是Oracle数据库的重要组成。它由一组只读表组成。包括:数据库所有对象的定义(表,视图,索引,簇,同义词,序列,过程,函数,程序包,触发器)空间的分配和使用状况列的缺省值完整性约束信息用户名已授予用户的角色和权限审计信息等数据字典结构基表存放相
21、关数据库信息的基础表视图汇总并显示存放数据字典基表中信息的视图数据字典所有者Oracle的sys用户拥有数据字典所有的基表和视图。任何Oracle用户都不能改变数据字典的任何数据。不能更新、插入、删除。数据字典的改变会影响数据库的正常运行。系统管理员需要严格管理系统用户.(sys and system)数据字典分类USER_*:用户拥有的对象ALL_*:可访问的对象DBA_*:所有对象.从DICTIONARY(DICT)中可查到名称 常用的数据字典Dba_tablespacesDba_data_filesDba_tablesDba_usersDba_viewsDba_indexesDba_db
22、_linksDba_free_spaceDba_ind_columnsDba_jobsDba_objectsDba_rollback_segsDba_segmentsDba_sequencesDba_snappshotsDba_synonymsDba_tab_columnsDba_triggersDba_constraintsDba_cons_columns前缀前缀范围范围USER用户视图ALL用户可访问的部分DBA数据库管理员视图PL*SQLPL*SQLSQL是结构化的查询语言Oracle的SQL语言包含对ANSI/ISO标准SQL语言的扩充。Oracle的SQL语言分为以下几类:DML(数
23、据操纵语言)DDL(数据定义语言)事物处理的控制语言会话控制语句系统控制语句SQL*PLUS是Oracle的一个使用程序,它可以运行于客户端,也可以运行服务器端,通过它能够查看数据字典的信息,以及查看用户数据和结构等,运行程序。PL*SQL是Oracle的一种过程化的语言。他有自己的程序结构,有各种条件控制和循环控制。通过语言,能够写数据库的存储过程和包。甚至通过PL*SQL语言还可以开发基于Web的应用。Oracle SQL,SQL*Plus and PL*SQLDMLSelect(从一个或多个表或视图中检索数据)select empno,ename,sal,deptno from empw
24、here deptno=10;复杂的select 语句:group by 子句select deptno,min(sal),max(sal)from emp group by deptno;having 子句select deptno,min(sal),max(sal)from emp where job=CLERKgroup by deptnohaving min(sal)/*sql*plus的命令行状态*/sql set pause on spool filename spool off维护参数文件(维护参数文件(init.ora)Managing an Oracle InstanceUs
25、es of ParametersThe parameter file,commonly referred to as the init sid.ora file,is a text file that can be maintained using a standard operating system editor.By default,it is located in the%ORACLE_HOME%database directory on Windows NT.With Oracle8i on Windows NT,the parameter file points to the%OR
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle_ 基础知识 7832
限制150内