久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

DB2 實(shí)用程序介紹之?dāng)?shù)據(jù)移動實(shí)用程序

瀏覽:3日期:2023-11-10 10:00:04

db2move

db2move 是用于在 DB2 數(shù)據(jù)庫之間移動大量表的一個數(shù)據(jù)移動工具。這個命令中支持的動作有 EXPORT、IMPORT、LOAD 和 COPY。EXPORT、IMPORT 和 LOAD 這幾個動作的行為與前一屏中描述的完全相同。您可能不熟悉的惟一一個動作就是 COPY。它將一個或多個模式中的表復(fù)制到一個目標(biāo)數(shù)據(jù)庫中。db2move 的語法很簡單:

db2move database_nameactionoptions

db2move 將一組用戶表從系統(tǒng)編目表中提取出來,并將每個表以 PC/IXF 格式導(dǎo)出。然后,PC/IXF 文件可以被導(dǎo)入或裝載到另一個 DB2 數(shù)據(jù)庫中。

下面是一些例子。這個命令用指定的用戶 ID 和密碼以 REPLACE 模式導(dǎo)入 sample 數(shù)據(jù)庫中的所有表:

db2move sample IMPORT -io REPLACE -u userid -p password

下面的命令以 REPLACE 模式裝載 db2admin 和 db2user 這兩個模式下的所有表:

db2move sample LOAD -sn db2admin,db2user -lo REPLACE

請參考 Command Reference,以獲得所有選項的完整列表和相關(guān)描述。不過,COPY 動作值得一談。在 COPY 動作中,可以用 -sn 選項指定一個或多個模式。只有具有 -sn 選項中指定的模式名的表才被復(fù)制(通過導(dǎo)出)。如果指定多個模式名,則使用逗號將它們隔開,這里不允許使用空格。請參考下面的例子。

db2move sample COPY -sn db2inst1,prodschema -co TARGET_DB acctdb USER peterUSING petepasswd DDL_AND_LOAD

上面的 db2move 命令復(fù)制 db2inst1 和 prodschema 模式下受支持的對象。后面跟著的 -co 選項使這個命令更加有趣。TARGET_DB 選項指定這些模式將被復(fù)制到的目標(biāo)數(shù)據(jù)庫。當(dāng)指定了 COPY 動作時,這個選項是強(qiáng)制性的。此外,目標(biāo)數(shù)據(jù)庫必須不同于源數(shù)據(jù)庫。當(dāng)連接到目標(biāo)數(shù)據(jù)庫時,可以通過 USER 和 USING 選項提供用戶名和密碼。

默認(rèn)情況下,db2move 命令將根據(jù)源模式創(chuàng)建受支持的對象,并填充目標(biāo)數(shù)據(jù)庫中的表。這是 DDL_AND_LOAD 模式的行為。有兩種可用的模式:DDL_ONLY 和 LOAD_ONLY。顧名思義,DDL_ONLY 只根據(jù)源模式創(chuàng)建所有受支持的對象,而 LOAD_ONLY 則將所有指定的表從源數(shù)據(jù)庫裝載到目標(biāo)數(shù)據(jù)庫。注意,當(dāng)使用這個選項時,那些表必須已經(jīng)存在于目標(biāo)數(shù)據(jù)庫中。

在將對象復(fù)制到目標(biāo)數(shù)據(jù)庫時,可能需要重新命名模式。可以使用 SCHEMA_MAP 選項來實(shí)現(xiàn)這個目的。您只需提供一個或多個模式映射對,就像下面這樣:

SCHEMA_MAP ((source_schema1,target_schema1),(source_schema2,target_schema2))

在使用 SCHEMA_MAP 選項時要特別小心。只有對象本身的模式被重命名,而對象主體中的對象仍保持不變。例如:

CREATE VIEW FOO.v1 AS 'SELECT c1 FROM FOO.T1'

將模式從 FOO 重命名為 BAR 將導(dǎo)致:

CREATE VIEW BAR.v1 AS 'SELECT c1 FROM FOO.T1'

如果 FOO.T1 沒有定義,那么目標(biāo)數(shù)據(jù)庫中就不能成功地創(chuàng)建 BAR.v1。

這樣的映射思想同樣適用于表空間。例如,假設(shè)您想將復(fù)制的表存儲在與源數(shù)據(jù)庫不同的一個表空間中。那么需要擴(kuò)展 db2move 命令,以便指定表空間名稱映射。考慮下面的選項:

TABLESPACE_MAP ((TS1,TS2),(TS2,TS3),SYS_ANY)

上面的表空間名稱映射表明,源 TS1 被映射到目標(biāo) TS2,源 TS2 被映射到目標(biāo) TS3。SYS_ANY 表明剩下的表空間將使用數(shù)據(jù)庫管理器根據(jù)表空間選擇算法選擇的表空間。讓我們來看一個綜合性的例子。

db2move sample COPY -sn db2inst1,prodschema-co TARGET_DB acctdb USER peter USING petepasswd LOAD_ONLYSCHEMA_MAP ((db2inst1,db2inst2),(prodschema,devschema))TABLESPACE_MAP SYS_ANYNONRECOVERABLE

這個命令將 db2inst1 和 prodschema 中受支持的對象從 SAMPLE 數(shù)據(jù)庫復(fù)制到 ACCTDB 數(shù)據(jù)庫。授權(quán) id peter 和相關(guān)的密碼用于連接到 ACCTDB。目標(biāo)表已經(jīng)存在于 ACCTDB 中,這些表將被重新填充。db2inst1 和 prodschema 模式下的所有對象現(xiàn)在分別在 db2inst2 和 devschema 模式下。最后不使用 SAMPLE 數(shù)據(jù)庫中定義的表空間名稱,而是使用 ACCTDB 中默認(rèn)的表空間。

NONRECOVERABLE 選項允許用戶在復(fù)制完成之后立即使用裝載的目標(biāo)表空間。這里不要求備份表空間,但是強(qiáng)烈建議在早期方便的時候作一個備份。

db2look

db2look 是可以從命令行提示符下和 Control Center 中調(diào)用的一個方便的工具。這個工具可以:

從數(shù)據(jù)庫對象中提取數(shù)據(jù)庫定義語言(DDL)語句。 生成 UPDATE 語句,用于更新數(shù)據(jù)庫管理器和數(shù)據(jù)庫配置參數(shù)。 生成 db2set 命令,用于設(shè)置 DB2 概要注冊表。 提取和生成數(shù)據(jù)庫統(tǒng)計報告。 生成 UPDATE 語句,用于復(fù)制關(guān)于數(shù)據(jù)庫對象的統(tǒng)計信息。LOAD 之類的實(shí)用程序要求目標(biāo)表已經(jīng)存在。您可以使用 db2look 提取表的 DDL,在目標(biāo)數(shù)據(jù)庫上運(yùn)行它,然后調(diào)用裝載操作。db2look 非常容易使用,下面的例子展示了這一點(diǎn)。這個命令生成 peter 在數(shù)據(jù)庫 department 中創(chuàng)建的所有對象的 DDL,輸出被存儲在 alltables.sql 中。

db2look -d department -u peter -e -o alltables.sql

下面的命令生成:

數(shù)據(jù)庫 department 中所有對象的 DDL(由 -d、-a 和 -e 選項指定)。 UPDATE 語句,用于復(fù)制數(shù)據(jù)庫中所有表和索引的統(tǒng)計信息(由選項 -m 指定)。 GRANT 授權(quán)語句(由選項 -x 指定)。 用于數(shù)據(jù)庫管理器和數(shù)據(jù)庫配置參數(shù)的 UPDATE 語句和用于概要注冊表的 db2set 命令(由選項 -f 指定)。db2look -d department -a -e -m -x -f -o db2look.sql

db2look 還可以生成用于注冊 XML 模式的命令。下面的例子生成模式名為 db2inst1 的對象所需的 REGISTER XMLSCHEMA 和 COMPLETE XMLSCHEMA 命令(由選項 -xs 指定)。/home/db2inst1 中將創(chuàng)建輸出 db2look.sql,這個目錄由 -xdir 選項指定。

db2look -d department -z db2inst1 -xs -xdir /home/db2inst1 -o db2look.sql

db2batch

基準(zhǔn)測試是從各種不同方面(例如數(shù)據(jù)庫響應(yīng)時間、cpu 和內(nèi)存使用情況)對應(yīng)用程序進(jìn)行評測的一個過程。基準(zhǔn)測試基于一個可重復(fù)的環(huán)境,以便能夠在相同的條件下運(yùn)行相同的測試。之后,對測試收集到的結(jié)果可以進(jìn)行評估和比較。

db2batch 是一種基準(zhǔn)測試工具,它以一組 SQL 和/或 XQuery 語句作為輸入,動態(tài)地準(zhǔn)備語句和描述語句,并返回一個結(jié)果集。取決于 db2batch 命令中所使用的選項,結(jié)果集可以返回這些語句的執(zhí)行時間、關(guān)于內(nèi)存使用情況(例如緩沖池)的數(shù)據(jù)庫管理器快照和緩存信息。

可以在一個 flat 文件或標(biāo)準(zhǔn)輸入中指定要運(yùn)行基準(zhǔn)測試的語句。在輸入文件中可以設(shè)置很多控制選項。指定這些選項的語法是:--#SET control_option value 。下面是包含控制選項的一個輸入文件的例子。要獲得控制選項的完整列表,請參考 Information Center。

-- db2batch.sql-- --------------#SET PERF_DETAIL 3--#SET ROWS_OUT 5

-- This query lists employees, the name of their department-- and the number of activities to which they are assigned for-- employees who are assigned to more than one activity less than-- full-time.--#COMMENT Query 1select lastname, firstnme, deptname, count(*) as num_actfrom employee, department, emp_actwhere employee.workdept = department.deptno and employee.empno = emp_act.empno and emp_act.emptime < 1group by lastname, firstnme, deptnamehaving count(*) > 2;--#SET PERF_DETAIL 1--#SET ROWS_OUT 5

--#COMMENT Query 2select lastname, firstnme, deptname, count(*) as num_actfrom employee, department, emp_actwhere employee.workdept = department.deptno and employee.empno = emp_act.empno and emp_act.emptime < 1group by lastname, firstnme, deptnamehaving count(*) <= 2

選項 PERF_DETAIL 3 意味著將返回關(guān)于花費(fèi)的時間和數(shù)據(jù)庫管理器、數(shù)據(jù)庫及應(yīng)用程序的快照這些性能方面的細(xì)節(jié)。 選項 ROWS_OUT 5 意味著無論查詢返回的實(shí)際行數(shù)是多少,只從結(jié)果集中取 5 行。 COMMENT Query1 將語句命名為 Query1。下面的命令在 SAMPLE 數(shù)據(jù)庫上調(diào)用基準(zhǔn)測試工具,輸入文件為 db2batch.sql。

db2batch -d sample -f db2batch.sql

這個命令將返回查詢的結(jié)果集(限 5 行)和查詢所花費(fèi)的時間及 CPU 時間。另外還返回數(shù)據(jù)庫管理器、數(shù)據(jù)庫和應(yīng)用程序快照。由于輸出很大,因此這里只顯示 db2batch 命令的概要。

* Summary Table:

Type;;;Number;;;Repetitions Total Time (s) Min Time (s)...--------- ----------- ----------- -------------- -------------- Statement11;;;;0.052655;;;;0.052655 ...Statement21;;;;0.004518;;;;0.004518 ...

...Max Time (s)Arithmetic Mean Geometric Mean Row(s) Fetched Row(s) Output -------------- --------------- -------------- -------------- ------------- ...;;;0.052655;;;;;0.052655;;;;0.052655;;;5;;5 ...;;;0.004518;;;;;0.004518;;;;0.004518;;;8;;5

* Total Entries:;;;2;;;;* Total Time: 0.057173 seconds* Minimum Time:;;;;0.004518 seconds* Maximum Time:;;;;0.052655 seconds* Arithmetic Mean Time:;;;;0.028587 seconds* Geometric Mean Time:;;;;;0.015424 seconds;

db2batch 命令支持很多選項。這里只列出其中一些選項,讓您對這個工具的威力有所了解。

-m parameter_file 用參數(shù)值指定用于綁定到 SQL 語句參數(shù)占位符的一個輸入文件。 -r result_file 指定存放命令結(jié)果的輸出文件。 -i short|long|complete 指定從哪個方面測量所花費(fèi)的時間。short 測量運(yùn)行每條語句所花費(fèi)的時間。long 測量運(yùn)行每條語句所花費(fèi)的時間,包括語句之間的開銷。complete 測量運(yùn)行每條語句所花費(fèi)的時間,分別報告準(zhǔn)備、執(zhí)行和取數(shù)據(jù)的時間。 -iso 指定語句使用的隔離級別。默認(rèn)情況下,db2batch 使用 Repeatable Read 隔離級別。

標(biāo)簽: DB2 數(shù)據(jù)庫
主站蜘蛛池模板: 雅江县| 皮山县| 星座| 瑞丽市| 甘泉县| 揭东县| 当雄县| 九龙坡区| 福建省| 阿坝县| 泽州县| 台南市| 丰都县| 神木县| 夏河县| 建德市| 尤溪县| 修武县| 临夏市| 德惠市| 商水县| 丹寨县| 禹州市| 乌拉特后旗| 柳林县| 都江堰市| 岗巴县| 宁远县| 阿合奇县| 嵩明县| 施甸县| 南投县| 霍城县| 皋兰县| 行唐县| 巴彦淖尔市| 和龙市| 绍兴县| 集贤县| 沙坪坝区| 梁山县|