IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration Oracle Discussion :

[9i] re-dimension des datafiles


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Par défaut [9i] re-dimension des datafiles
    Bonjour, je dois "purger" notre base de donnée.

    Pour cela j'ai sélectionner les tables les plus volumineuse :
    - je supprime les données des tables (delete / truncate)
    - je lance une analyze [...] statistics

    Ensuite, je dois re-dimensionner les datafailes des tablespaces impactés.
    Je connais les TBS, je connais donc les Datafiles,

    Cependant comment bien redimensionner ces datafiles au plus juste?

    Quelle est votre méthode ?

    Merci d'avance

  2. #2
    Membre éclairé

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Par défaut
    J'ai un doute mais en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Oracle9i Enterprise Edition Release 9.2.0.3.0 - 64bit Production
    PL/SQL Release 9.2.0.3.0 - Production
    Nous pouvons bien re dmensionner les datafiles en les augmentant ou les diminuant ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER DATABASE DATAFILE '/u02/oracle/rbdb1/stuff01.dbf'
       RESIZE 100M;

  3. #3
    Membre confirmé
    Homme Profil pro
    Intégrateur
    Inscrit en
    Novembre 2004
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Novembre 2004
    Messages : 139
    Par défaut
    Bonjour,

    Je confirme que cette commande est correcte.
    Dans le cas d'une augmentation, il n'est pas nécessaire de purger la table ...
    Dans le cas d'une diminution, je ne connais pas les effets de bord

    Que veux-tu par
    Citation Envoyé par sygale
    Cependant comment bien redimensionner ces datafiles au plus juste?
    J'ai quelques questions :
    • Est-ce que la volumétrie évolue sensiblement ?
    • Dois-tu augmenter globalement le volume de ta base ?
    • Est-ce qu'il y a une forte activité transactionnelle ?
    • Quel est ton mode de gestion des tablespaces ?
    • Ton MPD possède-t-il des tables à fort volume ?

  4. #4
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Tu peux lancer ceci connecté SYSDBA :
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
    set verify off
    column file_name format a50 word_wrapped
    column smallest format 999,990 heading "Smallest|Size|Poss."
    column currsize format 999,990 heading "Current|Size"
    column savings  format 999,990 heading "Poss.|Savings"
    break on report
    compute sum of savings on report
     
    column value new_val blksize
    select value from v$parameter where name = 'db_block_size'
    /
    spool resize.sql
    select file_name,
           ceil( (nvl(hwm,1)*&&blksize)/1024/1024 ) smallest,
           ceil( blocks*&&blksize/1024/1024) currsize,
           ceil( blocks*&&blksize/1024/1024) -
           ceil( (nvl(hwm,1)*&&blksize)/1024/1024 ) savings
    from dba_data_files a,
         ( select file_id, max(block_id+blocks-1) hwm
             from dba_extents
            group by file_id ) b
    where a.file_id = b.file_id(+)
    /
     
    column cmd format a90 word_wrapped
     
    select 'alter database datafile ''' || file_name || ''' resize ' ||
           ceil( (nvl(hwm,1)*&&blksize)/1024/1024 )  || 'm;' cmd
    from dba_data_files a,
         ( select file_id, max(block_id+blocks-1) hwm
             from dba_extents
            group by file_id ) b
    where a.file_id = b.file_id(+)
      and ceil( blocks*&&blksize/1024/1024) -
          ceil( (nvl(hwm,1)*&&blksize)/1024/1024 ) > 0
    order by tablespace_name
    / 
    spool off
     
    ###################################################################################
    ###################################################################################
    ###################################################################################
     
    REM be connected as sysdba !
    REM for locally managed only
     
    set linesize 500 pagesize 0 feedback off trimspool on
     
    select sum(bytes)/1024/1024/1024 "Size DB in Go" from dba_data_files;
     
    connect '/ as sysdba'
    spool resize.sql
    SELECT
      '/* '||to_char(CEIL((f.blocks-e.hwm)*(f.bytes/f.blocks)/1024/1024),99999999)||' M */ ' ||
      'alter database datafile '''||file_name||''' resize '||CEIL(e.hwm*(f.bytes/f.blocks)/1024/1024)||'M;' SQL
    FROM
      DBA_DATA_FILES f,
      SYS.TS$ t,
      (SELECT ktfbuefno relative_fno,ktfbuesegtsn ts#,
      MAX(ktfbuebno+ktfbueblks) hwm FROM sys.x$ktfbue GROUP BY ktfbuefno,ktfbuesegtsn) e
    WHERE
      f.relative_fno=e.relative_fno and t.name=f.tablespace_name and t.ts#=e.ts#
      and f.blocks-e.hwm > 1000
      and f.tablespace_name != (select value from v$parameter where name = 'undo_tablespace')
    ORDER BY f.blocks-e.hwm DESC
    /
     
    spool off
    cela génère le fichier resize.sql qui retaille les datafiles à la plus petite valeur possible sachant qu'il ne peut pas descendre en dessous du dernier extent allouer donc TRUNCATE au lieu de DELETE pour libérer ces extents

  5. #5
    Membre éclairé

    Inscrit en
    Septembre 2003
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 425
    Par défaut
    Super merci beaucoup à vous deux je vais tester tout ceci

    Dans mon cas, je souhaite gargner de la place, donc sur les tables d'archivage :
    - j'exporte les tables
    - TRUNCATE
    - analyse
    -redimension des datafiles


    mais question bête la table dba_segments est mis à jour en lancant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    analyze table monschema.matable compute statistics
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    begin
    dbms_stats.GATHER_TABLE_STATS(
     OWNNAME=>'monschema',
     TABNAME=>'matable');
    end;

    Pour être sur de gagner le plus de place, il faut mieux re dimmensionner

    - truncate
    - export
    - suppression tablespace + .dbf
    - création tablespace + .dbf
    - import
    ?

  6. #6
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    export avant truncate plutôt non ? Tu veux vider la base ?

Discussions similaires

  1. fusion ou mix des datafiles d'un tablespace
    Par mickjack dans le forum Oracle
    Réponses: 7
    Dernier message: 17/05/2006, 17h26
  2. agrandir le dimension des icons
    Par zidenne dans le forum Langage
    Réponses: 2
    Dernier message: 25/01/2006, 15h53
  3. [JTable] Dimension des colonnes
    Par Katyucha dans le forum Composants
    Réponses: 4
    Dernier message: 04/11/2004, 17h53
  4. [MFC] Mise à jour dimension des CDialogBar
    Par Kevgeii dans le forum MFC
    Réponses: 2
    Dernier message: 14/01/2004, 23h47
  5. Dimensions des colonnes d'un TDBGrid
    Par osmose22 dans le forum C++Builder
    Réponses: 4
    Dernier message: 11/12/2002, 12h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo