7.检查数据库安全性
在本节主要检查Oracle数据库的安全性,包含:检查系统安全信息,定期修改密码,总共两个部分。
7.1.检查系统安全日志信息
系统安全日志文件的目录在/var/log 下,主要检查登录成功或失败的用户日志信息。
检查登录成功的日志:
[root@rac2 ~]# grep -i accepted /var/log/secure
Jan 8 08:44:43 rac2 sshd[29559]: Accepted password for root from ::ffff:10.10.10.6 port 1119 ssh2……
检查登录失败的日志:
[root@rac2 ~]# grep -i inval /var/log/secure &&grep -i failed /var/log/secure
Jan 9 10:30:44 rac2 sshd[3071]: Invalid user ydbuser from ::ffff:192.168.3.5
Jan 9 10:30:56 rac2 sshd[3071]: Failed password for invalid user ydbuser from ::ffff:192.168.3.5 port 36005 ssh2
Jan 9 10:30:56 rac2 sshd[3071]: Failed password for invalid user ydbuser from ::ffff:192.168.3.5 port 36005 ssh2
Jan 10 22:44:38 rac2 sshd[21611]: Failed password for root from ::ffff:10.10.10.6 port 1723 ssh2
在出现的日志信息中没有错误(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 <tablespace_name> add datafile ‘<file>’ size <size> autoextend off;
注意:在数据库结构发生变化时,如增加了表空间,增加了数据文件或重做日志文件这些操作,都会造成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;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。