在出现的日志信息中没有错误(Invalid、refused)提示,如果没有(Invalid、refused)视为系统正常,出现错误提示,应作出系统告警通知。
7.2. 检查用户修改密码
在数据库系统上往往存在很多的用户,如:第三方数据库监控系统,初始安装数据库时的演示用户,管理员用户等等,这些用户的密码往往是写定的,被很多人知道,会被别有用心的人利用来攻击系统甚至进行修改数据。需要修改密码的用户包括:
数据库管理员用户SYS,SYSTEM;其他用户。
登陆系统后,提示符下输入cat /etc/passwd,在列出来的用户中查看是否存在已经不再使用的或是陌生的帐号。若存在,则记录为异常。
修改密码方法:
Sql>alter user USER_NAME identified by PASSWORD;
8. 其他检查
在本节主要检查当前crontab任务是否正常,检查Oracle Job是否有失败等共六个部分。
8.1. 检查当前crontab任务是否正常
[oracle@AS14 ~]$ crontab -l
8.2. Oracle Job是否有失败
Sql>select job,what,last_date,next_date,failures,broken from dba_jobs Where schema_user='CAIKE';
如有问题建议重建job,如:
exec sys.dbms_job.remove(1);
commit;
exec sys.dbms_job.isubmit(1,'REFRESH_ALL_SNAPSHOT;',SYSDATE+1/1440,'SYSDATE+4/1440');
commit;
8.3. 监控数据量的增长情况
SQL> select
2 A.tablespace_name,(1-(A.total)/B.total)*100 used_percent
3 from (select tablespace_name,sum(bytes) total
4 from dba_free_space group by tablespace_name) A,
5 (select tablespace_name,sum(bytes) total
6 from dba_data_files group by tablespace_name) B
7 where A.tablespace_name=B.tablespace_name;
TABLESPACE_NAME USED_PERCENT
------------------------------ ------------
HOME_INDEX 1.5
BLOG_DATA 0.375
VIDEO_DATA 0.25
VIDEO_INDEX 0.25
SYS_DATA 9.5
SYS_INDEX 0.4375
CURRENCY_INDEX 13
UNDOTBS1 2.3055555555
SYSAUX 47.875976562
根据本周每天的检查情况找到空间扩展很快的数据库对象,并采取相应的措施:
--- 删除历史数据
移动规定数据库中至少保留6个月的历史数据,所以以前的历史数据可以考虑备份然后进行清除以便释放其所占的资源空间。
--- 扩表空间
alter tablespace
注意:在数据库结构发生变化时,如增加了表空间,增加了数据文件或重做日志文件这些操作,都会造成Oracle数据库控制文件的变化,DBA应及进行控制文件的备份,备份方法是:
执行SQL语句:
alter database backup controlfile to '/home/backup/control.bak';
或:
alter database backup controlfile to trace;
这样,会在USER_DUMP_DEST(初始化参数文件中指定)目录下生成创建控制文件的SQL命令。
8.4. 检查失效的索引
Sql>select index_name,table_name,tablespace_name,status From dba_indexes Where owner='CTAIS2' And status<>'VALID';
注:分区表上的索引status为N/A是正常的,如有失效索引则对该索引做rebuild,如:
Sql>alter index INDEX_NAME rebuild tablespace TABLESPACE_NAME;
8.5. 检查不起作用的约束
SELECT owner, constraint_name, table_name, constraint_type, status
FROM dba_constraints
WHERE status ='DISABLE' and constraint_type='P';
如有失效约束则启用,如:
Sql>alter Table TABLE_NAME Enable Constraints CONSTRAINT_NAME;
8.6. 检查无效的trigger
SELECT owner, trigger_name, table_name, status FROM dba_triggers WHERE status = 'DISABLED';
如有失效触发器则启用,如:
Sql>alter Trigger TRIGGER_NAME Enable;