您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > Oracle-DBA数据库管理维护
OracleDBA数据库管理维护汪善平ContentsOracle数据库体系结构1Oracle数据库内存结构2Oracle数据库存储结构3Oracle数据库的安装配置4Oracle数据库的启动关闭5Oracle数据库对象管理6Oracle数据库体系结构PasswordfileInstanceSGARedoLogBufferSharedPoolDataDictionaryCacheLibraryCacheDBWRSMONPMONCKPTLGWROthersUserprocessServerprocessPGAControlfilesDatafilesDatabaseDatabaseBufferCacheRedoLogfilesJavaPoolLargePoolParameterfileArchivedLogfilesServerOracle数据库体系结构什么是Server?什么是Instance?什么是Database?用户进程服务器进程其他重要文件Oracle数据库体系结构什么是OracleServer?包括instance和databaseOracleserverOracle数据库体系结构什么是Instance?包括SGA和后台数据库进程一个数据库一个instance(非RAC)InstanceSGARedoLogBufferSharedPoolDataDictionaryCacheLibraryCacheDBWRSMONPMONCKPTLGWROthersDatabaseBufferCacheJavaPoolLargePoolOracle数据库体系结构什么是database?存放数据ControlfilesDatafilesRedoLogfilesOracleDatabaseOracle数据库体系结构用户进程服务器进程接受处理用户发出的请求、数据库的处理结果UserprocessServerprocessPGAOracle数据库体系结构其他重要文件init参数文件;口令文件;归档日志文件;PasswordfileParameterfileArchivedLogfilesOracle数据库体系结构用户使用数据库时发生了什么了?SessioncreatedDatabaseuserUserprocessServerprocessConnectionestablishedOracleserverOracle数据库体系结构必不可少的后台数据库进程DBWn:LGWR:PMON:SMON:CKPT:可选的后台数据库进程ARCn:ArchiverCJQ0:CoordinatorJobQueuebackgroundprocessDnnn:DispatcherLCKn:RACLockManager–InstanceLocksLMDn:RACDLMMonitor–RemoteLocksLMON:RACDLMMonitor–GlobalLocksLMS:RACGlobalCacheServicePnnn:ParallelQuerySlavesQMNn:AdvancedQueuingRECO:RecovererSnnn:SharedServerOracle数据库体系结构后台数据库进程-DBWn-用来将buffercache中脏数据写到数据文件中;-当下列情况发生时,dbw开始写脏数据:checkpoint时;脏数据达到一定的阙值;找不到空余的buffer时;等等;InstanceSGAControlfilesDatafilesRedoLogfilesDatabaseDBWnDatabaseBufferCacheOracle数据库体系结构后台数据库进程-LGWR-负责将redologbuffer中的数据写到onlineredolog中;-在下列情况出现时LGWR开始写:commit;redologbuffer达到1/3满;redologbuffer中有超过1MB被改变的数据;DBW开始写之前;每三秒;InstanceSGAControlfilesDatafilesRedoLogfilesDatabaseRedoLogBufferDBWnLGWROracle数据库体系结构后台数据库进程-SMON-负责instance的故障恢复;-调整,回收数据文件中的空余空间;-回收临时段;ControlfilesDatafilesRedoLogfilesDatabaseInstanceSGASMONOracle数据库体系结构后台数据库进程-PMON-在一个进程失败后负责回滚未提交的事务;释放锁及其他资源;等等PGAareaInstanceSGAPMONOracle数据库体系结构后台数据库进程-CKPT-负责:通知DBWn写数据文件;将SCN等信息更新到数据文件头、控制文件中ControlfilesDatafilesRedoLogfilesDatabaseInstanceSGADBWnLGWRCKPTOracle数据库内存结构SGA:SystemGlobalAreaOracle数据库处理事务的工作场所PGA:ProgramGlobalArea处理来自用户的请求,接受来自Oracle数据库的处理结果Oracle数据库内存结构SGA-Oracle9i以后中可以动态扩展SGA的大小;-SGA_MAX_SIZESGARedoLogBufferSharedPoolDataDictionaryCacheLibraryCacheDatabaseBufferCacheJavaPoolLargePoolOracle数据库内存结构SGA-SharedPool-不可少的内存区之一;-由两部分组成:LibraryCache:存放执行过的SQL、PLSQL以共享;DataDictionaryCache:数据库各种对象的定义,如用户名,用户权限,表的描述,数据文件等;-shared_pool_size-并非越大越好SharedPoolDataDictionaryCacheLibraryCacheOracle数据库内存结构SGA-DatabaseBufferCache-不可少的内存区之一;-用来存放访问的实际数据;-使用LRU机制来确定哪个block被踢出dbcache;-可以设置三个不同功能的Cache:DB_CACHE_SIZE:默认cache,一定要有DB_KEEP_CACHE_SIZE:保留池,用来存放被频繁访问的block,对象;DB_RECYCLE_CACHE_SIZE:回收池,用来存放偶尔被访问的block,对象;-DB_BLOCK_SIZE-越大越好Oracle数据库内存结构SGA-RedoLogBuffer-不可少的内存区之一-用来保存所有对数据块的更改-LOG_BUFFER-不需要设置太大,2M左右Oracle数据库内存结构SGA-LargePool-可选的内存区;-用来存放以下信息:在sharedserver模式中,存放sessionmemory;备份恢复操作;并行执行(PARALLEL_AUTOMATIC_TUNING=true);-否则上述信息将存放在sharedpool中,增加了其负担;-LARGE_POOL_SIZEOracle数据库内存结构SGA-Javapool-可选内存区;-使用Java时配置;-JAVA_POOL_SIZEOracle数据库内存结构PGA-serverprocess被创建时,分配的一块内存区域;-主要用来存放用户session的一些数据,堆栈等信息;-主要包括:PrivateSQLArea:绑定变量,堆栈等信息;SessionMemory:会话变量,其他会话信息等;SQLWorkArea:排序、hashjoin,bitmap等操作使用;Oracle数据库存储结构物理结构:数据文件逻辑结构:tablespacesegmentextentblockTablespaceDatafileSegmentBlocksExtentSegmentOracle数据库存储结构DatabasePRODDISK1/SYS1.dbfDISK2/USER1.dbfDISK3/USER2.dbfDISK1/UNDO1.dbfDISK1/TEMP.dbfD.D.TableDataSegD.D.IndexIndexSegRBSegS_DEPTDataSegS_EMPDataSegTempTempSeg12121211221FREE11221EXTENTSS_DEPT(cont'd)DataSegS_EMPFIRST_NAMEIndexIndexSegOracleDATABLOCKSRBS1(cont'd)RBSegRBS2(cont'd)RBSegRBS1RBSegRBS2RBSegSEGMENTSSYSTEMUSER_DATARBSTEMPTABLESPACESDATAFILESOracle数据库的安装配置安装前的规划-兼容性列表硬件软件操作系统是否符合要求?releasenotesinstallationguidemetalink-内存划分可以分配给Oracle数据库多少内存?-存储划分原则是平衡IO;磁盘阵列;temp,undo表空间-和其他表空间分开存放;archivelog-单独的控制器、存储;可使用IO较慢的磁阵;-patch选择最稳定的补丁版本,而不是最新的;先测试后安装;-归档选择是否要启用归档模式?Oracle数据库的安装配置Oracle目录示例oracle_base/product/admin/inst_name/pfile/release_number/bin/dbs/rdbms/sqlplusSoftwareoradata/db01/system01.dbfcontrol01.ctlredo0101.log...db02/system01.dbfcontrol01.ctlredo0101.log...FilesOracle数据库的安装配置数据库的安装-init参数一些重要的参数:DB_BLOCK_SIZEDB_CACHE_SIZESHARED_POOL_SIZELOG_BUFFERLARGE_POOL_SIZEJAVA_POOL_SIZECONTROL_FILESPGA_AGGREGATE_TARGETUNDO_MANAGEMENTUNDO_TABLESPACEWORKAREA_SIZE_POLICYOracle数据库的安装配置安装步骤(Solaris)1.仔细阅读installationguide;2.修改系统参数(/etc/system);3.安装必要的solaris补丁包;4.创建oracle用户和组;5.设置环境变量,如:ORACLE_BASEORACLE_HOMEORACLE_SIDDISPLAY等;6.安装oracle软件;7.安装升级补丁;8.使用dbca图形界面创建数据库;9.配置listener;Oracle数据库的启动关闭Init参数文件-传统参数文件PFILE:initSID.oraDBA手动编辑;在数据库中所做的参数变动不能自动更新;数据库重启后改变才生效;-Oracle9i后的新的参数文件:SPFILE:spfileSID.ora二进制文件;不能用vi等工具编辑;在数据库中所做的参数变动可以自动更新到参数文件中;Oracle数据库的启动关闭如何创建SPFILE参数文件-使用DBCA创建数据库时由向导自动创建;-从传统的PFILE参数文件中创建:CREATESPFILE=‘$ORACLE_HOME/dbs/spfile***.ora’FROMPFILE=‘$ORACLE_HOME/dbs/init***.ora’;Oracle数据库的启动关闭如何修改SPFILE中的参数值-使用ALTERSYSTEMSET语句:ALTERSYSTEMSETparameter_name=parameter_value[COMMENT'text'][SCOPE=M
本文标题:Oracle-DBA数据库管理维护
链接地址:https://www.777doc.com/doc-5585152 .html