AIX 上TSM備份DB2時報SQL2062N 總結
AIX 上配置完成TSM API後,備份DB2時報SQL2062N錯誤
折騰了一天在高人指點下終於搞明白其原因了。
現總結如下:
$ db2 backup db TESTDB use tsm
SQL2062N An error occurred while accessing media
"/db2home/db2admin/sqllib/adsm/libtsm.a". Reason code: "138".
檢視日誌:/usr/tivoli/tsm/client/api/bin64/dsmierror.log如下
12/11/09 13:53:58 Unable to locate valid trusted communication agent.
12/11/09 13:53:58 tcaPath is >/usr/tivoli/tsm/client/api/bin64/dsmtca<. is="">
12/11/09 13:56:34 Unable to locate valid trusted communication agent.
12/11/09 13:56:34 tcaPath is >/usr/tivoli/tsm/client/api/bin64/dsmtca<. is="">
12/11/09 13:56:38 Unable to locate valid trusted communication agent.
12/11/09 13:56:38 tcaPath is >/usr/tivoli/tsm/client/api/bin64/dsmtca<. is="">
12/11/09 14:07:31 Unable to locate valid trusted communication agent.
12/11/09 14:07:31 tcaPath is >/usr/tivoli/tsm/client/ba/bin/dsmtca<. is="">
分析:SQL2062N An error occurred while accessing media
表示db2在做備份時,無法訪問與TSM相關的配置檔案。
主要是因為安裝配置TSM是以root執行的。
但備份時是DB2使用者執行的,往往存在如下許可權問題
1.沒有生成密碼檔案。
DB2在呼叫API與TSMserver通訊時要提交密碼,用如下方法生成密碼檔案。
以root使用者生成密碼:
cd /home/db2admin/sqllib/adsm
./dsmapipw
密碼存放目錄:
cd /etc/security/adsm
TSM.PWD ( 此檔案需只有root可以讀)
當然有多個opt時可以指定./dsmapipw -optfile=/usr/tivoli/tsm/client/api/bin64/dsm.opt
生成密碼之前一定要設定環境變數:#TSM API
export DSMI_DIR=/usr/tivoli/tsm/client/api/bin64
export DSMI_CONFIG=/usr/tivoli/tsm/client/api/bin64/dsm.opt
export DSMI_LOG=/usr/tivoli/tsm/client/api/bin64
export PATH=$DSM_DIR:$DSMI_DIR:$PATH
2.日誌檔案許可權
DSMI_LOG變數設定的目錄及*.log檔案都要db2使用者寫許可權,
chmod 666 /usr/tivoli/tsm/client/api/bin64
chmod 666 /usr/tivoli/tsm/client/api/bin64/*.log
-rw-rw-rw- 1 root system 5182 Dec 11 16:15 dsmsched.log (排程日誌)
-rw-rw-rw- 1 root system 2629 Dec 11 16:15 dsmwebcl.log (web日誌)
-rw-rw-rw- 1 root system 150 Dec 11 16:08 dsmierror.log (api錯誤日誌)
3.dsmtca程式S許可權
我今天的問題就出現這個問題上,經高人指點才得以過關。
原來db2使用者(一般為db2admin db2inst1)在備份時要去訪問root設定的TSM密碼,
但db2使用者又沒有許可權,怎麼辦呢。還記得unix系統都有個不常用的S許可權嗎。
附件中有說明。
由於之前我做過
chmod 777 /usr/tivoli/tsm/client/api/bin64/
所以/usr/tivoli/tsm/client/api/bin64/dsmtca檔案的S許可權丟了。
在dsmierror日誌中出現
12/11/09 13:56:38 tcaPath is >/usr/tivoli/tsm/client/api/bin64/dsmtca<. is="">
12/11/09 14:07:31 Unable to locate valid trusted communication agent.
這個錯誤。
解決辦法:
a.重灌TSM API (tsm在重灌過程中不會影響之前的配置,只會替換程式檔案)
b.chmod 4755 dsmsta
ls -al
-rwsr-xr-x 1 root system 5276923 Oct 31 2007 dsmtca
附件:檔案許可權詳解:
檔案許可權除了r、w、x外還有s、t、i、a許可權:
s:檔案屬主和組設定SUID和GUID,檔案在被設定了s許可權後將以root身份執行。
在設定s許可權時檔案屬主、屬組必須先設定相應的x許可權,否則s許可權並不能正真生效
(c h m o d命令不進行必要的完整性檢查,即使不設定x許可權就設定s許可權,
chmod也不會報錯,當我們ls -l時看到rwS,大寫S說明s許可權未生效)。
Linux修改密碼的passwd便是個設定了SUID的程式
普通使用者無讀寫/etc/shadow檔案的許可權確可以修改自己的密碼。
ls -al /usr/bin/passwd
-rwsr-xr-x 1 root root 32988 2008-12-08 17:17 /usr/bin/passwd
我們可以透過字元模式設定s許可權:chmod a+s filename,也可以使用絕對模式進行設定:
設定s u i d:將相應的許可權位之前的那一位設定為4;
設定g u i d:將相應的許可權位之前的那一位設定為2;
兩者都置位:將相應的許可權位之前的那一位設定為4+2=6。
如:chmod 4764 filename //設定SUID
t :設定粘著位,一個檔案可讀寫的使用者並一定相讓他有刪除此檔案的許可權,
如果檔案設定了t許可權則只用屬主和root有刪除檔案的許可權,透過chmod +t filename 來設定t許可權。
i:不可修改許可權 例:chattr u+i filename 則filename檔案就不可修改,
無論任何人,如果需要修改需要先刪除i許可權,用chattr -i filename就可以了。
檢視檔案是否設定了i許可權用lsattr filename。
a:只追加許可權, 對於日誌系統很好用,這個許可權讓目標檔案只能追加,
不能刪除,而且不能透過編輯器追加。可以使用chattr +a設定追加權
# su - db2admin
$ db2 backup db RONEOLD use tsm
SQL2062N An error occurred while accessing media
"/home/db2admin/sqllib/adsm/libtsm.a". Reason code: "168".
已經配置好了幾臺。可這臺怎麼也過不去。報上面的錯,
突然想起來DB2例項是32位的.但我配置的是64們API。
暈!
$ db2 backup db CDBOLD use tsm
SQL2062N An error occurred while accessing media
"/home/db2admin/sqllib/adsm/libtsm.a". Reason code: "406"
更新DB2配置後得重啟資料庫。不然會報406
方法:
db2 force application all #停掉應用
db2stop force
db2start
SQL2062N看來這個錯真是原因多啊!
NND每臺原因都不同。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11134849/viewspace-622179/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- AIX 上配置完成TSM API後,備份DB2時報SQL2062N錯誤AIAPIDB2SQL
- TSM+RMAN 自動備份指令碼 on aix指令碼AI
- TSM file client檔案備份,歸檔基本命令總結client
- ORACLE tsm 備份錯誤Oracle
- TSM ORACLE 備份排程Oracle
- Db2 備份DB2
- TSM + Oracle備份出現問題Oracle
- 因AIX系統目錄許可權問題導致TSM備份失敗AI
- sap brtools發起oracle備份失敗,tsm備份軟體備份報錯Oracle
- aix系統備份AI
- tsm有用的命令總結
- TSM無法備份故障解決(續)
- TSM備份軟體實施步驟
- Mysql備份系列(1)--備份方案總結性梳理MySql
- rman備份rac的總結
- TSM for Oracle備份指令碼及策略說明Oracle指令碼
- [DB2]DB2備份和恢復DB2
- oracle RMAN 備份恢復總結Oracle
- oracle RMAN 備份恢復總結Oracle
- 備份恢復總結(一則)
- IBM TSM備份軟體的安裝方法IBM
- 實施aix系統備份AI
- TSM 6.X版更新總結
- TSM備份時因歸檔日誌丟失而導致備份失敗
- DB2備份與恢復DB2
- db2離線全備份DB2
- 資料庫重啟,TSM不能備份,需要在TSM的客戶端(ORACLE)啟動TSM監控程式資料庫客戶端Oracle
- 備份時報no channel allocated for maintenance(of an appropriate type)AINaNAPP
- 康孚備份資料庫時報錯資料庫
- AIX環境下用磁帶進行備份與恢復工作的一點總結AI
- sqlserver always on關於備份的總結SQLServer
- 備份容災相關概念總結
- Oracle備份與恢復總結[轉]Oracle
- TSM中備份(Backup)和歸檔(Archive)的區別Hive
- ORACLE 備份故障,原因是tsm密碼過期Oracle密碼
- DB2資料庫的備份測試--開始備份DB2資料庫
- db2備份恢復(backup restore)DB2REST
- DB2線上備份與恢復DB2