Kamil Kobak

Kamil Kobak Linux
Administrator/Data
Center Maintenance
Manager

Temat: ORA-00942: table or view does not exist

Czy jest jakiś sposób na sprawdzeni ile zapytań o nieistniejące tabele lub o tabele do których user nie ma prawa leci do bazy ? Oraz jakie to zapytania ?

Temat: ORA-00942: table or view does not exist

Hej,
ja już trochę nie pamiętam, ale może to pomoże.

Możesz skorzystać z opcji audytu, co będzie wyglądało mniej więcej tak:
1. ustawiasz AUDIT_TRAIL np na DB,EXTENDED (EXTENDED jest ważne, bo zapisze Ci SQLe)

2. włączasz audyt na operacje na tabelach, np.
AUDIT SELECT TABLE, INSERT TABLE, DELETE TABLE BY ACCESS WHENEVER NOT SUCCESSFUL;

czyli śledzisz operacje, które się nie udały (a jak user nie miał praw do tabeli to się nie udały), rekord audytu jest tworzony przy każdym wykonaniu operacji a nie raz na sesję usera;
być może lepsze będzie:
AUDIT TABLE BY ACCESS WHENEVER NOT SUCCESSFUL;

3. a potem oglądasz - w przypadku podanego przeze mnie ustawienia - DBA_AUDIT_TRAIL.

Proponuję pooglądać nieco dokumentacji (SQL Reference i Database Security Guide), tam jest więcej info nt. możliwych opcji i ustawień. Być może podany przeze mnie punkt 2. będzie wymagał pewnej modyfikacji :)
Podobnie, AUDIT_TRAIL możesz ustawić, żeby mieć logi poza bazą (ale dla opcji EXTENDED tylko DB lub XML).

http://download.oracle.com/docs/cd/B19306_01/network.1...Olimpia Widowska edytował(a) ten post dnia 14.09.10 o godzinie 12:52

Następna dyskusja:

ORA-01006: bind variable do...




Wyślij zaproszenie do