【发布时间】:2020-01-19 08:03:17
【问题描述】:
我正在尝试在 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 的用户创建了架构的备份。当我在另一个数据库中恢复该备份时,它说用户不存在。因此,我想先创建一个具有相同权限的用户,然后再恢复备份。
【问题讨论】:
-
用户创建和权限授予确实应该编写脚本并存储在源代码控制存储库中。
-
当我将整个架构从一个数据库刷新到另一个数据库时,我所做的是在导入之前删除所有目标架构对象,但不删除用户。
标签: oracle impdp expdp oracle-dump