contador de visitas

luiser
29 de Diciembre del 2005
Necesito hacer un contador de visitas en pl/sql para almacenar en la base de datos

andrewsreid
29 de Diciembre del 2005
Se puede hacer éste de la manera siguiente:

(1) Hay que cambiar el parámetro audit_trail a db y abrir la base de datos:

SQL> startup pfile=initDMVDEV.ora
ORACLE instance started.

Total System Global Area 42996320 bytes
Fixed Size 733792 bytes
Variable Size 37748736 bytes
Database Buffers 4194304 bytes
Redo Buffers 319488 bytes
Database mounted.
Database opened.
SQL> select value
2 from v$parameter
3 where name = 'audit_trail';

VALUE
--------------------------------------------------------------------------------
DB

SQL>

(2) Hay que mirar la tabla SYS.AUD$. Sera vacía si no has hecho éste antes:

SQL> l
1* select count(*) from sys.aud$
SQL> /

COUNT(*)
----------
0

SQL>

(3) Hay que empezar a contar las conexiones:

SQL> audit connect;

Audit succeeded.

SQL>

(4) Un usuario hará una conexión:

DMVDEV /oracle/app/oracle/product/9.2.0 > sqlplus dmv

SQL*Plus: Release 9.2.0.5.0 - Production on Thu Dec 29 11:47:19 2005

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

Enter password:

Connected to:
Oracle9i Enterprise Edition Release 9.2.0.5.0 - Production
With the Partitioning option
JServer Release 9.2.0.5.0 - Production

SQL>

(5) Se pueden ver los detalles de esta conexión en la tabla SYS.AUD$:

1 select to_char(timestamp#,'dd:mm:yyyy hh24:mi:ss') login_time
2 from sys.aud$
3* where userid = 'DMV'
SQL> /

LOGIN_TIME
-------------------
01:04:2002 12:00:00

SQL>

(6) Cuando no quieres contar las conexiones hay que emplear la comandancia NOAUDIT:

SQL> noaudit connect
2 /

Noaudit succeeded.

SQL>

Buena suerte,

Andrew