Ajouter des utilisateurs à Oracle

Les administrateurs de bases de données Oracle créent des comptes utilisateurs dans l’instance Oracle et leur affectent du stockage (tablespaces) et des privilèges.

L’administrateur de base de données (utilisateur sys) peut utiliser des outils Oracle pour créer des utilisateurs et un tablespace par défaut pour l’utilisateur, et accorder des privilèges pour créer des objets de base de données.

L’administrateur de base de données peut également utiliser l’outil de géotraitement Create Database User (Créer un utilisateur de base de données) dans ArcGIS Pro ou appeler la fonction management.CreateDatabaseUser ArcPy dans un script Python pour créer un utilisateur qui possède des données.

Les utilisateurs de base de données créés avec cet outil ou cette fonction détiennent les privilèges suivants :

  • CREATE SESSION
  • CREATE SEQUENCE
  • CREATE TABLE
  • CREATE TRIGGER
  • CREATE VIEW
  • SELECT ON DBA_ROLES

Ajouter un utilisateur qui peut créer des objets de base de données

Vous pouvez exécuter l’outil Create Database User (Créer un utilisateur de base de données) à partir de ArcGIS Pro ou appeler la fonction management.CreateDatabaseUser ArcPy dans un script Python pour créer un utilisateur de base de données pouvant créer des tables, des classes d’entités, des vues, des déclencheurs et des séquences.

Vous devez être connecté à la base de données en tant qu’utilisateur sys Oracle pour exécuter l’outil Create Database User (Créer un utilisateur de base de données) ou la fonction management.CreateDatabaseUser.

Utiliser l'outil Créer un utilisateur de base de données

Pour créer un utilisateur de base de données dans Oracle à l’aide de l’outil Create Database User (Créer un utilisateur de base de données), procédez comme suit :

  1. Démarrez ArcGIS Pro.
  2. Connectez-vous à la base de données ou la géodatabase en tant qu’utilisateur sys.
  3. Ouvrez l'outil Créer un utilisateur de base de données.

    Il se trouve dans le jeu d'outils Administration de géodatabase de la boîte à outils Gestion des données.

  4. Identifiez la connexion à la base de données pour la Connexion à la base de données en entrée.
  5. Attribuez un nom à l’utilisateur et à la structure que l’outil va créer.
  6. Fournissez un mot de passe pour l’utilisateur de base de données.
  7. Si vous disposez déjà d’un rôle auquel vous souhaitez ajouter cet utilisateur en tant que membre, indiquez le rôle.
  8. Fournissez le nom du tablespace par défaut de l’utilisateur.

    Si le tablespace n’existe pas déjà, il sera créé par l’outil dans l’emplacement de stockage par défaut de Oracle. L'outil crée un tablespace de 400 Mo.

    Si vous ne spécifiez aucun tablespace, le tablespace par défaut de Oracle est utilisé.

  9. Cliquez sur Run (Exécuter).

Exécuter un script Python

Pour générer un script de création d'utilisateur, procédez comme suit :

  1. Créez un fichier texte sur l’ordinateur d’un client ArcGIS, puis copiez-y un des blocs de code suivants.

    Modifiez le code avec les informations spécifiques à votre site.

    Les exemples supposent que vous disposez d’un fichier de connexion à une base de données existant qui vous permet de vous connecter en tant qu’utilisateur sys Oracle. Si vous ne disposez pas d’un fichier de connexion, créez-en un avant d’exécuter le script.

    # Name: createdatabaseuser_exampleW.py
    # Description: Uses existing database connection file
    # on a Windows computer to create a database user in Oracle.
    
    # Import arcpy module
    import arcpy
     
    # Provide a database connection file for the Oracle sys user.
    connection = "C:\\ArcGIS\connection_files\<Connection file>.sde"
    
    # Process: Create database user that can create data and a default tablespace for the user.
    arcpy.CreateDatabaseUser_management(connection, "DATABASE_USER", "dbuser", "t3mpor@rypL@ceholder1", "usertbsp")
    # Name: createdatabaseuser_exampleL.py
    # Description: Uses existing database connection file
    # on a Linux computer to create a database user in Oracle.
    
    # Import arcpy module
    import arcpy
     
    # Provide a database connection file for the Oracle sys user.
    connection = "<user>/connections/<Connection_file>.sde"
    
    # Process: Create database user that can create data and a default tablespace for the user.
    arcpy.CreateDatabaseUser_management(connection, "DATABASE_USER", "dbuser", "t3mpor@rypL@ceholder1", "usertbsp")

  2. Enregistrez le fichier avec l’extension .py.
  3. Exécutez le script à partir d’un ordinateur sur lequel ArcGIS Pro ( Standard ou Advanced) ou ArcGIS Server est installé.

    Pour plus d’informations sur l’exécution de Python à partir d’une machine ArcGIS Server, reportez-vous à la rubrique ArcGIS Server et ArcPy.

Votre base de données contient désormais un utilisateur qui peut créer des tables et des classes d’entités.

Lorsque les tables et les classes d’entités ont été créées, le propriétaire des données peut accorder aux autres utilisateurs des privilèges sur les jeux de données. Pour obtenir des instructions, reportez-vous à la rubrique Octroyer et supprimer des privilèges sur le jeu de données dans des bases de données et des géodatabases d’entreprise.

Créer des utilisateurs avec des outils Oracle

Pour créer un utilisateur de base de données possédant des privilèges différents de ceux qui ont été octroyés par l’outil Create Database User (Créer un utilisateur de base de données) ou auquel aucun privilège n’a été accordé directement, utilisez des outils Oracle.

Pour savoir comment utiliser les outils Oracle afin de créer des utilisateurs de bases de données, consultez la documentation Oracle.