DB2數據庫創建存儲過程時遇到的錯誤現象

問:在 Unix 操作系統下,有時會發生當 DB2 用戶使用如:

db2 -td@ -vf <存儲過程創建腳本文件>

創建存儲過程失敗的情況,而查看 db2diag.log 文件則發現有類似如下報錯信息:

2002-10-05-13.47.40.075759 Instance:db2inst1 Node:000

PID:1355876(db2agent (ABC) 0) TID:1 Appid:OC10103F.OD12.017302185202

oper system services sqloChangeFileOwnership Probe:100 Database:ABC

errno:

0x0FFFFFFFFFFF7AF0 : 0x00000001 ....

PID:1355876 TID:1 Node:000 Title: Path/Filename

/home/db2inst1/sqllib/function/routine/sqlproc/ABC/DB2INST1/tmp/

2002-10-05-13.47.40.166289 Instance:db2inst1 Node:000

PID:1355876(db2agent (ABC) 0) TID:1 Appid:OC10103F.OD12.017302185202

PSM - SQL Procedure psm_ctrl::psm_init_backend Probe:230 Database:ABC

DIA8402C A disk error has occurred.

ZRC=0x860F0004

PID:1355876 TID:1 Node:000 Title: SQL procedure initialization:

0x09000000031213BC : 696E 7374 616E 6365 206F 776E 6572 2064 instance owner d

0x09000000031213CC : 6F65 7320 6E6F 7420 6265 6C6F 6E67 2074 oes not belong t

0x09000000031213DC : 6F20 6665 6E63 6564 2075 7365 7227 7320 o fenced user's

0x09000000031213EC : 7072 696D 6172 7920 6772 6F75 70 primary group

答:在 Unix 平台下的 DB2 存儲過程對于實例用戶和受防護用戶之間的關系有一個約束,即 DB2 實例用戶必須同時是受防護用戶的主組中的一個用戶。上述問題的發生就是由于在系統上,實例用戶未加入至受防護用戶的主組中,從而引發了存取權限不夠的問題所導致的,而並非真的發生了如日志中所報的磁盤錯誤。解決這一問題的方法很簡單,只要將實例用戶加入該主組即可。但有時用戶會發現,即使已將用戶加入到指定組,問題仍然存在,這時還應檢查一下實例用戶所加入的組是否是實例用戶所對應的受防護用戶的主組,即檢查一下加入的組是否正確。

要找到實例用戶所應的受防護用戶以及受防護用戶的主組,可用如下方法:

1. 轉入實例用戶 Home 路徑下的 sqllib/adm 路徑

2. 執行命令:ls -l .fenced,會得到類似如下輸出:

-r--r--r-- 1 db2fencj db2fgrp2 0 Jul 30 09:57 .fenced

3. 輸出中表明,該文件所屬的用戶(db2fencj)即爲受防護用戶,所屬的組(db2fgrp2)即爲受防護用戶的主組

繼而,用戶便可驗證實例用戶是否被加入到了正確的組中,如果結果正確,便可以解決上述問題。

DB2數據庫創建存儲過程時遇到的錯誤
  問:在 Unix 操作系統下,有時會發生當 DB2 用戶使用如:  db2 -td@ -vf <存儲過程創建腳本文件>  創建存儲過程失敗的情況,而查看 db2diag.log 文件則發現有類似如下報錯信息:    ----------------...查看完整版>>DB2數據庫創建存儲過程時遇到的錯誤
 
快速解決DB2創建存儲過程時所遇到的錯誤
某些情況下, Unix操作系統環境下會發生當DB2用戶使用db2 -td@ -vf <存儲過程創建腳本文件> 創建存儲過程失敗的情況,而查看 db2diag.log 文件則發現有類似如下報錯信息: 2002-10-05-13.47.40.075759 Instance:...查看完整版>>快速解決DB2創建存儲過程時所遇到的錯誤
 
安裝Sybase後新建server時遇到的錯誤現象
錯誤案例:,/B>AIX環境下安裝Sybase,新建server時遇到以下錯誤: exec(): 0509-036 Cannot load program /usr/sybase/ASE-12_5/bin/dataserver because of the following errors: 0509-130 Symbol resolution fa...查看完整版>>安裝Sybase後新建server時遇到的錯誤現象
 
兩個數據分頁的存儲過程
1. 按某個特定表查詢的存儲過程:CREATE PROCEDURE GetPagingData_bigfun@tblName varchar(255), -- 表名@strGetFields varchar(1000) = '*', -- 需要返回的列 @fldName varchar(255)='', -- 排序的字段名@PageSize i...查看完整版>>兩個數據分頁的存儲過程
 
一個通用的數據分頁的存儲過程
一個通用的數據分頁的存儲過程 一個通用的數據分頁的存儲過程 一個通用的數據分頁的存儲過程 CREATE PROCEDURE sp_page @tb varchar(20), --表名 @col varchar(20), --按該列來進...查看完整版>>一個通用的數據分頁的存儲過程
 
一個通用的數據分頁的存儲過程
一個通用的數據分頁的存儲過程 CREATE PROCEDURE sp_page @tb varchar(20), --表名 @col varchar(20), --按該列來進行分頁 @coltype bit, --@col列的類型,0-數字類型,1-字符類型 @collist varchar(800),--要查詢出的...查看完整版>>一個通用的數據分頁的存儲過程
 
解決升級數據庫時遇到的Text file busy錯誤
今天在將一個數據庫從9204升級到9206時候(p3948480_9206_HP64),遇到一個報錯: Exception String: Error in writing to file '/oracle/app/oracle/product/9.2.0/lib32/libwtc9.sl'. [/oracle/app/oracle/product...查看完整版>>解決升級數據庫時遇到的Text file busy錯誤
 
在實施數據倉庫過程中應避免的11個錯誤
  1、錯誤的項目發起:  在數據倉庫實施項目經理之上,還有兩個關鍵的人物對整個項目的實施産生重要影響。一是爲更有效的利用企業數據和信息技術投錢的人,可以是公司總裁、市場副總裁、研發副總裁等。在項目經理...查看完整版>>在實施數據倉庫過程中應避免的11個錯誤
 
DB2 8.1解決創建存儲過程失敗的解決辦法
DB2 8.1解決創建存儲過程失敗的解決辦法 DB2 8.1解決創建存儲過程失敗的解決辦法 在DB2 8.1或者以前的版本中,創建存儲過程需要C編譯器。如果操作系統中沒有C的編譯環境,存儲過程是不能創建的,解決辦法是把...查看完整版>>DB2 8.1解決創建存儲過程失敗的解決辦法
 
 
回到王朝網路移動版首頁