ORACLE 告警日志alert过大的处理
发表于:2024-09-25 作者:千家信息网编辑
千家信息网最后更新 2024年09月25日,现在,对于我来说,处理ORACLE告警日志alert多大不再是什么难题;但是,由于数据库是公司最重要的设备,不容有失,处理数据库相关的进程或文件还是要特别小心。目前,ORACLE数据库主要分widow
千家信息网最后更新 2024年09月25日ORACLE 告警日志alert过大的处理现在,对于我来说,处理ORACLE告警日志alert多大不再是什么难题;但是,由于数据库是公司最重要的设备,不容有失,处理数据库相关的进程或文件还是要特别小心。
目前,ORACLE数据库主要分widows和LINUX/UNIX版本,对于LINUX/UNIX平台,我们可以使用tail -n /path/alert*.log|more来查看,很方便;但是,windows操作平台,我们遇到如下图所示那么大个的告警日志,该怎么查看。你要说直接TXT文本打开,估计是不会成功的;有人说可以上传到linux查看,那还不如当初就在linux上部署Oracle数据库。所以,过大的ORACLE告警日志是很不方便查看的,需要我们运维人员定期查看并处理。
对于linux平台,处理很简单,就是echo /dev/null > /path/alert*.log,举例如下:
首先,查看告警日志的位置:
[oracle@oradbs ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Thu May 19 18:09:19 2016
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> show parameter dump
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
background_core_dump string partial
background_dump_dest string /home/oracle/oracle/diag/rdbms/oradb/oradb/trace
core_dump_dest string /home/oracle/oracle/diag/rdbms/oradb/oradb/cdump
max_dump_file_size string unlimited
shadow_core_dump string partial
user_dump_dest string /home/oracle/oracle/diag/rdbms/oradb/oradb/trace
[oracle@oradbs ~]$ ls -l /home/oracle/oracle/diag/rdbms/oradb/oradb/trace/alert*.log
-rw-r----- 1 oracle dba 94275 May 19 18:00 /home/oracle/oracle/diag/rdbms/oradb/oradb/trace/alert_oradb.log
其次,一定要先做备份:
[oracle@oradbs ~]$ cp /home/oracle/oracle/diag/rdbms/oradb/oradb/trace/alert*.log /home/oracle/alert_bak20160607
[oracle@oradbs ~]$ ls
alert_bak20160607 oracle oraInventory
再次,对告警日志进行截断处理:
[oracle@oradbs ~]$ echo /dev/null > /home/oracle/oracle/diag/rdbms/oradb/oradb/trace/alert*.log
[oracle@oradbs ~]$ ls -l /home/oracle/oracle/diag/rdbms/oradb/oradb/trace/alert*.log
-rw-r----- 1 oracle dba 10 May 19 18:13 /home/oracle/oracle/diag/rdbms/oradb/oradb/trace/alert_oradb.log
处理的结果:
[oracle@oradbs ~]$ cat /home/oracle/oracle/diag/rdbms/oradb/oradb/trace/alert*.log
/dev/null
有人怀疑,动了告警日志,数据库是不是就不在往这个告警日志写日志了,答案是不会的,我们切换redo日志看看:
[oracle@oradbs ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Thu May 19 18:15:49 2016
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> alter system switch logfile;
System altered.
SQL>
SQL> !cat /home/oracle/oracle/diag/rdbms/oradb/oradb/trace/alert*.log
/dev/null
Thu May 19 18:15:58 2016
Thread 1 advanced to log sequence 7 (LGWR switch)
Current log# 1 seq# 7 mem# 0: /oradata/oradb/redo01.log
Thu May 19 18:15:58 2016
Archived Log entry 4 added for thread 1 sequence 6 ID 0x9ecc00e3 dest 1:
看吧!数据库还是会写到截断的告警日志里。
那么,widows的告警日志过大又该怎么处理呢,流程是这样的:先做备份,然后直接删除即可,当数据库发生检查点或切换redo日志时,数据库会自动创建新的告警日志。举例如下:
查看告警日志:
C:\Users\localadmin>sqlplus sys/oracle as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期二 6月 7 08:59:53 2016
Copyright (c) 1982, 2010, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> show parameter dump
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
background_core_dump string
partial
background_dump_dest string
c:\oracle\diag\rdbms\oradb\ora
db\trace
core_dump_dest string
c:\oracle\diag\rdbms\oradb\ora
db\cdump
max_dump_file_size string
unlimited
shadow_core_dump string
none
user_dump_dest string
c:\oracle\diag\rdbms\oradb\ora
db\trace
SQL>
由于是演示,我就在trace目录进行告警日志备份了:
接下来,就可以删除原来的告警日志:
通过切redo日志,可以使数据库生成新的告警日志文件:
SQL> alter system switch logfile;
系统已更改。
SQL>
目前,ORACLE数据库主要分widows和LINUX/UNIX版本,对于LINUX/UNIX平台,我们可以使用tail -n /path/alert*.log|more来查看,很方便;但是,windows操作平台,我们遇到如下图所示那么大个的告警日志,该怎么查看。你要说直接TXT文本打开,估计是不会成功的;有人说可以上传到linux查看,那还不如当初就在linux上部署Oracle数据库。所以,过大的ORACLE告警日志是很不方便查看的,需要我们运维人员定期查看并处理。
对于linux平台,处理很简单,就是echo /dev/null > /path/alert*.log,举例如下:
首先,查看告警日志的位置:
[oracle@oradbs ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Thu May 19 18:09:19 2016
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> show parameter dump
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
background_core_dump string partial
background_dump_dest string /home/oracle/oracle/diag/rdbms/oradb/oradb/trace
core_dump_dest string /home/oracle/oracle/diag/rdbms/oradb/oradb/cdump
max_dump_file_size string unlimited
shadow_core_dump string partial
user_dump_dest string /home/oracle/oracle/diag/rdbms/oradb/oradb/trace
[oracle@oradbs ~]$ ls -l /home/oracle/oracle/diag/rdbms/oradb/oradb/trace/alert*.log
-rw-r----- 1 oracle dba 94275 May 19 18:00 /home/oracle/oracle/diag/rdbms/oradb/oradb/trace/alert_oradb.log
其次,一定要先做备份:
[oracle@oradbs ~]$ cp /home/oracle/oracle/diag/rdbms/oradb/oradb/trace/alert*.log /home/oracle/alert_bak20160607
[oracle@oradbs ~]$ ls
alert_bak20160607 oracle oraInventory
再次,对告警日志进行截断处理:
[oracle@oradbs ~]$ echo /dev/null > /home/oracle/oracle/diag/rdbms/oradb/oradb/trace/alert*.log
[oracle@oradbs ~]$ ls -l /home/oracle/oracle/diag/rdbms/oradb/oradb/trace/alert*.log
-rw-r----- 1 oracle dba 10 May 19 18:13 /home/oracle/oracle/diag/rdbms/oradb/oradb/trace/alert_oradb.log
处理的结果:
[oracle@oradbs ~]$ cat /home/oracle/oracle/diag/rdbms/oradb/oradb/trace/alert*.log
/dev/null
有人怀疑,动了告警日志,数据库是不是就不在往这个告警日志写日志了,答案是不会的,我们切换redo日志看看:
[oracle@oradbs ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Thu May 19 18:15:49 2016
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> alter system switch logfile;
System altered.
SQL>
SQL> !cat /home/oracle/oracle/diag/rdbms/oradb/oradb/trace/alert*.log
/dev/null
Thu May 19 18:15:58 2016
Thread 1 advanced to log sequence 7 (LGWR switch)
Current log# 1 seq# 7 mem# 0: /oradata/oradb/redo01.log
Thu May 19 18:15:58 2016
Archived Log entry 4 added for thread 1 sequence 6 ID 0x9ecc00e3 dest 1:
看吧!数据库还是会写到截断的告警日志里。
那么,widows的告警日志过大又该怎么处理呢,流程是这样的:先做备份,然后直接删除即可,当数据库发生检查点或切换redo日志时,数据库会自动创建新的告警日志。举例如下:
查看告警日志:
C:\Users\localadmin>sqlplus sys/oracle as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期二 6月 7 08:59:53 2016
Copyright (c) 1982, 2010, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> show parameter dump
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
background_core_dump string
partial
background_dump_dest string
c:\oracle\diag\rdbms\oradb\ora
db\trace
core_dump_dest string
c:\oracle\diag\rdbms\oradb\ora
db\cdump
max_dump_file_size string
unlimited
shadow_core_dump string
none
user_dump_dest string
c:\oracle\diag\rdbms\oradb\ora
db\trace
SQL>
由于是演示,我就在trace目录进行告警日志备份了:
接下来,就可以删除原来的告警日志:
通过切redo日志,可以使数据库生成新的告警日志文件:
SQL> alter system switch logfile;
系统已更改。
SQL>
日志
数据
数据库
处理
备份
平台
文件
还是
切换
重要
成功
接下来
人员
位置
公司
再次
可以使
大个
就是
文本
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
杭州直播软件开发运营需要多少钱
益阳学数据库软件应用能力哪个好
个人服务器怎么建立
山东超频服务器代理价格
重庆计算机网络技术本科院校
国家网络安全技术发展战略
csgo国服和平台服务器
手机有网络但无法连接到服务器
湖北服务器硬盘维修
服务器 ssd pcie
网络技术招生短视频
山东的网络安全隐患
网络安全培训计划doc
方舟多人如何创建自己的服务器
软件开发ppt 模板
软件开发保密的重要性
云服务器c5怎么样
物联网需要的软件开发
5g网络技术的缺点
简述数据库管理技术的发展简史
学手机软件开发的工资
医药招标数据库
数据库实例建设
定制清理僵尸粉软件开发
e池的亚洲服务器在哪
南京白鸥网络技术
网络技术系女生节
远程服务器下载文件
网络安全与执法是干什么的
数据库全文搜索