Maison >base de données >Oracle >Autorisations de requête pour la table de requête Oracle
Dans la base de données Oracle, la table est l'un des objets les plus courants de la base de données. Une grande quantité de données critiques est stockée dans la table, il est donc crucial de protéger les données de la table. Pour contrôler l'accès aux tables, Oracle Database propose de nombreuses méthodes et outils. L'un d'eux est l'autorisation de requête pour la table de requête. Dans cet article, nous explorerons comment interroger les autorisations de requête d'une table dans une base de données Oracle.
L'autorisation de requête fait référence à l'autorisation accordée à un utilisateur ou à un rôle d'interroger une table. Il détermine qui peut interroger la table et comment. Dans la base de données Oracle, les autorisations de requête peuvent être associées à des utilisateurs ou des rôles spécifiques. Ces autorisations incluent les autorisations SELECT et d'autres privilèges de requête.
Dans la base de données Oracle, les autorisations de requête d'une table de requête peuvent être interrogées par la méthode suivante :
2.1 À l'aide de la vue SYS.USER_TAB_PRIVS
La SYS.USER_TAB_PRIVS. view stocke les droits d'utilisateur ou de rôle sur la base de données. Autorisations sur les objets, y compris les autorisations de requête sur les tables. Pour interroger les autorisations de requête d'une table, utilisez l'instruction SQL suivante :
SELECT * FROM SYS.USER_TAB_PRIVS WHERE TABLE_NAME = 'table_name';
Dans cette requête, nous utiliserons la vue SYS.USER_TAB_PRIVS pour obtenir l'utilisateur ou le rôle. autorisations sur la table Toutes les autorisations. Dans la clause WHERE, nous souhaitons remplacer 'table_name' par le nom de la table réelle.
2.2. Utilisation de la vue DBA_TAB_PRIVS
Dans la base de données Oracle, la vue DBA_TAB_PRIVS stocke les informations d'autorisation de tous les objets de la base de données. Pour interroger les autorisations de requête d'une table, utilisez l'instruction SQL suivante :
SELECT * FROM DBA_TAB_PRIVS WHERE OWNER = 'owner_name' AND TABLE_NAME = 'table_name' AND PRIVILEGE = 'SELECT'; Vue DBA_TAB_PRIVS Pour obtenir les autorisations de requête pour la table spécifiée. Dans la clause WHERE, nous souhaitons remplacer 'owner_name' par le nom du propriétaire de la table, 'table_name' par le nom réel de la table et la colonne 'PRIVILEGE' est définie sur 'SELECT'.
Gérer les autorisations de requête de tableGRANT SELECT ON table_name TO user_or_role;
Dans cette instruction, nous utilisons l'instruction GRANT pour accorder à l'utilisateur ou au rôle l'autorisation SELECT sur la table. Dans l'instruction, « table_name » est le nom réel de la table et « user_or_role » est l'utilisateur ou le rôle auquel les autorisations SELECT doivent être accordées.
Pour révoquer l'autorisation SELECT sur une table, vous pouvez utiliser l'instruction SQL suivante :
REVOKE SELECT ON nom_table FROM user_or_role;
Dans cette instruction, nous utilisons l'instruction REVOKE pour révoquer l'autorisation SELECT sur la table à l'utilisateur ou un rôle. Dans l'instruction, « table_name » est le nom réel de la table et « user_or_role » est l'utilisateur ou le rôle dont les privilèges SELECT ont été révoqués.
ConclusionCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!