AIX 上配置完成TSM API後,備份DB2時報SQL2062N錯誤
問題真多。:
bash-3.2$ db2 backup db BPFDB online use tsm
SQL2062N An error occurred while accessing media
"/home/db2admin/sqllib/adsm/libtsm.a". Reason code: "400"
檢視錯誤日誌:
bash-3.2$ tail -f tsmdb2.log
05/18/11 20:23:56 ANS1036S The option 'SM' or the value supplied for it is not valid. It was found in options file 'OPTIONS STRING'
at line number: 1
The complete entry: 'TSM'
05/18/11 20:23:56 ANS1038S Invalid option specifie
引數設定錯誤:
db2 update db cfg for BPFDB using VENDOROPT :"''" (雙引號裡包著單引號)
OK
現總結如下:
db2 => ? SQL2062N
SQL2062N存取介質 "" 時出錯。原因碼:""
解釋:
資料庫實用程式處理期間,在存取裝置、檔案、TSM
或供應商共享庫時發生意外的錯誤。下面是原因碼列表:
1 試圖初始化裝置、檔案、TSM 或供應商共享庫失敗。
2 試圖終止裝置、檔案、TSM 或供應商共享庫失敗。
其它 若正在使用 TSM,則這是一個由 TSM 返回的錯誤程式碼。
實用程式停止處理。
使用者響應:
確保實用程式所使用的裝置、檔案、TSM
或供應商共享庫可用,並重新提交實用程式命令。若該命令仍不成功,則與
技術服務代表聯絡。
$ db2 backup db TESTDB use tsm
SQL2062N An error occurred while accessing media
"/db2home/db2admin/sqllib/adsm/libtsm.a". Reason code: "138".
# su - db2admin
$ db2 backup db RONEOLD use tsm
SQL2062N An error occurred while accessing media
"/home/db2admin/sqllib/adsm/libtsm.a". Reason code: "168".
$
檢視日誌:/usr/tivoli/tsm/client/api/bin/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設定追加權
ash-3.2$ db2 backup db RONEOLD use tsm
SQL2071N An error occurred while accessing the shared library
"/home/db2admin/sqllib/adsm/libtsm.a". Reason code: "1".
bash-3.2$ cd /home/db2admin/sqllib/adsm/
修改資料夾許可權後OK
bash-3.2# chmod 777 /usr/tivoli/
bash-3.2# chmod 777 /usr/tivoli/tsm
bash-3.2# chmod 777 /usr/tivoli/tsm/client
bash-3.2# chmod 777 /usr/tivoli/tsm/client/api
bash-3.2# chmod 777 /usr/tivoli/tsm/client/api/bin
bash-3.2# su - db2admin
發生以下錯誤。
bash-3.2$ db2 backup db CDBOLD use tsm
SQL2062N An error occurred while accessing media
"/home/db2admin/sqllib/adsm/libtsm.a". Reason code: "184".
bash-3.2$
原來是DB2策略域沒有設定好
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11134849/viewspace-695660/,如需轉載,請註明出處,否則將追究法律責任。
上一篇:
FASTback經驗總結
請登入後發表評論
登入
全部評論
相關文章
- AIX 上TSM備份DB2時報SQL2062N 總結AIDB2SQL
- ORACLE tsm 備份錯誤Oracle
- TSM+RMAN 自動備份指令碼 on aix指令碼AI
- TSM備份ANS0326E錯誤及解決
- AIX上oracle匯出備份EXP-00056: 遇到 ORACLE 錯誤 600AIOracle
- 【DB2】在AIX 上安裝DB2 遇到空間不足的錯誤DB2AI
- sap brtools發起oracle備份失敗,tsm備份軟體備份報錯Oracle
- 康孚備份資料庫時報錯資料庫
- TSM ORACLE 備份排程Oracle
- TSM在DB2裡面的配置說明DB2
- php在iis上配置時報mysql_connect錯誤解決辦法PHPMySql
- Db2 備份DB2
- TSM + Oracle備份出現問題Oracle
- 因AIX系統目錄許可權問題導致TSM備份失敗AI
- 手工刪除歸檔日誌導致RMAN備份時報ORA-19625錯誤
- AIX上增加邏輯卷時報錯誤0516-787 extendlv: Maximum allocation for logical volumeAI
- AIX6.1上打10G PATCH時報有Java程式在執行的錯誤解決AIJava
- DB2資料庫的備份測試--備份環境變數配置DB2資料庫變數
- aix系統備份AI
- db2 v10.1在AIX雙機上的配置DB2AI
- TSM無法備份故障解決(續)
- TSM備份軟體實施步驟
- Oracle備份時出現AIX系統的3D32B80D錯誤OracleAI3D
- AIX6.1上打10G PATCH時報libjox10.a無法覆蓋的錯誤解決AI
- ecshop安裝後開啟管理頁面時報500錯誤
- TSM for Oracle備份指令碼及策略說明Oracle指令碼
- [DB2]DB2備份和恢復DB2
- 【故障處理】手工刪除歸檔日誌導致RMAN備份時報ORA-19625錯誤
- 更換歸檔日誌引數路徑導致RMAN備份時報ORA-19625錯誤
- 解決IE上登陸oracle OEM時報:“證書錯誤,導航已阻止”的錯誤Oracle
- eclipse 打war包後執行時報 cas.client 錯誤Eclipseclient
- event中有多餘的分號引起mysqldump備份匯入時報錯MySql
- IBM TSM備份軟體的安裝方法IBM
- 實施aix系統備份AI
- DB2 錯誤一覽DB2
- AIX上配置、使用VNCAIVNC
- AIX 上配置、使用NFSAINFS
- TSM備份時因歸檔日誌丟失而導致備份失敗