您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > ORACLE数据库体系架构
第一章数据库体系架构及数据库的启动与关闭Oracle系统体系结构OracleDatabase10gMultimediaObjectrelationaldataMessagesDocumentsOracleApplicationServer10gApplicationdevelopmentframeworkApplicationserverBusinessintelligencePortalsIntegrationTransactionalapplicationsOracleInternetPlatformSystemmanagementNetworkservicesDatabasesApplicationserversInternetapplicationsAnybrowserAnyFTPclientAnymailclientSQLPL/SQLJavaClientsPresentationandbusinesslogicBusinesslogicanddataDevelopmenttoolsDatabase概述InstanceSGARedologbufferDatabuffercacheSharedpoolDatadict.cacheLibrarycachePMONDBW0SMONLGWRCKPTOthersUserprocessServerprocessPGAControlfilesDatafilesRedologfilesArchivedlogfilesParameterfilePasswordfileOracle数据库文件PasswordfileParameterfileArchivedlogfilesControlfilesDatafilesRedologfilesDatabase其它主要的物理结构DatabasePasswordfileParameterfileArchivedlogfilesOracle实例Backgroundprocesses一个Oracle实例:•是访问Oracle数据库的一种方法•总是打开一个并且仅仅一个数据库MemorystructuresInstanceSGARedologbufferDatabuffercacheSharedpoolPMONDBW0SMONLGWRCKPTOthers处理SQL语句•连接到一个实例,通过:–用户进程–服务器进程•涉及的Oracle服务器组件依赖于SQL语句的类型:–查询返回行–DML语句记录修改–提交保证事务恢复•某些Oracle服务器组件不会参与SQL语句的处理连接到实例ServerUserClientUserServerOracleserverServerUserServerApplicationserverBrowser处理查询•分析:–查找相同的语句–检查语法、对象名和权限–锁定分析阶段用到的对象–创建和存储执行计划•执行:确定选择的行•提取:为用户进程返回行共享池•库缓存中包含SQL语句的文本、分析代码和执行计划•数据字典缓存中包含表、字段和其他对象的定义与权限•共享池的大小由SHARED_POOL_SIZE确定SharedpoolDatadictionarycacheLibrarycache数据缓冲区•存储最近使用的数据块•缓冲区的大小基于DB_BLOCK_SIZE•缓冲区的数目由DB_BLOCK_BUFFERS确定Databuffercache程序全局区(PGA)•不共享•只能由服务器进程写•包含:–排序区–会话信息–游标状态–栈空间ServerprocessPGA113SGARedologbufferDatabuffercacheSharedpoolDatabaseDML语句的处理UPDATEemp...UserprocessServerprocessControlfilesDatafilesRedologfiles24重做日志缓冲区•大小由LOG_BUFFER确定•记录实例做出的修改•顺序循环使用RedologbufferDatabaseInstanceLGWRSGARedologbufferDatabuffercacheSharedpoolCOMMIT处理1234UserprocessServerprocessControlfilesDatafilesRedologfiles日志写(LGWR)LGWR在下列情况下写日志:•提交•重做日志缓冲区三分之一满•重做超过1MB•在DBW0写之前DatabaseInstanceLGWRSGARedologbufferDatabuffercacheSharedpoolControlfilesDatafilesRedologfiles其它实例进程•其它需要的进程:–数据库写(DBW0)–进程监测(PMON)–系统监测(SMON)–检查点(CKPT)•在产品数据库中通常需要创建归档进程(ARC0)DatabaseControlfilesDatafilesRedologfiles数据库写(DBW0)DBW0写的时机:•脏缓冲区多•空闲缓冲区很少•超时•发生检查点InstanceSGARedologbufferDatabuffercacheSharedpoolDBW0SMON:系统监测•自动恢复实例–前滚重做日志中的修改–打开数据库允许用户访问–会滚未提交的事务•合并空闲空间•释放临时段PMON:进程监测在进程失败后执行清除工作:•回滚事务•释放锁•释放其他资源小结在本课中你应该学习如何:•解释数据库文件:数据文件、控制文件、联机重做日志•解释SGA内存结构:DB缓存区、共享SQL池和重做日志缓冲区•解释主要的后台进程:DBW0、LGWR、CKPT、PMON、SMON和ARC0•解释SQL语句的处理步骤:分析、执行、提取Oracle系统的启动和关闭DatabaseControlfilesDatafilesRedologfilesPasswordfileParameterfileTracefilesALERTfileUserprocessServerprocessPGA概述InstanceSGARedologbufferDatabuffercacheSharedpoolDatadict.cacheLibrarycachePMONDBWRSMONLGWRCKPTARCHinitU15.ora初始化参数文件SQLCONNECT/ASSYSDBASQLSTARTUPPFILE=/DISK1/initU15.oraInstanceSGARedologbufferDatabuffercacheSharedpoolDatadict.cacheLibrarycachePMONDBWRSMONLGWRCKPTARCH参数的使用•设置系统全局区(SGA)的大小•设置数据库和实例的默认值•设置用户和进程限制•设置数据库资源的限制•定义数据库的物理属性,比如数据块的大小•指定控制文件、归档日志文件、ALERT文件和跟踪文件的位置参数文件:例子#InitializationParameterFile:initU15.oradb_name=U15control_files=(/DISK1/control01.con,/DISK2/control02.con)db_block_size=8192db_block_buffers=2048shared_pool_size=52428800log_buffer=64Kprocesses=50db_files=1024log_files=10max_dump_file_size=10240background_dump_dest=(/home/disk3/user15/BDUMP)user_dump_dest=(/home/disk3/user15/UDUMP)core_dump_dest=(/home/disk3/user15/CDUMP)rollback_segments=(r01,r02,r03,r04,r05,r06,r07,r08)...OPENMOUNTNOMOUNTSHUTDOWN为该实例打开所有在控制文件中描述的文件。为该实例,打开控制文件。实例启动启动和关闭的阶段STARTUPSHUTDOWNSTARTUP命令STARTUPPFILE=/DISK1/initU15.ora启动实例,打开数据库:ALTERDATABASE命令•把数据库的状态从NOMOUNT状态修改为MOUNT状态:ALTERDATABASEdatabaseMOUNT;•以只读方式打开数据库:ALTERDATABASEdatabaseOPENREADONLY;以只读方式打开数据库•任何数据库都可以以只读方式打开•只读数据库可以用来:–执行查询–使用本地管理的表空间,执行磁盘排序–把数据文件,而不是表空间,设置为联机或者脱机–为脱机文件和表空间执行恢复不同类型的SHUTDOWN资金转移从老账号删除资金提交退出登录检查账号平衡插入新资金ShutdownNormalShutdownImmediateShutdownTransactionalDatabasedownDatabasedownDatabasedown12345显示当前的参数值•使用命令:•查询V$PARAMETER动态性能视图:SHOWPARAMETERcontrolSELECTnameFROMv$parameterWHEREnameLIKE‘%control%’;动态初始化参数ALTERSESSIONSETSQL_TRACE=true;ALTERSYSTEMSETTIMED_STATISTICS=true;ALTERSYSTEMSETSORT_AREA_SIZE=131072DEFERRED;•某些初始化参数可以在实例运行期间修改允许和禁止受限会话•使用STARTUP命令限制对数据库的访问:•使用ALTERSYSTEM命令把数据库设置为受限模式:STARTUPRESTRICTALTERSYSTEMENABLERESTRICTEDSESSION;终止会话SELECTsid,serial#FROMv$sessionWHEREusername=‘SCOTT’;ALTERSYSTEMKILLSESSION‘7,15’;•通过动态性能视图V$SESSION识别要终止的会话:•执行ALTERSYSTEM命令:ALERT文件和跟踪文件•服务器和后台进程可以写跟踪文件•Oracle服务器把错误信息写入跟踪文件•ALERT文件包含顺序的消息和错误的记录•服务器进程跟踪可以通过下面的命令禁止或允许:–ALTERSESSION命令–参数SQL_TRACEInstanceSGASharedpool控制ALERT文件和跟踪文件USER_DUMP_DESTBACKGROUND_DUMP_DESTALERTfileTracefilesTracefilesUserprocessServerprocess指导原则定期检查ALERT文件:•检测内部错误(ORA-600)和块崩溃错误•监测数据库操作•查看非默认的初始化参数用户SYSandSYSTEMSYS•密码:change_on_install•拥有数据库数据字典对象SYSTEM•密码:manager•拥有Oracle工具使用的额外的内部表和视图小结在本课中,你学习了:•创建参数文件•启动和关闭实例•访问动态性能视图•管理会话•描述ALERT文件和跟踪文件的用途小结在本课中,你学习了:•描述UniversalInstaller的特点–基于Java引擎–支持多个Oraclehome–无交互模式运行•解释操作系统认证和口令文件认证的设置•创建数据库•熟悉数据库下的两个管理用户
本文标题:ORACLE数据库体系架构
链接地址:https://www.777doc.com/doc-3383404 .html