# Exporting dump from Oracle table with lob columns

**URL:** <https://www.batmunkh.net/t/exporting-dump-from-oracle-table-with-lob-columns/1165>\
**Category:** Oracle Database\
**Tags:** backup, expdp\
**Created:** [September 30, 2019, 6:40am UTC](https://www.batmunkh.net/t/exporting-dump-from-oracle-table-with-lob-columns/1165 "2019-09-30T06:40:06Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ochirtulga](https://www.batmunkh.net/user_avatar/www.batmunkh.net/ochirtulga/32/906_2.png) [@Ochirtulga](https://www.batmunkh.net/u/Ochirtulga)\
**Post date:** [September 30, 2019, 6:40am UTC](https://www.batmunkh.net/t/exporting-dump-from-oracle-table-with-lob-columns/1165/1 "2019-09-30T06:40:06Z")

</div>

Сайн байна уу,

Oracle Database 18c - дээр байгаа CLOB төрлийн багануудтай table -ыг expdp tool ашиглаж авах гэж оролдоход эхлээд 1-р error гарч байсан ба 1-р action авсаны дараа 2-р error гараад маш удаан ажиллаад авч чадахгүй алдаа зааж байна. CLOB төрлийн баганатай table-ыг ер яаж авбал зохистой вэ ? Энэ тохиолдолд export -ыг хурдан авах арга юу байна?

**1-р Error Log:**

**ORA-31693** : Table data object “TBAADM”.“PY\_MSG\_STAGING\_DETAILS” failed to load/unload and is being skipped due to error:  
**ORA-02354** : error in exporting/importing data  
**ORA-01555** : snapshot too old: rollback segment number 48 with name “\_SYSSMU48\_2122747253$” too small

**1-р Action:**

alter table TBAADM.PY\_MSG\_STAGING\_DETAILS modify lob(PYMT\_MSG) (retention);  
alter table TBAADM.PY\_MSG\_STAGING\_DETAILS modify lob(REASON\_FOR\_FAILURE) (retention);  
alter table TBAADM.PY\_MSG\_STAGING\_DETAILS modify lob(AS\_IS\_MSG) (retention);

**undo\_retention** : 7200

**2-р Error Log:**

Job “EXPUSER”.“SYS\_EXPORT\_SCHEMA\_01” stopped due to fatal error at Sat Sep 28 23:06:33 2019 elapsed 0 05:04:53

---

<div class="post-metadata">

**Author:** ![tumenjargal](https://www.batmunkh.net/user_avatar/www.batmunkh.net/tumenjargal/32/236_2.png) [@tumenjargal](https://www.batmunkh.net/u/tumenjargal)\
**Post date:** [September 30, 2019, 9:23am UTC](https://www.batmunkh.net/t/exporting-dump-from-oracle-table-with-lob-columns/1165/2 "2019-09-30T09:23:42Z")

</div>

Lob - г их олон асуудал яригдана.

- Lob агуулсан table - с яг lob - н create script - г аваад явуулаач?
- Lob агуулсан table - г purge хийдэг үү?
- Lob - н storage нь BasicFile, SecureFile аль нь вэ?

---

<div class="post-metadata">

**Author:** ![tumenjargal](https://www.batmunkh.net/user_avatar/www.batmunkh.net/tumenjargal/32/236_2.png) [@tumenjargal](https://www.batmunkh.net/u/tumenjargal)\
**Post date:** [September 30, 2019, 9:53am UTC](https://www.batmunkh.net/t/exporting-dump-from-oracle-table-with-lob-columns/1165/3 "2019-09-30T09:53:56Z")

</div>

Default - р BasicFile storage - тэй Lob column байгаа байх. Lob - г аль болох жижигхэн, DML хурдан болгох maintaince-үүд маш сайн хийх шаардлагатай.

1. Migrate basicFile to Securefile. (Апп дээр функциональ асуудал гарах эсэхийг чеклэх)

- basicFile lob compress хийгдэдгүй, delete үйлдэл хийгдсэний дараа чөлөөлөгдсөн зайг автоматоор цэвэрлэдгүй. delete хийсэн ч гэсэн block нь used юм шиг үлдэнэ гэсэн үг. Тэгхээр SecureFile lob болговол дээрх асуудлууд шийдэгдэнэ.

- Ачааллын бус цагаар table rename хийнэ. (Lob агуулсан table-г)

- Шинээр create as table үүсгэнэ.  
CREATE TABLE TABLE\_NAME(  
)  
LOB (SERVICE\_DATA) STORE AS SECUREFILE SEC\_LOB1 (  
TABLESPACE TBS\_NAME  
ENABLE STORAGE IN ROW  
CHUNK 8192  
DEDUPLICATE  
COMPRESS HIGH  
NOCACHE  
LOGGING  
STORAGE (  
INITIAL 104K  
NEXT 1M  
MINEXTENTS 1  
MAXEXTENTS UNLIMITED  
PCTINCREASE 0  
BUFFER\_POOL DEFAULT  
FLASH\_CACHE DEFAULT  
CELL\_FLASH\_CACHE DEFAULT  
))

- Backup old table

- Drop old table (drop хийхэд BasicLob агуулсан tablespace цэвэрлэгдэнэ.)

- import some data from old to new table.

1. Maintance жоб

Байнгийн DML үйлдэл хийгддэг бол high compression enable болсноор performance - д нөлөөлж магад, тэгвэл backup table үүсгээд шөнө бүр online table - с backup table - рүү сүүлийн X хоногийг үлдээгээд зөөдөг жоб тавих.

BasicFile storage Lob - г backup table - рүү зөөсний дараа, доорх коммандаар dirty block цэвэрлэж, tablespace - ээ цэвэрлэнэ…

```
   execute immediate 'alter table owner.table_name modify lob(lob_name) (deallocate unused)';
  execute immediate 'alter table owner.table_name modify lob(lob_name) (freepools 1)';
  execute immediate 'alter table owner.table_name modify lob(lob_name) (shrink space cascade)';

```

1. Хэрвээ дээрх үйлдлүүдийг хийх боломжгүй бол, ачааллын бус цагаар доорх коммандаар lob - н dirty block - уудаа цэвэрлээд ахиад dump аваад үзээрэй.

> execute immediate ‘alter table owner.table\_name modify lob(lob\_name) (deallocate unused)’;\*  
> execute immediate ‘alter table owner.table\_name modify lob(lob\_name) (freepools 1)’;  
> execute immediate ‘alter table owner.table\_name modify lob(lob\_name) (shrink space cascade)’;

---

<div class="post-metadata">

**Author:** ![Ochirtulga](https://www.batmunkh.net/user_avatar/www.batmunkh.net/ochirtulga/32/906_2.png) [@Ochirtulga](https://www.batmunkh.net/u/Ochirtulga)\
**Post date:** [October 1, 2019, 3:13am UTC](https://www.batmunkh.net/t/exporting-dump-from-oracle-table-with-lob-columns/1165/4 "2019-10-01T03:13:48Z")

</div>

Lob column -уудыг доорх байдлаар үүсгэсэн байна. SECUREFILE байгаа учраас dirty block цэвэрлэх шаардлагагүй гэсэн үг үү?

**LOB (PYMT\_MSG) STORE AS SECUREFILE** (  
TABLESPACE LOG\_HISTORY  
ENABLE STORAGE IN ROW  
CHUNK 8192  
NOCACHE  
LOGGING  
STORAGE (  
INITIAL 104K  
NEXT 1M  
MINEXTENTS 1  
MAXEXTENTS UNLIMITED  
PCTINCREASE 0  
BUFFER\_POOL DEFAULT  
))  
**LOB (REASON\_FOR\_FAILURE) STORE AS SECUREFILE** (  
TABLESPACE LOG\_HISTORY  
ENABLE STORAGE IN ROW  
CHUNK 8192  
NOCACHE  
LOGGING  
STORAGE (  
INITIAL 104K  
NEXT 1M  
MINEXTENTS 1  
MAXEXTENTS UNLIMITED  
PCTINCREASE 0  
BUFFER\_POOL DEFAULT  
))  
**LOB (AS\_IS\_MSG) STORE AS SECUREFILE** (  
TABLESPACE LOG\_HISTORY  
ENABLE STORAGE IN ROW  
CHUNK 8192  
NOCACHE  
LOGGING  
STORAGE (  
INITIAL 104K  
NEXT 1M  
MINEXTENTS 1  
MAXEXTENTS UNLIMITED  
PCTINCREASE 0  
BUFFER\_POOL DEFAULT  
))

---

<div class="post-metadata">

**Author:** ![tumenjargal](https://www.batmunkh.net/user_avatar/www.batmunkh.net/tumenjargal/32/236_2.png) [@tumenjargal](https://www.batmunkh.net/u/tumenjargal)\
**Post date:** [October 1, 2019, 6:33am UTC](https://www.batmunkh.net/t/exporting-dump-from-oracle-table-with-lob-columns/1165/5 "2019-10-01T06:33:01Z")

</div>

Lob элементийг dedup болон compress боломжтой болно.(BasicFile Үед боломжгүй) Мөн auto space reclamation боломжтой болно, гэхдээ 11g дээр бол яг free block болохгүй байсан санагдаж байна, 18c дээр судлаад үзээрэй. Lob хэт томроод байдаг бол функциональ team - тэйгээ яриад тодорхой retention-р backup table - рүү жобоор зөөдөг болсон нь л дээрдээ.

 ![image](https://www.batmunkh.net/uploads/default/original/1X/f251905f8452869ec6f840b6cd4fff23c614c579.png)

---

<div class="post-metadata">

**Author:** ![tumenjargal](https://www.batmunkh.net/user_avatar/www.batmunkh.net/tumenjargal/32/236_2.png) [@tumenjargal](https://www.batmunkh.net/u/tumenjargal)\
**Post date:** [October 1, 2019, 6:36am UTC](https://www.batmunkh.net/t/exporting-dump-from-oracle-table-with-lob-columns/1165/6 "2019-10-01T06:36:45Z")

</div>

аан танайх угаасаа SecureFile юм байнашд, Тэгвэл perfomance нь гайгүй гэвэл compress & dedup - г нь идэвхжүүлчээч хө,

Daily purge хийдэг бол tablespace нь цэвэрлэгдэж байна уу, улам л нэмэгдээд байна уу
