2012-08-06 7 views
6

거대한 오라클 데이터베이스의 덤프가 있으므로 모든 것을 가져올 수 없습니다. X라는 특정 테이블을 가져 오려고합니다. 문제는 X에 외래 키가 있다는 것입니다. , 나는 것을 달성 할 수있는 방법은 X와 연관된 모든 테이블을 가져올 (그러나 데이터가없는)oracle 덤프 파일에서 특정 테이블을 가져 오시겠습니까?

imp user/[email protected] tables=X rows=y ignore=Y 
ORA-02291: integrity constraint violated - parent key not found 

이 이미 로컬 전체 DB를 가지고 : 난 그냥 X를 가져 오는 경우, 나는 다음과 같은 오류가 발생합니다 ? 나는 plsql을 설치했다. 또한 처음에 가져올 테이블을 알기 위해이 테이블의 순서를 알아야합니다.

답변

1

내가 하나 하나 대답하려고 있도록 몇 가지 질문이 있습니다. 당신은 당신이 아니라 당신이 이미 당신이 말한대로 DB를 가지고 있기 때문에 플래그 CONSTRAINTS=N을 사용할 수 있습니다 그런데 테이블 X에 대한 부모 레코드가없는 알고

ORA-02291: integrity constraint violated - parent key not found 

아니 생각할

때문에이 추측합니다.

"X와 연결된 모든 테이블을 가져오고 싶습니다. 어떻게 할 수 있습니까?"

음 수동으로 모든 종속성을 찾을 수 있습니다 (또는 데이터 사전 테이블 user_cons_columns, user_constraints 등 조회에 사용)뿐만 아니라 그 테이블을 가져올하지만 옵션을 선택합니다. 네가 그렇게하지 않는다면 생각 해봐. 데이터 무결성을 깨뜨릴 것입니다. 종속성없이 여전히 테이블 X에 해당 데이터를 원한다면 제약 조건을 비활성화 한 다음 가져 오십시오. 그러나 당신은 당신의 제약을 다시 가능하게하지 않을 것이고, 당신이 부서진 데이터로 무엇을하고 싶은지 모르겠다.

"처음에 가져올 테이블을 알기 위해서는이 테이블의 순서를 알아야합니다."

가져 오기 전에 제약 조건을 비활성화하고 가져온 후에 활성화하십시오. 이 경우 주문에 대해 걱정할 필요가 없습니다.

관련 문제