Maison > base de données > Oracle > Comment vérifier quels utilisateurs sont dans Oracle

Comment vérifier quels utilisateurs sont dans Oracle

青灯夜游
Libérer: 2022-02-22 17:08:53
original
39575 Les gens l'ont consulté

Comment interroger les utilisateurs dans Oracle : 1. Exécutez l'instruction "select * from dba_users;" 2. Exécutez l'instruction "select * from all_users;"

Comment vérifier quels utilisateurs sont dans Oracle

L'environnement d'exploitation de ce tutoriel : système Windows 7, version Oracle 11g, ordinateur Dell G3.

Requête de toutes les informations utilisateur dans Oracle

1. Afficher tous les utilisateurs :

select * from dba_users; 
select * from all_users; 
select * from user_users;
Copier après la connexion

2. Afficher les autorisations système des utilisateurs ou des rôles (autorisations système directement attribuées aux utilisateurs ou aux rôles) :

select * from dba_sys_privs; 
select * from user_sys_privs; (查看当前用户所拥有的权限)
Copier après la connexion

. 3. Affichez les autorisations incluses dans le rôle (seuls les rôles détenus par l'utilisateur connecté peuvent être affichés)

sql>select * from role_sys_privs;
Copier après la connexion

4. Afficher les autorisations des objets utilisateur :

select * from dba_tab_privs; 
select * from all_tab_privs; 
select * from user_tab_privs;
Copier après la connexion

5. 6. Afficher les utilisateurs Ou le rôle détenu par le rôle :

select * from dba_roles;
Copier après la connexion

7. Vérifiez quels utilisateurs disposent des autorisations système sysdba ou sysoper (les autorisations correspondantes sont requises lors de l'interrogation)

select * from dba_role_privs; 
select * from user_role_privs;
Copier après la connexion

8. dans SqlPlus

select * from V$PWFILE_USERS
Copier après la connexion

9, méthode Oracle pour supprimer toutes les tables d'un utilisateur spécifié

SQL>select * from dba_sys_privs where grantee='username'; 其中的username即用户名要大写才行。
比如: SQL>select * from dba_sys_privs where grantee='TOM';
Copier après la connexion

10 Supprimer l'utilisateur

select 'Drop table '||table_name||';' from all_tables where owner='要删除的用户名(注意要大写)';
Copier après la connexion

11. Obtenez toutes les tables sous l'utilisateur actuel :

drop user user_name cascade; 如:drop user SMCHANNEL CASCADE
Copier après la connexion

12. Supprimez toutes les données de la table sous un certain utilisateur :

select table_name from user_tables;
Copier après la connexion

13. Les noms de contraintes de clé étrangère dans la base de données ORACLE se trouvent dans la table user_constraints.

où constraint_type='R' indique une contrainte de clé étrangère.

select 'truncate table ' || table_name from user_tables;
Copier après la connexion

Ensuite, utilisez SQL pour connaître les noms de contraintes de toutes les clés étrangères de la base de données :

启用外键约束的命令为:alter table table_name enable constraint constraint_name 
禁用外键约束的命令为:alter table table_name disable constraint constraint_name
Copier après la connexion

14 ORACLE désactive/active les clés étrangères et les déclencheurs - active les scripts

select 'alter table '||table_name||' enable constraint '||constraint_name||';' from user_constraints where constraint_type='R'select 'alter table '||table_name||' disable constraint '||constraint_name||';' from user_constraints where constraint_type='R'
Copier après la connexion
- désactive les scripts

SET SERVEROUTPUT ON SIZE 1000000
BEGIN
for c in (select 'ALTER TABLE '||TABLE_NAME||' ENABLE CONSTRAINT '||constraint_name||' ' as v_sql from user_constraints
where CONSTRAINT_TYPE='R') loop
DBMS_OUTPUT.PUT_LINE(C.V_SQL);
begin
EXECUTE IMMEDIATE c.v_sql;
exception when others then
dbms_output.put_line(sqlerrm);
end;
end loop; 
for c in (select 'ALTER TABLE '||TNAME||' ENABLE ALL TRIGGERS ' AS v_sql from tab where tabtype='TABLE') loop
dbms_output.put_line(c.v_sql);
begin
execute immediate c.v_sql;
exception when others then
dbms_output.put_line(sqlerrm);
end;
end loop;
end;
/ 
commit;
Copier après la connexion
.

Tutoriel recommandé : "

Tutoriel Oracle

"

Ce 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!

Étiquettes associées:
source:cnblogs.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal