Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Administration
Administration Forum d'entraide sur l'administration du serveur Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/12/2010, 13h35   #1
Futur Membre du Club
 
Inscription : octobre 2003
Messages : 54
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 54
Points : 19
Points : 19
Par défaut calcul de taille pour creation de table

Bonjour.

j'utilise une base oracle 8i sur une machine Win2000Server (tout cela est, certes, obsolètes mais, sauf erreur de ma part, sans incidence pour ce qui m'interesse)

J'ai une table composeé comme suit :
champ1 number(10)
champ2 number(10)
champ3 date
champ4 number(10)
champ5 varchar2(1)

cette table a été déclarée avec un initial extent à 2Go.
En moyenne 22000 entrées/jour
Il n'y a pas de mise à jour des champs mais de la suppression d'enregistrements (notion de doublons)
Le block-size de la base vaut 8192.
Si j'ai tout bien compris, un enregistrement vaut
number(10) = 6 octets
number(10) = 6 octets
date = 7 octets
number(10) = 6 octets
varchar2(1) = 1 octet
soit 26 octet soit 0,3% du bloc.

Avec tout ça, ai-je raison de vouloir créer une copie de cette table avec
Code :
1
2
3
4
5
6
7
8
9
 
  ...
  pctfree 40
  pctused 80
  storage ( initial 500 M  
               next à 100 M
               ....
             )
  ...
Merci de votre aide.
olivier] est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 15h01   #2
Membre chevronné
 
Avatar de 13thFloor
 
Homme
DBA Oracle freelance
Inscription : janvier 2005
Messages : 558
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 45
Localisation : France

Informations professionnelles :
Activité : DBA Oracle freelance

Informations forums :
Inscription : janvier 2005
Messages : 558
Points : 718
Points : 718
Bonjour,
en utilisant la fonction dbms_space.create_table_cost avec un pctfree à 0, cela donne
pour 22 000 lignes :
Used Bytes: 761856
Allocated Bytes: 786432

Donc pour 1 an : 22 000 x 365 = 8030000
Used Bytes: 277561344
Allocated Bytes: 285212672

Pourquoi donc laisser 40% d'espace inutilisé puisque les lignes ne sont pas mises à jour ?

Sur un an, la table occupera environ 272 Mo.
De mémoire, les tablespaces locally managed sont apparus en 8i.
Donc, je mettrai cette table dans un TS géré en LMT.
Sinon (en DMT), je la taillerais ainsi :
initial 300M, next 10M, pctincrease 0
Le nombre d'extensions n'est pas très important, il faut simplement que les extensions soient uniformes.
13thFloor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 15h31   #3
Futur Membre du Club
 
Inscription : octobre 2003
Messages : 54
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 54
Points : 19
Points : 19
Je croyais que le pctfree correspondait à la taille à partir de laquelle Oracle considère le bloc comme étant "réutilisable". C'est pour cela que je l'avais mis à 40%.
Au regard de ton explication, j'en conclus qu'il faut mettre le pctused à 100%. Ce qui signifierait que tant que le bloc n'est pas plein, il peut stocker des données dedans. Me trompe-je?
olivier] est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 15h54   #4
Membre chevronné
 
Avatar de 13thFloor
 
Homme
DBA Oracle freelance
Inscription : janvier 2005
Messages : 558
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 45
Localisation : France

Informations professionnelles :
Activité : DBA Oracle freelance

Informations forums :
Inscription : janvier 2005
Messages : 558
Points : 718
Points : 718
Allez, un peu de promo pour le site et FP :
http://blog.developpez.com/pachot/p8...free-initrans/
13thFloor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2010, 16h08   #5
Futur Membre du Club
 
Inscription : octobre 2003
Messages : 54
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 54
Points : 19
Points : 19
Si j'ai tout bien compris, le pctfree c'est l'espace qu'oracle doit garder libre pour l'évolution du contenu du block du fait de la mise à jour de champs.
'vais m'coucher un peu moins bête ce soir moi

Pour le pctused, moyennant d'utiliser ASSM, je l'oublie. Alors bon je vais investiguer sur ASSM.

En tout cas, merci de ton aide.
olivier] est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h45.


 
 
 
 
Partenaires

Hébergement Web