您的位置:首页 > 数据库 > Oracle

oracle数据库日常维护

2013-01-03 16:07 357 查看
一般是每天都做巡检,一般在下午。

下午,登陆上数据库:检查:
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). 提出下一步空间管理计划
根据每周的监控,提出空间管理的改进方法 本文出自 “旅游人生” 博客,转载请与作者联系!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: