Ⅰ linux下裝db2在創建資料庫時,其資料庫存放路徑是在安裝資料庫時指定的那個路徑,還是自己隨便選個路徑啊
你用來執行建庫命令的用戶是否具有你提到的/boot目錄的相應許可權?
預設的db2inst1用戶只具有它用戶home目錄下面的許可權。如果不加on參數,庫都是建在這個目錄下的,所以許可權不會出問題。但如果你制定了on參數,那目標路徑必須開許可權。
grant一下吧。
Ⅱ DB2資料庫如何存儲圖片
建議將圖片上傳到伺服器,上傳命令中將圖片路徑記錄在數據表中。
顯示需要調用圖片時,讀取表中的圖片路徑,再通過圖像標簽輸出圖片。
Ⅲ DB2存儲過程
out_name是輸出參數
聲明一個變數
declare into_name varchar(20);
下面的into操作
select a into into_name from bb where a1= in_name
Ⅳ 如何執行db2存儲過程
1、db2 create database 資料庫名 <-- 創建資料庫
2、db2 connect to 資料庫名 user 用戶名 using 用戶密碼 <-- 連接資料庫
3、db2 -tvf otpdb_v3_db2.sql <-- 為新建資料庫建立表結構
4、db2 -td@ -f 存儲過程文件絕對路徑 <-- 導入存儲過程,無錯誤會提示成功
4、調用存儲過程:
Windows 下:db2 call 存儲過程名(參數1,參數2)
AIX 下:db2 <-- 要先進入DB2,方可調用存儲過程或執行SQL語句
db2=>call 存儲過程名(參數1,參數2)
5、驗證插入數據是否成功
Windows 下:db2 select count(*) from FTOTP_USERINFO
AIX 下:db2 <-- 要先進入DB2,方可調用存儲過程或執行SQL語句
db2=>select count(*) from FTOTP_USERINFO
Windows 下:db2 select count(*) from FTOTP_TOKENINFO
AIX 下:db2 <-- 要先進入DB2,方可調用存儲過程或執行SQL語句
db2=>select count(*) from FTOTP_TOKENINFO
Ⅳ DB2如何查看當前當前資料庫有哪些存儲過程
可以這么考慮!db2ilist:列出db2所有實例db2getinstance:顯示當前實例db2listdbdirectory:列出當前實例下的所有資料庫db2listactivedatabases:列出當前連接的資料庫db2listapplications:列出所有對資料庫的連接。(這個應該就是你要的,直接列出連接的詳細信息,包括哪些內容自己看吧)
Ⅵ 如何在DB2中執行存儲過程
1、db2
create
database
資料庫名
<--
創建資料庫
2、db2
connect
to
資料庫名
user
用戶名
using
用戶密碼
<--
連接資料庫
3、db2
-tvf
otpdb_v3_db2.sql
<--
為新建資料庫建立表結構
4、db2
-td@
-f
存儲過程文件絕對路徑
<--
導入存儲過程,無錯誤會提示成功
4、調用存儲過程:
Windows
下:db2
call
存儲過程名(參數1,參數2)
AIX
下:db2
<--
要先進入DB2,方可調用存儲過程或執行SQL語句
db2=>call
存儲過程名(參數1,參數2)
5、驗證插入數據是否成功
Windows
下:db2
select
count(*)
from
FTOTP_USERINFO
AIX
下:db2
<--
要先進入DB2,方可調用存儲過程或執行SQL語句
db2=>select
count(*)
from
FTOTP_USERINFO
Windows
下:db2
select
count(*)
from
FTOTP_TOKENINFO
AIX
下:db2
<--
要先進入DB2,方可調用存儲過程或執行SQL語句
db2=>select
count(*)
from
FTOTP_TOKENINFO
6、db2
SELECT
TOKEN,
PUBKEY
FROM
FTOTP_TOKENINFO
FETCH
FIRST
10000
ROWS
ONLY
>
要保存文件的絕對全路徑
<--
從
DB2
中導出前一萬條記錄
windows
-
e.g.
db2
SELECT
TOKEN,
PUBKEY
FROM
FTOTP_TOKENINFO
FETCH
FIRST
10000
ROWS
ONLY
>
c:\abc.txt
AIX
-
e.g.
db2
SELECT
TOKEN,
PUBKEY
FROM
FTOTP_TOKENINFO
FETCH
FIRST
10000
ROWS
ONLY
>
c:\abc.txt
<--
注意:不能先進入DB2,執行查詢與導出命令組合
7、db2
drop
procere
存儲過程名
<--
刪除存儲過程
8、db2
drop
database
資料庫名
<--
刪除指定名稱的資料庫
注,如果刪除時提示有應用程序連接到這個資料庫上,可以用如下命令斷開所有應用程序的連接:
db2
force
application
all
<--
斷開所有應用程序的連接
Ⅶ DB2千萬或億級的數據如何存儲性能才最好
db2 list db directory $disk $disk 換成你的D:盤或者E:盤,DB2 Windows只允許安裝在盤符根目錄下,這樣就可以查看到盤里是否有資料庫,如果發現了catalog一下資料庫就回來了
Ⅷ DB2資料庫中的表在硬碟上的存儲位置在哪
這個得查,先查資料庫的位置,再查表所屬的表空間,現查表空間的存儲位置,
執行db2cmd
查看本機所有的資料庫編目
db2 list db directory
聯接資料庫
db2 connect to db_name user uid using pwd
查看錶空間位置
db2 list tablespaces show detail
重裝資料庫後,只要原數據的文件沒有刪除,可以用catalog db 載入機器上原有的資料庫,但是只載入一個表空間或一個表我覺得實現不了。
Ⅸ db2資料庫存儲帶樣式的html數據
在DB2中,一個資料庫只能屬於一個實例,一個實例可以對應多個資料庫,所以實例和資料庫的關系是一對多。
每個資料庫是由一組對象組成的,如:表、視圖、索引等。表是二維結構,由行和列組成,表數據存放在表空間里,表空間是資料庫的邏輯存儲層,每個資料庫可以包含多個表空間,每個表空間只能歸屬於一個資料庫,所以資料庫和表空間的關系是一對多。
所以DB2資料庫的邏輯結構分別為:實例-->資料庫-->表空間-->表。
物理結構:
每個表空間由一個或多個容器組成,容器是映射到物理存儲,容器可以是目錄、文件、裸設備。每個容器只能屬於一個表空間。根據數據管理方式,表空間可以分為系統管理(SMS)、資料庫管理(DMS)
DB2將表和索引存儲在PAGE頁里,page是db2中最小的物理分配單元,表中的每行數據只能包含在一頁中,不能跨頁。DB2支持的頁大小分為:4K、8K、16K、32K四種,當DB2在讀取數據的時候,不是按頁讀取,而是按照extent(塊)讀取,一個extent是由一組連續的頁組成。如果一個表空間有多個容器,為了數據均衡的分布,所以在寫數據的時候,按照循環的方式在各個容器里寫數據,當一個容器中寫滿一個extent的時候,將開始在第二個容器繼續寫extent,周而復始,可以提高讀寫的效率。
每個表空間由一個或多個容器組成,表空間為邏輯層次中,而真正的數據是存放在容器中的,容器是由多個extent組成。
DB2的存儲模型為:表空間---->容器---->extent------>page.。
在V8中,當每個PAGE的大小為32K的時候,表空間最大隻能容納256G。
在V9開始,當每個PAGE的大小為32K的時候,表空間最大可以容納16T。這就是大表空間(large)。從V9開始,默認創建的數據表空間均為大表空間。
Ⅹ 如何使用db2dart來了解DB2磁碟存儲格式
我們可以使用的db2dart工具來mp磁碟的裸數據,進行data recovery。
通過db2dart,每一個用戶都可以比較容易地了解到數據頁,索引頁,EMP頁的格式(當然,對於LOB頁的格式沒有很好的方法去了解)。這樣的話,當某些情況下數據頁被損壞無法查詢,db2dart /DDEL也只能mp那些好的頁,用戶則可以通過手工的方法查找出損壞頁裡面的部分數據。
在這里,俺假設讀者對DB2已經有了基本的了解,對tablespace/container的概念,結構有所了解,能夠熟練使用db2dart工具,對操作系統的文件系統,磁碟結構有所了解。
首先,讓我們來看一看db2dart的幾個特別的用法。
相信很多人都用過/DB /TS /T /DDEL /LHWM等參數。但是這里我們強調的是另外幾個,包括/DD /DP /DI /DEMP。
篇幅所限,我們這里只討論/DD。其餘的同理……
/DD是Dump Data,也就是把一個數據頁給mp出來。
Dump的時候有兩種格式化的方法,一種是 /v y,也就是翻譯成人們可以讀懂的冬冬。另一種是 /v h,也就是直接把16進制數據給弄出來。通過細心地比較兩者,用戶可以大概猜出如何把16進制的裸數據與人們可以讀懂的數據對應起來。