I have using Oracle GTT tables with condition ON COMMIT DELETE ROWS.

Now i know GTT tables data is only session specific. 1 session cannot see the GTT data of other session in General.

But is their any way to access/read GTT table that belongs to another session?

  • 2
    "I know GTT tables data is only session specific vs. "is their any way to access/read GTT table that belongs to another session" if you know it's impossible then why do you ask?
    – user1822
    Jan 22, 2015 at 12:46
  • i am not a DB expert.. i am java developer.. so not sure.. if its impossible.. or there is some way to access the data..
    – Dhruv
    Jan 22, 2015 at 12:48

2 Answers 2


No that is not possible, only session accessing the GTT can see it. IF you wish, you can use a physical table and model it as if it s a GTT. It isn't difficult, but isn't very efficient either.

  • "Global" means that every session can access the table but every session only sees it's own data. Data from other sessions gets filtered out.
    – o0x258
    Jan 22, 2015 at 17:39

A database table can be considered to be a logical definition (the columns and data types, name, constraints etc), and the physical implementation, which is one or more data segments where the data is stored.

Normally the data segments are visible and accessible to all users who have privileges to select/insert/update the table.

In a GTT however, each user who inserts data into the table then "owns" their own data segment, and they are held in a private area on a per-user basis. Other users do not even have visibility that those segments exist, as all they can access are their own.

Short answer: no.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.