ORACLE19c新功能--TXT格式listener log自动Rotation

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格式使用的空间要小。

你可能感兴趣的:(oracle)