一位客户向我们发送了一个我们需要对其进行测试的 Oracle 数据库。我们不使用 Oracle 或拥有任何内部 Oracle 专业知识。
我们需要设置数据库,以便我们可以连接到它并调试问题。
我全新安装了 Oracle 9(客户端运行的版本)和管理工具。
对于我的一生,我无法让它导入数据。不应该这么复杂。我一定是弄错了。
我试过了:
imp 'sys/password AS SYSDBA' file=c:\database.dmp full=yes log=implog.txt
Run Code Online (Sandbox Code Playgroud)
并得到:
Connected to: Personal Oracle9i Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
Export file created by EXPORT:V09.02.00 via conventional path
Warning: the objects were exported by SYSTEM, not by you
import done in WE8MSWIN1252 character set and AL16UTF16 NCHAR character set
. importing SYSTEM's objects into SYS
. importing ABCDE's objects into ABCDE
IMP-00003: ORACLE error 1435 encountered
ORA-01435: user does not exist
Import terminated successfully with warnings.
Run Code Online (Sandbox Code Playgroud)
但是就任何模式中的表而言,管理器中没有任何显示,我不知所措。
小智 31
您需要先创建一个用户(或架构)
C:\>sqlplus system/password
SQL> create user CLIENT_TEST identified by client_test_password;
SQL> grant connect, unlimited tablespace, resource to CLIENT_TEST;
SQL> exit
Run Code Online (Sandbox Code Playgroud)
然后您可以使用fromuser=和touser= IMP 开关将数据导入新用户/模式:
C:\>imp system/password FROMUSER=ABCDE TOUSER=client_test file=c:\database.dmp full=yes
Run Code Online (Sandbox Code Playgroud)
希望有帮助!
小智 12
在 Oracle 中以 SYS 或 SYSTEM 身份创建表并不常见,因为这两个帐户是管理员。
错误意味着您的客户以 user 身份创建了表ABCDE。
您应该在导入之前创建该用户,然后您应该以该用户身份导入数据,
这应该消除错误,因为导出的文件包含与ABCDE数据库中不存在的用户相关的权限和其他信息。
检查此问题以获取其他提示:如何确定 Oracle 数据泵导出文件中的模式。
您首先需要创建用户“ABCDE”
就像是
在 SQL*PLUS 中:
create user ABCDE identified by password;
grant connect, resource to ABCDE;
Run Code Online (Sandbox Code Playgroud)
“创建用户”有一个squillion 选项,但这将使用默认值。
| 归档时间: |
|
| 查看次数: |
200102 次 |
| 最近记录: |