19c 之前的版本,ORACLE 数据库的 TXT 格局 listener log 不能被主动循环治理(Mos 1744876.1),给使用者造成了很大累赘。
19c 开始,导入了一下两个参数:
https://docs.oracle.com/en/database/oracle/oracle-database/19/netrf/oracle-net-listener-parameters-in-listener-ora.html#GUID-FF94A234-A29C-46AA-8770-4CA1BFB5C27C
#### 7.5.3 LOG_FILE_NUM_listener_name
The LOG_FILE_NUM_listener_name is a diagnostic parameter of the listener.ora file that specifies the number of log file segments.
Purpose
To specify the number of log file segments. At any point of time there can be only n log file segments where n is LOG_FILE_NUM_listener_name. If the log grows beyond this number, then the older segments are deleted.
Default
No default. If you don't specify a value, or set the value to zero, then the number of segments grows indefinitely.
Values
Any integer value.
Example 7-9
LOG_FILE_NUM_listener=3
#### 7.5.4 LOG_FILE_SIZE_listener_name
The LOG_FILE_SIZE_listener_name diagnostic parameter of thelistener.ora file specifies the size of each log file segment.
Purpose
To specify the size of each log file segment. The size is in MB.
Default
300 MB
Values
Any integer value.
Example 7-10 Example
LOG_FILE_SIZE_listener=10
通过下面的参数,TXT 格局的 listener log 和 XML 格局的 listener log 一样能够主动循环治理了。
例:
[oracle@db1903 ~]$ lsnrctl start
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 20- 1 月 -2021 17:33:16
Copyright (c) 1991, 2019, Oracle. All rights reserved.
/u01/app/oracle/product/19.3.0/dbhome_1/bin/tnslsnr を起動しています。お待ちください...
TNSLSNR for Linux: Version 19.0.0.0.0 - Production
システム・パラメータ・ファイルは /u01/app/oracle/product/19.3.0/dbhome_1/network/admin/listener.ora です。ログ・メッセージを /u01/app/oracle/diag/tnslsnr/db1903/listener/alert/log.xml に書き込みました。リスニングしています: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=db1903)(PORT=1521)))
リスニングしています: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=db1903)(PORT=1521))) に接続中
リスナーのステータス
------------------------
別名 LISTENER
バージョン TNSLSNR for Linux: Version 19.0.0.0.0 - Production
開始日 20- 1 月 -2021 17:33:19
稼働時間 0 日 0 時間 0 分 0 秒
トレース・レベル off
セキュリティ ON: Local OS Authentication
SNMP OFF
パラメータ・ファイル /u01/app/oracle/product/19.3.0/dbhome_1/network/admin/listener.ora
ログ・ファイル /u01/app/oracle/diag/tnslsnr/db1903/listener/alert/log.xml
リスニング・エンドポイントのサマリー...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=db1903)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
リスナーはサービスをサポートしていません。コマンドは失常に終了しました。
在 /u01/app/oracle/product/19.3.0/dbhome_1/network/admin/listener.ora 文件中设置上面两个参数。
LOG_FILE_NUM_LISTENER=8
LOG_FILE_SIZE_LISTENER=1
重启监听。
[oracle@db1903 ~]$ lsnrctl stop listener
[oracle@db1903 ~]$ lsnrctl start listener
测试一下。
$> vi connect.sh
#!/bin/bash
while (true); do
sqlplus -S -L test/test@localhost:1521/pdb << EOF
SELECT * FROM dual;
EXIT;
EOF
done
$> chmod +x connect.sh
$> ./connect.sh > /dev/null
$> ./connect.sh > /dev/null
$> ./connect.sh > /dev/null
$> ...
◆TXT 格局 listener log
[oracle@db1903 trace]$ pwd
/u01/app/oracle/diag/tnslsnr/db1903/listener/trace
[oracle@db1903 trace]$ ll
合計 720
-rw-r-----. 1 oracle oinstall 12251 1 月 20 17:59 listener.log
-rw-r-----. 1 oracle oinstall 482866 1 月 20 17:59 listener_1.log
◆XML 格局 listener log
[oracle@db1903 alert]$ pwd
/u01/app/oracle/diag/tnslsnr/db1903/listener/alert
[oracle@db1903 alert]$ ll
合計 1416
-rw-r-----. 1 oracle oinstall 962 1 月 20 17:59 log.xml
-rw-r-----. 1 oracle oinstall 1048912 1 月 20 17:59 log_1.xml
请留神下面的 XML 格局 listener log 的大小是 1MB,TXT 格局 listener log 却小于 1MB。起因是两种格局的 Log 文件须要记录雷同的接续记录,而每一条 TXT 格局的接续记录比 XML 格局应用的空间要小。