在另一個資料庫中建立一個與原來資料庫中許可權一樣的使用者

mengzhaoliang發表於2008-12-22

OS:AIX5.3
Oracle:Oracle10.2.0.1.0
在另一個資料庫中建立一個與原來資料庫中許可權一樣的使用者


需求描述:在AA資料庫中存在一個lhomsmd使用者,現在需要在BB資料庫中建立一個xbomsmd使用者,建立的使用者的預設表空間、角色、對錶的許可權都和AA資料庫中的lhomsmd使用者一樣。

具體操作:
1、lhomsmd使用者在AA資料庫查詢的自己的預設表空間情況

select * from user_users

  在BB資料庫上用dba角色使用者相應的建立使用者

create user xbomsmd

identified by xbomsmd

default tablespace JBPM_SPACE;


  檢查是否正確
 
select * from dba_users where username='XBOMSMD';

2、lhomsmd使用者在AA資料庫查詢的自己所擁有的角色

select * from user_role_privs;

 
 在BB資料庫上用dba角色使用者賦予相應的角色
 
grant connect,resource to xbomsmd;

 驗證授權角色是否正確
select * from dba_role_privs where grantee='XBOMSMD';

3、lhomsmd使用者在AA資料庫查詢的自己所擁有的許可權

select *  from  session_privs;

 在BB資料庫中用dba角色使用者檢視XBOMSMD使用者的許可權

select * from dba_sys_privs where grantee='XBOMSMD';

 或者用XBOMSMD使用者檢視自己的許可權:
select * from session_privs;

  如果缺少許可權,可以進一步用dba角色的使用者授權:

grant debug connect session to xbomsmd;

4、lhomsmd使用者在AA資料庫檢視的自己所擁有的對錶、儲存過程、函式的許可權

select * from user_tab_privs;

把查詢出來的指令碼在BB資料庫中用DBA角色的使用者執行,這樣就可以把對應的儲存過程、函式賦予給了xbomsmd使用者

select  'grant execute on '||table_name||' to xbomsmd;'  from user_tab_privs   where privilege='EXECUTE';

把查詢出來的指令碼在BB資料庫中用DBA角色的使用者執行,這樣就可以把對應的表select許可權賦予給了xbomsmd使用者

select   'grant select on '||table_name||'  to xbomsmd;'   from   user_tab_privs   where privilege='SELECT';

把查詢出來的指令碼在BB資料庫中用DBA角色的使用者執行,這樣就可以把對應的表insert許可權賦予給了xbomsmd使用者

select   'grant insert on   '||table_name||' to xbomsmd;' from   user_tab_privs   where privilege='INSERT';


把查詢出來的指令碼在BB資料庫中用DBA角色的使用者執行,這樣就可以把對應的表update許可權賦予給了xbomsmd使用者

select   'grant update on '||table_name||' to xbomsmd;'   from   user_tab_privs   where privilege='UPDATE';

把查詢出來的指令碼在BB資料庫中用DBA角色的使用者執行,這樣就可以把對應的表delete許可權賦予給了xbomsmd使用者

select   'grant delete on '||table_name||' to xbomsmd;'   from   user_tab_privs   where privilege='DELETE';

用BB資料庫中dba角色的使用者檢視xbomsmd使用者的具體許可權:

select   *   from  dba_tab_privs   where   grantee='XBOMSMD';

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12778571/viewspace-520753/,如需轉載,請註明出處,否則將追究法律責任。

相關文章