一、安裝ASE11.9.2的過程 (一)軟硬件要求 Linux上的ASE11.9.2需要Linux核心版本為2.2.5、glibc-2.07-29或以上,使用TCP/IP協議,內存推薦128M以上,磁盤空間需要200M以上。 配置是賽揚300A、192M、10G,就用它來裝了ASE11.9.2。先把Redhat7.2裝好,主機名是DBSERVER,IP地址是192.168.0.1,在硬盤上劃出1G的分區作為ASE11.9.2的數據庫存儲空間,格式化成ex3文件系統,掛在根目錄下的/db。 本來,ASE11.9.2手冊中說在正式應用中數據庫設備必須使用裸設備(Raw Device),並推薦使用硬盤分區建立數據庫設備,強調不能使用操作系統文件,否則系統出現故障後難以恢復(因為操作系統高速緩存不會馬上把數據寫入磁盤,一旦系統崩潰,內存中的數據丟失,就破壞了數據庫的參照完整性)。但據ASE11.9.2的版本公告講,Linux上的ASE11.9.2不支持裸設備,為保證系統能正常恢復,Linux上的ASE11.9.2使用O_SYNC標志打開數據庫設備,以保證數據盡快寫入磁盤,但是這樣會影響系統的性能。 (二)使用RPM工具把ASE產品解包復制到硬盤中 1、在Linux控制台模式下以root用戶登錄。 2、裝載光盤(把所有軟件刻成一張光盤): #mount -t iso9660 /dev/cdrom /mnt/cdrom 3、首先解包sybase-common-11.9.2-3.i386.rpm。 #rpm -hiv /mnt/cdrom/sybase-common-11.9.2-3.i386.rpm 4、解包復制其他產品。 #rpm -hiv /mnt/cdrom/sybase-ase-11.9.2-3.i386.rpm #rpm -hiv /mnt/cdrom/sybase-chinese-11.9.2-3.i386.rpm #rpm -hiv /mnt/cdrom/sybase-openclient-11.1.1-3.i386.rpm #rpm -hiv /mnt/cdrom/sybase-doc-11_9_2-1_i386.rpm #rpm -hiv /mnt/cdrom/sybase-monserver-11.9.2-3.i386.rpm #rpm -hiv /mnt/cdrom/sybase-sqlremote-6.0.2-1.i386.rpm 5、卸載光盤。 #umount /dev/cdrom 6、RPM工具在解包時創建了sybase用戶和sybase組。此時sybase用戶的帳號是鎖住的,必須將其解鎖並更改密碼。然後將/db的讀寫權限只授予sybase用戶。 7、修改系統內存配置。在root用戶登錄文件中加入以下語句(以bash用戶,.bash_profile為例。更改系統內存值為60M):echo "62914560" > /proc/sys/kernel/shmmax 8、重新啟動系統。 9、在Linux控制台模式下以sybase用戶登錄,會自動執行一文件設置環境變量等。在/db下建一目錄/sybsystem。 10、如果你使用網絡,請配置好網卡。即使你不使用網絡,也要在loopback狀態下檢查網絡配置是否正確,方法如下:在主機上用telnet localhost命令登錄,不必退出,用同樣的命令再登錄一次,然後用兩次exit命令退出系統。如果執行正常,網絡配置就OK了。 (三)在X-Windows中使用srvbuild工具配置ASE產品 1、用sybase用戶登錄X-Windows,執行sybase安裝目錄(/opt/sybase-11.9.2)下/bin/srvbuild命令。 2、在srvbuild窗口中,選擇要安裝Server類型。把四種Server都選上。 3、給Server命名。將Adaptive Server命名為TEST,相應地,Backup Server自動命名為TEST_back,Monitor Server命名為TEST_mon,XP Server命名為TEST_XP。點擊OK按鈕,進入各Server的配置過程。 4、配置Adaptive Server。填寫或選擇以下內容: Master device path(主設備路徑):/db/sybsystem/master.dat Master device size(MB)(主設備大小):60 Master database size(MB)(主數據庫大小):20 Sybsystemprocs device path(系統存儲過程設備路徑):/db/sybsystem/systemprocs.dat Sybsystemprocs device size(MB)(系統存儲過程設備大小):60 Sybsystemprocs database size(MB)(系統存儲過程數據庫大小):60 Error log path(錯誤日志路徑):/opt/sybase-11.9.2/install/TEST.log Transport type(傳輸協議類型):tcp Host name(主機名):192.168.0.1 Port number(監聽端口號):4100 點擊OK按鈕,進入下一配置過程。 5、配置Backup Server。填寫或選擇以下內容: Error log path:/opt/sybase-11.9.2/install/TEST_back.log Tape configuration file:/opt/sybase-11.9.2/backup_tape.cfg Language:(不填) Character set:(不填) Maximum number of network connections:25 Maximum number of server connections:20 Transport type:tcp Host name:192.168.0.1 Port number:4200 點擊OK按鈕,進入下一配置過程。 6、配置Monitor Server。填寫或選擇以下內容: Maximum number of connections:5 Error log path:/opt/sybase-11.9.2/install/TEST_mon.log Configuration file path:/opt/sybase-11.9.2/install/TEST_mon.cfg Share memory Directory:/opt/sybase-11.9.2 Transport type:tcp Host name:192.168.0.1 Port number:4300 點擊OK按鈕,進入下一配置過程。 7、配置XP Server。填寫或選擇以下內容: Transport type:tcp Host name:192.168.0.1 Port number:4400 點擊Build Server按鈕,開始創建Server,這時出現一個窗口,你可以看到整個創建過程。如果有顯示以下類似信息,表示創建Server成功: …… Server TEST was sUCcessfully created. Done. …… 8、創建Server成功後,系統就會問你是否將Server本地化(Localize),即是用另外一種語言代替默認的us_english language,以及改變默認的iso_1字符集和Binary索引順序。選擇是NO。為什麼呢?曾經把中文(eucgb)設為默認字符集,反而不支持中文大字集,因為eucgb是基於GB2312標准的。查了Sybase的手冊中一些關於本地化的說明,得出的印象是,在ASE中有Unicode轉換機制,可以轉換來自不同字符集的服務器或客戶端的數據。應用也證明,使用ASE的默認的語言、字符集、索引順序來處理中文是可行的。 9、安裝成功後要做的幾件事。首先在Linux控制台模式下以sybase用戶登錄。 ①確認Server是否在運行。使用$SYBASE/install/下的showserver命令($SYBASE表示sybase的安裝目錄),應該可看見系統有幾個sybase相關進程。或者用$SYBASE/bin/下的isql -Usa -P -STEST命令來登錄Server,應該可以看見isql的提示符“1>”,再鍵入exit就可以退出了。 ②設置sa帳戶的口令。裝好Server後,系統自動建立sa用戶,即系統管理員,對整個系統擁有最大的權力,但這時sa的口令是空的,必須馬上更改。 $SYBASE/bin/isql -Usa -P -STEST 1>sp_passWord null,新口令 2>go ③關閉主設備缺省狀態。否則用戶的數據庫會安裝在主設備上。 $SYBASE/bin/isql -Usa -STEST Password:(輸入新口令) 1>sp_diskdefault master,defaultoff 2>go (四)安裝語法數據庫和示例數據庫 先建立一個放置語法數據庫和示例數據庫的數據庫設備,大小為10M,並設置為缺省狀態。 $SYBASE/bin/isql -Usa -STEST Password:(輸入口令) 1>disk init name = "sybsyntaxdev", 2>physname = "/db/sybsystem/sybsyntaxdev.dat", 3>vdevno = 2,size = 5120 4>go 1>sp_diskdefault sybsyntaxdev,defaulton 2>go 1、安裝sybsyntax語法數據庫。這是通過$SYBASE/scripts/ins_syn_sql這個腳本文件來安裝的。但ins_syn_sql需要修改一下,去掉開頭用來指定缺省數據庫設備的一段語句,加入“create database sybsyntax”一句(具體請參考《Linux、Intel平台的Sybase ASE安裝指南》7-14頁、7-15頁)。然後執行以下命令: $SYBASE/bin/isql -Usa -P口令 -STEST < $SYBASE/scripts/ins_syn_sql 語法數據庫安裝好後,可用系統存儲過程sp_syntax查詢Transact-SQL語言、系統存儲過程、Sybase工具的使用幫助。例如要查詢select命令的用法: $SYBASE/bin/isql -Usa -STEST Password:(輸入口令) 1>sp_syntax "select" 2>go 2、安裝pubs2、pubs3示例數據庫。技術文檔中的例子就是來自示例數據庫。執行以下命令: $SYBASE/bin/isql -Usa -P口令 -STEST < $SYBASE/scripts/installpubs2 $SYBASE/bin/isql -Usa -P口令 -STEST < $SYBASE/scripts/installpubs3 (五)安裝ASE補丁 據Sybase公司講,EBF9820.tgz修正了ASE11.9.2已知的一些問題,建議盡快安裝。 1、先關閉Server。 $SYBASE/bin/isql -Usa -STEST Password:(輸入口令) 1>shutdown SYB_BACKUP &&關閉Backup Server 2>go 1>shutdown &&關閉Adaptive Server 2>go $SYBASE/bin/isql -Usa -P口令 -STEST_mon 1>sms_shutdown &&關閉Monitor Server 2>go 2、在Linux控制台模式下以root用戶登錄。 #mkdir /tmp/SWR &&建立放置補丁的臨時目錄 #mount -t iso9660 /dev/cdrom /mnt/cdrom &&裝載光盤 #cp /mnt/cdrom/EBF9820.tgz /tmp/SWR &&將補丁復制到臨時目錄 #cd /tmp/SWR #gunzip -S .tgz EBF9820.tgz #tar xvf EBF9820.tar #rpm -hiv /tmp/SWR/ebf9820/RPMS/sybase-SWR-9820-1.i386.rpm 重新設置sybase用戶對$SYBASE的讀寫權限。 退出root用