數據庫設備

所有的數據庫都創建在數據庫設備上。所謂數據庫設備,不是指一個可識別的物理設備,而是指用于存儲數據庫和數據庫對象的磁盤原始分區或操作系統文件。增加一個新的數據庫設備時,必須對這些設備“初始化”。初始化的過程就是將物理磁盤、磁盤分區或操作系統文件變為SYBASE數據庫可以識別的設備。初始化數據庫設備使用DISKINIT命令:

DISKINIT
NAME=設備名,
PHYSNAME=物理設備名,
VDEVNO=虛擬設備號,
SIZE=塊數


其中,NAME指數據庫設備名,此名將用于CREATEDATABASEALTERDATABASE命令。PHYSNAME是原始磁盤分區或操作系統文件名。VDEVNO是數據庫設備的標識號,在SQLServer中,它必須是唯一的。SIZE的單位是2K的塊,對于新創建的數據庫,最小的SIZEmodel數據庫的尺寸,即10242K的塊(2M)。

例如:/*將/dev目錄下400M的物理設備初始化為SYBASE的數據庫設備tele114_log01*/
diskinit
name=“tele114_log01”,
physname=“/dev/rtelelog”
vdevno=4
size=204800/*2Kbyte*204800=400Mbyte*/
go


和我們熟悉的sql server不太一樣的是在sql server中可以直接創建數據庫,但是在sybase中需要先創建設備,并且需要為設備指定大小,當設備創建完成后才能在設備中建立數據庫。這樣的話我們在磁盤上能看到的就是數據庫設備而不是數據庫,這樣的好處就是sybase數據庫轉移竟然可以直接復制粘貼,而不是像sql server那樣還需要附加,這次維護sybase數據庫最后就是直接復制粘貼來實現數據庫的轉移(在后面的文章中將詳細介紹)。

數據庫設備從邏輯上被劃分為數據庫段以允許將某一特定的對象放置在指定的段上(創建對象時指定),一數據庫設備可擁有多達192個段,一段可使用255個邏輯設備上的存儲空間。當用戶創建一個數據庫時,SQLSERVER會自動在該數據庫中創建三個段:SYSTEMLOGSEGMENTDEFAULT,這三個段分別用來存儲數據庫的系統表、事務日志和其他數據庫對象

在數據庫中創建段的步驟是:

先用Diskinit初始化物理設備

通過使用Createdatabasealterdatabaseon子句,使數據庫設備對數據庫可用,于是新設備自動增加到數據庫的defaultsystem段。

一旦數據庫設備存在并對數據庫可用,使用存儲過程Sp_addsegment定義數據庫的段。語法如下:

Sp_addsegment段名,數據庫名,設備名


作者:beijiguangyong 發表于2012-1-31 23:54:52 原文鏈接
閱讀:578 評論:9 查看評論