ホームページ > データベース > Oracle > Oracle にどのユーザーがいるかを確認する方法

Oracle にどのユーザーがいるかを確認する方法

青灯夜游
リリース: 2022-02-22 17:08:53
オリジナル
39575 人が閲覧しました

Oracle でユーザーをクエリする方法: 1. "select * from dba_users;" ステートメントを実行します。 2. "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. Oracle で指定したユーザーのすべてのテーブルを削除する方法

select 'Drop table '||table_name||';' from all_tables where owner='要删除的用户名(注意要大写)';
ログイン後にコピー

10. ユーザーを削除します

drop user user_name cascade; 如:drop user SMCHANNEL CASCADE
ログイン後にコピー

11. 現在のユーザーの下にあるすべてのテーブルを取得します:

select table_name from user_tables;
ログイン後にコピー

12. すべてのテーブルを削除します特定のユーザー :

select 'truncate table ' || table_name from user_tables;
ログイン後にコピー

13 のデータ。外部キー制約は禁止されています。ORACLE データベース内の外部キー制約名は、表 user_constraints にあります。

constraint_type='R' は、外部キー制約を示します。

启用外键约束的命令为:alter table table_name enable constraint constraint_name 
禁用外键约束的命令为:alter table table_name disable constraint constraint_name
ログイン後にコピー

次に、SQL を使用してデータベース内のすべての外部キーの制約名を見つけます:

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'
ログイン後にコピー

14. ORACLE は外部キーとトリガーを無効または有効にします。 - - スクリプトを有効にする

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;
ログイン後にコピー

--スクリプトを無効にする

SET SERVEROUTPUT ON SIZE 1000000
BEGIN
for c in (select 'ALTER TABLE '||TABLE_NAME||' DISABLE 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||' DISABLE 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 中国語 Web サイトの他の関連記事を参照してください。

ソース:cnblogs.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート