Εύρεση του SQL_ID για ερώτημα Oracle Analytics

Όταν ρυθμίζετε ερωτήματα για το Oracle Analytics, εξετάζετε το μοντέλο δεδομένων, τη σχεδίαση αναφορών, τη σχεδίαση dashboard, τη διαμόρφωση δικτύου και ορισμένες φορές πρέπει να διερευνήσετε τη βάση δεδομένων.

Ο πίνακας V$SQL

Για τη διερεύνηση μιας βάσης δεδομένων, πρέπει να γνωρίζετε το SQL_ID της δήλωσης SQL ώστε να μπορείτε να εντοπίσετε το συγκεκριμένο ερώτημα μέσω του Ιστορικού ενεργών περιόδων λειτουργίας (ASH), του Αυτόματου χώρου αποθήκευσης φόρτου εργασίας (AWR), και του Oracle SQLTXPLAIN (SQLT).

Σε αυτό το θέμα περιγράφεται πώς να βρίσκετε το SQL_ID μέσω εξόρυξης των πινάκων παρακολούθησης χρήσης του Oracle Analytics και του πίνακα συστήματος βάσης δεδομένων Oracle με το όνομα V$SQLGV$SQL για μια βάση δεδομένων RAC).

Ο πίνακας V$SQL είναι ένας πίνακας συστήματος βάσης δεδομένων Oracle που παρακολουθεί στατιστικά στοιχεία για μεμονωμένα ερωτήματα SQL. Υπάρχει μία σειρά στον πίνακα για κάθε δήλωση SQL που εκτελείτε και κάθε σειρά προσδιορίζεται μοναδικά από τη στήλη SQL_ID. Μπορείτε να χρησιμοποιήσετε αυτό το SQL_ID για να παρακολουθήσετε μια δεδομένη δήλωση SQL σε ολόκληρη τη βάση δεδομένων Oracle.

Θα βρείτε πολλές χρήσιμες πληροφορίες σχετικά με τα ερωτήματά σας στον πίνακα V$SQL (ή τον πίνακα GV$SQL για μια βάση δεδομένων RAC).

Πίνακες παρακολούθησης χρήσης

Οι πίνακες παρακολούθησης χρήσης δεν παρακολουθούν απευθείας το SQL_ID αλλά μπορείτε εύκολα να εντοπίσετε αναδρομικά το SQL_ID στον πίνακα V$SQLGV$SQL για μια βάση δεδομένων RAC).

Όταν ενεργοποιείτε την παρακολούθηση χρήσης στο Oracle Analytics, όλα τα ερωτήματα παρακολουθούνται σε δύο πίνακες:

  • S_NQ_ACCT: Περιέχει λογικά ερωτήματα
  • S_NQ_DB_ACCT: Περιέχει φυσικά ερωτήματα

Το λογικό ερώτημα καταγράφεται στον πίνακα λογικών ερωτημάτων και το φυσικό ερώτημα (ή τα ερωτήματα που δημιουργούνται από το λογικό ερώτημα) καταγράφεται στον πίνακα φυσικών ερωτημάτων.

Μπορείτε να συνενώσετε τον λογικό και τον φυσικό πίνακα στη στήλη αναγνωριστικού λογικού ερωτήματος. Η στήλη αναγνωριστικού λογικού ερωτήματος στον λογικό πίνακα είναι ID και στον φυσικό πίνακα είναι LOGICAL_QUERY_ID.

Το κλειδί για την εύρεση του SQL_ID είναι η στήλη PHYSICAL_HASH_ID στον φυσικό πίνακα. Η τιμή PHYSICAL_HASH_ID εγγράφεται επίσης στον πίνακα V$SQL (ή στον πίνακα GV$SQL) στη στήλη ACTION.

Ο Oracle BI Server υπολογίζει έναν κωδικό κατακερματισμού από το κείμενο του λογικού ερωτήματος SQL και το κείμενο των φυσικών ερωτημάτων SQL. Ο κωδικός κατακερματισμού φυσικής SQL για οποιαδήποτε ερωτήματα SQL που εκτελούνται από τον Oracle BI Server, καταγράφεται στη στήλη ACTION στον πίνακα V$SQL. Για περισσότερες πληροφορίες, βλ. Συσχέτιση εγγραφής S_NQ_ACCT με το αρχείο καταγραφής ερωτημάτων BI

Για περισσότερες πληροφορίες σχετικά με τις διάφορες στήλες παρακολούθησης χρήσης, δείτε Παρακολούθηση χρήσης και Κατανόηση των πινάκων παρακολούθησης χρήσης.

Ρύθμιση

Τώρα που γνωρίζετε πού να βρείτε το PHYSICAL_HASH_ID, μπορείτε να συντάξετε μια δήλωση SQL που συσχετίζει το ερώτημα SQL που εκτελείται στη βάση δεδομένων με μια συγκεκριμένη ανάλυση που εκτελείται στο Oracle Analytics.

Όταν οι πίνακες παρακολούθησης χρήσης είναι στο ίδιο στιγμιότυπο βάσης δεδομένων με την αποθήκη δεδομένων, μπορείτε να συντάξετε ένα μεμονωμένο ερώτημα για να βρείτε το SQL_ID.

Αν οι πίνακες παρακολούθησης χρήσης και η αποθήκη δεδομένων σας βρίσκονται σε διαφορετικά στιγμιότυπα βάσης δεδομένων Oracle, πρέπει να εκτελέσετε δύο ερωτήματα. Πρώτα, εκτελέστε ένα ερώτημα για να αντλήσετε το PHYSICAL_HASH_ID του ερωτήματος που θέλετε να διερευνήσετε από τους πίνακες παρακολούθησης χρήσης. Στη συνέχεια, αντλήστε το SQL_ID από τον πίνακα V$SQL χρησιμοποιώντας την τιμή του PHYSICAL_HASH_ID για να φιλτράρετε τη στήλη ACTION.

Παράδειγμα 1

Σε αυτό το παράδειγμα, ας υποθέσουμε ότι οι πίνακες παρακολούθησης χρήσης και η αποθήκη δεδομένων βρίσκονται στην ίδια βάση δεδομένων. Οποιαδήποτε ή όλες οι στήλες από τους πίνακες παρακολούθησης χρήσης και τους πίνακες V$SQL μπορούν να χρησιμοποιηθούν στο ερώτημα, αλλά σε αυτό το παράδειγμα, επιλέγετε το ακόλουθο υποσύνολο:

select

o.sql_id,

to_char(l.start_ts, 'YYYY-MM-DD HH24:MI:SS'),

l.id as l_id,

p.logical_query_id,

l.hash_id,

l.saw_src_path,

l.query_src_cd,

l.success_flg,

l.num_db_query,

l.query_text,

p.query_text,

o.sql_text,

p.physical_hash_id,

o.action

from

usage_tracking.s_nq_acct l,

usage_tracking.s_nq_db_acct p,

v$sql o

where

l.id = p.logical_query_id and o.action = p.physical_hash_id and l.start_dt > trunc(sysdate - 1) and l.end_dt < trunc(sysdate)

order by l.start_ts, l.id, l.hash_id, p.physical_hash_id, o.sql_id;

Παράδειγμα 2

Σε αυτό το παράδειγμα, ας υποθέσουμε ότι οι πίνακες παρακολούθησης χρήσης και η αποθήκη δεδομένων βρίσκονται σε διαφορετικές βάσεις δεδομένων Oracle.

Πρώτα, συντάξτε ένα ερώτημα με βάση τους πίνακες παρακολούθησης χρήσης για να λάβετε το PHYSICAL_HASH_ID:

select

to_char(l.start_ts, 'YYYY-MM-DD HH24:MI:SS'),

l.id as l_id,

p.logical_query_id,

l.hash_id,

l.saw_src_path,

l.query_src_cd,

l.success_flg,

l.num_db_query,

l.query_text,

p.query_text,

p.physical_hash_id

from

usage_tracking.s_nq_acct l,

usage_tracking.s_nq_db_acct p

where

l.id = p.logical_query_id and l.start_dt > trunc(sysdate - 1) and l.end_dt < trunc(sysdate)

order by l.start_ts, l.id,l.hash_id, p.physical_hash_id;

Στη συνέχεια, συντάξτε ένα ερώτημα για τον πίνακα V$SQL για να λάβετε το SQL_ID, χρησιμοποιώντας τις τιμές του PHYSICAL_HASH_ID ως φίλτρο:

select

o.action,

o.sql_id,

o.sql_text

from

v$sql o

where

o.action = ‘<physical_hash_id>’

order by o.sql_id;

Αν διαθέτετε βάση δεδομένων RAC, αντί του πίνακα V$SQL, θα χρησιμοποιήσετε τον πίνακα GV$SQL για να λάβετε το SQL_ID:

select

o.action,

o.sql_id,

o.sql_text

from

gv$sql o

where

o.action = '<physical_hash_id>'

order by o.sql_id;

Αυτή η μέθοδος δεν λειτουργεί εάν εκτελείτε αντιμετώπιση προβλημάτων με μπλοκ αρχικοποίησης, επειδή ο πίνακας παρακολούθησης χρήσης μπλοκ αρχικοποίησης (S_NQ_INITBLOCK) δεν περιέχει αναγνωριστικό φυσικού κατακερματισμού.

Παράδειγμα 3

Σε αυτό το παράδειγμα, χρησιμοποιείτε την περιοχή θέματος "Α - Δείγμα πωλήσεων" και επιλέγετε μόνο λίγες στήλες από τους πίνακες παρακολούθησης χρήσης.

Από την περιοχή "A - Δείγμα πωλήσεων", εκτελέστε το ακόλουθο ερώτημα:

[2022-02-04T15:11:17.629+00:00] [OBIS] [TRACE:2] [USER-0] [] [ecid: e49b96a8-33c4-4ba7-a877-e564d207eca1-00242531,0:1:38:3] [sik: bootstrap] [tid: dd1bc700] [messageId: USER-0] [requestid: 33e30020] [sessionid: 33e30000] [username: oacadmin] ############################################## [[

-------------------- SQL Request, logical request hash:

cee7ec94

SET VARIABLE QUERY_SRC_CD='Report';SELECT

   0 s_0,

   "A - Sample Sales"."Offices"."D1  Office" s_1,

   "A - Sample Sales"."Base Facts"."10- Variable Costs" s_2,

   "A - Sample Sales"."Base Facts"."11- Fixed Costs" s_3

FROM "A - Sample Sales"

ORDER BY 2 ASC NULLS LAST

FETCH FIRST 125001 ROWS ONLY

]]

Όταν επιλέγετε start_ts, id, hash_id, query_src_cd και query_text από τον λογικό πίνακα παρακολούθηση χρήσης θα λάβετε την τιμή ID E841EBB79217270A660CDD3EFB5D986C.

Ακολουθεί η περιγραφή για GUID-5FA7BA53-6767-4839-9341-A6AC0AACDFEB-default.jpg
.jpg''

Στη συνέχεια, επιλέξτε logical_query_id, hash_id, physical_hash_id και query_text από τον φυσικό πίνακα παρακολούθησης χρήσης όπου το LOGICAL_QUERY_ID είναι E841EBB79217270A660CDD3EFB5D986C.

Ακολουθεί η περιγραφή για GUID-6842B138-0FD5-4DA9-A092-B423EB7459C2-default.jpg
.jpg''

Όταν εξετάζετε το αρχείο καταγραφής διαχείρισης περιόδων λειτουργίας, το λογικό ερώτημα δημιουργεί τον κώδικα SQL που υπάρχει στη στήλη QUERY_TEXT:

[2022-02-04T15:11:17.637+00:00] [OBIS] [TRACE:2] [USER-18] [] [ecid: e49b96a8-33c4-4ba7-a877-e564d207eca1-00242531,0:1:38:5] [sik: bootstrap] [tid: dd1bc700] [messageId: USER-18] [requestid: 33e30020] [sessionid: 33e30000] [username: oacadmin] -------------------- Sending query to database named 01 - Sample App Data (ORCL) (id: <<62275>>), client type Oracle Call Interface (OCI), connection pool named Sample Relational Connection, logical request hash cee7ec94, physical request hash bd6708b8: [[

WITH

SAWITH0 AS (select sum(T5398.Cost_Fixed) as c1,

     sum(T5398.Cost_Variable) as c2,

     T5257.Office_Dsc as c3,

     T5257.Office_Key as c4

from

     BISAMPLE.SAMP_OFFICES_D T5257 /* D30 Offices */ ,

     BISAMPLE.SAMP_REVENUE_F T5398 /* F10 Billed Rev */

where  ( T5257.Office_Key = T5398.Office_Key )

group by T5257.Office_Dsc, T5257.Office_Key),

SAWITH1 AS (select 0 as c1,

     D1.c3 as c2,

     D1.c2 as c3,

     D1.c1 as c4,

     D1.c4 as c5

from

     SAWITH0 D1)

select D1.c1 as c1, D1.c2 as c2, D1.c3 as c3, D1.c4 as c4 from ( select D1.c1 as c1,

     D1.c2 as c2,

     D1.c3 as c3,

     D1.c4 as c4

from

     SAWITH1 D1

order by c2 ) D1 where rownum <= 125001

]]

Τέλος, επιλέξτε action, sql_id και sql_text από τον πίνακα V$SQL όπου Action είναι bd6708b8.

Ακολουθεί η περιγραφή για GUID-094521FA-317B-430D-9644-3C3E44D91900-default.jpg
.jpg''

Το ερώτημα στη στήλη sql_text είναι ο ίδιος κώδικας SQL που παρατηρείται στον φυσικό πίνακα παρακολούθησης χρήσης. Από αυτό, βλέπετε ότι το sql_id για το συγκεκριμένο ερώτημα είναι 1gxhc0acmztwk.

Αν εκτελέσετε το ίδιο ερώτημα ξανά, προστίθεται μια άλλη σειρά στον λογικό πίνακα παρακολούθησης χρήσης με ένα νέο ID αλλά το hash_id είναι το ίδιο.

Ακολουθεί η περιγραφή για GUID-82CD3499-E550-4DD4-8C96-E3DB3CE3232E-default.jpg
.jpg''

Παρόμοια, προστίθεται μια άλλη σειρά στον φυσικό πίνακα παρακολούθησης χρήσης με ένα νέο logical_query_id, αλλά τόσο το hash_id όσο και το physical_hash_id παραμένουν τα ίδια.

Ακολουθεί η περιγραφή για GUID-BF05E975-45FB-4F40-9AE4-9E40A1124F35-default.jpg
.jpg''

Παράδειγμα 4

Το physical_hash_id χρησιμοποιείται ξανά, επίσης, όταν εκτελείτε ένα παρόμοιο λογικό ερώτημα για μια περιοχή θέματος που βασίζεται στα ίδια λογικά και φυσικά μοντέλα. Για παράδειγμα, εάν εκτελείτε ένα παρόμοιο ερώτημα για το "Γ - Δείγμα κόστους":

[2022-02-04T16:10:17.862+00:00] [OBIS] [TRACE:2] [USER-0] [] [ecid: e49b96a8-33c4-4ba7-a877-e564d207eca1-00242ce7,0:1:15:3] [sik: bootstrap] [tid: 58504700] [messageId: USER-0] [requestid: 13c9003c] [sessionid: 13c90000] [username: oacadmin] ############################################## [[

-------------------- SQL Request, logical request hash:

7b5ea9b1

SET VARIABLE QUERY_SRC_CD='Report';SELECT

   0 s_0,

   "C - Sample Costs"."Offices"."D1  Office" s_1,

   "C - Sample Costs"."Base Facts"."10- Variable Costs" s_2,

   "C - Sample Costs"."Base Facts"."11- Fixed Costs" s_3

FROM "C - Sample Costs"

ORDER BY 2 ASC NULLS LAST

FETCH FIRST 125001 ROWS ONLY

]]

Αυτό το λογικό ερώτημα δημιουργεί τον ίδιο κώδικα SQL που παρατηρήθηκε στο ερώτημα που εκτελέσατε για το "A – Δείγμα πωλήσεων":

[2022-02-04T16:10:17.866+00:00] [OBIS] [TRACE:2] [USER-18] [] [ecid: e49b96a8-33c4-4ba7-a877-e564d207eca1-00242ce7,0:1:15:5] [sik: bootstrap] [tid: 58504700] [messageId: USER-18] [requestid: 13c9003c] [sessionid: 13c90000] [username: oacadmin] -------------------- Sending query to database named 01 - Sample App Data (ORCL) (id: <<52912>>), client type Oracle Call Interface (OCI), connection pool named Sample Relational Connection, logical request hash 7b5ea9b1, physical request hash bd6708b8: [[

WITH

SAWITH0 AS (select sum(T5398.Cost_Fixed) as c1,

     sum(T5398.Cost_Variable) as c2,

     T5257.Office_Dsc as c3,

     T5257.Office_Key as c4

from

     BISAMPLE.SAMP_OFFICES_D T5257 /* D30 Offices */ ,

     BISAMPLE.SAMP_REVENUE_F T5398 /* F10 Billed Rev */

where  ( T5257.Office_Key = T5398.Office_Key )

group by T5257.Office_Dsc, T5257.Office_Key),

SAWITH1 AS (select 0 as c1,

     D1.c3 as c2,

     D1.c2 as c3,

     D1.c1 as c4,

     D1.c4 as c5

from

     SAWITH0 D1)

select D1.c1 as c1, D1.c2 as c2, D1.c3 as c3, D1.c4 as c4 from ( select D1.c1 as c1,

     D1.c2 as c2,

     D1.c3 as c3,

     D1.c4 as c4

from

     SAWITH1 D1

order by c2 ) D1 where rownum <= 125001

]]

Πρώτα, χρησιμοποιήστε τον λογικό πίνακα παρακολούθησης χρήσης για να βρείτε το αναγνωριστικό. Θα δείτε ότι το λογικό hash_id είναι διαφορετικό σε σχέση με το ερώτημα που εκτελέσατε για το "A – Δείγμα πωλήσεων".

Ακολουθεί η περιγραφή για GUID-16D78632-88BA-446F-A6D7-496DA5662869-default.jpg
.jpg''

Στον φυσικό πίνακα παρακολούθησης χρήσης, βλέπετε ότι παρόλο που το λογικό hash_id είναι διαφορετικό, το physical_hash_id είναι το ίδιο.

Ακολουθεί η περιγραφή για GUID-91049191-7E76-407D-B15B-A74160942148-default.jpg
.jpg''

Παράδειγμα 5

Σε αυτό το παράδειγμα, εκτελείτε τα ίδια ερωτήματα, αλλά αυτήν τη φορά κάντε κλικ στην επιλογή Ανανέωση. Παρατηρήστε τη μεταβλητή OBIS_REFRESH_CACHE=1 που υποδεικνύει την ανανέωση. Όπως αναμενόταν, μια άλλη σειρά εισαγάγεται στον λογικό πίνακα παρακολούθησης χρήσης αλλά έχει διαφορετικό λογικό hash_id.​

Ακολουθεί η περιγραφή για GUID-BFA0DEA8-423A-414C-8BC9-E1B8EA382689-default.jpg
.jpg''

Ωστόσο, όταν υποβάλλετε ένα ερώτημα στον φυσικό πίνακα παρακολούθησης χρήσης, μπορείτε να δείτε ότι όλα τα ερωτήματα έχουν το ίδιο physical_hash_id.

Ακολουθεί η περιγραφή για GUID-D6CC7144-9177-4CDA-B57A-1A4E4A6615A5-default.jpg
.jpg''

Επειδή αυτά τα τέσσερα λογικά ερωτήματα έχουν όλα το ίδιο physical_hash_id, βλέπετε μόνο μία εγγραφή στον πίνακα V$SQL για αυτό το ερώτημα.

Ακολουθεί η περιγραφή για GUID-13AE24EE-9C17-48D9-976F-49FF882A5E42-default.jpg
.jpg''

Παράδειγμα 6

Μπορείτε να χρησιμοποιήσετε την ίδια μέθοδο για την αντιμετώπιση προβλημάτων με ερωτήματα απεικόνισης δεδομένων με βάση μια περιοχή θέματος (RPD) ή μια σύνδεση βάσης δεδομένων. Για συνδέσεις βάσης δεδομένων, περιλαμβάνονται οι απεικονίσεις δεδομένων και τα ερωτήματα που χρησιμοποιούνται για τη συμπλήρωση συνόλων δεδομένων.

Μπορείτε να προσδιορίσετε τον τύπο ερωτήματος, δηλαδή, απεικόνιση δεδομένων, σύνολο δεδομένων, ανάλυση, ODBC και ούτω καθεξής, από την τιμή της στήλης QUERY_SRC_CD. Για παράδειγμα, τα ερωτήματα απεικόνισης δεδομένων έχουν τιμή Visual Analyzer, ένα ερώτημα που χρησιμοποιείται για τη συμπλήρωση ενός συνόλου δεδομένου έχει την τιμή data-prep, οι αναλύσεις έχουν την τιμή Report και τα ερωτήματα για μερικές κλήσεις μιας εσωτερικής διαδικασίας ODBC έχουν την τιμή Soap.

Για να δημιουργήσετε μια δήλωση SQL για μια απεικόνιση δεδομένων, πρέπει να αλλάξετε την "Πρόσβαση σε δεδομένα" στην τιμή "Ενεργή" για το υποκείμενο σύνολο δεδομένων.

Σε αυτό το παράδειγμα, δημιουργείτε ένα ερώτημα απεικόνισης δεδομένων (παρόμοια με τα προηγούμενα ερωτήματα) για ένα σύνολο δεδομένων με βάση μια σύνδεση σε μια βάση δεδομένων Oracle:

[2022-02-03T19:42:06.564+00:00] [OBIS] [TRACE:2] [USER-0] [] [ecid: f95b5f1b-1e5c-4604-b82a-3eb3717f3aa6-002aa26e,0:1:1:3] [sik: bootstrap] [tid: 58b0a700] [messageId: USER-0] [requestid: ed830023] [sessionid: ed830000] [username: oacadmin] ############################################## [[

-------------------- SQL Request, logical request hash:

3158b05

SET VARIABLE QUERY_SRC_CD='Visual Analyzer',SAW_SRC_PATH='{"viewID":"view!1","currentCanvas":"canvas!1"}',ENABLE_DIMENSIONALITY = 1; SELECT

   0 s_0,

   XSA('oacadmin'.'BISAMPLE_OfficeRevenue')."SAMP_OFFICES_D"."OFFICE_DSC" s_1,

   XSA('oacadmin'.'BISAMPLE_OfficeRevenue')."SAMP_REVENUE_F"."COST_FIXED" s_2,

   XSA('oacadmin'.'BISAMPLE_OfficeRevenue')."SAMP_REVENUE_F"."COST_VARIABLE" s_3

FROM XSA('oacadmin'.'BISAMPLE_OfficeRevenue')

ORDER BY 2 ASC NULLS LAST

FETCH FIRST 125001 ROWS ONLY

/* AdditionalDetail='VisualAnalyzer' */

Θα δημιουργηθεί ο ακόλουθος κώδικας SQL:

[2022-02-03T19:42:06.960+00:00] [OBIS] [TRACE:2] [USER-18] [] [ecid: f95b5f1b-1e5c-4604-b82a-3eb3717f3aa6-002aa26e,0:1:1:5] [sik: bootstrap] [tid: 58b0a700] [messageId: USER-18] [requestid: ed830023] [sessionid: ed830000] [username: oacadmin] -------------------- Sending query to database named 'oacadmin'.'BISAMPLE' (id: <<147945>>), client type OCI 10g/11g, connection pool named 'oacadmin'.'BISAMPLE', logical request hash 3158b05, physical request hash c48e8741: [[

WITH

SAWITH0 AS (select T1000005.OFFICE_KEY as c1,

     T1000005.OFFICE_DSC as c2

from

     BISAMPLE.SAMP_OFFICES_D T1000005),

SAWITH1 AS (select T1000008.OFFICE_KEY as c1,

     T1000008.COST_FIXED as c2,

     T1000008.COST_VARIABLE as c3

from

     BISAMPLE.SAMP_REVENUE_F T1000008),

SAWITH2 AS (select D1.c2 as c1,

     D2.c2 as c2,

     D2.c3 as c3

from

     SAWITH0 D1 inner join SAWITH1 D2 On D1.c1 = D2.c1),

SAWITH3 AS (select D102.c1 as c1,

     sum(D102.c2) as c2,

     sum(D102.c3) as c3

from

     SAWITH2 D102

group by D102.c1)

select D1.c1 as c1, D1.c2 as c2, D1.c3 as c3, D1.c4 as c4 from ( select 0 as c1,

     D110.c1 as c2,

     D110.c2 as c3,

     D110.c3 as c4

from

     SAWITH3 D110

order by c2 ) D1 where rownum <= 125001

Από τον λογικό πίνακα παρακολούθησης χρήσης, μπορείτε να βρείτε το hash_id που χρησιμοποιείται ως φίλτρο για τον φυσικό πίνακα παρακολούθησης χρήσης.

Ακολουθεί η περιγραφή για GUID-C053C7FB-251A-4021-A850-1F6006BEBFF1-default.jpg
.jpg''

Από τον φυσικό πίνακα παρακολούθησης χρήσης, μπορείτε να βρείτε το physical_hash_id.

Ακολουθεί η περιγραφή για GUID-EB289F16-56B0-4AFB-8C96-2D7B55680B7B-default.jpg
.jpg''

Όταν υποβάλλετε ερώτημα στον πίνακα V$SQL, βρίσκετε ξανά το SQL_ID.

Ακολουθεί η περιγραφή για GUID-CD805B03-A8AD-40F0-AE84-BD28AC8B6EF8-default.jpg
.jpg''

Μπορείτε επίσης να βρείτε το λογικό hash_id και το physical_hash_id στο αρχείο καταγραφής διαχείρισης περιόδων λειτουργίας (δείτε τις επισημασμένες ενότητες στα προηγούμενα παραδείγματα αρχείων καταγραφής). Αυτό σημαίνει ότι μπορείτε να βρείτε το SQL_ID από το ίδιο το αρχείο καταγραφής. Το πλεονέκτημα από τη χρήση των πινάκων παρακολούθησης χρήσης είναι ότι οι καταχωρήσεις καταγραφής στη Διαχείριση περιόδων λειτουργίας είναι προσωρινές, επομένως, αν δεν συλλέγετε τα αναγνωριστικά κατακερματισμού ταυτόχρονα με την εκτέλεση του ερωτήματος, αυτές θα χαθούν.

Ωστόσο, τα δεδομένα εγγράφονται στους πίνακες παρακολούθησης χρήσης μόνο όταν ένα ερώτημα ολοκληρωθεί. Επομένως, αν σας ενδιαφέρει η αντιμετώπιση προβλημάτων για ένα ερώτημα με μεγάλη διάρκεια εκτέλεσης που δεν έχει ολοκληρωθεί ακόμα και θέλετε να εντοπίσετε το sql_id, μπορείτε να λάβετε το λογικό hash_id και το physical_hash_id από το αρχείο καταγραφής διαχείρισης περιόδων λειτουργίας.

Αν σας ενδιαφέρει η αντιμετώπιση προβλημάτων για μια δήλωση SQL και θέλετε να διερευνήσετε τη βάση δεδομένων, μπορείτε να συνενώσετε τις πληροφορίες στους πίνακες παρακολούθησης χρήσης και τον πίνακα συστήματος V$SQLGV$SQL) για να εντοπίσετε γρήγορα το SQL_ID για τη δήλωση SQL που σας ενδιαφέρει.