Oracle Tabellen & Partionen auslesen

Johannes7146

Goldschnabel
Hallo zusammen,

ich suche eine Möglichtkeit aus einer Oracledatenbank eine Übersicht zu bekommen. Ich möchte diese Übersicht nur durch SQL-Statement erlangen.

1. Welche Tabellen gibt es alles
2. Welche davon sind partioniert
3. Wenn die Partitionierung über eine Range (Zeitaum) ist, möchte ich gerne auch den Zeitraum auslesen.

es handelt sicht dabei um Oracle 10g Enterprise

Gehe mal nicht davon aus, dass jemand hier auf anhieb sagen wie das geht, aber vielleicht nennt ihr mir noch ein Paar Suchbegriffe die mir weiterhelfen könn(t)en.

Vielen Dank
Gruß Johannes
 
Hallo zusammen,

ich suche eine Möglichtkeit aus einer Oracledatenbank eine Übersicht zu bekommen. Ich möchte diese Übersicht nur durch SQL-Statement erlangen.

1. Welche Tabellen gibt es alles
2. Welche davon sind partioniert
3. Wenn die Partitionierung über eine Range (Zeitaum) ist, möchte ich gerne auch den Zeitraum auslesen.

es handelt sicht dabei um Oracle 10g Enterprise

Gehe mal nicht davon aus, dass jemand hier auf anhieb sagen wie das geht, aber vielleicht nennt ihr mir noch ein Paar Suchbegriffe die mir weiterhelfen könn(t)en.

Vielen Dank
Gruß Johannes


1. SELECT * FROM user_tables
2. Dito
3. SELECT * FROM dba_tab_partitions a WHERE table_owner ='My_OWNER'

(Da sind aber die Rangeattribute nicht enthalten...müsste jetzt auch suchen....)

Gruss
 
Zuletzt bearbeitet:
Vielen Dank für die schnelle Antwort, werde ich sofort mal testen


OK, die 3 :

SELECT a.table_name, a.composite, a.partition_name,
a.subpartition_count, a.high_value, a.high_value_length,
a.partition_position, a.tablespace_name, a.pct_free, a.pct_used,
a.ini_trans, a.max_trans, a.initial_extent, a.next_extent,
a.min_extent, a.max_extent, a.pct_increase, a.freelists,
a.freelist_groups, a.logging, a.compression, a.num_rows,
a.blocks, a.empty_blocks, a.avg_space, a.chain_cnt,
a.avg_row_len, a.sample_size, a.last_analyzed, a.buffer_pool,
a.global_stats, a.user_stats
FROM user_tab_partitions a

-Im Attribut "high_value" findest du den gesuchten Wert
 
ah ok, es fehlte das user_

SELECT a.table_name, a.composite, a.partition_name,
a.subpartition_count, a.high_value, a.high_value_length,
a.partition_position, a.tablespace_name, a.pct_free, a.pct_used,
a.ini_trans, a.max_trans, a.initial_extent, a.next_extent,
a.min_extent, a.max_extent, a.pct_increase, a.freelists,
a.freelist_groups, a.logging, a.compression, a.num_rows,
a.blocks, a.empty_blocks, a.avg_space, a.chain_cnt,
a.avg_row_len, a.sample_size, a.last_analyzed, a.buffer_pool,
a.global_stats, a.user_stats
FROM user_tab_partitions a

Funktioniert wunderbar. Besten Dank.
 
bekomme die meldung "table or view does not exist"

Muss ich hier My_OWNER ersetzen?

wenn ich nur
Code:
SELECT * FROM dba_tab_partitions
versuche bekomme ich die selbe Meldung.

- My_owner steht für deinen Datebankbenutzer...der Schemaname...Ich hoffe, dass du NICHT den User SYS verwendest...
- die dba_xxx benötigen eine Berechtigung (als user sys hast du sie, aber du kannst dies natürlich auch deinem Benutzer granten.

Gruss
 
Zurück