Oracle技術文檔.md
tags: Oracle
環境說明:
- Oracle11g
- CentOS6.10/CentOS7.5
功能(可選-建議操作)
Oracel exp 導出空表數據
TODO 尋找更好導出空表的方法
問題原因:
由於Oracle11g新特性,當表無數據時,不分配segment,以節省空間。而導出時只會導出已分配segment的表
解決步驟:
第一步: 修改系統配置
設置deferred_segment_creation參數
SQL> show parameter deferred_segment_creation
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
deferred_segment_creation boolean TRUE
SQL> alter system set deferred_segment_creation=false;
系統已更改。
SQL> show parameter deferred_segment_creation
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
deferred_segment_creation boolean FALSE
注意: 該值設置後對以前導入的空表不產生作用,仍不能導出,只能對後面新增的表產生作用。如需導出之前的空表,只能使用後續方法。
**第二步: **處理空表
方法1: 批量處理空表
-- 首先使用下面的sql語句查詢一下當前用戶下的所有空表
select table_name from user_tables where NUM_ROWS=0 or num_rows is null;
然後用一下SQL語句執行查詢
-- select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 or num_rows is null;
-- 查詢結果如下所示..
alter table TBL_1 allocate extent;
alter table TBL_2 allocate extent;
alter table TBL_3 allocate extent;
alter table TBL_4 allocate extent;
-- 執行上面語句即可
方法2: insert一行,再rollback就產生segment了
該方法是在在空表中插入數據,再刪除,則產生segment。導出時則可導出空表。
參考鏈接: Oracle導出空表
Oracle數據導入導出
Oracle導入導出命令
# 導出數據
exp fdm/[email protected]:1521/newfdm file=20190514_newfdm.db owner=fdm
# 導入前需要刪除原有數據庫所有表+序列
imp fdm/qwe123 file=/home/oracle/20190514_newfdm.db fromuser=fdm touser=fdm DESTROY=Y
導出日誌查看.配置 <導出空表數據> 後即可導出空表 xxx 0行
[oracle@WOM ~]$ exp fdm/[email protected]:1521/fdm file=fdm.db owner=fdm
Export: Release 11.2.0.1.0 - Production on 星期三 10月 23 17:09:59 2019
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
連接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已導出 UTF8 字符集和 AL16UTF16 NCHAR 字符集
服務器使用 AL32UTF8 字符集 (可能的字符集轉換)
即將導出指定的用戶...
. 正在導出 pre-schema 過程對象和操作
. 正在導出用戶 FDM 的外部函數庫名
. 導出 PUBLIC 類型同義詞
. 正在導出專用類型同義詞
. 正在導出用戶 FDM 的對象類型定義
即將導出 FDM 的對象...
. 正在導出數據庫鏈接
. 正在導出序號
. 正在導出簇定義
. 即將導出 FDM 的表通過常規路徑...
. . 正在導出表 ASSISTANT_ANALYSIS導出了 0 行
. . 正在導出表 BACK_MINING_MODEL導出了 5 行
. . 正在導出表 BACK_MINING_MODEL_ENTITY導出了 38 行
. . 正在導出表 WEB_LOG導出了 1463 行
. 正在導出同義詞
. 正在導出視圖
. 正在導出存儲過程
. 正在導出運算符
. 正在導出引用完整性約束條件
. 正在導出觸發器
. 正在導出索引類型
. 正在導出位圖, 功能性索引和可擴展索引
. 正在導出後期表活動
. 正在導出實體化視圖
. 正在導出快照日誌
. 正在導出作業隊列
. 正在導出刷新組和子組
. 正在導出維
. 正在導出 post-schema 過程對象和操作
. 正在導出統計信息
導出成功終止, 但出現警告。