>데이터 베이스 >Oracle >Oracle에 어떤 사용자가 있는지 확인하는 방법

Oracle에 어떤 사용자가 있는지 확인하는 방법

青灯夜游
青灯夜游원래의
2022-02-22 16:49:3539582검색

Oracle에서 사용자를 쿼리하는 방법: 1. "select * from all_users;" 문을 실행합니다. 3. "select * from user_users;"를 실행합니다.

Oracle에 어떤 사용자가 있는지 확인하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, Oracle 11g 버전, Dell G3 컴퓨터.

Oracle

1. 모든 사용자 보기:

select * from dba_users; 
select * from all_users; 
select * from user_users;

2 사용자 또는 역할 시스템 권한 보기(사용자 또는 역할에 직접 할당된 시스템 권한):

select * from dba_sys_privs; 
select * from user_sys_privs; (查看当前用户所拥有的权限)

3. 역할에 포함된 권한 보기(로그인한 사용자가 소유한 역할만 볼 수 있음)

sql>select * from role_sys_privs;

4. 사용자 개체 권한 보기:

select * from dba_tab_privs; 
select * from all_tab_privs; 
select * from user_tab_privs;

5 모든 역할 보기:

select * from dba_roles;

6. 사용자 보기 또는 역할이 소유한 역할:

select * from dba_role_privs; 
select * from user_role_privs;

7. 어떤 사용자가 sysdba 또는 sysoper 시스템 권한을 가지고 있는지 확인하세요(쿼리 시 해당 권한이 필요합니다)

select * from V$PWFILE_USERS

8. SqlPlus

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

9에서 지정된 사용자

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

10의 모든 테이블을 삭제하는 Oracle의 방법입니다. 현재 사용자 아래의 모든 테이블을 가져옵니다.

drop user user_name cascade; 如:drop user SMCHANNEL CASCADE

12. 특정 사용자의 모든 테이블 데이터 삭제:

select table_name from user_tables;

13. ORACLE 데이터베이스의 외래 키 제약 조건 이름은 user_constraints 테이블에서 찾을 수 있습니다.

여기서 Constraint_type='R'은 외래 키 제약 조건을 나타냅니다.

select 'truncate table ' || table_name from user_tables;
그런 다음 SQL을 사용하여 데이터베이스에 있는 모든 외래 키의 제약 조건 이름을 찾습니다.

启用外键约束的命令为:alter table table_name enable constraint constraint_name 
禁用外键约束的命令为:alter table table_name disable constraint constraint_name

14 ORACLE 비활성화/활성화 외래 키 및 트리거--스크립트 활성화

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'

--스크립트 비활성화

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;
추천 튜토리얼: "Oracle Tutorial

"

위 내용은 Oracle에 어떤 사용자가 있는지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.