分割槽表入無分割槽的資料庫

eric0435發表於2012-12-10
版本以前分割槽表匯入的方法:
分割槽表在匯入時,一般來說,有兩種情況
1、在匯入中,與被匯入表的分割槽相關的表空間已對等建立好(表空間名也是與exp資料庫中一致的),那麼這種情況,與普通表的imp操作是一樣的
2、但多數情況下,我們不知道exp資料庫中該表的物理結構,此時,可以執行以下步驟
(1)、從dmp檔案中獲取分割槽表的物理結構,執行如下命令
C:Documents and Settingsqcui>imp qcui/qcui@ora9 file=d:tempp.dmp fromuser=bi
touser=qcui ignore=y tables=(dhfa_revenue_base) indexfile=d:tempdhfa.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:tempdhfa.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 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, , Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and 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.
[@more@]

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

相關文章