oracle数据库日常维护

 一般是每天都做巡检,一般在下午。   

  下午,登陆上数据库:检查:
1,ps -ef |grep ora_smon|grep -v grep
查看系统监控进程(SMON),这个进程在,数据库才稳定!
2,ps -ef |grep tnslsnr |grep -v grep
查看监听在吗,监听个数。
3,检查表空间的使用率,并统计出来,昨天和今天表空间的日增长率或是减少率,把表空间使用超过90%的列举出来,然后上报给领导人员。
4,检查alert日志,找出ORA-
5.df看磁盘使用空间,保证不要超出。
这些差不多就是日常巡检了,一般我还会看看topas,vmstat。
希望大家帮我多多补充
 最近看了 老盖翻译的 海量数据库解决方案 你可以看看
我是菜鸟 觉得说的挺好
广州-thinking(63637073) 2011-9-21 10:20:46
-------------------DBA计划内工作------------------------
每天的工作 
(1).确认所有的INSTANCE状态正常 
登陆到所有数据库或例程,检测ORACLE后台进程: 
$ps –ef|grep ora_ 
(2). 检查文件系统的使用(剩余空间)。如果文件系统的剩余空间小于20%,需删除不用的文件以释放空间。 清理空间时请务必小心!
 $df –k 
(3). 检查日志文件和trace文件记录alert和trace文件中的错误。 
连接到每个需管理的系统 
 对每个数据库,cd 到bdump目录,通常是ORACLE_BASE/<SID>/bdump 
 使用 Unix tail 命令来查看alert_<SID>.log文件 
 如果发现任何新的ORA- 错误,记录并解决 
(4). 检查数据库当日备份的有效性。 
对RMAN备份方式: 
检查第三方备份工具的备份日志以确定备份是否成功 
对EXPORT备份方式: 
检查exp日志文件以确定备份是否成功 
对其他备份方式: 
检查相应的日志文件 
(5). 检查数据文件的状态记录状态不是“online”的数据文件,并考虑是否需要做恢复。 
Select file_name from dba_data_files where status= 'OFFLINE' 
Select * from v$recover_file
6). 检查表空间的使用情况 
SELECT tablespace_name, max_m, count_blocks free_blk_cnt, sum_free_m,to_char(100*sum_free_m/sum_m, '99.99') || '%' AS pct_free 
FROM ( SELECT tablespace_name,sum(bytes)/1024/1024 AS sum_m FROM dba_data_files GROUP BY tablespace_name), 
( SELECT tablespace_name AS fs_ts_name, max(bytes)/1024/1024 AS max_m, count(blocks) AS count_blocks, sum(bytes/1024/1024) AS sum_free_m FROM dba_free_space GROUP BY tablespace_name ) 
WHERE tablespace_name = fs_ts_name 
order by pct_free
(7). 监控数据库性能 
运行statspack生成系统报告 
(8). 检查数据库性能,记录数据库的cpu使用、IO、buffer命中率等等 
使用vmstat,iostat,sar,top等命令 
 
每周的工作
(1). 监控数据库对象的空间扩展情况 
根据本周每天的检查情况找到空间扩展很快的数据库对象,并采取相 
应的措施 
-- 删除历史数据 
-- 扩表空间 
alter tablespace <name> add datafile ‘<file>’ size <size> 
-- 调整数据对象的存储参数 或者放在合理存储参数的本地管理表空间上
next extent 
pct_increase 
(2)系统健康检查
检查以下内容: 
init<sid>.ora 
controlfile 
redo log file 
archiving 
sort area size 
tablespace(system,temporary,tablespace fragment) 
datafiles(autoextend,location) 
object(number of extent,next extent,index) 
rollback segment 
logging &tracing(alert.log,max_dump_file_size,sqlnet) 
(3)检查无效的数据库对象
SELECT owner, object_name, object_type FROM dba_objects 
WHERE status='INVALID'
(4)检查不起作用的约束
SELECT owner, constraint_name, table_name, 
constraint_type, status 
FROM dba_constraints 
WHERE 
status = 'DISABLED' AND constraint_type = 'P'
(5)检查无效的trigger
SELECT owner, trigger_name, table_name, status 
FROM dba_triggers 
WHERE status = 'DISABLED' 
 
每月的工作 
如果使用CBO(在10g中这部分工作被简化了)
Analyze Tables/Indexes/Cluster 
analyze table <name> estimate statistics sample 40 percent; 
(2). 检查表空间碎片 
根据本月每周的检查分析数据库碎片情况,找到相应的解决方法 
(3). 寻找数据库性能调整的机会 
比较每天对数据库性能的监控报告,确定是否有必要对数据库性能进行调整 
(4). 数据库性能调整 
如有必要,进行性能调整 
(5). 提出下一步空间管理计划 
根据每周的监控,提出空间管理的改进方法 

本文出自 “旅游人生” 博客,转载请与作者联系!

你可能感兴趣的:(oracle,日常维护)