Oracle でユーザーをクエリする方法: 1. "select * from dba_users;" ステートメントを実行します。 2. "select * from all_users;" ステートメントを実行します。 3. "select * from user_users;" ステートメントを実行します。 " 声明。
このチュートリアルの動作環境: 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;
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 サイトの他の関連記事を参照してください。