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 :

ajouter un tablespace oracle


Sujet :

Administration Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Balbuzard
    Profil pro
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
     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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Membre éclairé Avatar de olivanto
    Responsable d'exploitation informatique
    Inscrit en
    Mars 2005
    Messages
    513
    Détails du profil
    Informations professionnelles :
    Activité : Responsable d'exploitation informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2005
    Messages : 513
    Par défaut
    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 ?

  3. #3
    Membre éclairé

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2003
    Messages
    701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    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 : 701
    Billets dans le blog
    1
    Par défaut
    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

  4. #4
    Membre éclairé Avatar de Balbuzard
    Profil pro
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Par défaut
    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 : 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
    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

  5. #5
    Membre éclairé

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2003
    Messages
    701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    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 : 701
    Billets dans le blog
    1
    Par défaut
    bonjour,


    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

  6. #6
    Membre émérite
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2007
    Messages
    419
    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 : 419
    Par défaut
    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

  7. #7
    Membre éclairé Avatar de Balbuzard
    Profil pro
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Par défaut
    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!

  8. #8
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 461
    Par défaut
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ajout du driver ORACLE sur zend studio 9.0.1
    Par osm123 dans le forum Zend Studio
    Réponses: 0
    Dernier message: 28/05/2013, 14h58
  2. Supervision Tablespaces Oracle avec Nagios
    Par pun1ch3ur dans le forum Oracle
    Réponses: 5
    Dernier message: 25/06/2009, 14h58
  3. Réponses: 1
    Dernier message: 29/04/2009, 02h41
  4. Dépendances dans les tablespaces Oracle
    Par learn dans le forum Oracle
    Réponses: 5
    Dernier message: 17/10/2005, 22h19

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