Oracle删除或清理监听日志文件的方法
<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li><a href="#_label0">1.查看日志文件位置</a></li><li><a href="#_label1">2.安全清理方法</a></li><ul class="second_class_ul"><li><a href="#_lab2_1_0">方式一:使用 lsnrctl 重新启监听(推荐)</a></li><li><a href="#_lab2_1_1">方式二:在线截断日志(不中断监听)</a></li></ul></ul></div><p>Oracle 监听日志(listener log)文件确实可能越积越大,占用大量磁盘空间。<br />下面是安全删除或清理 Oracle 监听日志文件的方法介绍 。</p><p class="maodian"><a name="_label0"></a></p><h2>1.查看日志文件位置</h2>
<div class="jb51code"><pre class="brush:bash;">$ lsnrctl status
</pre></div>
<p>在输出中会看到类似如下内容:</p>
<div class="jb51code"><pre class="brush:bash;">Listener Log File /u01/app/oracle/diag/tnslsnr/dbserver/listener/trace/listener.log
</pre></div>
<p class="maodian"><a name="_label1"></a></p><h2>2.安全清理方法</h2>
<p>不要直接删除正在被监听器写入的日志文件,否则可能导致监听器报错或无法写日志。推荐以下几种安全方式:</p>
<p class="maodian"><a name="_lab2_1_0"></a></p><h3>方式一:使用 lsnrctl 重新启监听(推荐)</h3>
<p><strong>1)停止监听</strong></p>
<div class="jb51code"><pre class="brush:bash;">$ lsnrctl stop
</pre></div>
<p><strong>2)删除或重命名日志</strong></p>
<div class="jb51code"><pre class="brush:bash;">切换到监听文件所在路径:
$ cd /u01/app/oracle/diag/tnslsnr/dbserver/listener/trace
$ mv listener.log listener.log.bak
</pre></div>
<p><strong>3)启动监听</strong></p>
<div class="jb51code"><pre class="brush:bash;">$ lsnrctl start
</pre></div>
<p>Oracle 会自动创建一个新的空的 listener.log 文件。</p>
<p>之后可以删除旧的备份文件:</p>
<div class="jb51code"><pre class="brush:bash;">$ rm listener.log.bak
</pre></div>
<p class="maodian"><a name="_lab2_1_1"></a></p><h3>方式二:在线截断日志(不中断监听)</h3>
<p>如果不能停止监听,可以用重定向清空日志文件:</p>
<div class="jb51code"><pre class="brush:bash;">$ cd /u01/app/oracle/diag/tnslsnr/dbserver/listener/trace
$ cat /dev/null > listener.log
</pre></div>
<p>这样会保留文件句柄,监听器仍可继续写入,不影响服务。</p>
頁:
[1]