Oracle关掉监听日志一种节省内存的新方式(oracle关掉监听日志)

Oracle关掉监听日志:一种节省内存的新方式

在Oracle数据库中,监听程序(Listener)负责监听并接收客户端连接请求,将请求转发给对应的数据库实例。同时,监听程序也会生成监听日志(Listener Log)用于记录连接请求的信息。然而,随着网络规模的不断扩大,监听日志的记录也变得更加繁琐,而且会占用较多的内存空间。

为了解决这个问题,Oracle数据库在11gR2版本中引入了一种节省内存的新方式:关闭监听程序的日志记录。通过关闭监听程序的日志记录,可以节省大量的内存空间,并且不会对数据库的性能产生明显的影响。下面我们就来介绍一下如何实现这个新特性。

实现步骤如下:

1. 打开监听程序的配置文件listener.ora,该文件通常位于$ORACLE_HOME/network/admin目录下。

2. 找到日志记录参数,通常为log_file_listener或log_directory_listener,并将其注释或删除。

3. 重启监听程序,使其重新加载配置文件。

示例代码如下:

# listener.ora Configuration File: $ORACLE_HOME/network/admin/listener.ora

# Generated by Oracle configuration tools.

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)

(PROGRAM = extproc)

)

(SID_DESC =

(SID_NAME = orcl)

(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)

)

)

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))

)

)

#log_file_listener = ${ORACLE_HOME}/network/log/listener.log

#log_directory_listener = ${ORACLE_HOME}/network/log

ADR_BASE_LISTENER = /u01/app/oracle

4. 通过lsnrctl命令可以查看监听程序是否已经生效。

示例代码如下:

$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.4.0 – Production on 02-JUN-2020 10:35:53

Copyright (c) 1991, 2013, Oracle. All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

STATUS of the LISTENER

————————

Alias LISTENER

Version TNSLSNR for Linux: Version 11.2.0.4.0 – Production

Start Date 31-MAY-2020 15:10:21

Uptime 1 days 19 hr. 25 min. 31 sec

Trace Level off

Security ON: Local OS Authentication

SNMP OFF

Listener Parameter File /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora

Listener Log File /u01/app/oracle/diag/tnslsnr/localhost/listener/alert/log.xml

Listening Endpoints Summary…

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.100)(PORT=1521)))

Services Summary…

Service “orcl” has 1 instance(s).

Instance “orcl”, status READY, has 1 handler(s) for this service…

The command completed successfully.

通过上述示例代码可以看到,监听程序的日志记录参数已经被注释掉,同时在监听程序状态的信息中也没有任何日志的提示。

总结:

通过上述步骤,我们可以关闭监听程序的日志记录功能,从而实现内存占用的节省。当然,如果需要重新开启日志记录功能,只需要在listener.ora配置文件中将日志记录参数取消注释即可。这个新特性对于需要大量访问Oracle数据库的企业来说,无疑是一种值得参考的方案。


数据运维技术 » Oracle关掉监听日志一种节省内存的新方式(oracle关掉监听日志)