dbms_system.ksdwrt这个函数可以用来向alert file和trace file写日志
PROCEDURE KSDWRT
Argument Name Type In/Out Default?
DEST BINARY_INTEGER IN
TST VARCHAR2 IN
dest支持的值为dbms_system.alert_file 和 dbms_system.trace_file
dbms_system.trace_file 对应 1
dbms_system.alert_file 对应 2
SQL> exec dbms_system.ksdwrt(1,‘a message written into trace file’);
PL/SQL procedure successfully completed.
SQL> oradebug setmypid
Statement processed.
SQL> oradebug tracefile_name;
/u01/log/main250421/diag/rdbms/cdb1/cdb11/trace/cdb11_ora_357309.trc
SQL> exec dbms_system.ksdwrt(dbms_system.trace_file,‘a message written into dbms_system.trace_file’);
PL/SQL procedure successfully completed.
SQL> exec dbms_system.ksdwrt(dbms_system.alert_file,‘a message written into dbms_system.alert_file’);
PL/SQL procedure successfully completed.
SQL> exec dbms_system.ksdwrt(2,‘a message written into alert file’);
PL/SQL procedure successfully completed.
*** 2025-04-28T16:45:29.114101-04:00 (CDB$ROOT(1))
oracle : a message written into trace file
*** 2025-04-28T16:46:21.448218-04:00 (CDB$ROOT(1))
oracle : a message written into dbms_system.trace_file
2025-04-28T16:46:50.803640-04:00
oracle :
a message written into dbms_system.alert_file
2025-04-28T16:47:14.549799-04:00
oracle :
a message written into alert file