版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Oracle数据库高级技术培训
主要内容对象:主要系统设计、应用开发和技术支持人员主要内容:针对大型IT系统的设计、开发和维护工作,介绍:Oracle数据库体系结构Oracle参数设定DBA的责任Oracle数据库体系结构主要内容概念Oracle系统结构
概念什么是Oracle数据库?通俗的讲:ORACLE数据库=实例+数据库文件;实例=SGA+服务进程;数据库文件=数据文件+控制文件+日志文件;数据库系统的组成
数据库系统由数据库、支持数据库运行的软硬件、数据库管理系统和应用程序等部分组成。
数据库:是一个结构化的数据集合。主要是通过综合各个用户的文件,除去不必要的冗余,使之相互联系所形成的数据结构。
硬件与软件:硬件是数据库赖以存在的物理设备,软件主要是指"数据库管理系统",数据库管理系统简称DBMS(DataBaseManagementSystem),是数据库中专门用于数据管理的软件。
Oracle的主要结构(实例+数据库文件)PasswordfileInstanceSGARedoLog
BufferSharedPoolDataDictionary
CacheLibraryCacheDBWRSMONPMONCKPTLGWROthersUser
processServer
processPGAControlfilesDatafilesDatabaseDatabase
BufferCacheRedoLogfilesJavaPoolLargePoolParameterfileArchivedLogfilesOracle系统结构
SGAOracleinstance由Oracle称为SystemGlobalArea(SGA)内存结构,Oracle后台进程组成。当user访问database中的Data时,ServerProcess与SGA进行通讯。SGA由3个必须的组成部分和3个可选的组成部分构成。
Oracle系统结构PGApga是processglobalarea也称programglobalarea,它是驻留在processprivatememory而不是sharedmemory。每个process都有属于它自己的pga,其中仅包括了此process特定的信息,同时pga不需要latch来保护因为没有别的process来访问。
pga包含两个部分:fixedpga和variblepga,固定pga包括一些变量,小的数据结构,指向variblepga的指针等。variblepga是一个heap,它也由两个部分组成:permanentmemory,subheap(包括了uga,cga).permanentmemory包括了一些fixedtable,大小由初始化参数db_files,controlfiles等决定。
PS:排序,连接,等待Oracle参数设定主要内容系统参数Oracle核心参数表参数
系统参数系统参数在/etc/system中:setshmsys:shminfo_shmmaxetshmsys:shminfo_shmmin=1setshmsys:shminfo_shmmni=300setshmsys:shminfo_shmseg=200setsemsys:seminfo_semmap=5024setsemsys:seminfo_semmni=5029setsemsys:seminfo_semmns=5048setsemsys:seminfo_semmnu=2048setsemsys:seminfo_semume=2025setsemsys:seminfo_semmsl=2163setmsgsys:msginfo_msgmni=4096setmsgsys:msginfo_msgmap=32767setmsgsys:msginfo_msgssz=320setmsgsys:msginfo_msgmax=65535setmsgsys:msginfo_msgmnb=65535setmsgsys:msginfo_msgseg=32767setmsgsys:msginfo_msgtql=10000setrlim_fd_cur=8192
Oracle核心参数Oracle核心参数db_block_size=8192open_cursors=1000db_file_multiblock_read_count=64sort_area_size=1000000000(1G)log_buffer=1000000000(约1G)shared_pool_size=5000000000(约5G)db_block_buffers=2000000(约15G)Oracle核心参数Redolog3-5M。PGA(5%原则)参数的设置合理会导致内存溢出,磁盘I/O急剧增加。调整步骤:查询PGA当前设置:showparameterpga;查询视图V$PGASTAT,如果字段OVERALLOCATIONCOUNT大于0,则说明PGA设置太小了。等于0,就说明系统命中率很高。查询视图V$PGA_TARGET_ADVICE,找到字段ESTD_OVERALLOC_COUNT=0的那条记录就是目前系统需要。查询数据库实例:selectinstance_namefromv$instance;修改pga大小$ORACLE_HOME/dbs/spfile<instance_name>.ora中的参数pga_aggregate_targetaltersystemsetpga_aggregate_target=1000Mscope=spfile;Oracle核心参数SGA的设置占OS内存的60-70%,大小可由参数文件内参数计算
sharedpool(共享池),databasebuffercache(数据缓冲区),
redologbuffer(重做日志缓冲区)
SGA=db_cache_size+large_pool_size+shared_pool_size用createpfilefromspfile生成pfile后1.修改pfile里的large_pool_sizedb_cache_sizejava_pool_sizeshared_pool_sizeOracle核心参数2.shutdownimmediate3.startuppfile='pfile_name'4.createspfilefrompfile这样就行了日后重启他就用新的spfile来启动了
pfile不可以在线调整spfile是二进制文件,数据库在线可以读写pfile可以手工修改,而spfile不能手工修改Oracle核心参数CURSOR_SHARING=FORCE或SIMILAR绑定变量,oracle解析PROCESS:数据库允许的进程数用oracle用户登陆,然后sqlplus/nologconnect/assysdbaaltersystemsetprocesses=1000scope=spfile
然后找时间重起数据库。db_files:数据文件数
altersystemsetdb_files=500scope=spfile;
重启数据库表参数1、自由空间的控制及相关参数的说明对于插入、更新和删除数据库块中的行来说,可通过指定PCTFREE和PCTUSED空间参数的值来控制自由空间的使用,减少上面所讲到的“行链锁”和“迁移”:
PCTFREE:该参数用于指定在向块中插入新行时应该保留的自由空间的百分数,该保留空间用于修改已包含在该块中的行时使用。比如在建表CREATETABLE语句中指定该参数为:PCTFREE=20,则在向该表插入新的数据行时,其每个数据块空间最多只能使用80%,一旦达到80%,就不能再向该块插入数据行。留下的20%空间留作此后修改该块中的行时使用。
PCTUSED:该参数是一个限定值,其目的是控制向一个低于PCTUSED所指定的值时,。当通过删除行或更新行(减少了列的存储使用量)而使数据库块的使用百分数ORACLE又许可向该块插入新的数据行。所以在建表时可以根据表的特性和将来系统对表所要进行的操作对其设置一个合理的值。但两参数之和要小于或等于100((PCTFREE+PCTUSED)<=100)。表参数2、建表时考虑对INITRANS和MAXTRANS参数的设置这两个参数是对数据块访问进行控制,合理调整两个参数也将尽量减少用户访问时的冲突,对所有数据的访问最终都是对数据块的访问。
INITRANS:此参数指定在对象的每一个数据块中为指定数目的事务项预分配的空间,这样当事务进入数据块时系统就不必动态地来为事务项分配空间,其默认值为1。
MAXTRANS:此参数指定能够并发进入一个数据块的最大事务数目,这也就限制了在任何特定的时间事务项在一个数据块所能占用的空间大小。说明:对于用户数量较大的情况,就应将这两个参数都设得大些,对于用户较少的情况,相应事务数目也不会太多,可以设得小些,如果对同一块的访问可能性很大,就需要将它们设得大些。
表参数freelists
假设pctfree=10,pctused=40,这就表明当一个Block的空间使用率达到了90%(100-pctfree)时,这个block就不再允许被用于新增数据(insert),而保留下来的这10%的空间则被预留为行更新(update)所可能需要的空间扩展,我们说此时这个block就从freelist上被摘走了,当有数据删除(delete)的时候,只有该block中的数据被删除到一定的程度,该块才会重新被加入到freelists中,而这个程度就是pctused参数定义的数值,如我们这个例子中,只有块中的数据降低到40%以下的时候,该块才被重新允许用于新增数据。通过上面的描述,可以知道所谓freelists,就是一个指定了所有可以用于insert操作的数据块的列表。存在在这个列表中的数据块才能用于insert操作,一旦一个数据块无法用于insert(达到了pctfree参数指定的限度)则立刻从这个列表中被摘除。freelists的作用就在于管理高水位标志(HWM)以下的空闲空间。
表参数注意:一个Process,只能使用一个freelist,所以,有10个Freelist和有一个Freelist的,对于一个进程Insert数据,使用的Block数目是一样的。例:ALTERTABLETB_IM_DC_QUEMOVESTORAGE(FREELISTS5)initrans30pctfree10pctused40TABLESPACEDATA_JKGL_A01;
DBA的职责主要内容IT系统对DBA的挑战DBA的职责DBA工作的三个阶段DBA每天应做的工作DBA每周应做的工作DBA每月应做的工作IT系统对DBA的挑战超大型数据库(VLDB)的处理能力GB级->TB级对数据库系统要求的全面提高高性能日常交易统计分析大型报表数据抽取、转换和装载(ETL)历史数据迁移数据备份恢复…
…
IT系统对DBA的挑战高可用性数据大集中对高可用性要求将大大提高提高防范各种意外故障的能力:系统故障数据故障人为故障减少正常宕机的影响系统维护数据库维护容灾能力防范整个生产系统节点的灾难事故可移植性数据从Oracle8i到Oracle9i,10g的平滑移植数据从地市级到省级集中、全国集中的平滑移植IT系统对DBA的挑战高可扩展性体系结构能适应业务需求的不断深化适应业务数据的不断增长的需要避免大规模的数据库重组应用软件的灵活性和适应性安全性非法用户的访问非授权的数据访问网络监听数据传输篡改资源滥用用户登录复杂性用户管理复杂性DBA的九大任务任务1:评估数据库服务器硬件内存,CPU磁盘,RAID磁带,磁带库任务2:安装数据库软件安装数据库服务器安装数据库客户端配置TNS(OracleNet)任务3:规划数据库数据库逻辑结构设计数据库物理结构设计任务4:创建并启动数据库DBCA或手工脚本安装软件时或单独创建DBA的九大任务任务5:数据库备份/恢复实施备份/恢复策略RMAN+EXP/IMP任务6:数据库安全性管理用户注册权限设计角色设计任务7:性能优化长期的工作性能问题与软件工程所有时间周期相关不是仅仅调系统参数–“你调了哪些参数?”指导应用开发DBA的九大任务任务8:数据库高可用性的管理操作系统Cluster软件Oracle并行服务器RAC任务9:与Oracle公司的沟通故障的定位和分析故障信息的采集与Oracle顾问咨询、技术支持等部门的沟通产品的补丁安装软件的升级DBA工作的比例创建和配置12%数据装载6%日常系统运行和维护55%系统升级6%安装6%每天应该做的工作数据库实例是否正常工作$ps–ef|grepora_SQLPLUS>selectstatusfromv$instance;数据库监听器是否正常工作$lsnrctlstatus是否存在故障表空间SQLPLUS>selecttablespace_name,statusfromdba_tablespaces;控制文件、日志文件是否正常V$controlfileV$log,v$logfile每天应该做的工作每天按业务峰值情况,对数据库性能数据进行定时采集。每天检查数据库的主要性能指标每天检查最消耗资源的SQL语句变化情况每天检查是否有足够的资源检查所有表空间的剩余空间情况识别出一些异常的增长检查CPU、内存、网络等是否异常每周应该做的工作监测数据量总体增长情况按表空间分析使用率增长情况表空间碎片整理SQL>altertablespace<tablespace_name>coalesce;每周监测
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026上半年贵州事业单位联考遵义医科大学第二附属医院招聘32人备考题库及参考答案详解
- 2026上半年贵州事业单位联考正安县招聘65人备考题库带答案详解(轻巧夺冠)
- 2026上半年海南事业单位联考儋州市事业单位(考核)招聘工作人员213人备考题库(第一号)有答案详解
- 2026云南红河州个旧市医疗卫生共同体贾沙分院招聘编外工作人员1人备考题库含答案详解(研优卷)
- 2026内蒙古鄂尔多斯东胜区万佳小学招聘英语教师1人备考题库附参考答案详解(巩固)
- 2026云南自药集团股份有限公司呼和浩特岗位招聘7人备考题库附答案详解(巩固)
- 2026四川广元市苍溪县人力资源和社会保障局第一批就业见习岗位备考题库附答案详解(预热题)
- 2026上半年贵州事业单位联考六盘水市钟山区招聘174人备考题库带答案详解(预热题)
- 2026四川绵阳市三台县潼川第四幼儿园教师招聘备考题库带答案详解(b卷)
- 2026上半年贵州事业单位联考贵州传媒职业学院招聘12人备考题库附答案详解(满分必刷)
- 2026年心理健康AI干预项目商业计划书
- GB/T 46568.2-2025智能仪器仪表可靠性第2部分:电气系统可靠性强化试验方法
- 2025年11月江苏南京市建邺区政府购岗人员招聘5人笔试考试参考题库附答案解析
- 卷烟厂标识考核办法
- GB/T 10454-2025包装非危险货物用柔性中型散装容器
- GB/T 4127.16-2025固结磨具尺寸第16部分:手持式电动工具用切割砂轮
- 血液透析血管通路的感染与预防
- 普外科科主任年终述职
- 中医内科学:肺胀
- 肯德基副经理养成课程
- XX问题技术归零报告
评论
0/150
提交评论