问题描述
环境
Linux 上的 Oracle 19c
cat export_schema.par
DIRECTORY=USER_CLONE
DUMPFILE=export_user.dmp
schemas=USER@YAHOO.CA
导出失败,出现“USER”未找到错误。
不知何故,@ 及其之后的任何内容都被忽略了。
我尝试了“”转义字符,如下所示。
DIRECTORY=USER_CLONE
DUMPFILE=export_user.dmp
schemas=USER\@YAHOO.CA
导出失败,出现“USER@YAHOO.CA”未找到错误。
关于如何在 par 文件或命令行中转义“@”的任何建议。
提前致谢。
解决方法
这个架构名称从何而来? Oracle 模式/用户名通常不能包含“@”字符。来自文档:
未加引号的标识符只能包含数据库字符集中的字母数字字符和下划线 (_)。
不建议在用户名和其他标识符上使用双引号强制使用其他特殊字符,因为它与大多数客户端应用程序不兼容,并且会强制任何对架构的引用使用双引号括起来。在像数据泵这样的应用程序中,无论如何都可以用双引号偏移模式名称,可能不可能有这样的字符。
,您确定您的用户名是“USER@YAHOO.CA”吗?如果您例如,它也可以是您的外部名称使用 Kerberos 身份验证。
尝试像这样获取您的用户名:
SELECT USERNAME FROM USER_USERS
问候, 丹尼尔