您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > ORACLE 数据库
Oracle一、Oracle体系结构(1)物理结构datafilesredologfilescontrolfilesparameterfile数据文件日志文件控制文件参数文件datafilesredologfilescontrolfileparameteriles*.dbf*.logInitoraid.ora*.ctlPMONLCKnRECORECOsharedPoolDatabaseBufferCacheRedoLogBufferSGADataDataDataDataDataDataDataDataDataDataDatafilesRedoLogfilesParameterFileControlfilesServerUserDBWRLGWRCKPTARCHOfflinestorage(2)内存结构(SGA)占OS内存的60-70%,大小可由参数文件内参数计算sharedpool(共享池),databasebuffercache(数据缓冲区),redologbuffer(重做日志缓冲区)(如以下图所示)SGA=share_pool_size+db_block_size*db_block_buffers+log_buffersshared_pooldatabase_buffer_cacheredo_logbufferSGAbackgroundprocess(3)instance=SGA+backgroundprocess实例=内存分配+一组后台进程如果把Oracle比作一部汽车,instance相当于汽车的发动机一样,启动oracle前提应先启动instance.(4)session(连接)Oracle是多用户、多任务、可分布式管理的数据库,同时可有许多个用户对数据库操作。oracleuseruserusersession(5)transaction(一组修改动作的集合)交易事务Eg:1、DDL(数据定义语句)例如:create,alter,drop,commit等2、DML(数据控制语句)例如:Insert,Delete,Update3.DCLcommitrollback…(6)后台进程PMON,LCLN,RECO,SMON,DBWR,LGWR,CKPT,ARCHPMON做程序的清洁工作,处理一些不正常退出的事件.SMON做系统的清洁工作,执行系统出错后自动恢复工作.LCKNOracle系统表级或行级加锁的进程.RECO恢复进程.DBWR数据写进程LGWR日志文件写的进程CKPT检测点ARCH归档方式备份进程(7)分析一个SQL语句是怎样在Orcle内部工作的。A、用户发出SQL请求,打开游标;B、把SQL语句语法分析,执行计划,数据字典等信息存入内存中共享池内;C、从数据文件中把相关数据块读入数据缓冲区;D、做相应操作,若做修改,先加上行级锁,经确认后,把改过前后记录内容存入重做日志缓冲区内;E、返回结果给用户,关闭游标。备注:SQL语句大小写敏感的,同样的一个语句,若大小写不同,oracle需分析执行两次,每句后必以“;”结束。PMONLCKnRECORECOsharedPoolDatabaseBufferCacheRedoLogBufferSGA(8)逻辑结构表空间(tablespace)表空间是Oracle数据库最大的逻辑结构,一个Oracle数据库在逻辑上由多个表空间组成,一个表空间只隶属于一个数据库。段(segment)数据段用来存储用户的数据,每个表都有一个对应的回滚段,其名称和数据表的名字相同。我们可以用下列的SQL语句来查询用户的数据段信息:区(extent)区是磁盘空间分配的最小单位。磁盘按区划分,每次至少分配一个区。区存储于段中,它由连续的数据块组成。数据块(datablock)数据块是数据中中最小的数据组织单位与管理单位,是数据文件磁盘存储空间单位,也是数据库I/O的最小单位第一范式:1,要有主键2,列不可分---能用一个字段表示就无需再分成两个字段第二范式:不存在部分依赖1,非主键的字段不依赖于非主键字段或者部分主键(两个字段合并成主键)的字段。2,遇见1的情况,需要将该表分割成多表。第三范式:不能存在传递依赖,不是主键的任何其他字段必须直接依赖于主键。
本文标题:ORACLE 数据库
链接地址:https://www.777doc.com/doc-8936 .html