clob字段怎么导出_Oracle 11g及12c+版本下为啥有些表不能exp导出?
【引言】
今天有同事問了一個問題,在Oracle 11g下,為啥exp方式導出一個用戶的數據表,在imp后卻發現有些表并沒有遷移過來。經查閱官方文檔,發現和Oracle11g及12c +版本相對于10g,有一個新特性deferred_segment_creation(延遲段創建)造成的。
該參數的作用為:
oracle 11g中,當創建的表無數據時,不進行segment分配,以節省存儲空間。
為了理解啥原理,這里再復習下Oracle的幾個概念:
1. tablespace: 一個數據庫劃分為一個或多個邏輯單位,該邏輯單位成為表空間;每一個表空間可能包含一個或多個Segment;
2. Segments: Segment指在tablespace中為特定邏輯存儲結構分配的空間。每一個段是由一個或多個extent組成。包括數據段、索引段、回滾段和臨時段。
3. Extents: 一個 extent 由一系列連續的 Oracle blocks 組成。通過extent 來給segment分配空間。
4. Data Blocks:Oracle 最小I/O存儲單位,一個 data block 對應一個或多個分配給data file的操作系統塊;默認為8KB,此參數在創建實例時可以修改,如做數倉庫一般修改為64KB以上,為的是一次能從存儲中多讀取一些數據進內存,提升處理速度。
來張圖更直觀:
Oracle10g之前的版本,table 創建時,默認創建了一個data segment,這個data segment含有min extents 指定的extents 數,每個extent 據表空間的存儲參數分配一定數量的blocks。
Oracle11g及12c以后版本,有了一個新特性參數deferred_segment_creation(延遲段創建),默認為true;該參數表示:創建表時,如為空沒有數據插入則不分配segment,如果為false,則在創建表示創建一個data segment;
注意sys用戶除外,它會自動分配空間,普通用戶不會自動創建。
了解了如上deferred_segment_creation特性;
有同學會說:把deferred_segment_creation修改為flase不就行了。
注意:
deferred_segment_creation修改為flase后,只對新建的空表起作用,之前空表依舊無法正常導出,除非把之前的所有空表做一次segment段分配處理。
怎么做?
把所有的空表做segment?create 處理,通過sql手動方法實現。
步驟如下:
步驟1:--查詢所有的空表
select table_name from user_tables where NUM_ROWS=0;
步驟2:--拼接sql,批量生成修改語句
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;
步驟3:--利用exp/imp命令重新執行導出和導入操作即可。
步驟4:--修改deferred_segment_creation修改為flase,規避后續再次出現此類問題。
這里注意,步驟2會出現一種現象:
步驟2查出來的有些空表,在視圖user_tables中的num_rows不等于0(原因:表中以前有數據,刪除后oracle沒有統計,視圖user_tables中數據沒有更新),故通過步驟2的sql并不能為所有的空表分配數據段。
怎么辦?
執行一遍統計信息搜集即可。
select 'analyze table '||table_name||' compute statistics;' from user_tables;
analyze table tablename compute statistics;
等同于 analyze table tablename compute statistics for table for all indexes for all columns;
for table的統計信息存在于視圖:user_tables 、all_tables、dba_tables
for all indexes的統計信息存在于視圖:user_indexes 、all_indexes、dba_indexes
for all columns的統計信息存在于視圖:user_tab_columns、all_tab_columns、dba_tab_columns
執行完后,視圖user_tables中的num_rows值會做更新,此時再執行步驟2,能夠給所有空表分配數據段
然而,在執行 analyze table tablename compute statistics 時,oracle會報object statictis are locked (這些表的統計被鎖了),通過如下方式解鎖:
select 'exec dbms_stats.unlock_table_stats('||'''OWNNAME'''||','''||table_name||''');' from user_tables?where table_block=’DISABLED’;
以下是UNLOCK_TABLE_STATS Procedure介紹
This procedure unlocks the statistics on the table.
Syntax
DBMS_STATS.UNLOCK_TABLE_STATS (
???ownname ???VARCHAR2,
???tabname ???VARCHAR2);
Parameters
Table 141-98 UNLOCK_TABLE_STATS Procedure Parameters
Parameter | Description |
ownname | The name of the schema |
tabname | The name of the table |
Usage Notes
When statistics on a table is locked, all the statistics depending on the table, including table statistics, column statistics, histograms and statistics on all dependent indexes, are considered to be locked.
The?SET_*,?DELETE_*,?IMPORT_*,?GATHER_*?procedures that modify statistics in the dictionary of an individual table, index or column will raise an error if statistics of the object is locked.
Procedures that operates on multiple objects (such as?GATHER_SCHEMA_STATS) will skip modifying the statistics of an object if it is locked. Many procedures have force argument to override the lock.
?歡迎關注個人微信公眾號“一森咖記”
? ?
近期熱文
你可能也會對以下話題感興趣。點擊鏈接便可查看。
Oracle ADG同步技術,DBA必備的一種“后悔藥”
OpenJDK和Oracle JDK有什么區別和聯系?
神技_如何快捷下載Oracle補丁的方法?!
趨勢篇:oracle 11g,12c,18c,19c之support lifetime
Configuring Kernel Parameters about SHMMAX on HP
對recursive calls的深刻理解
Centos能不能替換RHEL?
RAC1 服務器要重啟,喂:RAC2你先頂一下,咋搞?!
對recursive calls的深刻理解
OpenJDK和Oracle JDK有什么區別和聯系?
Centos能不能替換RHEL?
PLSQL Developer中控制結果集表格自動提交
alter table T1 add column新增字段執行時間超長,咋回事?
Oracle 11g 異機rman恢復報錯ORA-27302:failure occurred at: sskgpcreates
年末總結_聊一聊數據庫行業的“繼往開來”
Materialized view物化視圖的一個簡單應用場景
干貨:RHEL7.2生產環境下雙節點12c RAC搭建實操
【干貨篇】在國內外數據庫百家爭鳴的時代,DBA們該何去何從?
LINUX環境:MySQL和Oracle開機自啟動,咋搞?Logminer:oracle人為誤操作之恢復神器
What:ASM自動脫落了
實操:12C RAC環境下的ADG同步庫搭建
“神器”:Oracle日志采集分析工具——TFA
Oracle Rac:關閉透明大頁的原因及方法
實操篇:Oracle 19c的安裝部署
淺談MySQL三種鎖:全局鎖、表鎖和行鎖
Oracle如何訪問MySql:透明網關
總結
以上是生活随笔為你收集整理的clob字段怎么导出_Oracle 11g及12c+版本下为啥有些表不能exp导出?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电信aep平台是什么意思_江苏天鼎证券:
- 下一篇: makefile运行_NVDIA TX2