web-dev-qa-db-fra.com

Quelle est la différence entre le schéma et la base de données à Oracle?

Dans Oracle, Datafile sont des fichiers système où les données réelles sont stockées. La collection de datafiles marque tablepace Et, enfin la base de données est la collection de tablespaces.

Corrigez-moi si je me trompe sur les concepts de Datafile, de tablespace et de base de données.

Je voudrais comprendre le différence entre le schéma et la base de données dans les détails. Les ressources en ligne sont utiles mais semblaient déroutantes, concernant cette différence.

5
nitesh.kodle123

Si tout le reste échoue, lisez la documentation. Essayez ici pour commencer (v. Bon diagramme). À Oracle, un schéma est une base de données. Voir aussi ici - particulièrement ceci:

Une caractéristique d'un SGBDM est l'indépendance du stockage de données physiques à partir de structures de données logiques. Dans la base de données Oracle, un schéma de base de données est une collection de structures de données logiques ou d'objets de schéma [I.e. Tables associées]. Un schéma de base de données appartient à un utilisateur de la base de données et possède le même nom que le nom d'utilisateur.

Une autre distinction est entre les fichiers de base de données physiques "la base de données" et "l'instance" - le logiciel exécutant composant le système complet de travail.

Dans un sens, une "base de données" Oracle est inutile - il s'agit simplement d'un tas de bits sur un disque - c'est le logiciel qui le transforme dans un système (c'est-à-dire une base de données dans le sens des informations récupérables/modifiables).

Une base de données Oracle est une instance d'exécution plus des données (+ contrôle + redo & c.) Qui peut contenir lui-même 1 ou plusieurs schémas qui sont eux-mêmes des "bases de données" - c'est-à-dire que le laïc leur comprendrait - c'est-à-dire une HR, CRM ou ERP (& ...) Schemas/Systèmes.

4
Vérace

Vous pouvez penser au schéma en tant que répertoire personnel d'utilisateur à UNIX. Un schéma et l'utilisateur Oracle sont fortement serrés ensemble. Un utilisateur mappe à un seul schéma. Vous pouvez modifier temporairement le schéma actuel de la même manière que vous le faites à UNIX par ALTER SESSION SET CURRENT_SCHEMA=USER1.

Les objets d'autres schémas peuvent être atteints de la même manière que dans UNIX: préconiser le nom de l'objet avec SCHEMA. par exemple: USER1.TABLE1, USER2.TABLE2 serait un exemple. Après avoir changé le schéma actuel sur USER1 Vous n'avez pas besoin d'ajouter le USER1 préfixe plus.

Une base de données est le conteneur le plus large, il recueille des utilisateurs de schémas, des espaces de table (datafiles font partie d'un espace de table) et d'une ou de plusieurs instances (RAC).

Les choses sont plus compliquées avec l'option multi-entreprises 12C, car vous pouvez avoir plusieurs bases de données Pluggalble (PDB) dans une seule base de données de conteneurs (CDB). Mais c'est juste une autre histoire.

5
SQ9MCP