Oracle迁移用户和权限

来源:互联网 发布:节拍器软件电脑版 编辑:程序博客网 时间:2024/06/06 09:33

手工迁移用户主要涉及到profile、user、权限等: 


1、如果有profile,得到profile的脚本 
SELECT DISTINCT pi.name  FROM sys.profname$ pi WHERE pi.name != 'DEFAULT'; 
SELECT DBMS_METADATA.GET_DDL('PROFILE','XXXXPFNAMEXXXX') FROM DUAL; 
2、得到用户脚本 
select dbms_metadata.get_ddl ('USER', username)  from dba_users ; 
密码可以直接使用密文,即和原来密码一致,如果需要对表空间等调整,可以自行调整脚本。 
3、表空间权限脚本 
select dbms_metadata.get_granted_ddl('TABLESPACE_QUOTA',username) from dba_users where username in(select username from   dba_ts_quotas ); 
4、得到角色的权限(如果有自定义的角色需要之前迁移) 
select dbms_metadata.get_granted_ddl ('ROLE_GRANT',username)  from dba_users where username  in(SELECT grantee from dba_role_privs); 
5、得到系统权限脚本 
select dbms_metadata.get_granted_ddl ('SYSTEM_GRANT', username)  from dba_users where username  in(SELECT grantee from   dba_sys_privs ) and username not in ('SYS','SYSTEM'); 
6、得到对象权限脚本 
select dbms_metadata.get_granted_ddl ('OBJECT_GRANT',  username)  from dba_users where username  in(SELECT grantee from  dba_tab_privs) and username not in ('SYS','SYSTEM');
0 0
原创粉丝点击