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 23/09/2011, 14h52   #1
Membre confirmé
 
Avatar de Balbuzard
 
Inscription : août 2008
Messages : 374
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : août 2008
Messages : 374
Points : 210
Points : 210
Par défaut ajouter un tablespace oracle

Bonjour,

Sur mon serveur centOS oracle, j'ai des schémas qui commencent à atteindre la taille de 32G (limite du autoextend illimited).

Je souhaite rajouter un tablespace.

J'ai utilisé ces commandes
Code :
 CREATE SMALLFILE TABLESPACE "USERS2" DATAFILE '/usr/app/oracle/product/10.2.0/db_1/oradata/DEVVPC/users02.dbf' SIZE 10G AUTOEXTEND ON MAXSIZE 20G;
Ce nouveau tablespace apparait bien dans la liste des tablespaces:
Code :
1
2
3
4
5
6
7
8
9
SQL> SELECT tablespace_Name FROM dba_data_files;
 
TABLESPACE_NAME
------------------------------
USERS
SYSAUX
UNDOTBS1
SYSTEM
USERS2
Je créé un nouveau schéma avec la caractéristique suivante
Code :
1
2
3
CREATE USER V9_NOE4
  IDENTIFIED BY blabla
  DEFAULT TABLESPACE USERS2
Et j'importe le schéma (depuis un autre serveur Oracle).
Code :
imp USERID="'/ as sysdba'" FILE="noe.dmp" FROMUSER="V9_NOE" TOUSER="V9_NOE4" FEEDBACK=1000 LOG=IMPORT
Pourtant, le tablespace continue de grandir puis dépasse les 100% et je me retrouve avec des erreurs
Code :
1
2
3
IMP-00003: ORACLE error 1658 encountered
ORA-01658: unable TO CREATE INITIAL extent FOR segment IN tablespace USERS
IMP-00017: following statement failed WITH ORACLE error 1658
Je ne comprends pas pourquoi il ne commence pas à remplir dès le début le tablespace que j'ai affecté à mon utilisateur. Du coup, il remplit un tablespace déjà blindé, et enfin, ne s'étend même pas sur le tablespace suivant.

Je précise que j'utilise le même tablespace temporaire pour les différents utilisateurs (elle n'a pas l'air surchargée).

Merci pour vos conseils et aide pour me permettre de débloquer cette situation
__________________
ZORRO
Plus Vengeur que Masqué
Balbuzard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/09/2011, 15h49   #2
Membre habitué
 
Avatar de olivanto
 
Responsable d'exploitation informatique
Inscription : mars 2005
Messages : 435
Détails du profil
Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Finance

Informations forums :
Inscription : mars 2005
Messages : 435
Points : 147
Points : 147
sans être un grand spécialiste...pour commencer ;

tu es sûr que ton nouveau tablespace est ONLINE, AVAILABLE et qu'il est assez grand pour accueillir ton nouveau schéma ?
__________________
apprenti sorcier Oracle & boulet intérimaire...
http://www.courtois.cc/murphy/murphy_informatique.html
olivanto est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/09/2011, 15h50   #3
Membre expérimenté
 
Homme Didier Duchossoir
Administrateur de base de données
Inscription : mars 2003
Messages : 557
Détails du profil
Informations personnelles :
Nom : Homme Didier Duchossoir
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Service public

Informations forums :
Inscription : mars 2003
Messages : 557
Points : 507
Points : 507
Bonjour
si l'utilisateur V9_NOE4 a des droits d'écriture sur le tablespace USERS, alors
oracle crée les objets dans ce tablespace (tablespace d'origine des objets ).

Pour qu il crée les objets dans le tablespace par défaut (USERS2),
il faut mettre un quota à 0 (aucun) pour cet utilistateur sur le TBS USERS .

evidemment, il ne faut pas que V9_NOE4 ait le privilege system
"UNLIMITED TABLESPACE" .

cordialement
ducho est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/09/2011, 16h33   #4
Membre confirmé
 
Avatar de Balbuzard
 
Inscription : août 2008
Messages : 374
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : août 2008
Messages : 374
Points : 210
Points : 210
Bonjour, et merci pour vos réponses rapides

À olivanto: mon nouveau tablespace est ONLINE, AVAILABLE, et a un espace d'au moins 10G (c'est ainsi que je l'ai créé, et le fichier correspondant sur disque a effectivement cette taille)

À ducho: J'ai modifié la création d'utilisateurs (donc schémas Oracle) comme ceci:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
CREATE USER V9_NOE4
  IDENTIFIED BY blahbla
  DEFAULT TABLESPACE USERS2
  TEMPORARY TABLESPACE TEMP
  PROFILE DEFAULT
  ACCOUNT UNLOCK;
  -- 2 Roles for V9_NOE4
  GRANT CONNECT TO V9_NOE4;
  GRANT RESOURCE TO V9_NOE4;
  ALTER USER V9_NOE4 DEFAULT ROLE ALL;
  -- 2 System Privileges for V9_NOE4
  GRANT CREATE SESSION TO V9_NOE4;
  -- droits spéciaux pour V9_NOE4
  GRANT SELECT ON v_$session TO V9_NOE4;
  GRANT SELECT ON v_$database TO V9_NOE4;
  GRANT CREATE VIEW TO V9_NOE4;
  GRANT DEBUG ANY PROCEDURE TO V9_NOE4;
  GRANT DEBUG CONNECT SESSION TO V9_NOE4;
  -- 1 Tablespace Quota for V9_NOE4
  ALTER USER V9_NOE4 QUOTA 0 ON USERS;
  ALTER USER V9_NOE4 QUOTA UNLIMITED ON USERS2;
 
COMMIT;
QUIT;
Cependant, aucune influence sur l'impact niveau tablespace (c'est toujours le même qui est utilisé, et jamais l'autre).

Peut-être que je m'y prends mal, ou qu'il faudrait procéder différement

Merci en tout cas pour vos réponses
__________________
ZORRO
Plus Vengeur que Masqué
Balbuzard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/09/2011, 16h46   #5
Membre expérimenté
 
Homme Didier Duchossoir
Administrateur de base de données
Inscription : mars 2003
Messages : 557
Détails du profil
Informations personnelles :
Nom : Homme Didier Duchossoir
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Service public

Informations forums :
Inscription : mars 2003
Messages : 557
Points : 507
Points : 507
bonjour,

Citation:

ALTER USER V9_NOE4 QUOTA 0 ON USERS;
ALTER USER V9_NOE4 QUOTA UNLIMITED ON USERS2;

COMMIT;
QUIT;
est-ce que la commande ALTER a été prise en compte,
ce n'est pas sur, car elle va à l'encontre du role resource .

Enlever le role resource à l'utilisateur

normalement cela devrait fonctionner

cdlt

et recommencer
ducho est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/09/2011, 16h49   #6
Membre éprouvé
 
Femme
Administrateur de base de données
Inscription : novembre 2007
Messages : 341
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Administrateur de base de données

Informations forums :
Inscription : novembre 2007
Messages : 341
Points : 478
Points : 478
bonjour,

c'est le privilege resource qui fausse tout, il donne implicitement un quota unilimited sur tous les TBS. donc le mieux c'est de le revoker et de fabriquer un role avec tous les privileges que tu désires et de donner ce role aux users propriétaires de schemas (donner au rôle un create session, create table, create procedure, create synonym, create sequence, etc); c'est de toute façon plus propre que le role resource
Heaven93 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/09/2011, 18h16   #7
Membre confirmé
 
Avatar de Balbuzard
 
Inscription : août 2008
Messages : 374
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : août 2008
Messages : 374
Points : 210
Points : 210
bonjour Heaven93 et ducho

en effet enlever ce privilege resource me permet de faire exactement ce que je voulais, à savoir créer un nouveau tablespace et assigner un schéma à celui-ci exclusivement.

Le problème est résolu maintenant, idem pour la création d'une vue me permettant d'affecter les droits sur le schéma en question.

Merci beaucoup pour votre aide à tous!
__________________
ZORRO
Plus Vengeur que Masqué
Balbuzard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2011, 12h00   #8
Rédacteur
 
Inscription : décembre 2002
Messages : 2 387
Détails du profil
Informations personnelles :
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : décembre 2002
Messages : 2 387
Points : 3 272
Points : 3 272
Citation:
Envoyé par Balbuzard Voir le message
Sur mon serveur centOS oracle, j'ai des schémas qui commencent à atteindre la taille de 32G (limite du autoextend illimited).
J'ai bien l'impression que vous prenez le problème par le mauvais bout, voire que vous n'avez pas de problème.

Un schéma n'a pas de taille limite.
Un schéma comporte un ensemble d'objets (notamment tables et index) qui n'ont aucune obligation d'être tous dans le même tablespace.
Un tablespace est constitué d'un ou plusieurs fichiers (jusqu'à plus de 1000 par tablespace).
Là où il y a une limite, c'est sur la taille d'un fichier. Cette limite dépend de la taille de bloc définie à la création du tablespace. Le bloc ayant usuellement une taille de 8 Ko, cela conduit à une taille maximale de 32 Go par fichier.

Il suffit probablement que vous ajoutiez un fichier à votre tablespace.
__________________
Consultant / formateur Oracle indépendant
Certifié OCP 10g et 11g, sécurité 11g
Pomalaix 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 20h30.


 
 
 
 
Partenaires

Hébergement Web