我正在尝试导出Oracle中的模式/用户及其角色和系统权限。我不想导出任何数据或表。我尝试使用以下命令导出用户。
expdp system/system@gisdblocal include=user DIRECTORY = TestBack
logfile=test12.log DUMPFILE=test12.dmp SCHEMAS=test_replication
字符串
当我在其他数据库或同一数据库中导入不同的名称时,即
impdp system/system@gisdblocal DIRECTORY = TestBack DUMPFILE = test12.dmp
SCHEMAS = test_replication REMAP_SCHEMA =
test_replication:test_replication_copy
型
用户或模式已创建,但尚未授予其任何角色或系统权限。
我这样做是因为我使用不具有所需权限DATAPUMP_IMP_FULL_DATABASE或DATAPUMP_EXP_FULL_DATABASE的用户创建了架构的备份。当我在另一个数据库中还原该备份时,它说用户不存在。因此,我想先创建一个具有相同权限的用户,然后恢复备份。
3条答案
按热度按时间kqhtkvqz1#
正在使用SQL...
字符串
:name是...要重新创建的USER的绑定变量。
wgmfuz8q2#
我发现dba_tab_privs中有一些用户权限,但在上面的SQL结果中没有。
参数OBJECT_COUNT的默认值为10,000。
reset object_count=>3000000获取所有行。
字符串
wn9m85ua3#
我一般使用下面的,(替换XXXXX与您的用户名)
第一个月
SELECT DBMS_METADATA.GET_DDL('USER',username) from DBA_USERS where username='XXXXX';
个SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT',grantee) from DBA_SYS_PRIVS where grantee='XXXXX';
个SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT',grantee) from DBA_ROLE_PRIVS where grantee='XXXXX';
个SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT',grantee) from DBA_TAB_PRIVS where grantee='XXXXX';
个希望对你有帮助!!