Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2916526
  • 博文数量: 454
  • 博客积分: 4860
  • 博客等级: 上校
  • 技术积分: 6375
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-13 10:08
个人简介

10年工作经验,专研网站运维。

文章分类

全部博文(454)

文章存档

2017年(11)

2016年(13)

2015年(47)

2014年(36)

2013年(147)

2012年(64)

2011年(136)

分类: Oracle

2013-12-03 08:37:22

                             Oracle数据库日常巡检:

1.       检查数据库日志
1.1 警告日志:
cat /orainst/admin/cba/bdump/alert_cba.log
1.2 联机(在线)重做日志:
# cd /orainst/flash_recovery_area/CBA/archivelog
1.3 归档重做日志:
ls /orainst/flash_recovery_area/CBA/archivelog/
1.4 跟踪日志:
用LogMiner查看。

2.       查看相关用户的mail
$ mail

3.       检查核心转储
3. 查看闪回恢复区的空间使用率,配置为20G
cd /orainst/flash_recovery_area/CBA
# du -m
0.00    ./archivelog/2014_07_01
0.00    ./archivelog/2014_07_02
0.00    ./archivelog/2014_07_03
0.00    ./archivelog/2014_07_04
248.77  ./archivelog/2014_07_06
665.55  ./archivelog/2014_07_07
829.43  ./archivelog/2014_07_08
1494.52 ./archivelog/2014_07_10
929.74  ./archivelog/2014_07_11
4168.02 ./archivelog
0.00    ./onlinelog
4168.02 .

4.       检查所有无效的对象
select * from dba_objects where status!='VALID'

4.1 检查闪回恢复区的使用率:
select * from v$flash_recovery_area_usage;
5.      
检查数据库表空间使用率

select

a.a1 表空间名称,

c.c2 类型,

c.c3 区管理,

b.b2/1024/1024 表空间大小M,

(b.b2-a.a2)/1024/1024 已使用M,

substr((b.b2-a.a2)/b.b2*100,1,5) 利用率

from

(select  tablespace_name a1, sum(nvl(bytes,0)) a2 from dba_free_space group by tablespace_name) a,

(select tablespace_name b1,sum(bytes) b2 from dba_data_files group by tablespace_name) b,

(select tablespace_name c1,contents c2,extent_management c3  from dba_tablespaces) c

where a.a1=b.b1 and c.c1=b.b1;

或使用:
SELECT UPPER(F.TABLESPACE_NAME) "表空间名",
  D.TOT_GROOTTE_MB "表空间大小(M)",
  D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
  TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') || '%' "使用比",
  F.TOTAL_BYTES "空闲空间(M)",
  F.MAX_BYTES "最大块(M)"
  FROM (SELECT TABLESPACE_NAME,
  ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
  ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES
  FROM SYS.DBA_FREE_SPACE
  GROUP BY TABLESPACE_NAME) F,
  (SELECT DD.TABLESPACE_NAME,
   ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
  FROM SYS.DBA_DATA_FILES DD
  GROUP BY DD.TABLESPACE_NAME) D
  WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
  ORDER BY 1;

6.       检查数据库的数据文件是否为自动扩展
6.1查看所有的表空间以及所对应数据文件名:

select tablespace_name, file_id, file_name,
round(bytes/(1024*1024),0) total_space
from dba_data_files
order by tablespace_name
6.2 查看表空间是否自动扩展:
select tablespace_name,file_name,autoextensible from dba_data_files where tablespace_name = 'CIS_DATA';
select tablespace_name,file_name,autoextensible from dba_data_files where tablespace_name = '2012';

1. 2012

2. CIS_DATA

3. LHCBA_DATA

4. MMDB_DAT1

5. MMDB_LOB1

6. MMDB_NDX1

7. PMDB_DAT1

8. PMDB_LOB1

9. PMDB_NDX1

10. SYSAUX

11. SYSTEM

12. UNDOTBS1

13. USERS


7.       检查备份是否出错
vi /nbuscript/hot_database_backup.sh.out    查看RMAN备份日志
cd /oradata/oradmp  查看exp的log日志

8.       检查Oracle实例状态
SQL> select status from v$instance;


STATUS
------------
OPEN

9.       检查Oracle数据库状态
SQL> select open_mode from v$database;

10.   检查Oracle死锁
select username,lockwait,status,machine,program from v$session where sid in
(select session_id from v$locked_object)

11.   检查缓冲区命中率

12.   检查共享池命中率

13.   数据字典命中率

14.   库缓存命中率

15.   最浪费内存的前10个语句占全部内存读取量的比例

16.   检查失效的索引

17.   检查日志文件、控制文件、参数文件、数据文件、表空间、回滚段等Oracle对象的状态

18.   检查每一个扩展异常对象状态

19.   查询等待事件

20.   SQL语句的利用率和效率查询

21.   实时监控操作系统,发生异常需短信或邮件报警

22.   检查Oracle数据库的进程

23.   检查Oracle数据库的监听进程

24.   检查Oracle的自动负载库报告

25.   检查Oracle官方补丁

26.   关注Oracle官方新闻

27.   检查Oracle的自动诊断报告

28.   使用LogMiner分析数据库的日志
29. 查看当前实例SID:
# echo $ORACLE_SID
# env
# set
30. 定义选择的sid(适用于一个数据库多个实例)
export ORACLE_SID=orcl
30. 查看时spfile启动,还是pfile启动:
SQL> show parameter spfile;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      /orainst/product/10g/dbs/spfil
                                                 ecba.ora
如果有值说明使用spfile启动,反之pfile

以上工作尽量做到每日巡检,个别项可以每周巡检。这样可以对数据库系统的安全性和稳定性有一个基本的保障。

阅读(5439) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~