Resend due to over quoting.
So I run a little test on one of my test machines (Oracle 10.2,
Solaris) with only EM dbconsole runing:
At 11:32 we have 11 records in dba_audit_trail for the user SYSMAN:
11:32:11 SQL> l
1 select username, timestamp, count(1)
2 from dba_audit_session
3 where username = 'SYSMAN'
4 group by username, timestamp
5* order by 2
11:32:12 SQL> /
USERNAME TIMESTAMP COUNT(1)
------------------------------ ----------------- ----------
SYSMAN 03-dec-2010 10:50 7
SYSMAN 03-dec-2010 10:50 1
SYSMAN 03-dec-2010 10:50 1
SYSMAN 03-dec-2010 10:53 1
SYSMAN 03-dec-2010 10:53 1
----------
sum 11
Elapsed: 00:00:00.00
6 records in v$session:
11:32:13 SQL> select username, logon_time
11:32:20 2 from v$session
11:32:30 3 where username='SYSMAN'
11:32:35 4 order by 2;
USERNAME LOGON_TIME
------------------------------ -----------------
SYSMAN 03-dec-2010 10:49
SYSMAN 03-dec-2010 10:50
SYSMAN 03-dec-2010 10:50
SYSMAN 03-dec-2010 10:50
SYSMAN 03-dec-2010 10:50
SYSMAN 03-dec-2010 10:53
6 rows selected.
Elapsed: 00:00:00.00
11:32:40 SQL>
And the following entries in the listener log:
03-DEC-2010 10:50:21 *
(CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))(SERVICE_NAME=))
* (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=36915)) * establish *
* 0
03-DEC-2010 10:50:21 *
(CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))(SERVICE_NAME=))
* (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=36914)) * establish *
* 0
03-DEC-2010 10:50:21 *
(CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))(SERVICE_NAME=))
* (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=36916)) * establish *
* 0
03-DEC-2010 10:50:22 *
(CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))(SERVICE_NAME=))
* (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=36918)) * establish *
* 0
03-DEC-2010 10:50:22 *
(CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))(SERVICE_NAME=))
* (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=36919)) * establish *
* 0
03-DEC-2010 10:50:22 *
(CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))(SERVICE_NAME=))
* (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=36920)) * establish *
* 0
03-DEC-2010 10:50:22 *
(CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))(SERVICE_NAME=))
* (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=36921)) * establish *
* 0
03-DEC-2010 10:50:23 *
(CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))(SERVICE_NAME=))
* (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=36922)) * establish *
* 0
03-DEC-2010 10:50:23 *
(CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))(SERVICE_NAME=))
* (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=36923)) * establish *
* 0
03-DEC-2010 10:53:00 *
(CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))(SERVICE_NAME=))
* (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=36946)) * establish *
* 0
03-DEC-2010 10:53:03 *
(CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))(SERVICE_NAME=))
* (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=36948)) * establish *
* 0
03-DEC-2010 10:53:03 *
(CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))(SID=)(SERVER=DEDICATED))
* (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=36949)) * establish *
* 0
03-DEC-2010 10:53:03 *
(CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))(SERVICE_NAME=))
* (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=36950)) * establish *
* 0
03-DEC-2010 10:53:18 *
(CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))(sid=)(server=dedicated))
* (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=36954)) * establish *
* 0
03-DEC-2010 11:02:07 *
(CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))(SERVICE_NAME=))
* (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=37044)) * establish *
* 0
03-DEC-2010 11:02:50 *
(CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))(sid=)(server=dedicated))
* (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=37057)) * establish *
* 0
03-DEC-2010 11:31:34 *
(CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))(SERVICE_NAME=))
* (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=37333)) * establish *
* 0
03-DEC-2010 11:31:37 *
(CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))(sid=)(server=dedicated))
* (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=37334)) * establish *
* 0
I believe that not all entries in the listener log file (see the entries
after 10:53h) are fresh/new connections.
1 select username, timestamp from
2 dba_audit_trail
3 where timestamp between
4 to_date('03-DEC-2010 11:29:00')
5 and to_date('03-DEC-2010 11:33:00')
6* order by 2
11:50:23 SQL> /
USERNAME TIMESTAMP
------------------------------ --------------------
DBSNMP 03-dec-2010 11:32:18
And there are __jdbc__ entries in the listener logfile that are not
present in dba_audit_trail:
$ egrep '03-DEC-2010 11:(29|3[0-33])' listener_beaiv.log
03-DEC-2010 11:29:53 * service_update * * 0
03-DEC-2010 11:31:34 *
(CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))(SERVICE_NAME=))
* (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=37333)) * establish *
* 0
03-DEC-2010 11:31:35 * service_update * * 0
03-DEC-2010 11:31:37 *
(CONNECT_DATA=(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))(sid=)(server=dedicated))
* (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=37334)) * establish *
* 0
03-DEC-2010 11:32:18 *
(CONNECT_DATA=(SID=)(CID=(PROGRAM=perl_at_)(HOST=)(USER=oracle)))
* (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=37341)) * establish *
* 0
03-DEC-2010 11:32:30 *
(CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=oracle))(COMMAND=services)(ARGUMENTS=64)(SERVICE=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=)(PORT=1524))))(VERSION=169870592))
* services * 0
03-DEC-2010 11:32:31 *
(CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=oracle))(COMMAND=status)(ARGUMENTS=64)(SERVICE=(ADDRESS=(PROTOCOL=TCP)(HOST=)(PORT=1524)))(VERSION=169870592))
* status * 0
03-DEC-2010 11:33:33 * ping * 0
03-DEC-2010 11:33:33 *
(CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=oracle))(COMMAND=status)(ARGUMENTS=64)(SERVICE=(ADDRESS=(PROTOCOL=TCP)(HOST=)(PORT=1524)))(VERSION=169870592))
* status * 0
03-DEC-2010 11:33:46 *
(CONNECT_DATA=(SID=)(CID=(PROGRAM=perl_at_)(HOST=)(USER=oracle)))
* (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=37361)) * establish *
* 0
Regards
Dimitre