statistics的export與import!

warehouse發表於2008-04-16
dbms_stats package中提供了過程export_X_stats和import_X_stats(其中X代表column,table,index,schema,database)可以實現統計資訊的export和import。透過這種方法我們可以把生產環境的統計資訊匯入到測試庫中模擬生產庫。[@more@]

SQL> exec dbms_stats.create_stat_table('XYS','MY_STAT_TAB');

PL/SQL 過程已成功完成。

SQL> DESC MY_STAT_TAB;
名稱 是否為空? 型別
----------------------------------------- -------- ----------------------------

STATID VARCHAR2(30)
TYPE CHAR(1)
VERSION NUMBER
FLAGS NUMBER
C1 VARCHAR2(30)
C2 VARCHAR2(30)
C3 VARCHAR2(30)
C4 VARCHAR2(30)
C5 VARCHAR2(30)
N1 NUMBER
N2 NUMBER
N3 NUMBER
N4 NUMBER
N5 NUMBER
N6 NUMBER
N7 NUMBER
N8 NUMBER
N9 NUMBER
N10 NUMBER
N11 NUMBER
N12 NUMBER
D1 DATE
R1 RAW(32)
R2 RAW(32)
CH1 VARCHAR2(1000)
CL1 CLOB

SQL> SELECT COUNT(*) FROM MY_STAT_TAB;

COUNT(*)
----------
0

SQL> exec dbms_stats.gather_schema_stats('XYS');

PL/SQL 過程已成功完成。

SQL> exec dbms_stats.export_schema_stats('XYS','MY_STAT_TAB');

PL/SQL 過程已成功完成。

SQL> create user test identified by test;

使用者已建立。

SQL> grant dba to test;

授權成功。

SQL> update my_stat_tab set c5='TEST';

已更新42行。

SQL> COMMIT;

提交完成。
C:>exp xys/manager file=c:test.dmp

Export: Release 11.1.0.6.0 - Production on 星期三 4月 16 15:12:22 2008

Copyright (c) 1982, 2007, Oracle. All rights reserved.


連線到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已匯出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集

即將匯出指定的使用者...
. 正在匯出 pre-schema 過程物件和操作
. 正在匯出使用者 XYS 的外部函式庫名
. 匯出 PUBLIC 型別同義詞
. 正在匯出專用型別同義詞
. 正在匯出使用者 XYS 的物件型別定義
即將匯出 XYS 的物件...
. 正在匯出資料庫連結
. 正在匯出序號
. 正在匯出簇定義
. 即將匯出 XYS 的表透過常規路徑...
. . 正在匯出表 MY_STAT_TAB匯出了 42 行
. . 正在匯出表 T1匯出了 126224 行
. . 正在匯出表 TEST
EXP-00107: 不支援特徵 (VIRTUAL COLUMN) (屬於列 I3, 表 XYS.TEST)。不會匯出該表。
. . 正在匯出表 TEST1
EXP-00107: 不支援特徵 (VIRTUAL COLUMN) (屬於列 I3, 表 XYS.TEST1)。不會匯出該表。

. . 正在匯出表 TT匯出了 4 行
. . 正在匯出表 TT1匯出了 15 行
. 正在匯出同義詞
. 正在匯出檢視
. 正在匯出儲存過程
. 正在匯出運算子
. 正在匯出引用完整性約束條件
. 正在匯出觸發器
. 正在匯出索引型別
. 正在匯出點陣圖, 功能性索引和可擴充套件索引
. 正在匯出後期表活動
. 正在匯出實體化檢視
. 正在匯出快照日誌
. 正在匯出作業佇列
. 正在匯出重新整理組和子組
. 正在匯出維
. 正在匯出 post-schema 過程物件和操作
. 正在匯出統計資訊
匯出成功終止, 但出現警告。
C:>imp test/test file=c:test.dmp fromuser=xys touser=test

Import: Release 11.1.0.6.0 - Production on 星期三 4月 16 15:13:05 2008

Copyright (c) 1982, 2007, Oracle. All rights reserved.


連線到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

經由常規路徑由 EXPORT:V11.01.00 建立的匯出檔案

警告: 這些物件由 XYS 匯出, 而不是當前使用者

已經完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的匯入
. . 正在匯入表 "MY_STAT_TAB"匯入了 42 行
. . 正在匯入表 "T1"匯入了 126224 行
. . 正在匯入表 "TT"匯入了 4 行
. . 正在匯入表 "TT1"匯入了 15 行
成功終止匯入, 沒有出現警告。


SQL> show user
USER 為 "XYS"

SQL> exec dbms_stats.import_schema_statS('TEST','MY_STAT_TAB');

PL/SQL 過程已成功完成。
檢視test使用者下的物件的statistics發現已匯入!

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

相關文章