In which table space are Oracle sequences stored?

The application supported by me and my colleagues has an Oracle database in the background. Sometimes we browse the application in "restricted" mode, and one of the table spaces in the database is read-only. We can easily move the necessary tables and indexes to separate the table spaces that will be available for writing in the "restricted" mode. However, despite several Google searches, I cannot determine in which tablespace Oracle stores sequences.

This answer states that the sequence values ​​are stored in the SYSTEM.SEQ $ table. I do not have access to Oracle DB right now, but I would assume that this table lives in one of the system table spaces. The table space that we do read-only is not a system table space, it is one of our own table data spaces.

In the dev database, I can successfully select SELECT from the sequence with the corresponding read-only table space.

I suspect that it will not be a problem to have this read-only table space, but I would prefer that my suspicions be confirmed not only by special experiments. Can someone please enlighten me?

+4
source share
3 answers

Sequences (mostly) in SEQ $. Parts will be in OBJ $ (and grants elsewhere). But all these tables are in the SYSTEM tablespace. Some SYSTEM objects are located in SYSAUX. DBA_SEGMENTS is a good idea to determine which table spaces an object is in (e.g., SEQ $).

I suspect that Oracle will not allow you to put these table spaces in READ ONLY mode, because for this it will need to specify this table space only as read, which is written to the SYSTEM table in this table space. Like locking a key in a safe that it opens.

+9
source

I guess this is a system, where else to store this information?

But why do you want to know this? If the table space is read-only, you cannot insert or update, so you do not have to use sequence (s).

0
source

I don’t have an Oracle database right now, if I remember correctly, sequences are part of the Data Dictionary and therefore cannot be updated manually and cannot even be (simply) requested without special syntax (which is why you cannot just get the current value sequence - you have to increase it). Obviously, the data dictionary is part of the SYSTEM tablespace and should be affected by any means.

0
source

All Articles