我目前正在尝试复制一个名称为小写的架构。因此,为了通过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: 有人能给我个提示吗,我做错什么了?我应该使用哪种格式?
发布于 2022-03-03 14:53:05
嗯。文档中确实提到,在调用expdp/impdp和建议使用PARFILE时,引号可能是一个问题,但这无助于解决用户名问题。
作为解决办法,您可以以系统(或具有DATAPUMP_EXP_FULL_DATABASE特权的类似用户)的身份运行导出:
sqlplus SYSTEM/pass@localhost/DBRAZRAB PARFILE=params.txt具有如下参数文件:
SCHEMAS="schema_name"
DUMPFILE=...etc...发布于 2022-03-04 08:34:02
经过一个晚上的研究,我得出如下结论:
添加了一个具有DATAPUMP_EXP_FULL_DATABASE,DATAPUMP_IMP_FULL_DATABASE权限的用户;
配置parfiles并应用它们:
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.parschema_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.parhttps://stackoverflow.com/questions/71338731
复制相似问题