分割槽表匯入資料庫

eric0435發表於2012-07-26
10G版本以前分割槽表匯入的方法:
分割槽表在匯入時,一般來說,有兩種情況
1、在匯入資料庫中,與被匯入表的分割槽相關的表空間已對等建立好(表空間名也是與exp資料庫中一致的),那麼這種情況,與普通表的imp操作是一樣的

2、但多數情況下,我們不知道exp資料庫中該表的物理結構,此時,可以執行以下步驟
  (1)、從dmp檔案中獲取分割槽表的物理結構,執行如下命令
                C:\Documents and Settings\qcui>imp qcui/qcui@ora9 file=d:\temp\p.dmp fromuser=bi
touser=qcui ignore=y tables=(dhfa_revenue_base) indexfile=d:\temp\dhfa.sql


經由直接路徑匯出由EXPORT:V09.02.00建立的匯出檔案

警告: 此物件由 BI 匯出, 而不是當前使用者

已經完成ZHS16GBK字符集和AL16UTF16 NCHAR 字符集中的匯入
. . 正在跳過分割槽 "DHFA_REVENUE_BASE":"PART_2004"

. . 正在跳過分割槽 "DHFA_REVENUE_BASE":"PART_2005"

. . 正在跳過分割槽 "DHFA_REVENUE_BASE":"PART_2006"

. . 正在跳過分割槽 "DHFA_REVENUE_BASE":"PART_2007"

. . 正在跳過分割槽 "DHFA_REVENUE_BASE":"PART_2008"

成功終止匯入,但出現警告。

  (2)、根據需要編輯該表的DDL指令碼(在本例中就是 d:\temp\dhfa.sql)。
         - 如果希望重新規劃該表的物理儲存結構,則可以先建立好表空間,然後直接編輯DDL指令碼,並建立該表
         - 如果希望分割槽表相關的分割槽表空間就按照exp庫組織,那麼建立好相關的表空間,直接執行該DDL指令碼,即可

3、執行分割槽表的匯入,匯入時比一般的imp操作,引數上多增加一個 ignore=y 就可以了

如果是10g及以上版本,可以使用引數REMAP_TABLESPACE 來對映表空間
1.在ascii資料庫中建立3個tablespaces:tbs1,tbs2,tbs3;

SQL> create tablespace tbs1 datafile 'tbs1_data1' size 10M;

Tablespace created.

SQL> create tablespace tbs2 datafile 'tbs2_data1' size 10M;

Tablespace created.

SQL> create tablespace tbs3 datafile 'tbs3_data1' size 10M;

Tablespace created.

2.建立分割槽資料庫表tbs_t:

SQL> create table tbs_t(a int ) partition by range(a)
  2  (
  3  partition tbs1 values less than (100),
  4  partition tbs2 values less than (200),
  5  partition tbs3 values less than (maxvalue));

Table created.

3.在tbs_t中插入資料commit後資料:

SQL> select * from tbs_t;

         A
----------
         1
         2
         3
       100
       101
       102
       103
       202
       402
       502
       602

11 rows selected.

4.使用expdp匯出資料表tbs_t:

E:/tmp>expdp scott/tiger directory=dump_dest tables=tbs_t parallel=2

Export: Release 10.2.0.1.0 - Production on Wednesday, 20 April, 2011 16:41:46

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
Starting "SCOTT"."SYS_EXPORT_TABLE_01":  scott/******** directory=dump_dest tables=tbs_t parallel=2
Estimate in progress using BLOCKS method...
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 192 KB
Processing object type TABLE_EXPORT/TABLE/TABLE
. . exported "SCOTT"."TBS_T":"TBS1"                      4.937 KB       3 rows
. . exported "SCOTT"."TBS_T":"TBS2"                      4.945 KB       4 rows
. . exported "SCOTT"."TBS_T":"TBS3"                      4.945 KB       4 rows
Master table "SCOTT"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SCOTT.SYS_EXPORT_TABLE_01 is:
  E:/TMP/EXPDAT.DMP
Job "SCOTT"."SYS_EXPORT_TABLE_01" successfully completed at 16:41:55

5.將產生的”E:/TMP/EXPDAT.DMP”檔案匯入無分割槽資料庫ocp10g;

SQL> select instance_name from v$instance;

INSTANCE_NAME
----------------
ocp10g

SQL> select tablespace_name from dba_tablespaces;

TABLESPACE_NAME
------------------------------
SYSTEM
UNDOTBS1
SYSAUX
TEMP
USERS
UNDOTBS2
EXAMPLE
USERTBS
USERTBS1
UNDO_SMALL

10 rows selected.

E:/tmp>impdp scott/tiger dumpfile=expdat.dmp directory=dump_dest remap_tablespace=tbs1:usertbs remap_tablespace=tbs2:usertbs remap_tablespace=tbs3:usertbs

Import: Release 10.2.0.1.0 - Production on Wednesday, 20 April, 2011 16:47:09

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
Master table "SCOTT"."SYS_IMPORT_FULL_01" successfully loaded/unloaded
Starting "SCOTT"."SYS_IMPORT_FULL_01":  scott/******** dumpfile=expdat.dmp directory=dump_dest remap_tablespace=tbs1:usertbs remap_tablespace=tbs2:use
rtbs remap_tablespace=tbs3:usertbs
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
. . imported "SCOTT"."TBS_T":"TBS1"                      4.937 KB       3 rows
. . imported "SCOTT"."TBS_T":"TBS2"                      4.945 KB       4 rows
. . imported "SCOTT"."TBS_T":"TBS3"                      4.945 KB       4 rows
Job "SCOTT"."SYS_IMPORT_FULL_01" successfully completed at 16:47:22

6.imp資料成功:

SQL> conn scott/tiger
Connected.
SQL> select * from tbs_t;

         A
----------
         1
         2
         3
       100
       101
       102
       103
       202
       402
       502
       602

11 rows selected.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26015009/viewspace-736950/,如需轉載,請註明出處,否則將追究法律責任。

相關文章