最新Oracle10g数据库基础知识培训教材.doc
《最新Oracle10g数据库基础知识培训教材.doc》由会员分享,可在线阅读,更多相关《最新Oracle10g数据库基础知识培训教材.doc(115页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateOracle10g数据库基础知识培训教材Oracle 10gOracle 10g数据库基础知识一、 Oracle数据库简介 数据库技术是20世纪60年代后期产生并发展起来的,是信息技术中发展最快的领域之一。按照数据模型的不同,可以把数据库系统划分为层次数据库、网状数据库、关系数据库和面向对象数据库等。Oracle是关系数据库系统的杰出代表和领跑者。Oracle数据库管
2、理系统的发展过程是一个不断创新的过程。 数据库领域的Oracle代表两个含义:一个是IT界著名的Oracle(甲骨文)公司,另一个就是甲骨文公司的产品Oracle数据库管理系统的简称。目前,Oracle产品覆盖了大、中、小型机等几十种机型,Oracle数据库管理系统已成为世界上使用最广泛的关系数据库系统之一,成为这一领域的领导者与标准制订者。Oracle数据库产品一直占据着数据库市场龙头老大的地位,远远领先于其他公司。 Oracle 10g是Oracle公司为迎接“网格计算”时代的来临而提供的数据库解决方案。2003年9月8日,Oracle公司总裁拉里埃里森在旧金山Oracle用户大会上宣布了
3、全球首个企业网格计算中间件Oracle数据库10g。 Oracle从“i”到“g”的演进:网格是建立在Internet和Web技术和分布计算技术上的,软硬件一体化的新一代网络计算的基础设施,它采用开放、标准的协议,通过对大规模分散资源的有效共享,为动态参与的、由多机构所形成的虚拟组织(virtual organization,VO)协同完成某类应用,提供可扩展的、安全的、一致的、不同等级质量的服务。二、 Oracle 10g的体系结构数据库的体系结构是从某一角度来分析与考察数据库的组成、工作流程与原理以及数据在数据库中的组织与管理机制。Oracle系统体系结构是整个Oracle服务器系统的框架
4、,是管理和应用Oracle数据服务器的基础和核心。Oracle系统体系结构由两部分组成:存储和实例。存储结构包括逻辑结构、物理结构。实例是维系物理结构和逻辑结构的核心。 2.1存储结构ORACLE数据库的存储结构分为逻辑存储结构和物理存储结构。逻辑存储结构与操作系统平台无关;物理存储结构与操作系统平台有关。从物理上看,数据库是由控制文件、数据文件、重做日志文件、初始化参数文件等组成的;从逻辑上看,数据库是由表空间组成的。表空间是最大的逻辑存储单位,块是最小的逻辑单位,逻辑存储结构中的块对应于操作系统中的块。2.1.1逻辑存储结构l 许多初始化参数都是针对逻辑存储结构来定义的。l 逻辑存储结构包
5、括表空间、段、区、块。逻辑存储结构之间的关系是:多个块组成区,多个区组成段、多个段组成表空间、多个表空间组成逻辑数据库。l 一个区只能存在一个数据文件中,一个段中的各个区可以分别在多个数据文件中。组成区的块是连续的。2.1.1.1表空间表空间是最大的逻辑单位,一个数据库由多个表空间组成,一个表空间可以包含多个数据文件,一个数据文件只能属于一个表空间。ORACLE自动创建的表空间包括:SYSTEM系统表空间、SYSAUX辅助系统表空间、SYSAUX辅助系统表空间、TEMP临时表空间、UNDOTBS1重做表空间、USERS用户表空间等。当SYSTEM表空间被创建为一个本地管理的表空间时,TEMP表
6、空间就是必不可少的,否则他是可选的。SYTEM和SYSAUX表空间值存放系统信息,不存放非系统信息。2.1.1.2段l 段用于存储表空间中某一个特定的、具有独立存储结构的的数据库对象的数据,它由一个或多个连续的区组成。l ORACLE中可用的段类型:TABLE表段、TABLE PARTITION表分区段、INDEX索引段、INDEX PARTITION索引分区段、CLUSTER簇段、ROLLBACK回退段、DETERRED ROLLBACK延迟回退段、UNDO撤销段、TEMPORARY临时段、CACHE高速缓存段、LOB二进制大对象段、LOBINDEX二进制大对象索引段l 段的增大过程是通过增
7、加区的个数而实现的(每次增加一个区)。每个区的大小是块的整数倍。(1)表段表段存储表的所有数据。当用户创建表时,就会在该用户的默认表空间中为该表分配一个与表名相同的表段,以便将来存储该表的所有数据。(2)表分区段表分区段用于存储分区表的所有数据。当用户创建分区表时,就会在该用户的默认表空间中为该表的每个分区分配一个表分区段。通过将一个达标的数据分散到不同的表分区段中,就能降低I/O次数,提高性能。(3)索引段索引段存储索引的所有数据。当用户用CREATE INDEX语句创建索引,或在定义约束而自动创建索引时,就会在该用户的默认表空间中为该索引分配一个与索引名相同的索引段。(4)索引分区段如果为
8、分区表创建分区索引,则会为每个区分区索引分配一个索引分区段,其功能与表分区段相同。(5)临时段临时段存储排序所产生的临时数据。临时数据首先会被暂存到排序区(属于PGA区)中,当排序区不足以暂存这些临时数据时,则会在该用户的临时表空间中自动创建一个临时段,用于暂存这些临时数据,排序结束时,临时段会自动消除。执行以下操作时会产生临时数据:CREATE INDEX,SELECT.ORDER BY,SELECT.GROUP BY,SELECT DISTINCT.,SELECT.UNION,SELECT.INTERSECT,SELECT.MINUS,ANALYZE命令。在ORACLE中,每个用户都有一个
9、用户分配临时段的临时表空间。临时表空间一般通用,所有的用户的默认临时表空间都是TEMP表空间。也可以创建另外的临时表空间,然后在创建用户时或创建用户之后,指定其临时表空间。建议使用专用的临时表空间作为用户的临时表空间。(6)回退段回退段存储数据修改之前的位置和值。利用这些信息,可以回退未提交的事务,维护数据库的读一致性,并能从例程的崩溃中进行恢复。回退段的原理与实现是一项十分复杂的技术,已经面临淘汰。自ORACLE 9I来,增加了UNDO(撤销或还原)表空间,并增加了自动撤销管理功能来代替回退段的功能,即用撤销表空间代替回退段,但功能相同。建议使用自动撤销管理功能中的撤销段,不要使用手动撤销管
10、理的回退功能。(7)撤销段撤销表空间用于分配撤销段。撤销段也用于存储数据修改之前的位置和值。默认的撤销表空间由初始化参数UNDO_TABLESPACE指定的。撤销表空间是循环使用的,已提交的撤销记录可能被覆盖,但可以用初始化参数UNDO_RETENTION指定撤销记录在撤销段中的保留时间。即使在ORACLE中设置初始化参数UNDO_MANAGEMENT为AUTO,即启动自动撤销管理功能,也会在SYSTEM表空间中保留一个SYSTEM回退段,以便存放和处理由ORACLE系统事务产生的撤销数据。在创建数据库后,运行SQL.BSQ脚本时会自动创建SYSTEM回退段,DBA不需要对它进行任何的维护和管
11、理,也不能删除它。(8)二进制大对象段二进制大对象段用于存储LOB数据类型列中的数据,如:文档,图像,音频,视频等。创建表时,可以定义LOB数据类型的列,ORACLE会为此自动分配对应的二进制大对象段。对于LOB列来说,如果数据长度少于40000字节,则与其他列的数据会一起存放在表段中;否则数据就会被存储到二进制大对象段中。2.1.1.3区区是由物理上连续存放的块构成。由一个或多个区组成段。一个区只能属于一个数据文件。当在数据库中创建带有实际存储结构的方案对象时,ORACLE将为该方案对象分配若干个区,以便组成一个对应的段,来为该方案对象提供初始的存储空间。当段中已分配的区都写满后,ORACL
12、E就要在该方案对象所在的表空间中为该段分配下一个新的空白区,以便容纳更多的数据。2.1.1.4块l 块是最小的数据管理单位。即数据管理中输入输出的最小单位。相应的,操作系统执行输入输出操作的最小单位是操作系统块。块的大小是操作系统块大小的整数倍。l 块大小是一个表空间的属性。SYSTEM和SYSAUX表空间具有相同的标准的块大小,这个大小是在创建数据库时由DB_BLOCK_SIZE初始化参数指定的。在创建数据库之后这个初始化参数值将不能再改变。l 在ORACLE 9I前,同一个数据库中的所有表空间必须使用相同大小的块;从ORACLE 9I开始,允许表空间使用各自不同的块大小,这个大小是在创建该
13、表空间时用BLOCK integer K子句指定的。如果不适用该子句,则可以使用DB_BLOCK_SIZE初始化参数指定的块大小。在使用非标准块之前,必须先为非标准的块分配相应的数据告诉缓存。2.1.2物理存储结构数据库的物理存储文件有:控制文件、数据文件、重做日志文件、密码文件、参数文件和归档重做日志文件等。逻辑存储结构只有创建、删除的操作;而物理存储结构除了创建、删除之外,还有一个最重要的将其移动到另外一个位置的操作。2.1.2.1控制文件l 控制文件是一个很小的二进制文件。在装载数据库时,ORACLE将读取控制文件中的信息,以便判断数据库的状态,获得数据库的物理结构信息及物理文件的使用权
14、。因此,控制文件对于数据库的成功装在,以及其后的打开都是至关重要的。只有控制文件正常才能装载、打开数据库,否则不能。l 在数据库运行的过程中,每当出现数据库检查点(checkpoint)或修改数据库结构之后,ORACLE就会修改控制文件的内容。DBA可以通过OEM工具修改控制文件中的部分内容,但是不应该认为的修改控制文件中的内容,否则会破坏控制文件。l 应该定期对数据库的控制文件进行备份,并将备份保存在不同的硬盘上;另外,处于安全考虑,可以创建多个控制文件,互为镜像进行复用。2.1.2.2数据文件l 数据文件是实际存储插入到数据库表中的实际的操作系统文件。数据文件的大小与它们所存储的数据量的小
15、小直接相关,会自动增大,但删除其中的数据,数据文件的大小不会减少,只能使其有更多的空闲区。l 一个表空间在物理上对应于若干个数据文件,而一个数据文件只能属于一个表空间。l 在创建表空间时,ORACLE会同时为该表空间创建第一个数据文件。处SYSTEM表空间之外,任何表空间都可以由联机状态切换到脱机状态。当表空间进入脱机状态时,组成该表空间的数据文件也就进入脱机状态了。也可以将表空间中的某一个数据文件单独的设置为脱机状态,以便进行数据库的备份或恢复。正在使用的联机数据文件是不能备份的。2.1.2.3重做日志文件l 当用户对数据库进行修改时,ORACLE实际上是在内容中进行修改,过一段时间后,再几
16、种将内存中的修改结果成批的吸入上面的数据文件中。l 如果在将内存中的修改结果写入到数据文件之前发生故障,导致计算机或数据库崩溃,那么,这些修改结果就会被遗失。ORACLE是用重做日志文件来随时保存这些修改结果的,即ORACLE随时将内存中的修改结果保存到重做日志文件中。“随时”表示在将数据修改结果写入数据文件之前,可能已经分好几次写入重做日志文件了。因此,即使发生故障导致数据库崩溃,ORACLE也可以利用重做日志文件中的信息来恢复丢失的数据。只要某项操作的重做信息没有丢失,就可以利用这些重做信息来重现该操作。l 因为ORACLE是以循环方式来使用重做日志文件的,所以每个数据库至少需要2个以上重
17、做日志文件。当第一个重做日志文件被写满之后,后台进程LGWR开始写入第二个重做日志文件。当第二个重做日志文件写满后,又开始写入第一个重做日志文件。l 当循环使用的重做日志文件比较多、比较大时,可以记录的重做日志就比较多。还可以启动自动归档功能,将即将被覆盖的重做日志文件中的内容存储到另外的归档文件总,以便不丢失任何重做日志,得以恢复任何数据。2.1.2.4参数文件l 参数文件也被称为初始化参数文件,用于存储SGA、可选的ORACLE特性和后台进程的配置参数。从ORACLE 9I开始,它有2中类型:文本参数文件PFILE和服务器参数文件SPFILE。这两种参数文件的作用都相同,可以使用其中之一来
18、配置例程和数据库选项。文本参数文件可以使用文本编辑器进行编辑;服务器参数文件是二进制文件,不能直接用文本编辑器进行编辑。l 当数据库启动时,并在创建例程或读取控制文件之前,会先读取参数文件,并按期中的参数进行例程的配置。默认使用的是SPFILE。2.1.2.5口令文件口令文件是个二进制文件,用于验证特权用户。特权用户是指具有SYSOPER或SYSDBA权限的特殊数据库用户。这些用户可以启动例程、关闭例程、创建数据库、执行备份恢复等操作。创建ORACLE数据库,默认的特权用户是SYS。口令文件的默认位置是%ORACLE_HOME%database,命令格式为PWD.ora。2.1.2.6预警文件
19、预警文件按时间顺序记录了由服务器进程、后台进程写入的消息和错误。查看预警文件就可以查看到是否有ORACLE内部错误、块损坏错误,以及非默认的初始化参数,还可以监视特权用户的操作,监视数据库的物理结构的变化。预警文件的位置由初始化参数background_dump_dest确定。命名格式为_alert.log。2.1.2.7后台进程跟踪文件后台进程跟踪文件用来记录后台进程的警告或错误消息。每个后台进程都有相应的跟踪文件。后台进程跟踪文件的位置由初始化参数background_dump_dest确定。命名格式为_.trc。2.1.2.8服务器进程跟踪文件l 该文件用来记录服务器进行的相关信息,跟踪
20、SQL语句,诊断SQL语句性能,做出相应的性能调整规划。当使用该类型跟踪文件来跟踪SQL语句时,必须先激活SQL跟踪。服务器进程跟踪文件的位置由初始化参数user_dump_dest来确定。命名格式为_ora_.trc。l 激活SQL跟踪的办法是在初始化参数文件中,或是在启动会话时,将参数sql_trace设置成TRUE。2.1.2.9归档日志文件非活动的重做日志文件的备份。通过使用归档日志文件,可以保留所有历史重做记录。只有在归档模式下才会生成归档日志文件。2.1.2.10监听程序日志文件、跟踪文件记录监听程序的启动时间、正在监听的端口、正在运行在哪台计算机上、已经建立了哪些连接等信息。其默
21、认位置是%ORACLE_HOME%NETWORKlog,命名格式为listenerX.log,其中listenerX为程序的名称。2.2实例(Instance)l 数据库实例也称作服务器, 是用来访问数据库文件集的存储结构及后台进程的集合. 在更多的情况下,数据库实例也被叫做Oracle服务(OracleService)。在Oracle服务没有被启动之前,用户是无法访问数据库的。l 一个数据库可以被多个实例访问(称为真正的应用群集选项)。l 决定实例的大小及组成的各种参数或者存储在名称init.ora的初始化文件中, 或者隐藏在数据库内部的服务器参数文件中. 通过spfile引用该文件, sp
22、file存储在spfile.ora文件中。l Oracle体系结构的基本概念实例中实例启动时读取初始化文件, 数据库系统管理员可以修改该文件, 对初始化文件的修改只有在下次启动时才有效。l 实例分为两部分: memory structure(内存结构)与background process(后台进程);l 内存是用来保存指令代码和缓存数据的。内存是用来保存指令代码和缓存数据的。要运行一个软件程序,必须先要在内存中为其指令代码和缓存数据申请,划分出一个区域,再将其从磁盘上读入,放置到内存,然后才能执行。内存结构是oracle体系结构中最为重要的一部分,内存也是影响数据库性能的第一因素。内存的大小
23、,速度直接影响数据库的运行速度。l 内存结构分为两部分:SGA(System Global Area)区与PGA(Program Global Area)区。2.2.1系统全局区(SGA)l 使用内存最多的是sga,同时也是影响数据库性能的最大参数。l sga是是一块用于加载数据、对象并保存运行状态和数据库控制信息的一块内存区域,在数据库实例启动时分配,当实例关闭时释放,每个实例都用于自己的sga区。l 当数据库启动到nomount状态时,sga区已经分配,同时启动后台进程。2.2.1.1数据高速缓存区l 据高速缓存保存的是最近从数据文件中读取的数据块,其中的数据可以被所有用户共享.数据高速缓
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 Oracle10g 数据库 基础知识 培训教材
限制150内