数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

Oracle数据库管理员职责(一)


发布日期:2024年08月13日
 
Oracle数据库管理员职责(一)

Oracle数据库管理员应按如下方式对Oracle数据库系统做定期监控

()每天 对Oracle数据库的运行状态日志文件备份情况数据库的空间使用情况系统资源的使用情况进行检查发现并解决问题

()每周 对数据库对象的空间扩展情况数据的增长情况进行监控对数据库做健康检查对数据库对象的状态做检查

()每月 对表和索引等进行Analyze检查表空间碎片寻找数据库性能调整的机会进行数据库性能调整提出下一步空间管理计划对ORACLE数据库状态进行一次全面检查

每天的工作

()确认所有的INSTANCE状态正常登陆到所有数据库或例程检测ORACLE后台进程: $ps –ef|grep ora

()检查数据文件的状态记录状态不是online的数据文件并做恢复

Selectfile_namestatus

fromdba_data_files

wherestatus=UNAVAILABLE;

()检查日志文件和trace文件记录alert和trace文件中的错误

连接到每个需管理的系统

使用telnet

对每个数据库cd到bdump目录通常是$ORACLE_BASE//bdump

使用Unixtail命令来查看alert_log文件

如果发现任何新的ORA错误记录并解决

()检查数据库当日备份的有效性

对RMAN备份方式: 检查第三方备份工具的备份日志以确定备份是否成功

对EXPORT备份方式: 检查exp日志文件以确定备份是否成功

对其他备份方式: 检查相应的日志文件

()检查文件系统的使用(剩余空间)如果文件系统的剩余空间小于%需删除不用的文件以释放空间

$df–k

()检查表空间的使用情况

SELECTtablespace_namemax_mcount_blocksfree_blk_cntsum_free_mto_char(*sum_free_m/sum_m)||%ASpct_free

FROM(SELECTtablespace_namesum(bytes)//ASsum_m

FROMdba_data_files

GROUPBYtablespace_name)

(SELECTtablespace_nameASfs_ts_namemax(bytes)//ASmax_mcount(blocks)AScount_blockssum(bytes//)ASsum_free_m

FROMdba_free_space

GROUPBYtablespace_name)

WHEREtablespace_name=fs_ts_name;

()检查剩余表空间

SELECTtablespace_namesum(blocks)asfree_blktrunc(sum(bytes)/(*))asfree_m

max(bytes)/()asbig_chunk_kcount(*)asnum_chunks

FROMdba_free_space

GROUPBYtablespace_name;

()监控数据库性能

运行bstat/estat生成系统报告或者使用statspack收集统计数据

()检查数据库性能记录数据库的cpu使用IObuffer命中率等等

使用vmstatiostatglancetop等命令

()日常出现问题的处理

每周的工作

()监控数据库对象的空间扩展情况

根据本周每天的检查情况找到空间扩展很快的数据库对象并采取相应的措施

删除历史数据

扩表空间

alter tablespace add datafile size

调整数据对象的存储参数

nextextent

pct_increase

()监控数据量的增长情况

根据本周每天的检查情况找到记录数量增长很快的数据库对象并采取相应的措施

删除历史数据

扩表空间

altertablespaceadddatafilesize

()系统健康检查

检查以下内容:

initora

controlfile

redologfile

archiving

sortareasize

tablespace(systemtemporarytablespacefragment)

datafiles(autoextendlocation)

object(numberofextentnextextentindex)

rollbacksegment

logging&tracing(alertlogmax_dump_file_sizesqlnet)

()检查无效的数据库对象

colownerfora

colobject_namefora

SELECTownerobject_nameobject_type

FROMdba_objects

WHEREstatus=INVALID;

()检查不起作用的约束

SELECTownerconstraint_nametable_nameconstraint_typestatus

FROMdba_constraints

WHEREstatus=DISABLEDANDconstraint_type=P;

()检查无效的trigger

SELECTownertrigger_nametable_namestatus

FROMdba_triggers

WHEREstatus=DISABLED;

每月的工作

() Analyze Tables/Indexes/Cluster

analyzetableestimatestatisticssamplepercent;

()检查表空间碎片

根据本月每周的检查分析数据库碎片情况找到相应的解决方法;

()寻找数据库性能调整的机会

比较每天对数据库性能的监控报告确定是否有必要对数据库性能进行调整;

()数据库性能调整

如有必要进行性能调整;

()提出下一步空间管理计划

根据每周的监控提出空间管理的改进方法;

上一篇:三步教会你掌握Oracle外表(externaltable)

下一篇:Ibatis调用Oracle存储过程