天天看點

Oracle 資料泵遷移使用者建立 SQL語句

在進行資料泵遷移時,通常是按照使用者進行導入導出,是以需要确認目前資料庫中存在那些非系統使用者!

檢視資料庫中使用者狀态為 OPEN 的使用者:

select username,account_status,created,PROFILE from dba_users where account_status='OPEN' order by created;      

通過上述sql查詢出的結果中,根據

created

字段可以篩選掉非系統使用者!

檢視資料庫中的角色:

select * from dba_roles;      

建立使用者 SQL:

select 'create user ' || t.username || ' identified by values ' || chr(39) ||
       u.password || chr(39) || ' default tablespace ' ||
       t.default_tablespace || ' profile ' || p.name || ' Temporary TABLESPACE '|| TEMPORARY_TABLESPACE  ||';' create_user_withoutpass
  from dba_users t, sys.user$ u, sys.profname$ p, sys.user_astatus_map m
 where t.user_id = u.user#
   and u.resource$ = p.profile#
   and u.astatus = m.status#
   and t. username in ('需要建立的使用者名,用逗号隔開');      

使用者授權:

select 'GRANT connect,resource,unlimited tablespace,DBA to ' ||username|| ';' from dba_users where username in ('需要建立的使用者名,用逗号隔開');      

📢 注意:如果是使用expdp,則不需要建立使用者和授權!