web-dev-qa-db-fra.com

Erreur de création d'espaces de table

J'ai une erreur "ORA-01537" lorsque je crée un espace de table.

create tablespace "VOLUMT" datafile 'VOLUMT.dbf' size 250M autoextend on;

Ensuite, cela montre comme suit.

Erreur à la ligne 1: ORA-01537: impossible d'ajouter un fichier 'volumt.dbf' - fichier déjà une partie de la base de données

Je viens de changer le nom de l'espace de table du volumt en test01 et ça marche ..

Espace de table créé.

Donc, je suis dans le répertoire de dB et recherché l'espace de table associé ..

${HOME}/Oracle/db/oradata/ORAC12

Cependant, je ne peux trouver aucun .. Coudl vous m'aidez à résoudre ce problème? Aussi, j'ai besoin d'utiliser "volumt" pour la création de l'espace de table .. pas Test01 ..

-- Supplémentaire --

( ____.] Utilisateurs 
 Test01 [.____]

Je peux voir Test01 Espace, mais je ne trouve aucun fichier de données dans le répertoire. Aussi, je ne trouve pas de tablespace de Vollmt ..

Merci.

1
owcred601

La solution à votre problème peut être:

créer l'espace de table nommé _ VOLUMT, mais pour le nom de fichier le modifie un peu comme VOLUMT1.dbf ou Spécifiez un chemin de répertoire différent pour enregistrer le fichier dans.

create tablespace "VOLUMT" datafile 'VOLUMT1.dbf' size 250M autoextend on;

s'il vous plaît vérifier et dites-moi si cela fonctionnait bien.

0
Husam Mohamed

tous les gars ..

Tout d'abord, appréciez vraiment à vous tous de répondre ...

Quand j'entraîne le Follwing

[.____] Sélectionnez File_Name, 
 File_ID, [.____] Tablepace_name, 
 Statut, Online_status [.____] de dba_data_files [. ____] Commande par tablepace_name; 

La sortie est

NOM DE FICHIER
--------------------------------------- -------------------------------------------- 
 File_id Table Espace Statut Online_ 
 ------------ ----------- ---------- ------- 
/home/oracle /db/oradata/orac12/id/sysysaux01.dbf [____] 28 Sysaux Disponible en ligne [.____] [.____]/Accueil/Oracle/DB/ORADATA/ORAC12/ID/ID/ID/ID/SYSTÈME .] 27 Système disponible du système [.____] [.____]/home/oracle/dB/oratata/orac12/id/id_user01.dbf [.____] 29 utilisateurs disponibles en ligne [.____]

Il n'y a pas de "Volumt" Espace Espace. Lorsque je réessayerai de créer un espace de table "Test01", EventHough Il est déjà supprimé, il montre que "le fichier existe déjà" ..

Lorsque je suis dans le répertoire, il y a aussi d'autres SID. Et l'un d'eux a "volumt". Cependant, ils sont différents "SID" afin qu'ils puissent avoir le même nom de tablespace, n'est-ce pas?

1
owcred601

L'erreur que vous obtenez indique qu'il existe un fichier de données existant avec le même nom spécifié VOLUMT.dbf.

Vérifiez s'il existe un fichier existant avec le même nom.

SELECT FILE_NAME, TABLESPACE_NAME FROM DBA_DATA_FILES WHERE LOWER(FILE_NAME) LIKE '%volumt.dbf';

Pour trouver le chemin de fichier de données pour TEST01 Vous pouvez facilement la mettre en question dans la déclaration suivante

SELECT FILE_NAME, TABLESPACE_NAME FROM DBA_DATA_FILES WHERE TABLESPACE_NAME LIKE 'TEST01';
0
Husam Mohamed

Vous ne regardez que les espaces de table et non dans les fichiers de la base de données. Essayez d'interroger le dba_data_files Voir le dictionnaire de données.

Voici un exemple de commande:

set pages 50
set lines 230
column file_name format a60

select file_name, file_id, tablespace_name, status,online_status 
from dba_data_files order by tablespace_name;

Cela devrait répertorier tous les fichiers de base de données et vous montrer à quelle époque à table ils appartiennent.


En réponse à votre commentaire :

Vous devrez peut-être devoir changer le SID et exécuter la requête pour chaque SID afin de déterminer quels noms de fichiers de base de données ont déjà été utilisés.

Vous ne pouvez pas avoir le même fichier de base de données (nom) pour un SID différent et un autre espace de table dans le même répertoire.

Solutions possibles

  1. Vous devrez soit supprimer le fichier de base de données VOLUMT.dbf À partir de l'espace de table, il est actuellement attaché à, pour pouvoir recréer le tablespace VOLUMT avec le fichier de base de données `volumt.dbf.

  2. Vous devrez créer le tablespace VOLUMTutilisant le fichier de base de données VOLUMT.dbf Dans un répertoire différent.

Votre problème n'est pas l'espace de table VOLUMT, mais le fichier de base de données VOLUMT.dbf qui existe déjà pour un SID différent et une autre espace de table.

0
John aka hot2use