Oracle管理监控之检查数据库和日常维护数据库

linux系统的系统日志一般位于/var/log目录下。linux的系统日志由一个叫syslog的进程管理的,如下日志都是由syslog服务驱动的。

/var/log/ messages:记录linux系统常见的系统和服务错误。

/var/log/lastlog:记录最后一次用户登录的时间,登录IP等信息。

/var/log/secure:linux系统安全日志,记录用户和工作组变化情况,用户登录认证信息。

/var/log/btmp:记录linux登录失败的用户,时间以及远程ip地址。

/var/log/cron:记录crond计划任务服务的执行情况。

上面的日志都可以用linux系统的vi和cat命令查看。

$vi 日志名

$cat 日志名

oracle数据库中最重要的日志是警告日志,警告日志alert_sid.log一般位于$ORACLE_HOME/admin/ORACLE_SID/bdump目录下面。如果不知道oracle11g数据库警告日志的具体位置,可以通过以下代码查找:

SQL>show parameter background_dump_dest

打开alert_sid.log日志,主要产看ora-或者是errers关键词的,这一般是数据库发生错误的信息。

检查linux磁盘空间情况:$df -lh

检查数据库表空间使用率:

oracle的dba权限登录pl/sql development,在sql窗口输入如下内容:

SQL> select a.tablespace_name,

round((a.maxbytes / 1024 / 1024), 2) "sum MB",

round((a.bytes / 1024 / 1024), 2) "datafile MB",

round(((a.bytes - b.bytes) / 1024 / 1024), 2) "used MB",

round(((a.maxbytes - a.bytes + b.bytes) / 1024 / 1024), 2) "free MB",

round(((a.bytes - b.bytes) / a.maxbytes) * 100, 2) "percent_used"

from (select tablespace_name, sum(bytes) bytes, sum(maxbytes) maxbytes

from dba_data_files

where maxbytes != 0

group by tablespace_name) a,

(select tablespace_name, sum(bytes) bytes, max(bytes) largest

from dba_free_space

group by tablespace_name) b

where a.tablespace_name = b.tablespace_name

order by ((a.bytes - b.bytes) / a.maxbytes) desc

执行即可产看结果.

检查数据库文件是否为自动扩展:

在pl/sql developer的sql窗口输入下面语句:

SQL>select file_id,file_name,tablespace_name,autoextensible from dba_data_files;

执行。

检查RMAN备份是否出错:

$crontab -l

回车可以看到rman备份情况及对应的日志,可以打开日志进行查看。如果日志中包含RMAN-的则表示可能不成功。

实时监控linux操作系统:

$top

回车即可监控linux系统的cpu,内存,交换空间,IO的使用情况。

如果想停止实时监控,可以同时按ctrl+C组合键来终止。

查看oracle数据库进程:

$ps -ef|grep ora_

回车即可查看oracle11g所有进程情况。

查看oracle数据库的监听程序:

$lsnrctl status

原文地址:https://www.cnblogs.com/wcwen1990/p/4112572.html