自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

DB2中配置文件不被映像文件覆蓋的方法

數(shù)據(jù)庫
在將DB2 用BACKUP 命令方式創(chuàng)建的數(shù)據(jù)庫備份映像文件由RESTORE命令復(fù)原到一個(gè)不同名的目標(biāo)數(shù)據(jù)庫中時(shí),DB2 將把源數(shù)據(jù)庫中的配置文件復(fù)制到復(fù)原的目標(biāo)數(shù)據(jù)庫中,在此提供一種避免目標(biāo)數(shù)據(jù)庫中的配置文件不被映像文件中的所覆蓋的方法。

本文將為您介紹DB2數(shù)據(jù)庫中避免目標(biāo)數(shù)據(jù)庫中的配置文件不被映像文件中的所覆蓋的方法。 供您參考,希望對(duì)您有所幫助。

在將DB2 用BACKUP 命令方式創(chuàng)建的數(shù)據(jù)庫備份映像文件由RESTORE命令復(fù)原到一個(gè)不同名的目標(biāo)數(shù)據(jù)庫中時(shí),DB2 將把源數(shù)據(jù)庫中的配置文件復(fù)制到復(fù)原的目標(biāo)數(shù)據(jù)庫中,從而覆蓋了該數(shù)據(jù)庫原有的各配置參數(shù)的設(shè)置。在此提供一種避免目標(biāo)數(shù)據(jù)庫中的配置文件不被映像文件中的所覆蓋的方法。

一. 數(shù)據(jù)庫種子值的概念:

在介紹這一方法之前,首先要介紹一下數(shù)據(jù)庫種子值(seed)的概念,它是數(shù)據(jù)庫的唯一標(biāo)識(shí),在數(shù)據(jù)庫的整個(gè)生命周期中,這個(gè)值都將始終保持不變。種子值是在數(shù)據(jù)庫創(chuàng)建時(shí)由數(shù)據(jù)庫管理器指定的,而在復(fù)原操作中,DB2 始終使用的是備份映像中的種子值。為獲取備份映像中的種子值,可通過 DB2ckbkp 命令從輸出中查詢。

 將一個(gè)DB2 數(shù)據(jù)庫的全備份映像復(fù)原到一個(gè)已存在的數(shù)據(jù)庫中時(shí),兩個(gè)數(shù)據(jù)庫的別名,數(shù)據(jù)庫名,及種子值都可能不相同,復(fù)原實(shí)用程序?qū)?duì)該數(shù)據(jù)庫進(jìn)行一系列的操作,其中包括的一項(xiàng)操作就是比較源和目標(biāo)數(shù)據(jù)庫的兩個(gè)種子值,如果種子值不同,則將備份映像中的數(shù)據(jù)庫配置文件復(fù)制到目標(biāo)數(shù)據(jù)庫中,以覆蓋其原有的各配置參數(shù);如果兩個(gè)值相同,則保留目標(biāo)數(shù)據(jù)庫中的配置文件。

二. 結(jié)合實(shí)例說明實(shí)現(xiàn)的步驟:

下面我們舉例說明避免復(fù)原DB2 數(shù)據(jù)庫備份映像至不同名數(shù)據(jù)庫時(shí),目標(biāo)數(shù)據(jù)庫的配置文件被映像中的所覆蓋的方法,這里源數(shù)據(jù)庫名SAMPLE,目標(biāo)數(shù)據(jù)庫名為TEST,以對(duì)數(shù)據(jù)庫參數(shù)UTIL_HEAP_SZ 的修改來舉例:

·源數(shù)據(jù)庫種子值的獲?。?/p>

1. 查看源數(shù)據(jù)庫中 UTIL_HEAP_SZ 的值:

DB2 get db cfg for sample |find /i "util_"
實(shí)用程序堆大?。?KB) (UTIL_HEAP_SZ) = 5000

2. 脫機(jī)全備份源數(shù)據(jù)庫:#p#

DB2 backup db sample
備份成功。此備份映像的時(shí)間戳記是:20050117162957

3. 查找源數(shù)據(jù)庫的種子值:

DB2ckbkp -H SAMPLE.0DB2NODE0000CATN00000501172957.001

=====================
MEDIA HEADER REACHED:
=====================

Server Database Name -- SAMPLE
Server Database Alias -- SAMPLE
Client Database Alias -- SAMPLE
Timestamp -- 20050117162957
Database Partition Number -- 0
Instance -- DB2
Sequence Number -- 1
Release ID -- A00
Database Seed -- 423AD856
:
:

從輸出中可知 SAMPLE 數(shù)據(jù)庫的種子值為 423AD856。

·目標(biāo)數(shù)據(jù)庫種子值的獲取:#p#

4. 創(chuàng)建目標(biāo)數(shù)據(jù)庫:

DB2 create db test

5. 查看目標(biāo)數(shù)據(jù)庫中 UTIL_HEAP_SZ 的值:

DB2 get db cfg for test |find /i "util_"
實(shí)用程序堆大?。?KB) (UTIL_HEAP_SZ) = 5000

6. 更改目標(biāo)數(shù)據(jù)庫中參數(shù)值,并確認(rèn)已與源數(shù)據(jù)庫的值不同:

DB2 update db cfg for test using util_heap_sz 10000
DB2 get db cfg for test |find /i "util_"
實(shí)用程序堆大小(4KB) (UTIL_HEAP_SZ) = 10000

7. 脫機(jī)全備份目標(biāo)數(shù)據(jù)庫:

DB2 backup db test
備份成功。此備份映像的時(shí)間戳記是:20050126144943

8. 查找目標(biāo)數(shù)據(jù)庫的種子值:

DB2ckbkp -H TEST.0DB2NODE0000CATN00000501264943.001

=====================
MEDIA HEADER REACHED:
=====================#p#
Server Database Name -- TEST
Server Database Alias -- TEST
Client Database Alias -- TEST
Timestamp -- 20050126144943
Database Partition Number -- 0
Instance -- DB2
Sequence Number -- 1
Release ID -- A00
Database Seed -- 41F7C3EA
:
:

從輸出中可知 TEST 數(shù)據(jù)庫的種子值為 423AD856,也就是說,源和目標(biāo)數(shù)據(jù)庫庫的種子值是互不相同的,它們分別唯一標(biāo)識(shí)了源數(shù)據(jù)庫 SAMPLE 和目標(biāo)數(shù)據(jù)庫 TEST。

·第一次復(fù)原操作(種子值不相同時(shí)):

9. 將源數(shù)據(jù)庫的映像文件復(fù)原到目標(biāo)數(shù)據(jù)庫中:

DB2 restore db sample into test
SQL2528W 警告!復(fù)原到與備份映像數(shù)據(jù)庫相同的現(xiàn)有數(shù)據(jù)庫,但是現(xiàn)有數(shù)據(jù)庫的別名 "TEST" 與備份映像的別名 "SAMPLE" 不匹配,并且現(xiàn)有數(shù)據(jù)庫的數(shù)據(jù)庫名 "TEST" 與備份映像
的數(shù)據(jù)庫名 "SAMPLE" 不匹配。目標(biāo)數(shù)據(jù)庫將被備份版本覆蓋。
想要繼續(xù)嗎?(y/n)y

10.復(fù)原操作完成后,再次查看目標(biāo)數(shù)據(jù)庫中 UTIL_HEAP_SZ 的值:#p#

DB2 get db cfg for test |find /i "util_"
實(shí)用程序堆大?。?KB) (UTIL_HEAP_SZ) = 5000

可以看到盡管在進(jìn)行復(fù)原操作之前,TEST 庫中的 UTIL_HEAP_SZ 已被修改為 10000,但完成了復(fù)原操作之后,這一參數(shù)又被改回 5000,這就是由于源和目標(biāo)庫的種子值不同,復(fù)原操作會(huì)將備份映像配置文件復(fù)制到目標(biāo)數(shù)據(jù)庫中,從而覆蓋了原來目標(biāo)數(shù)據(jù)庫的配置所導(dǎo)致的,所以 UTIL_HEAP_SZ 參數(shù)的值由原來的 10000 覆蓋回備份映像中的 5000。

·第一次復(fù)原操作后檢查目標(biāo)庫的種子值變化:

11.復(fù)原操作完成后,再次脫機(jī)備份目標(biāo)數(shù)據(jù)庫:

DB2 backup db test
備份成功。此備份映像的時(shí)間戳記是:20050126145640

12.利用新的備份映像再次查找目標(biāo)數(shù)據(jù)庫的種子值:

DB2ckbkp -H 145640.001

=====================
MEDIA HEADER REACHED:
=====================
Server Database Name -- TEST#p#
Server Database Alias -- TEST
Client Database Alias -- TEST
Timestamp -- 20050126145640
Database Partition Number -- 0
Instance -- DB2
Sequence Number -- 1
Release ID -- A00
Database Seed -- 423AD856
:
:

可以發(fā)現(xiàn),復(fù)原操作之后目標(biāo)數(shù)據(jù)庫 TEST 的種子值已和源數(shù)據(jù)庫 SAMPLE 的相同,均為 423AD856 了!這說明目標(biāo)數(shù)據(jù)庫在復(fù)原操作的過程中獲取了備份映像中種子值,覆蓋了原種子值。

·第二次復(fù)原操作(種子值相同時(shí)):

13.再次更改目標(biāo)數(shù)據(jù)庫中參數(shù)值,并確認(rèn)更改已生效:

DB2 update db cfg for test using util_heap_sz 15000
DB2 get db cfg for test |find /i "util_"
實(shí)用程序堆大?。?KB) (UTIL_HEAP_SZ) = 15000

14.再次將源數(shù)據(jù)庫的映像文件復(fù)原到目標(biāo)數(shù)據(jù)庫中:

DB2 restore db sample into test

15.復(fù)原操作完成后,再對(duì)目標(biāo)數(shù)據(jù)庫中 UTIL_HEAP_SZ 的值進(jìn)行查看:

DB2 get db cfg for test |find /i "util_"
實(shí)用程序堆大?。?KB) (UTIL_HEAP_SZ) = 15000

可以看到,這次對(duì)目標(biāo)數(shù)據(jù)庫參數(shù)的修改未被剛完成的復(fù)原操作所使用的源數(shù)據(jù)庫映象所覆蓋,其原因就在于在這一復(fù)原操作之前,目標(biāo)數(shù)據(jù)庫的種子值已因第一次的復(fù)原操作而與源數(shù)據(jù)庫的相同,從而未觸發(fā)覆蓋目標(biāo)數(shù)據(jù)庫配置文件的操作,這樣就最終實(shí)現(xiàn)了避免復(fù)原 DB2 數(shù)據(jù)庫備份映像文件至不同名數(shù)據(jù)庫時(shí),目標(biāo)數(shù)據(jù)庫的配置文件被映像中的所覆蓋的情況。
 

責(zé)任編輯:段燃 來源: ZDNet存儲(chǔ)頻道
相關(guān)推薦

2010-08-31 15:08:14

DB2INSERT優(yōu)化

2012-04-26 14:17:51

ibmdw

2009-07-20 09:44:31

DB2外部文件格式

2010-11-02 14:08:29

DB2創(chuàng)建用戶

2010-11-03 14:16:29

DB2增量備份

2010-11-04 13:25:16

DB2在線導(dǎo)出

2010-08-02 11:38:43

DB2外部文件格式

2010-11-02 13:40:34

DB2函數(shù)調(diào)用

2010-08-17 14:47:52

DB2備份歷史文件損壞

2010-08-20 13:57:19

DB2文件系統(tǒng)已滿

2010-11-03 14:57:44

DB2備份所有表

2010-09-01 11:17:29

DB2備份

2010-09-01 14:00:01

DB2表空間

2010-11-02 11:08:11

DB2循環(huán)查詢

2010-11-02 11:43:11

DB2動(dòng)態(tài)SQL

2010-11-02 14:37:58

DB2臨時(shí)表定義

2010-11-03 14:10:23

DB2在線備份

2010-08-27 11:17:36

DB2管理環(huán)境變量

2009-03-23 10:18:03

IBMDB2數(shù)據(jù)庫

2011-03-16 13:02:47

DB2數(shù)據(jù)復(fù)制遷移
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)