Oracle DMP 파일을 Oracle의 새로 설치로 가져 오기


29

클라이언트가 테스트해야 할 Oracle 데이터베이스를 우리에게 보냈습니다. Oracle을 사용하거나 사내 Oracle 전문 지식이 없습니다.

데이터베이스에 연결하여 문제를 디버깅 할 수 있도록 데이터베이스를 설정해야합니다.

Oracle 9 (클라이언트가 실행중인 버전)와 관리 도구를 새로 설치했습니다.

내 인생에서는 데이터를 가져올 수 없습니다. 이 복잡한해서는 안됩니다. 뭔가 잘못되고있는 것 같습니다.

난 노력 했어:

imp 'sys/password AS SYSDBA' file=c:\database.dmp full=yes log=implog.txt

그리고 얻었다 :

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.

그러나 스키마의 테이블에 이르기까지 관리자에는 아무것도 나타나지 않으며 나는 끝났습니다.


감사합니다, 정확한 문제입니다. 오라클 덤프가 있고 가져와야합니다. 매우 직관적 아니라, 거의 모든 다른 데이터베이스 시스템에 비해
namezero

답변:


28

먼저 사용자 (또는 스키마)를 작성해야합니다.

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

그런 다음 fromuser=touser= IMP 스위치를 사용하여 데이터를 새 사용자 / 스키마로 가져올 수 있습니다 .

C:\>imp system/password FROMUSER=ABCDE TOUSER=client_test file=c:\database.dmp full=yes

희망이 도움이됩니다!


ORA-65096 : 유효하지 않은 공통 사용자 또는 역할 이름
Kvasi

12

두 계정이 관리자이므로 Oracle에서 SYS 또는 SYSTEM으로 테이블을 작성하는 것은 일반적이지 않습니다.

오류는 클라이언트가 user로 테이블을 작성했음을 의미합니다 ABCDE.

가져 오기 전에 해당 사용자를 만든 다음 해당 사용자로 데이터를 가져와야합니다.

내 보낸 파일 ABCDE에 데이터베이스에 존재하지 않는 사용자와 관련된 권한 및 기타 정보가 포함되어 있으므로 오류를 제거해야 합니다.

이 힌트에서 추가 힌트 를 확인하십시오 : Oracle Data Pump Export 파일 내부의 스키마를 결정하는 방법.


7

먼저 "ABCDE"사용자를 작성해야합니다.

같은 것

SQL * PLUS에서 :

create user ABCDE identified by password;
grant connect, resource to ABCDE;

"사용자 만들기"에는 옵션이 있지만 기본값을 사용합니다.


3

클라이언트가 덤프 파일을 생성 한 방법에 대한 세부 사항을 제공 했습니까? 특히 이것이 스키마 레벨 내보내기, 테이블 스페이스 레벨 내보내기 또는 테이블 레벨 내보내기가 아닌 전체 내보내기인지 확실합니까?


관련 질문이 있습니다. 그것에 대해 기꺼이 의견을 제시 하시겠습니까? 링크는 다음과 같습니다. dba.stackexchange.com/questions/130515/…
CodeMed

3

'sys / password AS SYSDBA'대신 'system / password'를 시도하십시오.

sys가 "모든 강력한"사용자 임에도 불구하고 Oracle 도구를 사용하려면 내보내기를 생성 한 것과 동일한 사용자를 가져와야합니다.


1

가져 오는 데이터가 실제로 SYS 사용자가 .dmo 파일로 내보내 졌다는 경고가 표시되었습니다. 이 시도..

C:\oracle\ora92\bin>imp sys/pwd@dbname file=c:\database.dmp full=yes

dbname은 제공 한 데이터베이스 이름입니다.


0
c:\\ imp database name/password@oracle9i file=xyz,dmp grants=n ignore=y 
  fromuser=database name touser=database name

1
당신은 설명으로 답을 명확하게하는 방법이 작동, 매개 변수가 무엇인지, 무엇이든 정말 그냥 명령 줄 이상.
Max Vernon
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.