使用數(shù)據(jù)泵時LOB字段存放位置在哪

這篇文章將為大家詳細講解有關(guān)使用數(shù)據(jù)泵時LOB字段存放位置在哪,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

我們提供的服務有:成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、憑祥ssl等。為上千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術(shù)的憑祥網(wǎng)站制作公司

在遷移過程中,我們很多時候通過數(shù)據(jù)泵方式遷移(expdp/impdp),方便快捷,那么如果涉及到含有LOB字段的表呢,他們是怎么存放呢?

下面 我們就做一個簡單的測試,測試環(huán)境,Oracle11.2.0.4, redhat6.7 x64

創(chuàng)建一個含有l(wèi)ob字段的表,如下:

點擊(此處)折疊或打開

  1. SQL> conn test/test

  2. Connected.

  3. SQL> Create table testlob (A number, B clob) LOB(b) STORE AS(TABLESPACE users);   --注意,此處已指定表空間為USERS(當然,不建議使用USERS表空間,這里僅僅測試 )

  4. Table created.

  5. SQL> insert into testlob select object_id,object_name from dba_objects where object_id is not null;

  6. 86387 rows created.

  7. SQL> commit;

  8. Commit complete.

查看一下相關(guān)信息, TESTLOB表對應的表空間為TEST   其lob字段所在表空間為USERS

點擊(此處)折疊或打開

  1. SQL> set lines 2000

  2. SQL> col owner for a15

  3. SQL> col table_name for a15

  4. SQL> col column_name for a10

  5. SQL> col segment_name for a15

  6. SQL> col index_name for a15

  7. SQL> select owner,table_name,column_name,segment_name,index_name,tablespace_name from dba_lobs where table_name='TESTLOB';

  8. OWNER           TABLE_NAME      COLUMN_NAM SEGMENT_NAME    INDEX_NAME      TABLESPACE_NAME

  9. --------------- --------------- ---------- --------------- --------------- ------------------------------

  10. TEST TESTLOB         B          SYS_LOB00000880 SYS_IL000008802 USERS

  11.                                            26C00002$$      6C00002$$

  12. SQL>

  13. SQL> select table_name,owner,tablespace_name from dba_tables where table_name='TESTLOB';

  14. TABLE_NAME      OWNER           TABLESPACE_NAME

  15. --------------- --------------- ------------------------------

  16. TESTLOB TEST TEST


在當前庫中創(chuàng)建一個新的表空間FIRSOULER,用戶FIRSOULER

并執(zhí)行導入導出操作

點擊(此處)折疊或打開

  1. oracle@mystandby dump]$ expdp test/test directory=sh_dmp DUMPFILE=testlob_ddl.dmp tables=testlob logfile=testlob.log content=METADATA_ONLY

  2. Export: Release 11.2.0.4.0 - Production on Fri Sep 29 15:32:00 2017

  3. Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

  4. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

  5. With the Partitioning, OLAP, Data Mining and Real Application Testing options

  6. Starting "TEST"."SYS_EXPORT_TABLE_01": test/******** directory=sh_dmp DUMPFILE=testlob_ddl.dmp tables=testlob logfile=testlob.log content=METADATA_ONLY

  7. Processing object type TABLE_EXPORT/TABLE/TABLE

  8. Master table "TEST"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded

  9. ******************************************************************************

  10. Dump file set for TEST.SYS_EXPORT_TABLE_01 is:

  11.   /backup/dump/testlob_ddl.dmp

  12. Job "TEST"."SYS_EXPORT_TABLE_01" successfully completed at Fri Sep 29 15:32:11 2017 elapsed 0 00:00:11


下面生成建表語句:

點擊(此處)折疊或打開

  1. [oracle@mystandby dump]$ impdp firsouler/abc  directory=sh_dmp dumpfile=testlob.dmp sqlfile=testlob01.sql

  2. Import: Release 11.2.0.4.0 - Production on Fri Sep 29 15:33:52 2017

  3. Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

  4. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

  5. With the Partitioning, OLAP, Data Mining and Real Application Testing options

  6. Master table "FIRSOULER"."SYS_SQL_FILE_FULL_01" successfully loaded/unloaded

  7. Starting "FIRSOULER"."SYS_SQL_FILE_FULL_01": firsouler/******** directory=sh_dmp dumpfile=testlob.dmp sqlfile=testlob01.sql

  8. Processing object type TABLE_EXPORT/TABLE/TABLE

  9. Job "FIRSOULER"."SYS_SQL_FILE_FULL_01" successfully completed at Fri Sep 29 15:33:54 2017 elapsed 0 00:00:01

LOB 還是原來的表空間

點擊(此處)折疊或打開

  1. CREATE TABLE "TEST"."TESTLOB"

  2.    ( "A" NUMBER,

  3.         "B" CLOB

  4.    ) SEGMENT CREATION IMMEDIATE

  5.   PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255

  6.  NOCOMPRESS LOGGING

  7.   STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

  8.   PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1

  9.   BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)

  10.   TABLESPACE "TEST"

  11.  LOB ("B") STORE AS BASICFILE (

  12.   TABLESPACE "FIRSOULER" ENABLE STORAGE IN ROW CHUNK 8192

  13.   NOCACHE LOGGING

  14.   STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

  15.   PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1

  16.   BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT))


下面再測試一下,lob使用默認表空間情況;

點擊(此處)折疊或打開

  1. SQL> conn test/test

  2. Connected.

  3. SQL>

  4. SQL>

  5. SQL> Create table testlob (A number, B clob) LOB(b) STORE AS(enable storage in row);

  6. Table created.

  7. SQL> insert into testlob select object_id,object_name from dba_objects where object_id is not null;

  8. 86390 rows created.

  9. SQL> commit;

  10. Commit complete.

  11. SQL> set lines 2000

  12. SQL> col owner for a15

  13. SQL> col table_name for a15

  14. SQL> col column_name for a10

  15. SQL> col segment_name for a15

  16. SQL> col index_name for a15

  17. SQL> select owner,table_name,column_name,segment_name,index_name,tablespace_name from dba_lobs where table_name='TESTLOB';

  18. OWNER           TABLE_NAME      COLUMN_NAM SEGMENT_NAME    INDEX_NAME      TABLESPACE_NAME

  19. --------------- --------------- ---------- --------------- --------------- ------------------------------

  20. TEST TESTLOB         B          SYS_LOB00000882 SYS_IL000008821 TEST

  21.                                            13C00002$$      3C00002$$

  22. SQL>

  23. SQL> select table_name,owner,tablespace_name from dba_tables where table_name='TESTLOB';

  24. TABLE_NAME      OWNER           TABLESPACE_NAME

  25. --------------- --------------- ------------------------------

  26. TESTLOB TEST TEST


查看建表語句,如下,在創(chuàng)建lob字段表時,如果默認,那么后續(xù)在遷移也會找當時的默認表空間:

點擊(此處)折疊或打開

  1. [oracle@mystandby dump]$ impdp firsouler/abc  directory=sh_dmp dumpfile=testlob01.dmp sqlfile=testlob001.sql

  2. Import: Release 11.2.0.4.0 - Production on Fri Sep 29 15:42:11 2017

  3. Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

  4. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

  5. With the Partitioning, OLAP, Data Mining and Real Application Testing options

  6. Master table "FIRSOULER"."SYS_SQL_FILE_FULL_01" successfully loaded/unloaded

  7. Starting "FIRSOULER"."SYS_SQL_FILE_FULL_01": firsouler/******** directory=sh_dmp dumpfile=testlob01.dmp sqlfile=testlob001.sql

  8. Processing object type TABLE_EXPORT/TABLE/TABLE

  9. Job "FIRSOULER"."SYS_SQL_FILE_FULL_01" successfully completed at Fri Sep 29 15:42:13 2017 elapsed 0 00:00:01

  10. [oracle@mystandby dump]$ cat testlob001.sql

  11. -- CONNECT FIRSOULER

  12. ALTER SESSION SET EVENTS '10150 TRACE NAME CONTEXT FOREVER, LEVEL 1';

  13. ALTER SESSION SET EVENTS '10904 TRACE NAME CONTEXT FOREVER, LEVEL 1';

  14. ALTER SESSION SET EVENTS '25475 TRACE NAME CONTEXT FOREVER, LEVEL 1';

  15. ALTER SESSION SET EVENTS '10407 TRACE NAME CONTEXT FOREVER, LEVEL 1';

  16. ALTER SESSION SET EVENTS '10851 TRACE NAME CONTEXT FOREVER, LEVEL 1';

  17. ALTER SESSION SET EVENTS '22830 TRACE NAME CONTEXT FOREVER, LEVEL 192 ';

  18. -- new object type path: TABLE_EXPORT/TABLE/TABLE

  19. CREATE TABLE "TEST"."TESTLOB"

  20.    ( "A" NUMBER,

  21.         "B" CLOB

  22.    ) SEGMENT CREATION IMMEDIATE

  23.   PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255

  24.  NOCOMPRESS LOGGING

  25.   STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

  26.   PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1

  27.   BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)

  28.   TABLESPACE "TEST"

  29.  LOB ("B") STORE AS BASICFILE (

  30.   TABLESPACE "TEST" ENABLE STORAGE IN ROW CHUNK 8192

  31.   NOCACHE LOGGING

  32.   STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

  33.   PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1

  34.   BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) ;

  35. [oracle@mystandby dump]$



簡單測試,提醒,在遷移過程中,一定確認lob字段所在表空間

下面是沒有LOB字段所在表空間的情況

點擊(此處)折疊或打開

  1. [oracle@mystandby dump]$ impdp firsouler/abc directory=sh_dmp dumpfile=testlob01.dmp remap_tablespace=firsouler:test logfile=implob.log

  2. Import: Release 11.2.0.4.0 - Production on Fri Sep 29 15:52:58 2017

  3. Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

  4. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

  5. With the Partitioning, OLAP, Data Mining and Real Application Testing options

  6. ORA-31626: job does not exist

  7. ORA-31633: unable to create master table "FIRSOULER.SYS_IMPORT_FULL_05"

  8. ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95

  9. ORA-06512: at "SYS.KUPV$FT", line 1038

  10. ORA-00959: tablespace 'FIRSOULER' does not exist


那么改變表空間呢,通過expdp  remap_tablespace 改變,lob也會改變。原來LOB    字段在USERS表空間中,表的表空間為TEST表空間

點擊(此處)折疊或打開

  1. [oracle@mystandby dump]$ impdp firsouler/abc  directory=sh_dmp dumpfile=testlob01.dmp remap_schema=test:firsouler remap_tablespace=test:firsouler sqlfile=testlob001.sql

  2. Import: Release 11.2.0.4.0 - Production on Fri Sep 29 16:04:23 2017

  3. Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

  4. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

  5. With the Partitioning, OLAP, Data Mining and Real Application Testing options

  6. Master table "FIRSOULER"."SYS_SQL_FILE_FULL_01" successfully loaded/unloaded

  7. Starting "FIRSOULER"."SYS_SQL_FILE_FULL_01": firsouler/******** directory=sh_dmp dumpfile=testlob01.dmp remap_schema=test:firsouler remap_tablespace=test:firsouler sqlfile=testlob001.sql

  8. Processing object type TABLE_EXPORT/TABLE/TABLE

  9. Job "FIRSOULER"."SYS_SQL_FILE_FULL_01" successfully completed at Fri Sep 29 16:04:25 2017 elapsed 0 00:00:01

  10. [oracle@mystandby dump]$ cat testlob0

  11. testlob001.sql  testlob01.dmp

  12. [oracle@mystandby dump]$ cat testlob001.sql

  13. -- CONNECT FIRSOULER

  14. ALTER SESSION SET EVENTS '10150 TRACE NAME CONTEXT FOREVER, LEVEL 1';

  15. ALTER SESSION SET EVENTS '10904 TRACE NAME CONTEXT FOREVER, LEVEL 1';

  16. ALTER SESSION SET EVENTS '25475 TRACE NAME CONTEXT FOREVER, LEVEL 1';

  17. ALTER SESSION SET EVENTS '10407 TRACE NAME CONTEXT FOREVER, LEVEL 1';

  18. ALTER SESSION SET EVENTS '10851 TRACE NAME CONTEXT FOREVER, LEVEL 1';

  19. ALTER SESSION SET EVENTS '22830 TRACE NAME CONTEXT FOREVER, LEVEL 192 ';

  20. -- new object type path: TABLE_EXPORT/TABLE/TABLE

  21. CREATE TABLE "FIRSOULER"."TESTLOB"

  22.    ( "A" NUMBER,

  23.         "B" CLOB

  24.    ) SEGMENT CREATION IMMEDIATE

  25.   PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255

  26.  NOCOMPRESS LOGGING

  27.   STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

  28.   PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1

  29.   BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)

  30.   TABLESPACE "FIRSOULER"

  31.  LOB ("B") STORE AS BASICFILE (

  32.   TABLESPACE "FIRSOULER" ENABLE STORAGE IN ROW CHUNK 8192

  33.   NOCACHE LOGGING

  34.   STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645

  35.   PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1

  36.   BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT))

關(guān)于“使用數(shù)據(jù)泵時LOB字段存放位置在哪”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

新聞標題:使用數(shù)據(jù)泵時LOB字段存放位置在哪
鏈接URL:http://muchs.cn/article6/piciog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務、靜態(tài)網(wǎng)站品牌網(wǎng)站設(shè)計、企業(yè)建站全網(wǎng)營銷推廣、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)