set linesize 200set long 100000set wrap oncol "Create_User_DDL" for a200 wrapped worddefine UserName="'VINCENT'"-- 修改 UserName,查詢其他的已存在帳號select dbms_metadata.get_ddl('USER',&UserName) "Create_User_DDL" from dual;-- 結果 IDENTIFIED BY VALUES 後面的一串亂碼就是密碼的密值-- 你可以 alter user XXX identified by 'XXX'; 修改密碼搞破壞-- 然後根據密值 alter user XXX identified by values 'xxxx';-- 還原密碼,神不知那個神不曉-- 當然你有管理員權限,再去改其他使用者的密碼,本身就是畫蛇添足...select dbms_metadata.get_granted_ddl('SYSTEM_GRANT',&UserName) "Grant dba_sys_privs DDL" from dual;-- dba_sys_privsselect dbms_metadata.get_granted_ddl('ROLE_GRANT',&UserName) "Grant dba_sys_privs DDL" from dual;-- dba_role_privs-- 通過查詢許可權表產生授權語句的方法,和get_granted_ddl的方法二選一即可select 'grant '||PRIVILEGE||' to '||GRANTEE|| decode(ADMIN_OPTION,'NO',';','YES',' with admin option;') "Grant dba_sys_privs DDL" from dba_sys_privs where grantee=&UserName;select 'grant '||GRANTED_ROLE||' to '||GRANTEE|| decode(ADMIN_OPTION,'NO',';','YES',' with admin option;') "Grant dba_sys_privs DDL" from dba_role_privs where grantee=&UserName;-- 如果一個使用者只被授予了RESOURCE,CONNECT兩個角色-- 也就是一個基本的業務帳號許可權-- 那麼它擁有的dba_sys_privs只有一個:'UNLIMITED TABLESPACE'-- 擁有的 dba_role_privs有兩個:'RESOURCE','CONNECT'-- 並且這仨許可權ADMIN_OPTION均為 'NO'