0

我目前正在尝试复制名称为小写的模式。因此,为了通过我进行连接,sqlplus我只需执行以下操作:

sqlplus \"schema_name\"/schema_pass@localhost/DBRAZRAB

效果很好。

当然,我天真地为expdp/尝试了相同的方法impdp,但这一次不起作用:

[oracle@3e7716e807ed ~]$ expdp \"schema_name\"/schema_pass@localhost/DBRAZRAB schemas=\"schema_name\" <...>

Export: Release 19.0.0.0.0 - Production on Thu Mar 3 13:44:43 2022
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
Password: 

有人可以给我一个提示,我做错了什么?我应该使用哪种格式?

4

2 回答 2

0

唔。文档确实提到引号可能是调用 expdp/impdp 的问题,并建议使用 PARFILE,但这对用户名问题没有帮助。

作为一种解决方法,您可以以 SYSTEM(或具有 DATAPUMP_EXP_FULL_DATABASE 权限的类似用户)身份运行导出:

sqlplus SYSTEM/pass@localhost/DBRAZRAB PARFILE=params.txt

使用如下参数文件:

SCHEMAS="schema_name"
DUMPFILE=...etc...
于 2022-03-03T14:53:05.457 回答
0

经过一个晚上的研究,我想出了以下几点:

添加了具有权限的用户DATAPUMP_EXP_FULL_DATABASEDATAPUMP_IMP_FULL_DATABASE

配置 parfile 并应用它们:

schema_exp.par:

SCHEMAS=\"schema_123\"
DUMPFILE=schema.dmp
DIRECTORY=schema_dir
LOGFILE=schema_exp.log
[oracle@3e7716e807ed ~]$ expdp expimp_user/expimp_pass@localhost/DBRAZRAB parfile=/schema_exp.par

schema_imp.par:

SCHEMAS=\"schema_123\"
DUMPFILE=schema.dmp
DIRECTORY=schema_dir
LOGFILE=schema_imp.log
REMAP_SCHEMA=\"schema_123\":SCHEMA_123
REMAP_TABLESPACE=\"schema_123\":SCHEMA_123
[oracle@3e7716e807ed ~]$ impdp expimp_user/expimp_pass@localhost/DBRAZRAB parfile=/schema_imp.par
于 2022-03-04T08:34:02.943 回答