TSM配置不好導致備份不正常,從而導致資料庫效能問題

mengzhaoliang發表於2009-05-21

具體原因: 問題1:資料庫伺服器為什麼在2009年5月12日 9:00左右發生IO頻繁操作?
原因:這是因為做TSM實施的工程師在TSM Server中沒有做好正確的排程配置,本來在凌晨2:00執行資料庫的1級備份,因為TSM實施工程師沒有在TSM Server中設定排程時間的限制,導致2009年5月12日 8:53分才執行資料庫的1級備份,備份時間正好遇上了系統的繁忙登陸時間,系統迫於IO壓力自動切換到備庫(10.1.1.34). 這是因為資料庫中做了HA,資料庫因為負載問題剛切換到另一臺資料庫伺服器中。

問題2:為什麼切換到備庫(10.1.1.34),資料庫還不能備份。
原因:當初TSM實施工程師沒有徹底的配置好另一臺資料庫的配置檔案。需要重新配置TSM Client備庫(10.1.1.34)的配置檔案。

問題3:TSM在執行備份時,為什麼呼叫資料庫的RMAN指令碼,當RMAN指令碼只有一個通道(channel)時,可以正常備份資料到帶庫,用兩個通道(channel)就不能備份。
原因:當初TSM實施工程師在TSM Server中配置錯誤,在一個帶庫中,配置了兩個Library(帶庫),一個Library分別分配了一個驅動(Driver),所以兩個通道(channel)需要Library的兩個驅動(Driver),則導致了上面的問題。在TSM Server中刪除Library和Driver,重新配置一個Library,一個Library配置兩個Driver,則解決了上述問題。


解決方法: 解決問題1:
在TSM Server的命令列中輸入:q sched 看到下面資訊
JTXXTSM01 ANS8000I Server command: 'q sched'
JTXXTSM01 
JTXXTSM01             域: STANDARD
JTXXTSM01              *:
JTXXTSM01       排程名稱: DATE
JTXXTSM01           操作: CMD
JTXXTSM01 啟動日期/時間: 05/15/2009 09:48:00
JTXXTSM01       持續時間: 10 分鐘
JTXXTSM01           週期: 1 小時
JTXXTSM01             天: 任何
JTXXTSM01 
JTXXTSM01             域: STANDARD
JTXXTSM01              *:
JTXXTSM01       排程名稱: ORACLE_0_BCK_SCH
JTXXTSM01           操作: CMD
JTXXTSM01 啟動日期/時間: 04/30/2008 02:00:00
JTXXTSM01       持續時間: 10 分鐘
JTXXTSM01           週期:
JTXXTSM01             天: (*)
JTXXTSM01 
JTXXTSM01             域: STANDARD
JTXXTSM01              *:
JTXXTSM01       排程名稱: ORACLE_1_BCK_SCH
JTXXTSM01           操作: CMD
JTXXTSM01 啟動日期/時間: 04/30/2008 02:00:00
JTXXTSM01       持續時間: 不確定的
JTXXTSM01           週期:
JTXXTSM01             天: (*)

紅色欄位中的配置導致了本應該2:00的備份,在8:53分才開始備份。解決方法為:開啟ISC
,在“策略域和客戶機節點”——》“STANDARD屬性”——》“客戶機節點排程”中選中——》“ORACLE_1_BCK_SCH”,修改該排程的“高階選項”,在“可以指定一個時間限制,在此時間限制期間必須啟動排程的操作。此時間限制不限制完成此操作可能花費的時間。”中設定“10”分鐘。如果不能修改,可以把該排程資訊刪除,然後重建排程,在重建中設定“10”分鐘限制即可解決上面的問題。

解決問題2:
檢查備庫中的配置檔案
/usr/tivoli/tsm/client/ba/bin/dsm.sys 這是配置TSM Client的排程節點檔案
/usr/tivoli/tsm/client/api/bin64/dsm.sys
/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt 這是資料庫的配置檔案
(把下面的10.2.1.53改成現在TSM Server 的10.1.1.53地址)
(把下面的10.2.1.34改成現在TSM Client 的10.1.1.34地址)
JTXXDBS02:> pwd
/usr/tivoli/tsm/client/ba/bin
JTXXDBS02:> cat dsm.sys
SErvername      TSMServer
        COMMMethod              TCPip
        TCPPort                 1500
        PasswordAccess          generate
        TCPServeraddress        10.2.1.53
        NODENAME                JTXXDBS

        ENABLELANFREE            YES
        LANFREECommmethod        TCPIP
        LANFREETCPServerAddress  10.2.1.34
        LANFREETCPport           1502

SErvername      TSMoraServ
        COMMMethod                   TCPip
        TCPPort                      1500
        TCPServeraddress             10.2.1.53
        PasswordAccess               generate
        NodeName                     TDPOMS

        ENABLELANFREE                YES
        LANFREECommmethod            TCPIP
        LANFREETCPServerAddress      10.2.1.34
        LANFREETCPport               1502
JTXXDBS02:>

修改/usr/tivoli/tsm/client/api/bin64/dsm.sys
(把下面的10.2.1.53改成現在TSM Server 的10.1.1.53地址)
(把下面的10.2.1.34改成現在TSM Client 的10.1.1.34地址)
JTXXDBS02:> cat dsm.sys
SErvername      TSMoraServ
        COMMMethod                   TCPip
        TCPPort                      1500
        TCPServeraddress             10.2.1.53
        PasswordAccess               prompt
        NodeName                     TDPOMS

        ENABLELANFREE                YES
        LANFREECommmethod            TCPIP
        LANFREETCPServerAddress      10.2.1.34
        LANFREETCPport               1502

然後啟動TSM Client的排程程式
JTXXDBS02:> pwd
/usr/tivoli/tsm/script
JTXXDBS02:> ./oraclebcksched.sh  &    (一般在UNIX、Linux系統中,讓程式在後臺執行加上“&”)

確認TSM Client是否啟動
JTXXDBS02:> ps -ef|grep dsmc
    root  606376       1   0 10:16:40  pts/1  0:02 dsmc sched -servername=TSMoraserv
    root  909332  708728   0 10:45:25  pts/1  0:00 grep dsmc

可以再次檢查TSM Client的排程日誌和錯誤日誌
/usr/tivoli/tsm/logs/dsmsched.log
已經可以把下次執行的排程時間列了出來
05/13/09   10:16:47 --- SCHEDULEREC QUERY BEGIN
05/13/09   10:16:47 --- SCHEDULEREC QUERY END
05/13/09   10:16:47 Next operation scheduled:
05/13/09   10:16:47 ------------------------------------------------------------
05/13/09   10:16:47 Schedule Name:         ORACLE_ARCLOG_BCK_SCH
05/13/09   10:16:47 Action:                Command
05/13/09   10:16:47 Objects:               /usr/tivoli/tsm/script/backuparchive.sh
05/13/09   10:16:47 Options:
05/13/09   10:16:47 Server Window Start:   12:00:00 on 05/13/09
05/13/09   10:16:47 ------------------------------------------------------------
05/13/09   10:16:47 Command will be executed in 1 hour and 45 minutes.


/usr/tivoli/tsm/logs/dsmerror.log沒有錯誤資訊

注:如果還沒有解決,可以檢視TSM Client(資料庫伺服器)下面的配置檔案是否正常
/usr/tivoli/tsm/client/ba/bin/dsm.sys 這是配置TSM Client的排程節點檔案
/usr/tivoli/tsm/client/api/bin64/dsm.sys
/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt 這是資料庫的配置檔案


問題3:
可以備份的一個通道的指令碼如下:
run{ 
 allocate channel t1 type 'sbt_tape' parms 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)'; 
 sql 'alter system archive log current';
 BACKUP FILESPERSET 10 MAXSETSIZE 10G    
 FORMAT 'arch_%T_%s_%p'    
 SKIP INACCESSIBLE   
 ARCHIVELOG ALL DELETE INPUT;   
 release channel t1; 
}

不能備份的兩個通道指令碼如下:
run{ 
 allocate channel t1 type 'sbt_tape' parms 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)';
  allocate channel t2 type 'sbt_tape' parms 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)'; 
 sql 'alter system archive log current';
 BACKUP FILESPERSET 10 MAXSETSIZE 10G    
 FORMAT 'arch_%T_%s_%p'    
 SKIP INACCESSIBLE   
 ARCHIVELOG ALL DELETE INPUT;   
 release channel t1; 
release channel t2;
 
}

在TSM Server中命令列中輸入下面的命令刪除和重新配置:
# delete path   刪除TSM Server 中的Library 和Driver
del path TSMSERVER 3100LIB srct=SERVER destt=LIBRARY
del path TSMSERVER 3100LIB02 srct=SERVER destt=LIBRARY
del path TSMSERVER DRV01 srct=SERVER destt=DRIVE libr=3100LIB02
del path TSMSERVER DRV02 srct=SERVER destt=DRIVE libr=3100LIB02
del path TSMSERVER DRV01 srct=SERVER destt=DRIVE libr=3100LIB
del path STORAGEADB01 DRV02 srct=SERVER destt=DRIVE libr=3100LIB02
del dr 3100LIB02 DRV01
del dr 3100LIB02 DRV02
del dr 3100LIB DRV01
del library 3100LIB02
del library 3100LIB
#重新定義Library 和Driver
def library 3100LIB02 libtype=scsi share=yes
def path TSMSERVER 3100LIB02 srct=SERVER destt=LIBRARY device=lb5.1.0.5

def dr 3100LIB02 DRV01
def dr 3100LIB02 DRV02

def path TSMSERVER DRV01 srct=SERVER destt=DRIVE libr=3100LIB02 device=mt4.0.0.5
def path TSMSERVER DRV02 srct=SERVER destt=DRIVE libr=3100LIB02 device=mt5.0.0.5

checkin libv 3100LIB02 search=yes status=scr
#10分鐘後 
checkin libv 3100LIB02 search=yes status=private

然後在TSM Client(資料庫)執行
現在只有一個Library就是3100LIB02,下面的原來的備份資料移動到3100LIB02
JTXXDBS01:> pwd
/usr/tivoli/tsm/client/ba/bin
JTXXDBS01:> dsmadmc
IBM Tivoli Storage Manager
Command Line Administrative Interface - Version 5, Release 4, Level 0.0
(c) Copyright by IBM Corporation and other(s) 1990, 2007. All Rights Reserved.

Enter your user id:  admin

Enter your password:

Session established with server TSMSERVER: Windows
  Server Version 5, Release 4, Level 0.0
  Server date/time: 05/21/09   13:28:07  Last access: 05/21/09   12:47:37
tsm: TSMSERVER>move data Z15937L3
ANR2232W 此命令將把儲存在卷 Z15937L3 上的全部資料移動到同一個儲存池內的其他卷?
?o you wish to proceed? (Yes (Y)/No (N))y
ANS8003I Process number 7 started.

tsm: TSMSERVER>

這樣就解決了上面的問題。
如果再有問題,可以再次檢視TSM Server和Client的活動日誌。

問題四:如果在TSM Client(資料庫中)發現ANS9201W LAN-free path failed. 錯誤,
JTXXDBS02:> dsmc -servername=TSMoraServ
IBM Tivoli Storage Manager
Command Line Backup/Archive Client Interface
  Client Version 5, Release 4, Level 0.0
  Client date/time: 05/15/09   10:57:55
(c) Copyright by IBM Corporation and other(s) 1990, 2007. All Rights Reserved.
Node Name: TDPOMS
ANS9201W LAN-free path failed.
Node Name: TDPOMS
Session established with server TSMSERVER: Windows
  Server Version 5, Release 4, Level 0.0
  Server date/time: 05/15/09   10:57:51  Last access: 05/15/09   10:51:25
tsm> q sched
Node Name: TDPOMS
ANS9201W LAN-free path failed.
Node Name: TDPOMS
Session established with server TSMSERVER: Windows
  Server Version 5, Release 4, Level 0.0
  Server date/time: 05/15/09   10:58:10  Last access: 05/15/09   10:57:51
    Schedule Name: BACKUPARCHIVE.SH
      Description: Oracle資料庫庫歸檔日誌備份
   Schedule Style. Classic

原因:是TSM實施工程師的配置檔案錯誤
解決:
JTXXDBS02:> pwd
/usr/tivoli/tsm/client/ba/bin
JTXXDBS02:> cat dsm.sys
SErvername      TSMServer
        COMMMethod              TCPip
        TCPPort                 1500
        PasswordAccess          generate
        TCPServeraddress        10.1.1.53
        NODENAME                JTXXDBS

        ENABLELANFREE            YES
        LANFREECommmethod        TCPIP
        LANFREETCPServerAddress  10.1.1.34
        LANFREETCPport           1502

SErvername      TSMoraServ
        COMMMethod                   TCPip
        TCPPort                      1500
        TCPServeraddress             10.1.1.53
        PasswordAccess               generate
        NodeName                     TDPOMS

        ENABLELANFREE                YES
        LANFREECommmethod            TCPIP
        LANFREETCPServerAddress      10.1.1.34
        LANFREETCPport               1502

JTXXDBS02:>

把紅色的“YES”改成了“NO”,這樣不會發生下面的“ANS9201W”紅色字型錯誤

問題五:確定帶庫中是否做了2個虛擬的Library(邏輯帶庫)?
一般來說一個物理的帶庫對應一個Library。
開啟帶庫的IP,如:
左邊“Manager Library”——》“Logical  Libraries”,在網頁的右邊看到一個Library,則為一個Library,如果看到兩個,則有兩個邏輯帶庫。

問題3:在TSM Server作業系統2003中識別帶庫時,出現兩個介質變換器是否正常?
如下圖:
 
經過800電話,IBM帶庫工程師說,一般情況是一個帶庫,一般出現一個介質變換器。如果出現兩個介質變換器,也是正常的。在配置TSM Server時,只需要用一個介質變換器就沒有問題。

 

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

相關文章