2016-07-22 1 views
0

데이터베이스 : Oracle 12c전체 파티션을 다른 데이터베이스의 다른 테이블로 이동하는 방법?

단일 파티션 또는 파티션 세트를 테이블에서 분리하거나 DB1에서 테이블 세트를 분리하여 다른 데이터베이스의 다른 테이블로 이동하려고합니다. 성능상의 이유로이 작업을 수행하는 DML을 피하고 싶습니다 (빠른 속도가 필요합니다).

각 파티션에는 3 억 ~ 4 억 개의 레코드가 포함됩니다. 각 파티션은 약 300 개의 하위 파티션으로 나뉩니다.

작업을 자동화해야합니다.

일부의 생각은 내가했다 :

  • 은 어떻게 든 소스에서 분리하고 대상에 부착 한 후, 생성시 그 자체가 데이터 파일에 각 파티션을 넣어?
  • 은 (안 기록별로 기록)
  • 아닌 모든 DML다른 솔루션은 또한 DB # 2에 모두에서 부품 번호 (33)를 이동 (

예를 WELCOM하는 전체 파티션을 추출 바람직하게는 단일 조작으로) :

__________________    __________________ 
| DB#1    |   | DB#2    | 
|------------------|   |------------------| 
|Table1   |   |Table1   | 
| Part#1   |   | Part#1   | 
| ...   |   | ...   | 
| Part#33  | ----> | Part#32  | 
|  Subpart#1 |   |     | 
|  ...   |   |     | 
|  Subpart#300 |   |     | 
|------------------|   |------------------| 
|Table2   |   |Table2   | 
| Part#1   |   | Part#1   | 
| ...   |   | ...   | 
| Part#33  | ----> | Part#32  | 
|  Subpart#1 |   |     | 
|  ...   |   |     | 
|  Subpart#300 |   |     | 
|__________________|   |__________________| 
+2

당신은 테이블 (EXCHANGE) 테이블 파티션을 교환하고, 같은에서 특정 데이터 파일 (들)에 매핑 된 이동 가능한 테이블 스페이스로 이동할 수 있습니다. – TenG

답변

관련 문제