Quelle est la différence entre les comptes système et système dans les bases de données Oracle?


39

Il existe deux manières de se connecter à Oracle en tant qu'administrateur à l'aide de sqlplus:

  1. sqlplus sys as sysdba
  2. sqlplus system/manager

Ces comptes devraient être utilisés à des fins différentes, je suppose.

A quelles tâches ces deux schémas sont-ils destinés? Quand devrais-je utiliser l'un ou l'autre parmi eux?

Réponses:


43

SYS

  • Créé automatiquement lorsque la base de données Oracle est installée
  • Automatiquement attribué le DBArôle
  • A un mot de passe par défaut: CHANGE_ON_INSTALL (assurez-vous de le changer)
  • Possède les tables de base et les vues pour le dictionnaire de données de base de données
  • Le schéma par défaut lorsque vous vous connectez en tant que SYSDBA

Les tables du SYSschéma sont manipulées uniquement par la base de données. Ils ne doivent jamais être modifiés par un utilisateur ou un administrateur de base de données, et personne ne doit créer de tables dans le schéma d'utilisateur SYS. Les utilisateurs de base de données ne doivent pas se connecter à la base de données Oracle à l'aide du SYScompte.

SYSTEM

  • Créé automatiquement lorsque la base de données Oracle est installée
  • Automatiquement attribué le DBArôle
  • A un mot de passe par défaut: MANAGER (assurez-vous de le changer)
  • Utilisé pour créer des tables et des vues supplémentaires affichant des informations administratives
  • Utilisé pour créer des tables internes et des vues utilisées par divers outils et options de base de données Oracle

N'utilisez jamais le SYSTEMschéma pour stocker des tables présentant un intérêt pour les utilisateurs non administrateurs.

/via


19
Dans la pratique, chaque administrateur de base sqlplus / as sysdbatravaille au quotidien - en 15 ans de travail avec des dizaines d’administrateurs de BD expérimentés, je n’ai jamais rencontré de personnes qui dérangent avec le SYSTEMcompte.
Gaius

21

À partir de la documentation Oracle 11g :

Utilisateurs SYS ET SYSTEM

Les comptes d’administrateur suivants sont automatiquement créés lors de l’installation de la base de données Oracle. Ils sont tous deux créés avec le mot de passe que vous avez fourni lors de l'installation et se voient automatiquement attribuer le rôle d'administrateur de base de données.

  • SYS

    Ce compte peut exécuter toutes les fonctions administratives. Toutes les tables et vues de base (sous-jacentes) du dictionnaire de données de la base de données sont stockées dans le schéma SYS. Ces tables et vues de base sont essentielles au fonctionnement de la base de données Oracle. Pour préserver l'intégrité du dictionnaire de données, les tables du schéma SYS sont manipulées uniquement par la base de données. Ils ne doivent jamais être modifiés par un utilisateur ou un administrateur de base de données. Vous ne devez créer aucune table dans le schéma SYS.

    L'utilisateur SYS reçoit le privilège SYSDBA, ce qui lui permet d'exécuter des tâches administratives de haut niveau telles que la sauvegarde et la récupération.

  • SYSTEM

    Ce compte peut exécuter toutes les fonctions administratives à l'exception des suivantes:

    • Sauvegarde et récupération

    • Mise à niveau de base de données

    Bien que ce compte puisse être utilisé pour effectuer des tâches administratives quotidiennes, Oracle recommande vivement de créer un compte d'utilisateurs nommés pour administrer la base de données Oracle afin de permettre la surveillance de l'activité de la base de données.

SYSDBA et SYSOPER System Privileges

SYSDBA et SYSOPER sont des privilèges d’administration nécessaires pour effectuer des opérations d’administration de haut niveau, telles que la création, le démarrage, la fermeture, la sauvegarde ou la récupération de la base de données. Le privilège système SYSDBA est destiné aux administrateurs de base de données pleinement dotés de pouvoirs. Le privilège système SYSOPER permet à un utilisateur d'effectuer des tâches opérationnelles de base, mais sans pouvoir consulter ses données.

Les privilèges système SYSDBA et SYSOPER permettent l’accès à une instance de base de données même lorsque la base de données n’est pas ouverte. Le contrôle de ces privilèges est donc complètement en dehors de la base de données elle-même. Ce contrôle permet à un administrateur doté de l'un de ces privilèges de se connecter à l'instance de base de données pour démarrer la base de données.

Vous pouvez également considérer les privilèges SYSDBA et SYSOPER comme des types de connexions vous permettant d'effectuer certaines opérations de base de données pour lesquelles les privilèges ne peuvent être accordés d'aucune autre manière. Par exemple, si vous disposez du privilège SYSDBA, vous pouvez vous connecter à la base de données à l'aide de AS SYSDBA.

L’utilisateur SYS se voit automatiquement attribuer le privilège SYSDBA lors de l’installation. Lorsque vous vous connectez en tant qu'utilisateur SYS, vous devez vous connecter à la base de données en tant que SYSDBA ou SYSOPER. La connexion en tant qu'utilisateur SYSDBA appelle le privilège SYSDBA. la connexion en tant que SYSOPER appelle le privilège SYSOPER. Oracle Enterprise Manager Database Control ne vous permet pas de vous connecter en tant qu'utilisateur SYS sans vous connecter en tant que SYSDBA ou SYSOPER.

Lorsque vous vous connectez avec le privilège SYSDBA ou SYSOPER, vous vous connectez avec un schéma par défaut, pas avec le schéma généralement associé à votre nom d'utilisateur. Pour SYSDBA, ce schéma est SYS; pour SYSOPER, le schéma est PUBLIC.


8

Exemple de différence majeure entre SYS (ou toute autre connexion SYSDBA) et tous les autres utilisateurs: SYS ne peut pas effectuer de lecture cohérente . Une implication de cela (il y en a d'autres) est que vous ne pouvez pas effectuer une exportation CONSISTENT = Y en tant que SYS à l'aide de l'ancien utilitaire exp.

Tom Kyte, employé d’Oracle et expert, est d’avis que vous devriez rarement utiliser l’un ou l’autre . En ce qui concerne SYS, il souligne que cela fonctionne différemment, comme le montre l'exemple ci-dessus, mais plus généralement, il les considère comme "la propriété" d'Oracle Corporation. Si vous apportez une modification ou ajoutez quelque chose dans l'un des schémas et si un problème survient (par exemple, une mise à niveau de la base de données échoue), je suppose que la réponse du support technique Oracle serait "Vous n'auriez pas dû le faire."


0

On dirait que l’affiche dit qu’il n’ya que deux façons de se connecter:

"Il existe deux manières de se connecter à Oracle en tant qu'administrateur à l'aide de sqlplus:

sqlplus sys as sysdba
sqlplus system/manager"

Un compte administrateur est un compte utilisateur Oracle disposant du privilège SYSDBA ou du rôle DBA. SYS est un utilisateur prédéfini avec SYSDBA et SYSTEM est un utilisateur prédéfini avec DBA. S'il y a n comptes d'administrateur dans une base de données, n utilisateurs peuvent se connecter avec des privilèges d'administrateur (par définition) - il n'y en a pas que deux.

Un autre point concerne SQL * Plus. Vous pouvez vous connecter en tant que SYS en utilisant l'authentification du système d'exploitation à l'invite du système d'exploitation: sqlplus / as sysdba. Vous pouvez également démarrer SQL * Plus, puis CONNECT / AS SYSDBA. Vous pouvez spécifier un mot de passe à l'invite du système d'exploitation, dans une instruction CONNECT, ou bien SQL * Plus vous le demandera. Vous pouvez utiliser un nom de service Internet. Vous pouvez (et devriez) changer le mot de passe SYSTEM. Etc.

Je pense que l’affiche voulait dire qu’il existe au moins deux comptes d’administrateur dans une base de données Oracle. Si SYSTEM possède le mot de passe par défaut, et si l’authentification du système d’exploitation est configurée, il s’agit de deux exemples d’exploitation. comment SYS et SYSTEM peuvent se connecter à la base de données à l’aide de SQL * Plus.

La question de la différence entre SYS et SYSTEM est différente et a été résolue.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.