1、ORACLE数据库管理员的职责ORAC数据库管理员的职责 ORACLE数据库管理员应按如下方式对ORACLE数据库系统做定期监控: (1)每天对ORCLE数据库的运行状态,日志文件,备份情况,数据 库的空间使用情况,系统资源的使用情况进行检查,发现并解决 问题。 (2).每周对数据库对象的空间扩展情况,数据的增长情况进行监控,对数据库做健康检查,对数据库对象的状态做检查。 (3). 每月对表和索引等进行nalyze,检查表空间碎片,寻找数据库 性能调整的机会,进行数据库性能调整,提出下一步空间管理 计划。对ORACE数据库状态进行一次全面检查。 每天的工作 (1)确认所有的TNC状态正常 登陆
2、到所有数据库或例程,检测C后台进程: $p ef|g ra (2) 检查文件系统的使用(剩余空间)。如果文件系统的剩余空间小于2%,需删除不用的文件以释放空间。 $df (3).检查日志文件和tre文件记录aert和trace文件中的错误。连接到每个需管理的系统 ?使用telne ? 对每个数据库,d 到bdup目录,通常是$ORLE_ASE/Sbdup ? 使用 Unix il命令来查看ale_.og文件 ?如果发现任何新的OR-错误,记录并解决 (4).检查数据库当日备份的有效性。对RMN备份方式: 检查第三方备份工具的备份日志以确定备份是否成功 对EXOT备份方式: 检查e日志文件以确定
3、备份是否成功 对其他备份方式: 检查相应的日志文件 (5). 检查数据文件的状态记录状态不是“online”的数据文件,并做恢复。 Select filname fro dba_data_files ere statusOFFE (6). 检查表空间的使用情况 SLET tblesace_ne, mx_m, count_blocks fee_lk_nt, sm_e_m,t_chr(10*su_ree_m/u_m, 99.9) |S _freeROM ( ELEC tabspae_nae,sm(btes)/41024 AS sm_m FROM ba_a_fls GROUP Yabespae_na
4、me), ( SELECT alspace_nme ASfsts_n,ma(btes)1024/102 AS max_m, cot(los) AS count_bocks, um(bytes/10/0) AS sum_fem FROM db_feepace GROUP Balesace_name ) WHERablesace_name = stsnm (7). 检查剩余表空间 SELCTtablpace_ame, (locks ) as ree_blk , trc ( sum ( bye )/(1124) ) s free_m,x (bytes )/(1024) as bgcunk_k, co
5、unt(*) numhunksFROM da_reespace GROU Ytablespene; (8).监控数据库性能 运行btt/estat生成系统报告或者使用staspac收集统计数据(9)检查数据库性能,记录数据库的cpu使用、I、bufr命中率等等 使用vt,iosat,glanc,top等命令 (0). 日常出现问题的处理。 每周的工作(1) 控数据库对象的空间扩展情况 根据本周每天的检查情况找到空间扩展很快的数据库对象,并采取相应的措施- 删除历史数据 -扩表空间 lter tablespac d dtafe -调整数据对象的存储参数 next eentctncee(2). 监
6、控数据量的增长情况根据本周每天的检查情况找到记录数量增长很快的数据库对象,并采 取相应的措施- 删除历史数据- 扩表空间 alter tbespace ame add atail lesie (3)系统健康检查 检查以下内容: initi.ra otolile redoogil rhvng rt re iz tableae(system,empoar,tablespae famnt)dtail(autoextd,latin) object(number oextet,next extnt,inex) lck egment logging&racing(lr.log,max_up_fil_siz
7、e,snet)(). 检查无效的数据库对象SECT ower, obec_name,object_type FROM db_bects HRE status=INAID。 (5) 检查不起作用的约束 SELEC wner,ontrain_na,table_name, onstraint_type, sttu FM dbacotraits WHREts = DSABLD NDonsrat_tp= P(6).检查无效的riger SELECTowr,rgger_nae,ale_nme, tatus FRbatrig WHR status =DIBLD每月的工作 () AayzeTables/Ind
8、xesClste analye table estimt stasticsaple0 percent;()检查表空间碎片 根据本月每周的检查分析数据库碎片情况,找到相应的解决方法 (3). 寻找数据库性能调整的机会 比较每天对数据库性能的监控报告,确定是否有必要对数据库性能进行调整 (4).数据库性能调整 如有必要,进行性能调整 (5). 提出下一步空间管理计划 根据每周的监控,提出空间管理的改进方法Oacle BA 日常管理 目的:这篇文档有很详细的资料记录着对一个甚至更多的ORALE数据库每天的,每月的,每年的运行的状态的结果及检查的结果,在文档的附录中你将会看到所有检查,修改的QL 和P
9、L/SQL 代码。 目录1.日常维护程序 A 检查已起的所有实例 . 查找一些新的警告日志 C检查DBSNM是否在运行. 检查数据库备份是否正确检查备份到磁带中的文件是否正确 F 检查数据库的性能是否正常合理,是否有足够的空间和资源G 将文档日志复制到备份的数据库中 H 要常看D 用户手册2.晚间维护程序 收集VUMETRIC 的数据 3每周维护工作 A 查找那些破坏规则的OBJECT .查找是否有违反安全策略的问题 C. 查看错误地方的SQ*NET日志 D. 将所有的警告日志存档 E. 经常访问供应商的主页 月维护程序 A. 查看对数据库会产生危害的增长速度 B. 回顾以前数据库优化性能的调
10、整 查看IO 的屏颈问题 D回顾RAENTATIN 将来的执行计划 . 查看调整点和维护 5.附录 A月维护过程 B. 晚间维护过程 周维护过程 6.参考文献- 一.日维护过程 查看所有的实例是否已起 确定数据库是可用的,把每个实例写入日志并且运行日报告或是运行测试文件。当然有一些操作我们是希望它能自动运行的。 可选择执行:用ORLE 管理器中的RBE事件来查看 B查找新的警告日志文件1. 联接每一个操作管理系统.使用TLNET或是可比较程序 3 对每一个管理实例,经常的执行ACLE_BSE/bdup 操 作,并使其能回退到控制数据库的SD。 4. 在提示下,使用UNIX 中的AI命令查看al
11、e.log,或是 用其他方式检查文件中最近时期的警告日志. 如果以前出现过的一些OR_EO 又出现,将它记录到数据库恢复日志中并且仔细的研究它们,这个数据库恢复日志在LE中C查看DSNMP 的运行情况 检查每个被管理机器的DBNMP进程并将它们记录到日志中。在UNIX中,在命令行中,键入psef | ge bn,将回看到2 个 DBSNM 进程在运行。如果没有,重启DBSNP。D查数据库备份是否成功 E.检查备份的磁带文档是否成功 F.检查对合理的性能来说是否有足够的资源 检查在表空间中有没有剩余空间。 对每一个实例来说,检查在表空间中是否存在有剩余空间来满足当天 的预期的需要。当数据库中已有
12、的数据是稳定的,数据日增长的平均 数也是可以计算出来,最小的剩余空间至少要能满足每天数据的增 长。 A) 运行FRE.SL来检查表空间的剩余空间。 B) 运行SPACE.SQL来检查表空间中的剩余空间百分率 2检查回滚段 回滚段的状态一般是在线的,除了一些为复杂工作准备的专用 段,它一般状态是离线的。a) 每个数据库都有一个回滚段名字的列表。b) 你可以用V$RLLAT 来查询在线或是离线的回滚段的现在状 态.c) 对于所有回滚段的存储参数及名字, 可用 B_OLACKEG 来查询。但是它不如VROLLSTAT准确。 3. 识别出一些过分的增长 查看数据库中超出资源或是增长速度过大的段,这些段
13、的存储参数需要调整。 a) 收集日数据大小的信息, 可以用 ANYEPCT.SQL。如果你收集的是每晚的信息, 则可跳过这一步。 )检查当前的范围,可用NR.EXTNTS.SL。 c) 查询当前表的大小信息。 )查询当前索引大小的信息。 e) 查询增长趋势。 4. 确定空间的范围。 如果范围空间对象的EXT_ETET 比表空间所能提供的最大范 围还要大,那么这将影响数据库的运行。如果我们找到了这个目标,可 以用ALTR TABSPACECOAESE调查它的位置,或加另外 的数据文件。 )运行PACEBOUNDSQL。如果都是正常的,将不返回任何行。 . 回顾CPU,内存,网络,硬件资源论点的过
14、程 A)检查U的利用情况,进到x:/web/phas2/defau.hm=sstemeisCPU 利用页,PU 的最大限度为40,当CPU 的占用保持在350以上有一段时间的话,我们就需要查看及研究出现的问题。 G将存档日志复制到备用数据库中 如果有一个备用数据库,将适当的存档日志复制到备用数据库的期望 位置,备用数据库中保存最近期的数据。 H.经常查阅DBA 用户手册 如果有可能的话,要广泛的阅读,包括DB 手册,行业杂志,新闻 组或是邮件列表。- 二.晚间维护过程 大部分的数据库产品将受益于每晚确定的检查进程的运行。 A 收集OLETRIC 数据 1.分析计划和收集数据 更准确的分析计算并
15、保存结果。)如果你现在没有作这些的话,用MK VOFACT.Q来创建测定体积的 表。 b) 收集晚间数据大小的信息,用ANAE COMP.SQL。 c) 收集统计结果,用PP VOL.SQ。d) 在空闲的时候检查数据,可能的话,每周或每个月进行。 我是用 EXCEL 和DBC 的联接来检查数据和图表的增长 - 三每周维护过程 查找被破坏的目标1.对于每个给定表空间的对象来说,NEXT_XTEN 的大小是相同的,如 2/1498,缺省的EXTEXTE 的DAH 为1G,AL 为500B, INEXES 为256MB。 )检查NX_XTNT的设置,可用NEXTEXT。L。B) 检查已有的EXTEN
16、TS,可用EXITEX。SQL。2. 所有的表都应该有唯一的主键 ) 查看那些表没有主键,可用NOKSQL。 b) 查找那些主键是没有发挥作用的,可用DIP.S。 )所有作索引的主键都要是唯一的,可用NONU。QL来检查。 . 所有的索引都要放到索引表空间中。运行MRBUILDIX。SL 不同的环境之间的计划应该是同样的,特别是测试环境和成品环境之间的计划应该相同。a) 检查不同的2个运行环境中的数据类型是否一致,可用ATATE.QL。 b)在2 个不同的实例中寻找对象的不同点, 可用 OBJ_CORD.SL。 c) 更好的做法是,使用一种工具,象寻求软件的计划管理器那样的 工具。 查看是否有
17、危害到安全策略的问题。查看报错的SQL*NE 日志。 . 客户端的日志。2. 服务器端的日志。D.将所有的警告日志存档 E.供应商的主页1. OACE 供应商 ttp:/wwr ttp:/tehe.oale.cm htp:/www.rasuppo http:/ 2 Ques are tp:/wwwuets.om 3. SunMirosystems http:/ - 四月维护过程 A查看对数据库会产生危害的增长速度 1. 从以前的记录或报告中回顾段增长的变化以此来确定段增长带来危害 B回顾以前数据库优化性能的调整 1.回顾一般ORACLE数据库的调整点,比较以前的报告来确定有害的发展 趋势。 C
18、 查看I/O 的屏颈问题 1. 查看前期数据库文件的活动性,比较以前的输出来判断有可能导致屏颈问题的趋势。D 回顾FRGMENTION E 计划数据库将来的性能 1比较OACL 和操作系统的CPU,内存,网络,及硬盘的利用率以此 来确定在近期将会有的一些资源争夺的趋势2 当系统将超出范围时要把性能趋势当作服务水平的协议来看 F. 完成调整和维护工作 1使修改满足避免系统资源的争夺的需要,这里面包括增加新资源或使预期 的停工。- 五.附录 A.日常程序- fre.sl -To vrifyreespace in tblpaces -inim mouof ree spae -document you
19、r hresolds: -ablescename m SEC tblespace_me, u ( bocks ) sre_bk , un ( sum ( tes ) / (1024*) ) as fee_m, max( bytes ) / (14) as _hunkk,cunt (*) s um_cuns FROM dba_fre_spae GROUP BY tablespacenam 1.pace.sql - spacesql- o check re, pct_fee, nlocate pce wihina tablesp - 11/4/98 ELT tblspace_me, laese_c
20、hunk , r_fee_chunks, um_loc_bos, sm_ree_ocs,to_cha(100*su_freec/sm_alloc_bcs,09.99) | % Apct_free M (SELETtblec_name , su(bcks) A _alloc_blocs FRMd_dat_ile GROUP Y talespac_me) , ( ELET tablespace_name AS fs_tsnae , max(blos) AS laes_ee_hk ,ount(blck) A n_freehunk,s(blok) smree_blck FOMdba_fre_ce GR
21、OP BYtalepace_nae ) HE tablpaceam = f_ts_name 2.nalyepc.q - analye5ct.sq- o naye ts and indees quickl, usinga 5% smple sze - (d nt e thicrip iyou aepromin te rnight - clectin ofvoluric data) - 11/30/98 BEGIN dbm_uility.nalyze_schema( &OWNR,ESTIE, NLL,5 ) ; ED ; /3.nr_etetssql - nrextes.l - find outa
22、ny bjet eacng -extents, dmnuall upgrade it allow ulimited - ma_extnts(thus only obctsw *expect* obi - are llowed o becmebg)- 1/30/9 ELECTewn,.segmetp , e.semet_nme ,coun()asr_exte , s.maxxtes ,toha ( su(.ytes ) ( 14 * 102 ), 99,990) as MBOM da_exens e , db_segmens s WHE .semetnae =s.smen_am GOPBY e.
23、owner, .segentype,e.segent_name , sma_extents AVINGout(*) &TOLD R ( ( .mx_exens - out(*)) &THRESOD) ORDR BYcunt(*) dec 4. sacbond.sql - paceboud.l- To idntiy sa-oun becs If a is well,o rowartund.- If any sace-ound ojec are fun, lok at vl of NEXTextet- ize tofigu owhathappened. -Te se coalsce(ltertab
24、lspce olesce - st,add anohrdatafile tothe tabespae if eeded. -1/3/EECT aabe_a, anex_exent, a.aeac_nam FOall_ales a,(SELECT tlespc_nae, max(byte) ag_cun FRO db_freepaceUPBYtablsce_nam) fWHEREf.tablespcnm = a.tablespae_nme AN .net_xte f.i_hun 每晚处理程序 1. mk_volft.sql- mk_vact.q (oly run thonc to set it up; dont run it ihtly!) - - Table UT_VO_ACT CREAT ABLE uol_ft ( table_nam VCAR2(30),nurows NUMBER, a_t ATE ) TALEPACE platSTRAGE (INTIL 8k NET 12k PCTINCREA MINXTENTS 1 MAXXTENTSunlimied ) / -uic ynny CRETEPUBL SYNNYM vol_fasO &OER.ut_o_acs
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1