Gumowy Kaczak
Gumowy Kaczak

Reputation: 1499

Oracle tables with $ in name

In Sql Developer under tables I see tables, but some of the tables have $ in name.

Example:

  tb$something

What does that '$' sign mean when in name of table?

Upvotes: 16

Views: 20161

Answers (3)

kiltek
kiltek

Reputation: 3211

Tables that contain the prefix V$ are tables that store volatile information.

Volatile information is produced by an oracle instance while it is in use (In use means the instance is up and running). Volatile Information includes Statistics, session information of users, memory allocation.

Upvotes: 11

Frank Schmitt
Frank Schmitt

Reputation: 30845

Usually, these are tables that "belong" to the database - either because they are owned by one of the predefined users (SYS, ...) or because Oracle uses them for housekeeping, e.g. for

  • fulltext indices (these are named DR$... )
  • materialized view logs (these are named RUPD$... and MLOG$...)

But you can't rely on that rule, because (as DazzaL already mentioned), nothing prevents you from creating your own tables with a dollar sign in the name.

Upvotes: 6

DazzaL
DazzaL

Reputation: 21993

it doesn't mean anything. as you can create tables with dollar signs in if you want (probably not recommended as people may get confused thinking they are oracle special tables).

if you're referring to objects owned by SYS and SYSTEM then Oracle names its memory structure views for example V$ (eg v$session). but these are just a naming convention that Oracle corp uses for its objects.

Upvotes: 12

Related Questions