加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oracle迁移用户和权限

发布时间:2020-12-12 14:56:15 所属栏目:百科 来源:网络整理
导读:手工迁移用户主要涉及到profile、user、权限等: 1、如果有profile,得到profile的脚本 SELECTDISTINCTpi.nameFROMsys.profname$piWHEREpi.name!='DEFAULT'; SELECTDBMS_METADATA.GET_DDL('PROFILE','XXXXPFNAMEXXXX')FROMDUAL; 2、得到用户脚本 selectdbms_

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


1、如果有profile,得到profile的脚本
SELECTDISTINCTpi.nameFROMsys.profname$piWHEREpi.name!='DEFAULT';
SELECTDBMS_METADATA.GET_DDL('PROFILE','XXXXPFNAMEXXXX')FROMDUAL;
2、得到用户脚本
selectdbms_metadata.get_ddl('USER',username)fromdba_users;
密码可以直接使用密文,即和原来密码一致,如果需要对表空间等调整,可以自行调整脚本。
3、表空间权限脚本
selectdbms_metadata.get_granted_ddl('TABLESPACE_QUOTA',username)fromdba_userswhereusernamein(selectusernamefromdba_ts_quotas);
4、得到角色的权限(如果有自定义的角色需要之前迁移)
selectdbms_metadata.get_granted_ddl('ROLE_GRANT',username)fromdba_userswhereusernamein(SELECTgranteefromdba_role_privs);
5、得到系统权限脚本
selectdbms_metadata.get_granted_ddl('SYSTEM_GRANT',username)fromdba_userswhereusernamein(SELECTgranteefromdba_sys_privs)andusernamenotin('SYS','SYSTEM');
6、得到对象权限脚本
selectdbms_metadata.get_granted_ddl('OBJECT_GRANT',username)fromdba_userswhereusernamein(SELECTgranteefromdba_tab_privs)andusernamenotin('SYS','SYSTEM');

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读