dbms_system.ksdwrt
================
In Oracle we do have ksdwrt for writing the customized alters into alert_log file as well trace files.
These customized log information is very usefull to DBA while monitoringthe servers.
Step 1:-
======
exec dbms_system.ksdwrt(2,CURRENT_DATE||'::NOTIFY:: '||' ****** Disk Space IS Very Less ... 90% Full
******');
PL/SQL procedure successfully completed.
Step 2:-
=======
SQL> select name,value from v$parameter where name='background_dump_dest';
NAME
--------------------------------------------------
VALUE
--------------------------------------------------
background_dump_dest
D:\ORACLE\PRODUCT\10.2.0\ADMIN\DINESH\BDUMP
Step 3:-
=======
From alertdinesh_log
Fri Nov 11 02:33:07 2011
11-NOV-11::NOTIFY:: ****** Disk Space IS Very Less ... 90% Full ******
In PostgreSQL, we don't have that feature. So,please find the below work arround for this in PostgreSQL.
=======================================================================
Step 1:-
=====
CREATE OR REPLACE FUNCTION PG_LOG_WRITE(MESSAGE TEXT) RETURNS BIGINT
AS
$$
select pg_file_write('pg_log/'||filename,$1,true)
from
(
SELECT
pg_ls_dir AS filename,
pg_size_pretty((pg_stat_file('pg_log/' || pg_ls_dir)).size),
(pg_stat_file('pg_log/' || pg_ls_dir)).modification
FROM
pg_ls_dir('pg_log')
WHERE
(pg_stat_file('pg_log/' || pg_ls_dir)).isdir = false
ORDER BY
modification DESC LIMIT 1
) as sub;
$$
LANGUAGE SQL;
Step 2:-
=====
postgres=# SELECT pg_log_write((SELECT NOW())||' ::NOTIFY:: '||E' ****** Disk Space IS Very Less ... 90% Full ****** \n');
Step 3:-
======
$ tail -100f postgresql-2011-10-20_043319.log
2011-10-20 05:25:04.214368+05:30 ::NOTIFY:: ****** Disk Space IS Very Less ... 90% Full ******
================
In Oracle we do have ksdwrt for writing the customized alters into alert_log file as well trace files.
These customized log information is very usefull to DBA while monitoringthe servers.
Step 1:-
======
exec dbms_system.ksdwrt(2,CURRENT_DATE||'::NOTIFY:: '||' ****** Disk Space IS Very Less ... 90% Full
******');
PL/SQL procedure successfully completed.
Step 2:-
=======
SQL> select name,value from v$parameter where name='background_dump_dest';
NAME
--------------------------------------------------
VALUE
--------------------------------------------------
background_dump_dest
D:\ORACLE\PRODUCT\10.2.0\ADMIN\DINESH\BDUMP
Step 3:-
=======
From alertdinesh_log
Fri Nov 11 02:33:07 2011
11-NOV-11::NOTIFY:: ****** Disk Space IS Very Less ... 90% Full ******
In PostgreSQL, we don't have that feature. So,please find the below work arround for this in PostgreSQL.
=======================================================================
Step 1:-
=====
CREATE OR REPLACE FUNCTION PG_LOG_WRITE(MESSAGE TEXT) RETURNS BIGINT
AS
$$
select pg_file_write('pg_log/'||filename,$1,true)
from
(
SELECT
pg_ls_dir AS filename,
pg_size_pretty((pg_stat_file('pg_log/' || pg_ls_dir)).size),
(pg_stat_file('pg_log/' || pg_ls_dir)).modification
FROM
pg_ls_dir('pg_log')
WHERE
(pg_stat_file('pg_log/' || pg_ls_dir)).isdir = false
ORDER BY
modification DESC LIMIT 1
) as sub;
$$
LANGUAGE SQL;
Step 2:-
=====
postgres=# SELECT pg_log_write((SELECT NOW())||' ::NOTIFY:: '||E' ****** Disk Space IS Very Less ... 90% Full ****** \n');
Step 3:-
======
$ tail -100f postgresql-2011-10-20_043319.log
2011-10-20 05:25:04.214368+05:30 ::NOTIFY:: ****** Disk Space IS Very Less ... 90% Full ******
It works! Thanks a lot for this excellent article.
ReplyDeleteBenny Rutten, Flanders, Belgium