Bonjour,
Je voudrais faire le lien entre les tables utilisant les colonnes TS#, OBJ# et DATAOBJ# comme V$SEGSTAT ou DBA_HIST_SEG_STAT et les vues comme DBA_TABLES où apparaît le vrai le nom des tables.
L'info ci-dessous me semble sympa mais j'ai pas le nom des objets...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 select TS#, OBJ#, DATAOBJ#, LOGICAL_READS_TOTAL, PHYSICAL_READS_TOTAL from DBA_HIST_SEG_STAT where rownum < 11 order by 1, 2, 3; TS# OBJ# DATAOBJ# LOGICAL_READS_TOTAL PHYSICAL_READS_TOTAL ---------- ---------- ---------- ------------------- -------------------- 0 9 9 12033920 747 0 12 6 5094624 0 0 14 8 135092672 25 0 21 2 11284768 1021 0 22 10 3772464 0 0 31 29 997488 0 0 36 36 1542432 11 0 57 57 679584 0 0 223 223 742976 969 0 234 234 910272 1 10 rows selected.
Ce qui m'énerve le plus est que je n'arrive pas à utiliser les tables du dictionnaire pour trouver LA bonne table faisant ce lien. Au début j'ai cherché des tables avec la colonne COLUMN dans leur structure et j'ai trouvé
DICT_COLUMNS.
Mais toutes les vues/tables ne sont pas référencées dedans car DBA_HIST_SEG_STAT n'y est pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 select table_name from DICT where UPPER(table_name) like UPPER('%COLUMN%') UNION select view_name from DBA_VIEWS where UPPER(view_name) like UPPER('%COLUMN%') UNION select table_name from DBA_TABLES where UPPER(table_name) like UPPER('%COLUMN%') UNION select table_name from ALL_ALL_TABLES where UPPER(table_name) like UPPER('%COLUMN%') TABLE_NAME ------------------------------ ... DBA_STREAMS_KEEP_COLUMNS DBA_STREAMS_RENAME_COLUMN DBA_SUBPART_KEY_COLUMNS DBA_SUBSCRIBED_COLUMNS DBA_TAB_COLUMNS DBA_UPDATABLE_COLUMNS DICT_COLUMNS ...
A partir de là je baisse les bras et me tourne vers vous pour être sauvé une fois de plus
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 select * from DICT_COLUMNS where column_name LIKE 'OBJ#' TABLE_NAME COLUMN_NAME COMMENTS -------------------------------------------------------------------------------- V$SEGMENT_STATISTICS OBJ# V$SEGSTAT OBJ# GV$SEGMENT_STATISTICS OBJ# GV$SEGSTAT OBJ# 4 rows selected.
Bon, si vous savez comment faire ce lien, un gros merci!
[EDIT]
Je crois que c'est sys.obj$ la table qui sert au lien car elle a une colonne NAME qui me plait bien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 desc sys.obj$ TABLE sys.obj$ Name Null? Type ----------------------------------------- -------- ---------------------------- OBJ# NOT NULL NUMBER DATAOBJ# NUMBER OWNER# NOT NULL NUMBER NAME NOT NULL VARCHAR2(30) NAMESPACE NOT NULL NUMBER SUBNAME VARCHAR2(30) TYPE# NOT NULL NUMBER CTIME NOT NULL DATE MTIME NOT NULL DATE STIME NOT NULL DATE STATUS NOT NULL NUMBER REMOTEOWNER VARCHAR2(30) LINKNAME VARCHAR2(128) FLAGS NUMBER OID$ RAW(16) SPARE1 NUMBER SPARE2 NUMBER SPARE3 NUMBER SPARE4 VARCHAR2(1000) SPARE5 VARCHAR2(1000) SPARE6 DATE select * from sys.obj$ where rownum < 10 order by 1; OBJ# DATAOBJ# OWNER# NAME 1 291 528 0 _NEXT_OBJECT 2 2 0 C_OBJ# 3 3 0 I_OBJ# 4 2 0 TAB$ 5 2 0 CLU$ 6 6 0 C_TS# 7 7 0 I_TS# 8 8 0 C_FILE#_BLOCK# 9 9 0 I_FILE#_BLOCK#
Partager