Newsgroup: it.comp.software.database
Titolo: Riorganizzazione compattazione database Oracle 7.3.4.3.0

Il vecchio tionale è basato su un database Oracle 7.3.4.3.0.
Sembra che si sia molto rallentato.
Io ho riorganizzato database MsSql 6.5 >2000 ma mai db ORacle.
Qualcuno mi puo' dare qualche riferimento ai comandi / procedure /
links o altro che spiega come fare questa procedura di rebuild delle
tabelle / indici ..in maniera meno dannosa possibile?
Grazie in anticipo.
 Ciao
 Claudio
 --
 ^^^ From 1991 2:332/407.490 ^^^ (Claudio per gli amici)
 Air conditioned environment - Do not open Windows.
 Pentium IV emulator on CP/M Zylog Z80.

 tabelle / indici ..in maniera meno dannosa possibile?
In generale, Oracle non si "compatta", se il database e' stato
progettato bene, si riorganizza da solo. Potrebbero esserci dei 
problemi di "linee concatenate", ma questo e' indicativo di un
database non ben progettato. Il mio consiglio e': rivolgiti a chi
ha fatto il gestionale.
Davide

ha fatto il gestionale.
Loro mi hanno proposto di fare un EXPORT dell'intero database ed un
IMPORT dello stesso.
Il problema è che questa operazione se la fanno pagare, e quando
l'azienda non aveva nessun informatico non c'erano problemi...adesso
gradirei farlo io.. [se possibile...]


 gradirei farlo io.. [se possibile...]
eh... se essere informatico volesse dire tanto... lo skill su oracle si 
acquisisce in anni (e anni e anni...)
-- 
punkarruso

 IMPORT dello stesso.
Tipico sistema per ridurre il numero di extents usati.
Davide

acquisisce in anni (e anni e anni...)
Lo so. Purtroppo non tutti lo capiscono.


 Mi puoi dare qualche link /info su questa operazione?
C'e' un mastodontico manuale edito da Oracle Press che si intitola
"Oracle performance tuning and optimization", ISBN 067230886X.
E' alto una spanna...
Davide

E' alto una spanna...
Qualcosa di più Light? Tieni conto che sto parlando di una versione
7...


 tabelle del db.
è un pacchetto di procedure che ti permette di analizzare a "basso" 
livello le tabelle. prima di usarlo però devi sapere di cosa sto 
parlando... mano ai manuali!
-- 
punkarruso
(il costo di un consulente DBA Oracle non può non avere sigificato...)

 7...
Se vai al sito 
otn.oracle.com
 e ti registri (e' gratis), trovi anche il
manuale per l'ottimizzazione della versione 7.
Paulus
--------------------------------
Inviato via 
http://usenet.libero.it

 Mi puoi dare qualche link /info su questa operazione?
ciao claudio !
usa questa query, se da sql*plus ti ritorna "molte"
righe, beh allora una bella "velocizzata" te la darà
il giro di exp/drop/imp,
spool extmag.txt
select substr(segment_name,1,25) segname
     , substr(owner,1,20) owner
     , substr(tablespace_name,1,20) tbs
     , extents
     , bytes
     , INITIAL_EXTENT
     , NEXT_EXTENT
     , max_extents
 from dba_segments
 where segment_type in ('TABLE','INDEX')
  and owner not in ('SYS','SYSTEM')
  and extents > 10
--(max_extents * 0.5)
order by extents,owner,tbs,segname ;
spool off
solo prova la bontà del file di export, prima di droppare gli oggetti,
1- imp .... show=y
2- fai un'altra istanza e ci poggi sopra l'exp full system consistent,
   anzi + che consistent falla con l'istanza in restricted mode.
felice_pago
-


il giro di exp/drop/imp,
Ciao Felice, 
Ho provato a lanciarlo e mi ha dato questo errore..
SQL> select substr(segment_name,1,25) segname
  2       , substr(owner,1,20) owner
  3       , substr(tablespace_name,1,20) tbs
  4       , extents
  5       , bytes
  6       , INITIAL_EXTENT
  7       , NEXT_EXTENT
  8       , max_extents
  9   from dba_segments
 10   where segment_type in ('TABLE','INDEX')
 11    and owner not in ('SYS','SYSTEM')
 12    and extents > 10
 13  --(max_extents * 0.5)
 14  order by extents,owner,tbs,segname ;
 from dba_segments
      *
ERROR at line 9:
ORA-00942: table or view does not exist
 q


 ha
scritto:

conn system/manager
o devi essere dba


o devi essere dba
ops... :-)
SEGNAME                   OWNER                TBS
EXTENTS     BYTES
------------------------- -------------------- --------------------
--------- ---------
INITIAL_EXTENT NEXT_EXTENT MAX_EXTENTS
-------------- ----------- -----------
WVENSPAG                  PRI                  DP
11   1310720
         10240      645120         121
IDX2PROWDBA               PRI                  DP
12   4792320
         51200     2387968         121
IDX3PROWDBA               PRI                  DP
12   4792320
         51200     2387968         121
IDXPROWDBA                PRI                  DP
12   4792320
         51200     2387968         121
ANACON_FIDO               PRI                  DP
13   2928640
         10240     1454080         121
LISMAG_OLD                PRI                  DP
13   2928640
         10240     1454080         121
PROGCM                    PRI                  DP
16  18913280
SEGNAME                   OWNER                TBS
EXTENTS     BYTES
------------------------- -------------------- --------------------
--------- ---------
INITIAL_EXTENT NEXT_EXTENT MAX_EXTENTS
-------------- ----------- -----------
         20480     9455616          99
PROMLV_OLD                PRI                  DP
17  14755840
         10240     7364608         121
Questo è il risultato.


 ti consiglio vivamente di rivolgerti ad un esperto.
Grazie, per adesso sto portando avanti parallelamente due strade. Ho
paura che i problemi siano strutturali del programma / server che di
riorganizzazioni tabelle..comunque grazie.



oddio se sono solo quelli direi che non ci siano problemi di
molti extens, ma molto probabilmente hai chaining,
per il semplice fatto che hai delle storage a pippa !
e se ce l'hai si ritorna a "rifare" le tabelle,
se sono state fatte analyze prova a lanciare il seguente, in fondo,
un'altra bella cosa, gli indici sullo stesso tbs dei dati :(
e a farla grassa hai 2 dischi separati ?
dopo di che il problema diventa "difficile" a distanza
select owner, table_name,
       nvl(chain_cnt,0) "Chained Rows"
         from all_tables
 where owner not in ('SYS', 'SYSTEM')
   and nvl(chain_cnt,0) > 0
 order by owner, table_name;
 
select 'Chained or Migrated Rows ='|| value
  from v$sysstat
where name = 'table fetch continued row';


 --


 non ho mai visto un valore cosě alto, :-0
hic! credimi che si puň fare di peggio... :-)
-- 
punkarruso

 punkarruso
un oltp da 100GB !
si l'ho già visto:
'CHAINEDORMIGRATEDROWS='||VALUE
------------------------------------------------------------------
Chained or Migrated Rows =3159183
non penso sia un db di TLC !
