使用Oracle“;“创建用户”;命令不会自动创建关联的架构

使用Oracle“;“创建用户”;命令不会自动创建关联的架构,oracle,oracle11g,Oracle,Oracle11g,我刚刚开始Oracle数据导出和导入,第一次工作时一切都很好。但是第二天我回来了,在相同的系统上重复了完全相同的步骤,但是得到了ORA-01435:用户不存在错误 所有机器的系统规格: -操作系统:Windows 2012 R2 x64 -Oracle服务器:Oracle 11G Express x64 目标: 我正在从Oracle server 1导出数据并导入到Oracle server 2 程序: 从Oracle server 1导出数据转储成功 但在Oracle server 2上导入数

我刚刚开始Oracle数据导出和导入,第一次工作时一切都很好。但是第二天我回来了,在相同的系统上重复了完全相同的步骤,但是得到了ORA-01435:用户不存在错误

所有机器的系统规格:

-操作系统:Windows 2012 R2 x64

-Oracle服务器:Oracle 11G Express x64

目标: 我正在从Oracle server 1导出数据并导入到Oracle server 2

程序: 从Oracle server 1导出数据转储成功

但在Oracle server 2上导入数据转储时,我遵循以下过程:

-停止IIS服务

净停止时间为

在导入之前创建架构/用户帐户并授予特权

net stop WAS

sqlplus / as sysdba;

CREATE user PIE1 identified by PASS1;

GRANT ALL PRIVILEGES TO PIE1;

GRANT IMP_FULL_DATABASE TO PIE1;
根据甲骨文,一切进展顺利,但看看下面的第一张图片。在DBeaver中,我可以看到只创建了用户帐户PIE1,而没有创建模式。

问题1:根据Oracle,命令“Create User”应该也创建一个关联的模式。有人知道为什么这不再适用于我吗?它在前一天晚上工作过一次

然后,我继续执行以下导入程序:

imp PIE1/PASS1@xe file=c:\Backups\AVUSER2_6_7.dmp log=c:\Backups\import.log fromuser=AVUSER2_6_7 touser=PIE1;
但会出现以下错误:

Oracle声称该用户不存在,即使它存在。我重复了整个过程,甚至创建了一个相同的导入/导出用户帐户和凭据,但仍然会出现此错误

问题2:你知道为什么Oracle“找不到”数据库中清晰可见的用户帐户吗

其他信息:

  • 检查我的windows帐户是否在管理员组中

  • 检查我的windows帐户是否在ORA_DBA组中

  • 以管理员身份打开所有CMD提示符


  • 正如您所暗示的,用户和模式在Oracle中是一样的,没有模式就不能有用户。不知道DBeaver,但因为还有其他用户没有在“模式”下列出(根据您的第二张图片-匿名,DIP,…),这似乎是不相关的

    (纯粹是猜测,但可能您在DBeaver中连接的用户根本看不到这些用户拥有的任何对象-可能它只列出了可以在
    中看到的所有对象的用户,比如说。纯粹是推测,但您可以在通过SQL*Plus连接时查看数据字典,作为同一用户进行调查,这是一个错误。)n隐藏空模式的选项…)

    导入正在以
    PIE1
    的形式成功连接-如果没有,您将看到另一个错误ORA-01017,并且您不会看到“连接到…”横幅或之后的任何内容

    您的导入命令后面有一个分号,该分号不应出现。“将…对象导入”消息显示它正试图导入到
    PIE1;
    用户,而不是您实际创建的用户,
    PIE1
    。请删除该分号,然后重试


    顺便说一下,您可能还可以删除<代码> @ xe>代码> TNS别名,并坚持本地连接,假设环境是在运行SQL*Plus时配置的。您还应该考虑使用DATAPUMP EXDP/IMPDP,而不是传统EXP/IMP.I/P>,有可能在DBeAver中刷新用户文件夹,但模式是FOLL。der不是?导入错误可能是因为

    FROMUSER
    而不是
    TOUSER
    ;您确定转储文件包含用户AVUSER2_6_7吗?嗨,Jon,我已经用相同的结果刷新了整个树。我还注意到,即使在手动创建架构之后。在运行导入后,架构也会被删除。你真的在使用导出数据转储和常规导入吗?或者这是一个输入错误?我认为这两个命令不兼容。你能包含你使用的完整导出命令吗?问题是“导出数据转储”,而不是“泵”-我一开始也误读了*8-)作为旁白,虽然我可以理解您希望在屏幕截图中显示DBeaver GUI差异,但最好包含命令行会话的文本,而不是这些会话的图像-更易于阅读,而且它们可以搜索,有些人根本无法访问这些图像。嗨,Alex,抱歉,我现在不在电脑旁。我想你关于删除touser名称后多余分号的建议可能会管用(不记得为什么我一开始就这么专注于添加分号)。等我回到电脑让你知道后,我会试试的。感谢大家的反馈…新年快乐,原来我需要一个假期…正如亚历克斯所说,图瑟的名字后面加了一个分号。谢谢你抓到了…我一定是用错误的命令更新了我的文档,而忽略了检查实际的格式。