您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > oracle10g培训讲义-1
第一章Oracle10g数据库体系结构目录一、Oracle数据库产品.........................................................................................................................3二、关系数据库概念.............................................................................................................................3(一)关系数据库的诞生.............................................................................................................3(二)数据存储.............................................................................................................................4(三)访问Oracle数据库............................................................................................................9三、Oracle体系结构..........................................................................................................................11(一)Oracle结构概述...............................................................................................................11(二)实例(Instance)组成.....................................................................................................13(三)数据库结构.......................................................................................................................20一、Oracle数据库产品Oracle公司在2004年春季推出Oracle10g产品,主要特点:易管理,加强可伸缩性和提高性能管理。Oracle10g共有五个版式本:EnterpriseStandard(四个CPU)StandardEditionOne(两个CPU)Personal(一个用户连接)Lite(轻量级数据库,用于桌面、手持设备等)其它产品:OracleApplicationServer10gOracleDeveloperSuiteJDeveloperDeveloperDiscovererOracleWarehousingBuilderOracleApplications11iOracleCollaborationSuite二、关系数据库概念(一)关系数据库的诞生IBM圣约瑟研究实验室的高级研究员埃德加·考特(EdgarFrankCodd)在CommunicationsofACM上发表了《大型共享数据库数据的关系模型》(“ARelationalModelofDataforLargeSharedDataBanks.”)一文提出关系统模理论。在关系模型提出之后,以前的基于层次模型和网状模型的数据库产品很快走向衰败以至消亡,一大批商品化关系数据库系统很快被开发出来并迅速占领了市场。当前流行的通用关系数据要有:IBMDB2INFORMIXORACLEDATABASESERVER8i9i10gSYBASEASEMSSQLSERVEROracle10g数据库是关系型和面向对象关系型数据库管理系统:完全兼容关系型数据库面向对象型数据库产品,支持用户自定义数据类型和对象支持多媒体和大对象(二)数据存储1、表、行、列和数据库数据库Database表Table行Rows列Columns2、Oracle数据字典和动态性能表数据字典(反映数据库结构和数据库对象信息):系统表:obj$tab$ind$视图:DBA_OBJECTSALL_OBJECTSUSER_OBJECTSDBA_XXXX数据库上的所有对象,只有DBA权限的用户才能查询ALL_XXXX用户所能访问的对象,包括自己所有的和被授权的对象USER_XXXX用户所有的对象例如:查询数据字典视图名:SQLSELECTtable_nameFROMdict;动态性能表(反映内存和控制文件信息):核心表,如:X$KSMSP视图:V_$XXXXXV$XXXXGV$XXXX查询动态性能表名:SQLSELECTnameFROMv$fixed_tables;3、约束(Constraints)Oracle约束类型:NotNull列不能有空值。UniqueKey由一个或多个列组成,数据不能重复,但可以是空值,一个表可以有多个唯一键。PrimaryKey由一个或多个列组成,数据不能重复,也不可以为空,一个表只能有一个主键。ForeignKey由一个或多个列组成,数据必须在所参照的主键或唯一键已存在,空值除外。例:查询约束信息SQLSELECT*FROMuser_constraints;SQLSELECT*FROMuser_cons_columns;4、段(segment)段是表、索引、回滚数据、LOB数据对象在数据库上存储结构等。段由若干个区(extent)组成,而区由若干个物理上连接的块(block)组成,块是最少存储单位。块通常的大小为2k4k8k16k是OS块的倍数,块的大小是创建表空间时指定的。例:查询表空间块的大小SQLSELECTtablespace_name,block_sizesegment_typeFROMdba_segments;例:查询当前段的类型SQLSELECTdistinctsegment_typeFROMdba_segments;例:查询scott的emp表的段信息SQLSELECT*FROMdba_segments2WHEREowner=’SCOTT’andsegment_name=’EMP’;例:查询scott的emp表的区信息SQLSELECT*FROMdba_extents2WHEREowner=’SCOTT’andsegment_name=’EMP’;(三)访问Oracle数据库1、SQL语言SQL全称是“结构化查询语言(StructuredQueryLanguage)”,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEMR开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言,得到了广泛的应用。1979年ORACLE公司首先提供商用的SQL,IBM公司在DB2和SQL/DS数据库系统中也实现了SQL。SQL的标准化过程:SQL-86第一个SQL标准由美国国家标准局(AmericanNationalStandardInstitute,简称ANSI)公布1987年国际标准化组织(InternationalOrganizationforStandardization,简称ISO)通过SQL-89(SQL1)SQL-92(SQL2)SQL-99(SQL3)SQL语言的组成:数据查询语言DQL-DataQueryLanguageSELECT数据操纵语言DQL-DataManipulationLanguageINSERT,UPDATE,DELETE数据定义语言DQL-DataDefinitionLanguageCREATE,ALTER,DROP数据控制语言DQL-DataControlLanguageCOMMITWORK,ROLLBACKWORKOracle10gDatabase支持SQL99,用户可以上sqlplus或isqlplus招待SQL语句来访问数据库。例:sqlplussystem/systemSQLSELECT*FROMtab;例:、PL/SQL语言PL/SQL(ProceduralLanguageforSQL)是Oracle对SQL的扩展,使用PL/SQL可以编写数据库的存储过程(Procedure)、函数(Function)、包(Package)和触发器(Trigger)等。OracleDeveloper开发工具使用的也是PL/SQL语言。另外,OracleHTTPserver嵌入PL/SQL模式,直接使用PL/SQL编写基本于Oracle后台数据库的WEB程序。Oracle10g提供大量数据库管理和开发者使用的包。例:DBMS_SYSTEMDBMS_SESSIONDBMS_SQLUTL_TCP等3、使用Java语言Java是一种夸平台的计算机语言,通过不同操作系统平台上的JavaVirtualMachine(JVM)来解释Java程序。Oracle8iDatabase后内置JServer(JVM)可以存储和直接执行已编译java程序。Oracle10g不但可以直接开发java程序,还可以将java程序嵌入PL/SQL的存储过程、函数和包。三、Oracle体系结构(一)Oracle结构概述Userprocesses和ServerProcess当客户机应用程序运行时,Oracle产生userprocess支持用户连接数据库实例。ServerProcess运行于服务器上用于响应和执行客户命令(SQL命令),使用户能访问数据库。Oracle支持专用服务器进程(DedicatedServerProcess)和共享服务器进程(SharedServerProcess)。使用专用服务器进程方式时,当用户连接数据库时服务产生一个服务器进程专门用于该用户对话;而在共享服务器进程方式时,服务器预先生成若干个服务器进程轮流处理用户请求,用户请求则由调度程序(Dispatcher)安排。每个服务器进程需要分配一个私有的内存区(PGA)存储用户对话信息等。实例(Instance)实例是用于数据库管理的后台进程和共享内存组成(Instance=Sharedmemory+backgroundprocesses)。打开数据库前必须先打开实例,打开实例时时Oracle按照初始化参数(Parameter)分配内存和生成后台进程。每个实例都有一个标识号SID,是创建实例时指定的。同一台计算机上不能有两个相同SID的实例数据库(Database)数据库(Database)是由一些文件(文件系统)或裸分区(原始设备)组成的物理存储体。数据库包括三种文件:控制文件(ControlFile),存储数据库的结构信息数据文件(DataFile),存储数据库数据重做日志文件(RedoLogFile)存储数据库的重做日志项实例与数据库的关系:单实例结构多实例结构RealApplicationCluster(RAC)(二)实例(Instance)组成1、系统全局区(TheSystemGlobalArea)Sharedpool缓冲最近使用过的SQL和PL/SQL语句(LibraryCache)缓冲数据字典(DictionaryCache),Oracle使用leastrecentlyused(LRU)算法管理S
本文标题:oracle10g培训讲义-1
链接地址:https://www.777doc.com/doc-5141616 .html