DBSLOG is my favorite toy. It looks all communications between the driver and the database.
I’m mostly familiar with the Oracle driver, so that’s what i’ll show here. Other drivers look different in DBSLOG.
Here are the options that can be sent to DBSLOG:
00000 – Turn DBSLOG tracing off 00001 - Display data dictionary information on queried tables 00002 - Display Query information for level one database queries 00004 - Display query execution plan during a level two query 00010 - Row level action (read, modify, delete) information 00020 - Table level action information 00040 - Translation information 00100 - DBMS input/output data on a level two query 00200 - Administrative file information for SQL drivers 00400 – DBMS SQL query statements 01000 - General debug statements 02000 – Query processing information 04000 – Data buffering information passed thru communication channels
Basically you add the values to get the level of debugging level you want.
You might think that setting DBSLOG=99999 would give you everything you need, but that’s not always true. Some flags are mutually exlusive, and some flags add so much information as to make the file unreadable.
That’s why I always use DBSLOG=01570 which gives you:
General debug statements (1000) + DBMS SQL query statements (400) + DBMS input/output data on a level two query (100) + Translation information (40) + Table level action information (20) + Row level action (read, modify, delete) information (10)
Unlike the bshell debugging commands DBSLOG is set via the environment so you would use
Unix: export DBSLOG=01570 Windows set DBSLOG=1570 Baan: -- -set DBSLOG=1570
The logfile will be called dbs.log and will be located in your home directory in unix or $BSE/tmp in windows.
0 Comments.