Linux上Sybase ASE11.9.2的安裝、配置與使用之新手上路篇(轉)
Linux上Sybase ASE11.9.2的安裝、配置與使用之新手上路篇(轉)[@more@]在開篇之前,先講題外話,說一說我為什麼選擇Linux+Sybase,興許大家會有些共鳴。 我不是計算機科班出身,也不是IT業中人,只是個電腦愛好者,玩遊戲,裝程式,上網瞎逛,DOS,Win31,Win95,WinNT,樣樣都搗鼓一下。雖說也學了一些雜七雜八的東西,但看著家裡先後花了近兩萬塊捧回來的老中青三臺電腦(從486、Pentium到賽揚)一天天地貶值,到如今連三千塊也不值,心裡不由想到該學一些有用的“本領”了,也算是對得起自己的“鉅額”投資。
學什麼好呢?資料庫容易入門,用途又廣,網路社會又來了,就學資料庫在網路上的應用吧。於是我就選擇了Visual Foxpro開發前端客戶程式,後臺使用SQL資料庫管理系統這種流行的客戶機/伺服器模式來學。SQL資料庫有很多,選哪個廠家,什麼平臺呢?開始我想學WinNT+MS SQL SERVER,挺流行的,參考書又多,可是哪兩個軟體價格驚人,雖然有D版,但版權管得越來越嚴,我們還是用正版軟體吧——免費作業系統就用Linux,SQL資料庫就選Sybase了。為什麼呢?1、Sybase是世界著名的資料庫廠商,對Linux很支援,Sybase ASE for Linux就推出了多個版本,其網站產品下載、技術手冊、疑難解答挺齊全的,遇上問題容易找到解決辦法。2、Sybase ASE與MS SQL SERVER是近親,MS SQL SERVER的早期版本就是Sybase公司為微軟公司開發的。兩者體系相近,管理方式、命令、函式、工具差不多,你看一看兩家的技術文件就知道了(我曾經買了一套MS SQL SERVER 6.5的技術手冊)。學會了Sybase ASE,轉頭去學MS SQL SERVER,應該比較容易上手吧。
對於我來說,Sybase ASE和Linux都是剛入門,很多地方還是一知半解、迷迷糊糊,主要靠自己去摸索,去走出一條路來。文中講的是我的學習收穫,不是標準答案,其中錯誤肯定不少,請大家指正。下面就講講我學Sybase ASE for Linux的過程,僅供參考。
一、我學Sybase ASE for Linux用到的資源
(一)軟體
1、Sybase Adaptive Server Enterprise 11.9.2(以下稱ASE11.9.2)的RPM包,共7個檔案:
(1)sybase-ase-11.9.2-3.i386.rpm
(2)sybase-chinese-11.9.2-3.i386.rpm
(3)sybase-common-11.9.2-3.i386.rpm
(4)sybase-doc-11_9_2-1_i386.rpm
(5)sybase-monserver-11.9.2-3.i386.rpm
(6)sybase-openclient-11.1.1-3.i386.rpm
(7)sybase-sqlremote-6.0.2-1.i386.rpm
我是從Sybase公司的網站上面下載的,需要註冊一下才能下載。網址是:
2、ASE11.9.2的補丁,共兩個檔案:
(1)EBF9820.tgz——補丁程式
(2)EBF9820.ltr——文件
我是從Sybase中國公司的網站上面下載的,網址是:
3、Windows平臺的ASE管理工具
(1)asentlnx.exe。這是從Sybase公司的網站下載的。安裝後有如下工具:
①Sybase Central——管理ASE資料庫的圖形介面工具
②SQL Modeler——強大的客戶/伺服器應用程式設計工具(可惜我不會用!)
③Dsedit——設定客戶端介面檔案(sql.ini)的圖形介面工具
④OC OS Config Utility——設定客戶端機器的環境變數、網路驅動程式等的工具
⑤Sybase System11 ODBC驅動程式
(2)sybase11.exe。這是我從網站下載的。安裝後有如下工具:
①Sybase SQL Server Manager——管理ASE資料庫的圖形介面工具
②Sybase Monitor Client——監控SQL Server的圖形介面工具
③SQLEDIT——設定客戶端介面檔案(sql.ini)的圖形介面工具
④SYBPING——測試客戶端與SQL Server的連通情況的圖形介面工具
⑤WISQL32——執行SQL查詢的圖形介面工具
Sybase SQL Server Manager和WISQL32在我的系統中執行有些小問題,不知何故。
4、圖形介面的SQL查詢工具
(1)WinSQL Lite 3.8。這是Windows平臺上的軟體,推薦使用,是免費版,可在下載,需要在網站上註冊,取得一個註冊碼。WinSQL還有一個功能更強大的專業版,但購買一個單使用者許可證要149美金。
(2)WISQL32。上面已講過。
(3)sybquery-0.2.0.tar.gz。這是X-Windows上的軟體。可在網站下載。
(4)jisql。這是Sybase公司開發的基於Java的圖形介面的SQL查詢工具,可在Windows平臺和Linux平臺執行。可惜我一直沒能用起來。
5、Ribo工具。這是Sybase公司開發的基於Java的圖形介面工具,用來捕獲和顯示使用TDS表格式資料流協議的客戶端和伺服器之間傳遞的資料,可在Windows平臺和Linux平臺執行。我不懂怎麼用。
6、Windows平臺的終端工具。我選用NetTerm4.2登入Linux,命令可複製、貼上,可回捲螢幕翻查,方便多了。可在華軍軟體網站()下載。
(二)技術文件
1、英文文件:在/opt/sybase-11.9.2/doc/PDF下面有三十個文件(其中兩個重複):
(1)aserb.pdf——Linux、Intel平臺的Sybase Adaptive Server Enterprise 11.9.2版本公告
(2)ocsrb.pdf——Linux、Intel平臺的Open Client及Server產品(11.1.1版)版本公告
(3)asem1192.pdf——Sybase Adaptive Server Enterprise Monitor 11.9.2版本公告
(4)asefun92.pdf——Sybase Adaptive Server Enterprise 11.9.2新功能
(5)whatsup.pdf——Sybase ASE的新特點
(6)uxinstall.pdf——Linux、Intel平臺的Sybase ASE安裝指南
(7)aseuxcfg.pdf——配置Unix平臺的Adaptive Server Enterprise
(8)u_config.pdf——Unix平臺的Open Client與Server配置指南
(9)sag.pdf——Sybase ASE系統管理指南
(10)perform.pdf——Sybase ASE效能最佳化指南
(11)mngmonas.pdf——Sybase ASE的管理與監控
(12)utprogux.pdf——Sybase ASE的Unix工具組
(13)sqlref_1.pdf——Sybase ASE參考手冊(卷1:命令與函式)
(14)sqlref_2.pdf——Sybase ASE參考手冊(卷2:儲存過程)
(15)sqlref_3.pdf——Sybase ASE參考手冊(卷3:資料型別與系統表)
(16)svrtsg1.pdf——Sybase ASE故障解除及錯誤資訊手冊(卷1)
(17)svrtsg2.pdf——Sybase ASE故障解除及錯誤資訊手冊(卷2)
(18)svrtsg3.pdf——Sybase ASE故障解除及錯誤資訊手冊(卷3)
(19)navigate.pdf——Sybase ASE任務導航與命令速查
(20)mg_gde.pdf——遷移到Sybase ASE11.5
(21)sqlug.pdf——Sybase ASE Transact-SQL使用者指南
(22)monbook.pdf——Sybase ASE Monitor Server使用者指南
(23)histserv.pdf——ASE Monitor Historical Server使用者指南
(24)clilib.pdf——Sybase Adaptive Server Monitor的Client Library程式設計師指南
(25)glossary.pdf——Sybase Adaptive Server Enterprise詞彙表
(26)omnintro.pdf——OmniConnect簡介
(27)omni_ug.pdf——OmniConnect Component Intergration Services使用者指南
(28)connim.pdf、imug.pdf——InfoMaker使用者指南
(29)sqlremote.pdf——使用SQL Remote進行資料複製
2、中文文件:在Sybase中國公司網站下載,共6個文件,雖然是關於ASE12的,仍有很大參考價值:
(1)Sybase ASE12中文參考手冊(卷1:構件塊)
(2)Sybase ASE12中文參考手冊(卷2:命令)
(3)Sybase ASE12中文參考手冊(卷3:過程)
(4)Sybase ASE12中文參考手冊(卷4:表格及手冊索引)
(5)使用Adaptive Server分散式事務管理功能
(6)Adaptive Server Enterprise中的Java
(三)網站、論壇、新聞組。當你遇到問題時,它們就是你的救星。
1、網站:首選Sybase公司的網站,資料非常豐富,可就是英文的,真頭疼,慢慢看吧。Sybase中國公司的網站上也有一些技術支援。其次是網站,Linux上的資料庫軟體真不少,技術資料也多,每天要去。還有(Sybase應用軟體)、http://perso.wanadoo.fr/dbadevil/(Sybase軟體、技術資料)、(一位Sybase專家的主頁,有很多關於Sybase的連結,ASE on Linux FAQ)等等。
2、論壇:當然是中國Linux論壇了()。“Linux平臺資料庫”版一天去好幾趟。
3、新聞組:有關Linux上的ASE的新聞組伺服器:forums.sybase.com,外國高手很多。
(四)書籍
1、《Sybase資料庫速成培訓》,鮑永剛、龍冬雲編,電子工業出版社出版。該書簡明介紹了Sybase資料庫的組成、資料庫系統管理和T-SQL語言,並用大量例子說明建立和管理資料庫的操作過程。此書堪稱價廉物美,把它吃透,Sybase就算基本入門了。
2、《SYBASE SQL Server 11參考大全》,R.蘭金斯等著,希望圖書創作室譯,宇航出版社出版。此書翻譯得一般,我一般將它當作“百科全書”來翻查。
3、《14天自學教程——SQL》,Bryan Morgan、Jeff Perkins著,鄧洪濤、陳越譯,清華大學出版社出版,是關聯式資料庫理論和SQL語言的入門書。
二、我安裝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的資料庫儲存空間,格式化成ext3檔案系統,掛在根目錄下的/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)(主資料庫大小):40
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使用者登入。
3、以sybase使用者登入,啟動Adaptive Server。
$SYBASE/install/startserver -f RUN_TEST
呵呵,費了好大的勁啊,總算裝好了。怎麼用呢?
三、我使用ASE11.9.2
Sybase資料庫管理系統體系龐大,功能完整,我剛入門,很多新概念沒有消化、很多東西不知道是做什麼用,只能講講自己已經用上的。我日常的使用是這樣,Linux主機在開啟電源後就不管了,事情都是在Windows平臺上做的,或是用NetTerm登入Linux,做一些管理任務和使用isql工具連線ASE進行資料庫操作,或是用WinSQL工具進行資料庫操作,或是用Sybase Central管理資料庫。
(一)Server的啟動與關閉
先說說四種Server的作用。Adaptive Server Enterprise是基於客戶機/伺服器體系結構的關聯式資料庫管理系統,其餘三種Server是輔助它的。Backup Server負責資料庫的備份(轉儲)和恢復(載入)。Monitor Server負責提供ASE的執行情況和效能統計資料。XP Server負責管理和執行擴充套件儲存過程(ESPs)。
1、Server的啟動
有兩種方式:一是在Linux控制檯模式發出命令啟動Adaptive Server、Backup Server、Monitor Server,二是Linux啟動時自動啟動以上三種Server。XP Server是由Adaptive Server在呼叫擴充套件儲存過程時啟動的。
我一般是這樣啟動的,以sybase使用者登入(對主裝置所在的/db有讀寫許可權),發出如下命令:
$SYBASE/install/startserver -f RUN_TEST &&啟動Adaptive Server
$SYBASE/install/startserver -f RUN_TEST_back &&啟動Backup Server
以上兩個命令也可合起來:$SYBASE/install/startserver -f RUN_TEST -f RUN_TEST_back,這樣就同時啟動了Adaptive Server和Backup Server。
啟動Monitor Server,使用命令:monserver -STEST -MTEST_mon -Usa -P口令
Server啟動後,要定時檢視日誌(在$SYBASE/install目錄下的TEST*.log檔案),以便發現問題及時解決。
2、Server的關閉
以sybase使用者登入,執行以下命令:
$SYBASE/bin/isql -Usa -STEST
Password:(輸入口令)
1>shutdown SYB_BACKUP &&關閉Backup Server
2>go
1>shutdown &&關閉Adaptive Server
2>go
關閉Backup Server後,至少等30秒後才可以重新啟動它。
在預設狀態下,Monitor Server會監測到Adaptive Server停止執行,然後自動關閉。你也可以手動關閉Monitor Server,執行以下命令:
$SYBASE/bin/isql -Usa -STEST_mon
Password:(輸入口令)
1>sms_shutdown
2>go
(二)isql的使用
$SYBASE的bin子目錄中有一些實用工具,其中最有用的是isql,利用它可連線Server進行資料庫操作。其語法如下:
isql -U登入名 -P口令 -S伺服器名字
進入系統後,系統顯示序號和大於號提示:
1>
這時使用者可以輸入命令,每個命令既可在一行內輸入,也可在多行內輸入,每行結束時按Enter鍵。一個命令輸入完畢時,在新的一行輸入go並按Enter鍵,這時命令開始執行並在螢幕顯示執行結果。上面已經有很多使用isql的例子了。isql是在Linux控制檯模式下的命令列工具,使用起來畢竟不太方便(如果用NetTerm登入Linux,再使用isql,就比較好一點)。我常用的是Windows平臺上的WinSQL軟體。
(三)Sybase的有關概念
1、資料庫裝置(Device):Sybase的資料庫和事務日誌都是建立在資料庫裝置上的,它可以是物理磁碟、磁碟分割槽或作業系統檔案。使用disk init命令建立資料庫裝置,使用diskdefault命令指定預設資料庫裝置,並且可以指定多個預設資料庫裝置。建立資料庫時不指定資料庫裝置,則在預設資料庫裝置上建立。例如執行命令:
$SYBASE/bin/isql -Usa -STEST
Password:(輸入口令)
1>disk init name = "userdev", &&裝置名字為userdev
2>physname = "/db/sybsystem/userdev.dat", &&裝置檔名為userdev.dat
3>vdevno = 3, &&裝置號為3
4>size = 51200 &&大小為100M(51200塊,1塊=2k)
5>go
1>sp_diskdefault userdev,defaulton &&指定為預設資料庫裝置
2>go
2、資料庫(Database):是表及其相關資料和操作規則及完整性約束條件的集合,包括以下資料庫物件:表(Tables)、參照完整性約束、核對完整性約束、規則、預設值、儲存過程、觸發器、檢視。因此,資料庫是一個容器,只有先建資料庫,才能建表。一個資料庫可以放在多個資料庫裝置上,一個資料庫裝置可以放置多個資料庫。具體內容請看看講關聯式資料庫的書。
3、事務日誌:對資料庫的每次修改,都可被自動記錄在一個系統表中,這個系統表就叫事務日誌。任何修改總是先記錄日誌,然後才做實際的修改。事務日誌保證了在出現故障時可以將資料庫恢復到出錯前的狀態。資料庫的事務日誌最好不要跟資料庫放在同一裝置上。
4、使用者:Sybase的使用者分為兩種,一種是SQL伺服器使用者(登入賬號),另一種是資料庫使用者。SQL伺服器使用者sa是系統管理員,對整個系統有操作權。其他SQL伺服器使用者都是由系統管理員建立,只有SQL伺服器使用者才可登入進入系統。資料庫使用者首先必須是SQL伺服器使用者,當一個SQL伺服器使用者建立了一個資料庫或被增加為某一資料庫的使用者時,他才成為相應資料庫的資料庫使用者。
(四)Sybase的Windows平臺客戶端軟體的使用
以asentlnx.exe為例。
1、安裝
在Windows平臺上,執行asentlnx.exe,解壓縮出一大堆檔案到臨時目錄。執行臨時目錄中的setup.exe,一直“Next”下去就行了。裝好後在“開始”選單建有“Sybase”程式組,裡面有Sybase Central、Dsedit等工具。我的客戶端軟體是裝在C:Sybase目錄下的。
2、配置客戶端的介面檔案
客戶端軟體要與資料庫伺服器(Server)通訊,首先得知道區域網中伺服器的地址。這就需要我們為客戶端軟體提供一本“通訊錄”——介面檔案,即是C:Sybaseinisql.ini檔案。這個介面檔案記錄了與伺服器通訊所使用的協議、地址、埠、服務型別等資訊。而編寫這本“通訊錄”的工具就是Dsedit。
透過Dsedit,可以在sql.ini中為多個Server建立entry(介面)。例如,我們要為名叫TEST的Server建立entry,可以這樣操作:
(1)啟動Dsedit,出現一個視窗,點選“OK”按鈕就可以了。
(2)在“Server Object”選單欄中選擇“Add”,出現“Input Server Name”對話方塊,輸入“TEST”,點選“OK”按鈕。
(3)在“DSEDIT1-InterfaceDriver”視窗中,在左邊的“Server”框中選擇“TEST”行,在右邊的框中選“Server Address”行,右擊,選擇快捷選單中的“Modify Attribute...”項,出現“Network Address Attribute”視窗,點選“Add”按鈕,出現“Input Network Address For Protocol”對話方塊,點選“Add”按鈕,“Protocol”項選“TCP”,“Network Address”項填入“192.168.0.1,4100”,點選“OK”按鈕,退回“DSEDIT1-InterfaceDriver”視窗中,
(4)在右邊的框中選“Server Address”行,右擊,選擇快捷選單中的“Ping Server”項,出現“Ping”視窗,點選“Ping”命令按鈕,如果出現“Open Connection to server at (192.168.0.1,4100) succeeds…”的提示,表示配置成功了。
3、使用Sybase Central
Sybase Central是用於管理資料庫及相關產品的Windows平臺工具,可用它管理伺服器、資料庫中的物件(表、檢視、儲存過程等等),還能完成通常的建立資料庫、表、使用者等管理任務。Sybase Central透過提供類似Windows 95資源管理器的易於使用的圖形使用者介面,簡化了這些任務,例如,刪除資料庫表,只要在主視窗中選中它並單擊“刪除”。透過提供嚮導,Sybase Central 幫助您完成更復雜的任務,嚮導一步一步地指導你完成任務。有了它,你可以基本擺脫使用isql工具發出SQL命令來管理資料庫,要知道用Create table之類的命令是很累人的,不過建議你還是要研究這些命令哦,這可是基礎啊,因為弄明白了這些命令的引數,才能用好Sybase Central!
第一次啟動Sybase Central,可能會遇到點麻煩,系統會提示“Unable to load language DLL "scsslgzh"”。這主要是缺少提供中文支援的DLL檔案,你可以將“C:Sybaseasep”目錄中的scsslgen.dll檔案改名為scsslgzh.dll,Sybase Central就可以正常啟動了。
四、我的ASE+VFP客戶機/伺服器應用
經過摸索,ASE+VFP客戶機/伺服器這種模式已在我的單位初步應用起來了。現在ASE上有一個應用資料庫,VFP開發的前端程式可同時在多臺機器上執行。我正準備把單位這些年VFP下的資料往ASE上遷移,再修改一下原來的應用程式,使之能適應網路上的多使用者環境。
(一)Sybase System11 ODBC驅動程式與資料來源
在Windows平臺上,Sybase公司的軟體有自己的專用檔案與ASE進行連線和互動操作,而其他公司的軟體怎樣與ASE連線和互動操作呢?一條途徑是透過Sybase公司提供的ODBC(公開資料庫介面)驅動程式。透過這個ODBC驅動程式,我們可建立資料來源(Data Source),供應用程式使用,使之能夠處理ASE上的資料。
下面講怎麼建立一個資料來源。在Sybase程式組中啟動ODBC Data Source Administrator(或在控制皮膚啟動ODBC Data Source項),點選“Drivers”選項卡,應該有Sybase System 11一行,這是我們安裝asentlnx.exe時裝上的。選擇“User DSN”選項卡,點選“Add”按鈕,出現“Create New Data Source”視窗,選擇“Sybase System 11”一行,點選“完成”按鈕,跟著出現“ODBC Sybase Driver Setup”視窗。在“General”選項卡中,在“Data Source Name”欄填入資料來源的名字,例如DBSERVER,在“Server Name”欄填入你要連線到Adaptive Server的名字,例如TEST,在“Database Name”欄填入預設要連線的資料庫名字,然後點選“確定”按鈕就好了。
(二)遠端檢視與SPT
資料來源建好後,VFP應用程式就可以用它來訪問和更新伺服器上的資料了。在VFP中,可以使用遠端檢視和SPT兩種方法訪問遠端資料。使用遠端檢視是最簡單、方便的方法,你可以象使用VFP本地表一樣使用遠端檢視。SPT(SQL pass-through)是直接把SQL語句傳送給伺服器執行,能夠在很大程度上提高客戶機/伺服器應用程式的效能。我目前對ASE還不熟,開發程式時只是使用遠端檢視。我單位原來VFP下的資料就是使用遠端檢視,透過自編的一個小程式升遷到伺服器上的(本來Sybase提供了一個批複製工具bcp,用於表與作業系統檔案之間的資料匯出匯入的,但我用起來總有問題)。
學什麼好呢?資料庫容易入門,用途又廣,網路社會又來了,就學資料庫在網路上的應用吧。於是我就選擇了Visual Foxpro開發前端客戶程式,後臺使用SQL資料庫管理系統這種流行的客戶機/伺服器模式來學。SQL資料庫有很多,選哪個廠家,什麼平臺呢?開始我想學WinNT+MS SQL SERVER,挺流行的,參考書又多,可是哪兩個軟體價格驚人,雖然有D版,但版權管得越來越嚴,我們還是用正版軟體吧——免費作業系統就用Linux,SQL資料庫就選Sybase了。為什麼呢?1、Sybase是世界著名的資料庫廠商,對Linux很支援,Sybase ASE for Linux就推出了多個版本,其網站產品下載、技術手冊、疑難解答挺齊全的,遇上問題容易找到解決辦法。2、Sybase ASE與MS SQL SERVER是近親,MS SQL SERVER的早期版本就是Sybase公司為微軟公司開發的。兩者體系相近,管理方式、命令、函式、工具差不多,你看一看兩家的技術文件就知道了(我曾經買了一套MS SQL SERVER 6.5的技術手冊)。學會了Sybase ASE,轉頭去學MS SQL SERVER,應該比較容易上手吧。
對於我來說,Sybase ASE和Linux都是剛入門,很多地方還是一知半解、迷迷糊糊,主要靠自己去摸索,去走出一條路來。文中講的是我的學習收穫,不是標準答案,其中錯誤肯定不少,請大家指正。下面就講講我學Sybase ASE for Linux的過程,僅供參考。
一、我學Sybase ASE for Linux用到的資源
(一)軟體
1、Sybase Adaptive Server Enterprise 11.9.2(以下稱ASE11.9.2)的RPM包,共7個檔案:
(1)sybase-ase-11.9.2-3.i386.rpm
(2)sybase-chinese-11.9.2-3.i386.rpm
(3)sybase-common-11.9.2-3.i386.rpm
(4)sybase-doc-11_9_2-1_i386.rpm
(5)sybase-monserver-11.9.2-3.i386.rpm
(6)sybase-openclient-11.1.1-3.i386.rpm
(7)sybase-sqlremote-6.0.2-1.i386.rpm
我是從Sybase公司的網站上面下載的,需要註冊一下才能下載。網址是:
2、ASE11.9.2的補丁,共兩個檔案:
(1)EBF9820.tgz——補丁程式
(2)EBF9820.ltr——文件
我是從Sybase中國公司的網站上面下載的,網址是:
3、Windows平臺的ASE管理工具
(1)asentlnx.exe。這是從Sybase公司的網站下載的。安裝後有如下工具:
①Sybase Central——管理ASE資料庫的圖形介面工具
②SQL Modeler——強大的客戶/伺服器應用程式設計工具(可惜我不會用!)
③Dsedit——設定客戶端介面檔案(sql.ini)的圖形介面工具
④OC OS Config Utility——設定客戶端機器的環境變數、網路驅動程式等的工具
⑤Sybase System11 ODBC驅動程式
(2)sybase11.exe。這是我從網站下載的。安裝後有如下工具:
①Sybase SQL Server Manager——管理ASE資料庫的圖形介面工具
②Sybase Monitor Client——監控SQL Server的圖形介面工具
③SQLEDIT——設定客戶端介面檔案(sql.ini)的圖形介面工具
④SYBPING——測試客戶端與SQL Server的連通情況的圖形介面工具
⑤WISQL32——執行SQL查詢的圖形介面工具
Sybase SQL Server Manager和WISQL32在我的系統中執行有些小問題,不知何故。
4、圖形介面的SQL查詢工具
(1)WinSQL Lite 3.8。這是Windows平臺上的軟體,推薦使用,是免費版,可在下載,需要在網站上註冊,取得一個註冊碼。WinSQL還有一個功能更強大的專業版,但購買一個單使用者許可證要149美金。
(2)WISQL32。上面已講過。
(3)sybquery-0.2.0.tar.gz。這是X-Windows上的軟體。可在網站下載。
(4)jisql。這是Sybase公司開發的基於Java的圖形介面的SQL查詢工具,可在Windows平臺和Linux平臺執行。可惜我一直沒能用起來。
5、Ribo工具。這是Sybase公司開發的基於Java的圖形介面工具,用來捕獲和顯示使用TDS表格式資料流協議的客戶端和伺服器之間傳遞的資料,可在Windows平臺和Linux平臺執行。我不懂怎麼用。
6、Windows平臺的終端工具。我選用NetTerm4.2登入Linux,命令可複製、貼上,可回捲螢幕翻查,方便多了。可在華軍軟體網站()下載。
(二)技術文件
1、英文文件:在/opt/sybase-11.9.2/doc/PDF下面有三十個文件(其中兩個重複):
(1)aserb.pdf——Linux、Intel平臺的Sybase Adaptive Server Enterprise 11.9.2版本公告
(2)ocsrb.pdf——Linux、Intel平臺的Open Client及Server產品(11.1.1版)版本公告
(3)asem1192.pdf——Sybase Adaptive Server Enterprise Monitor 11.9.2版本公告
(4)asefun92.pdf——Sybase Adaptive Server Enterprise 11.9.2新功能
(5)whatsup.pdf——Sybase ASE的新特點
(6)uxinstall.pdf——Linux、Intel平臺的Sybase ASE安裝指南
(7)aseuxcfg.pdf——配置Unix平臺的Adaptive Server Enterprise
(8)u_config.pdf——Unix平臺的Open Client與Server配置指南
(9)sag.pdf——Sybase ASE系統管理指南
(10)perform.pdf——Sybase ASE效能最佳化指南
(11)mngmonas.pdf——Sybase ASE的管理與監控
(12)utprogux.pdf——Sybase ASE的Unix工具組
(13)sqlref_1.pdf——Sybase ASE參考手冊(卷1:命令與函式)
(14)sqlref_2.pdf——Sybase ASE參考手冊(卷2:儲存過程)
(15)sqlref_3.pdf——Sybase ASE參考手冊(卷3:資料型別與系統表)
(16)svrtsg1.pdf——Sybase ASE故障解除及錯誤資訊手冊(卷1)
(17)svrtsg2.pdf——Sybase ASE故障解除及錯誤資訊手冊(卷2)
(18)svrtsg3.pdf——Sybase ASE故障解除及錯誤資訊手冊(卷3)
(19)navigate.pdf——Sybase ASE任務導航與命令速查
(20)mg_gde.pdf——遷移到Sybase ASE11.5
(21)sqlug.pdf——Sybase ASE Transact-SQL使用者指南
(22)monbook.pdf——Sybase ASE Monitor Server使用者指南
(23)histserv.pdf——ASE Monitor Historical Server使用者指南
(24)clilib.pdf——Sybase Adaptive Server Monitor的Client Library程式設計師指南
(25)glossary.pdf——Sybase Adaptive Server Enterprise詞彙表
(26)omnintro.pdf——OmniConnect簡介
(27)omni_ug.pdf——OmniConnect Component Intergration Services使用者指南
(28)connim.pdf、imug.pdf——InfoMaker使用者指南
(29)sqlremote.pdf——使用SQL Remote進行資料複製
2、中文文件:在Sybase中國公司網站下載,共6個文件,雖然是關於ASE12的,仍有很大參考價值:
(1)Sybase ASE12中文參考手冊(卷1:構件塊)
(2)Sybase ASE12中文參考手冊(卷2:命令)
(3)Sybase ASE12中文參考手冊(卷3:過程)
(4)Sybase ASE12中文參考手冊(卷4:表格及手冊索引)
(5)使用Adaptive Server分散式事務管理功能
(6)Adaptive Server Enterprise中的Java
(三)網站、論壇、新聞組。當你遇到問題時,它們就是你的救星。
1、網站:首選Sybase公司的網站,資料非常豐富,可就是英文的,真頭疼,慢慢看吧。Sybase中國公司的網站上也有一些技術支援。其次是網站,Linux上的資料庫軟體真不少,技術資料也多,每天要去。還有(Sybase應用軟體)、http://perso.wanadoo.fr/dbadevil/(Sybase軟體、技術資料)、(一位Sybase專家的主頁,有很多關於Sybase的連結,ASE on Linux FAQ)等等。
2、論壇:當然是中國Linux論壇了()。“Linux平臺資料庫”版一天去好幾趟。
3、新聞組:有關Linux上的ASE的新聞組伺服器:forums.sybase.com,外國高手很多。
(四)書籍
1、《Sybase資料庫速成培訓》,鮑永剛、龍冬雲編,電子工業出版社出版。該書簡明介紹了Sybase資料庫的組成、資料庫系統管理和T-SQL語言,並用大量例子說明建立和管理資料庫的操作過程。此書堪稱價廉物美,把它吃透,Sybase就算基本入門了。
2、《SYBASE SQL Server 11參考大全》,R.蘭金斯等著,希望圖書創作室譯,宇航出版社出版。此書翻譯得一般,我一般將它當作“百科全書”來翻查。
3、《14天自學教程——SQL》,Bryan Morgan、Jeff Perkins著,鄧洪濤、陳越譯,清華大學出版社出版,是關聯式資料庫理論和SQL語言的入門書。
二、我安裝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的資料庫儲存空間,格式化成ext3檔案系統,掛在根目錄下的/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)(主資料庫大小):40
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使用者登入。
3、以sybase使用者登入,啟動Adaptive Server。
$SYBASE/install/startserver -f RUN_TEST
呵呵,費了好大的勁啊,總算裝好了。怎麼用呢?
三、我使用ASE11.9.2
Sybase資料庫管理系統體系龐大,功能完整,我剛入門,很多新概念沒有消化、很多東西不知道是做什麼用,只能講講自己已經用上的。我日常的使用是這樣,Linux主機在開啟電源後就不管了,事情都是在Windows平臺上做的,或是用NetTerm登入Linux,做一些管理任務和使用isql工具連線ASE進行資料庫操作,或是用WinSQL工具進行資料庫操作,或是用Sybase Central管理資料庫。
(一)Server的啟動與關閉
先說說四種Server的作用。Adaptive Server Enterprise是基於客戶機/伺服器體系結構的關聯式資料庫管理系統,其餘三種Server是輔助它的。Backup Server負責資料庫的備份(轉儲)和恢復(載入)。Monitor Server負責提供ASE的執行情況和效能統計資料。XP Server負責管理和執行擴充套件儲存過程(ESPs)。
1、Server的啟動
有兩種方式:一是在Linux控制檯模式發出命令啟動Adaptive Server、Backup Server、Monitor Server,二是Linux啟動時自動啟動以上三種Server。XP Server是由Adaptive Server在呼叫擴充套件儲存過程時啟動的。
我一般是這樣啟動的,以sybase使用者登入(對主裝置所在的/db有讀寫許可權),發出如下命令:
$SYBASE/install/startserver -f RUN_TEST &&啟動Adaptive Server
$SYBASE/install/startserver -f RUN_TEST_back &&啟動Backup Server
以上兩個命令也可合起來:$SYBASE/install/startserver -f RUN_TEST -f RUN_TEST_back,這樣就同時啟動了Adaptive Server和Backup Server。
啟動Monitor Server,使用命令:monserver -STEST -MTEST_mon -Usa -P口令
Server啟動後,要定時檢視日誌(在$SYBASE/install目錄下的TEST*.log檔案),以便發現問題及時解決。
2、Server的關閉
以sybase使用者登入,執行以下命令:
$SYBASE/bin/isql -Usa -STEST
Password:(輸入口令)
1>shutdown SYB_BACKUP &&關閉Backup Server
2>go
1>shutdown &&關閉Adaptive Server
2>go
關閉Backup Server後,至少等30秒後才可以重新啟動它。
在預設狀態下,Monitor Server會監測到Adaptive Server停止執行,然後自動關閉。你也可以手動關閉Monitor Server,執行以下命令:
$SYBASE/bin/isql -Usa -STEST_mon
Password:(輸入口令)
1>sms_shutdown
2>go
(二)isql的使用
$SYBASE的bin子目錄中有一些實用工具,其中最有用的是isql,利用它可連線Server進行資料庫操作。其語法如下:
isql -U登入名 -P口令 -S伺服器名字
進入系統後,系統顯示序號和大於號提示:
1>
這時使用者可以輸入命令,每個命令既可在一行內輸入,也可在多行內輸入,每行結束時按Enter鍵。一個命令輸入完畢時,在新的一行輸入go並按Enter鍵,這時命令開始執行並在螢幕顯示執行結果。上面已經有很多使用isql的例子了。isql是在Linux控制檯模式下的命令列工具,使用起來畢竟不太方便(如果用NetTerm登入Linux,再使用isql,就比較好一點)。我常用的是Windows平臺上的WinSQL軟體。
(三)Sybase的有關概念
1、資料庫裝置(Device):Sybase的資料庫和事務日誌都是建立在資料庫裝置上的,它可以是物理磁碟、磁碟分割槽或作業系統檔案。使用disk init命令建立資料庫裝置,使用diskdefault命令指定預設資料庫裝置,並且可以指定多個預設資料庫裝置。建立資料庫時不指定資料庫裝置,則在預設資料庫裝置上建立。例如執行命令:
$SYBASE/bin/isql -Usa -STEST
Password:(輸入口令)
1>disk init name = "userdev", &&裝置名字為userdev
2>physname = "/db/sybsystem/userdev.dat", &&裝置檔名為userdev.dat
3>vdevno = 3, &&裝置號為3
4>size = 51200 &&大小為100M(51200塊,1塊=2k)
5>go
1>sp_diskdefault userdev,defaulton &&指定為預設資料庫裝置
2>go
2、資料庫(Database):是表及其相關資料和操作規則及完整性約束條件的集合,包括以下資料庫物件:表(Tables)、參照完整性約束、核對完整性約束、規則、預設值、儲存過程、觸發器、檢視。因此,資料庫是一個容器,只有先建資料庫,才能建表。一個資料庫可以放在多個資料庫裝置上,一個資料庫裝置可以放置多個資料庫。具體內容請看看講關聯式資料庫的書。
3、事務日誌:對資料庫的每次修改,都可被自動記錄在一個系統表中,這個系統表就叫事務日誌。任何修改總是先記錄日誌,然後才做實際的修改。事務日誌保證了在出現故障時可以將資料庫恢復到出錯前的狀態。資料庫的事務日誌最好不要跟資料庫放在同一裝置上。
4、使用者:Sybase的使用者分為兩種,一種是SQL伺服器使用者(登入賬號),另一種是資料庫使用者。SQL伺服器使用者sa是系統管理員,對整個系統有操作權。其他SQL伺服器使用者都是由系統管理員建立,只有SQL伺服器使用者才可登入進入系統。資料庫使用者首先必須是SQL伺服器使用者,當一個SQL伺服器使用者建立了一個資料庫或被增加為某一資料庫的使用者時,他才成為相應資料庫的資料庫使用者。
(四)Sybase的Windows平臺客戶端軟體的使用
以asentlnx.exe為例。
1、安裝
在Windows平臺上,執行asentlnx.exe,解壓縮出一大堆檔案到臨時目錄。執行臨時目錄中的setup.exe,一直“Next”下去就行了。裝好後在“開始”選單建有“Sybase”程式組,裡面有Sybase Central、Dsedit等工具。我的客戶端軟體是裝在C:Sybase目錄下的。
2、配置客戶端的介面檔案
客戶端軟體要與資料庫伺服器(Server)通訊,首先得知道區域網中伺服器的地址。這就需要我們為客戶端軟體提供一本“通訊錄”——介面檔案,即是C:Sybaseinisql.ini檔案。這個介面檔案記錄了與伺服器通訊所使用的協議、地址、埠、服務型別等資訊。而編寫這本“通訊錄”的工具就是Dsedit。
透過Dsedit,可以在sql.ini中為多個Server建立entry(介面)。例如,我們要為名叫TEST的Server建立entry,可以這樣操作:
(1)啟動Dsedit,出現一個視窗,點選“OK”按鈕就可以了。
(2)在“Server Object”選單欄中選擇“Add”,出現“Input Server Name”對話方塊,輸入“TEST”,點選“OK”按鈕。
(3)在“DSEDIT1-InterfaceDriver”視窗中,在左邊的“Server”框中選擇“TEST”行,在右邊的框中選“Server Address”行,右擊,選擇快捷選單中的“Modify Attribute...”項,出現“Network Address Attribute”視窗,點選“Add”按鈕,出現“Input Network Address For Protocol”對話方塊,點選“Add”按鈕,“Protocol”項選“TCP”,“Network Address”項填入“192.168.0.1,4100”,點選“OK”按鈕,退回“DSEDIT1-InterfaceDriver”視窗中,
(4)在右邊的框中選“Server Address”行,右擊,選擇快捷選單中的“Ping Server”項,出現“Ping”視窗,點選“Ping”命令按鈕,如果出現“Open Connection to server at (192.168.0.1,4100) succeeds…”的提示,表示配置成功了。
3、使用Sybase Central
Sybase Central是用於管理資料庫及相關產品的Windows平臺工具,可用它管理伺服器、資料庫中的物件(表、檢視、儲存過程等等),還能完成通常的建立資料庫、表、使用者等管理任務。Sybase Central透過提供類似Windows 95資源管理器的易於使用的圖形使用者介面,簡化了這些任務,例如,刪除資料庫表,只要在主視窗中選中它並單擊“刪除”。透過提供嚮導,Sybase Central 幫助您完成更復雜的任務,嚮導一步一步地指導你完成任務。有了它,你可以基本擺脫使用isql工具發出SQL命令來管理資料庫,要知道用Create table之類的命令是很累人的,不過建議你還是要研究這些命令哦,這可是基礎啊,因為弄明白了這些命令的引數,才能用好Sybase Central!
第一次啟動Sybase Central,可能會遇到點麻煩,系統會提示“Unable to load language DLL "scsslgzh"”。這主要是缺少提供中文支援的DLL檔案,你可以將“C:Sybaseasep”目錄中的scsslgen.dll檔案改名為scsslgzh.dll,Sybase Central就可以正常啟動了。
四、我的ASE+VFP客戶機/伺服器應用
經過摸索,ASE+VFP客戶機/伺服器這種模式已在我的單位初步應用起來了。現在ASE上有一個應用資料庫,VFP開發的前端程式可同時在多臺機器上執行。我正準備把單位這些年VFP下的資料往ASE上遷移,再修改一下原來的應用程式,使之能適應網路上的多使用者環境。
(一)Sybase System11 ODBC驅動程式與資料來源
在Windows平臺上,Sybase公司的軟體有自己的專用檔案與ASE進行連線和互動操作,而其他公司的軟體怎樣與ASE連線和互動操作呢?一條途徑是透過Sybase公司提供的ODBC(公開資料庫介面)驅動程式。透過這個ODBC驅動程式,我們可建立資料來源(Data Source),供應用程式使用,使之能夠處理ASE上的資料。
下面講怎麼建立一個資料來源。在Sybase程式組中啟動ODBC Data Source Administrator(或在控制皮膚啟動ODBC Data Source項),點選“Drivers”選項卡,應該有Sybase System 11一行,這是我們安裝asentlnx.exe時裝上的。選擇“User DSN”選項卡,點選“Add”按鈕,出現“Create New Data Source”視窗,選擇“Sybase System 11”一行,點選“完成”按鈕,跟著出現“ODBC Sybase Driver Setup”視窗。在“General”選項卡中,在“Data Source Name”欄填入資料來源的名字,例如DBSERVER,在“Server Name”欄填入你要連線到Adaptive Server的名字,例如TEST,在“Database Name”欄填入預設要連線的資料庫名字,然後點選“確定”按鈕就好了。
(二)遠端檢視與SPT
資料來源建好後,VFP應用程式就可以用它來訪問和更新伺服器上的資料了。在VFP中,可以使用遠端檢視和SPT兩種方法訪問遠端資料。使用遠端檢視是最簡單、方便的方法,你可以象使用VFP本地表一樣使用遠端檢視。SPT(SQL pass-through)是直接把SQL語句傳送給伺服器執行,能夠在很大程度上提高客戶機/伺服器應用程式的效能。我目前對ASE還不熟,開發程式時只是使用遠端檢視。我單位原來VFP下的資料就是使用遠端檢視,透過自編的一個小程式升遷到伺服器上的(本來Sybase提供了一個批複製工具bcp,用於表與作業系統檔案之間的資料匯出匯入的,但我用起來總有問題)。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-961847/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 在Linux上安裝Sybase的注意事項(轉)Linux
- Sybase安裝配置
- LINUX新手入門及安裝配置faq200(上)(轉)Linux
- 新手上路之JDK11的下載、安裝與PATH環境變數的配置JDK變數
- AIX上Sybase15的安裝AI
- Tomcat在Linux上的安裝與配置TomcatLinux
- LINUX新手入門及安裝配置faq200(上)Linux
- Sublime Text 3 新手上路:必要的安裝、設定與基本使用教學
- Linux新手渣渣上路史Linux
- TurboLinux 下的SYBASE安裝(轉)Linux
- Sybase 11.0.3 For SCO UNIX 5.0.5安裝配置步驟(轉)
- Sybase for linux安裝步驟Linux
- 專案管理新手上路(轉)專案管理
- ☆ 安裝配置篇3 - WebSphere ☆ (轉)Web
- 安裝,配置rp-pppoe撥號軟體,使adsl成功上網(轉)
- jive3sybase上安裝問題
- Linux上的redis的安裝和配置LinuxRedis
- Mac上Git安裝與配置MacGit
- TortoiseGit安裝與配置(轉)Git
- 【GNU/Linux實戰手記之安裝配置篇】 (轉)Linux
- 安裝配置篇--apache+resin(轉)Apache
- centos7 (阿里雲、linux) 單機spark的安裝與配置詳解(jdk安裝與配置,scala安裝與配置,hadoop安裝與配置,spark安裝與配置)CentOS阿里LinuxSparkJDKHadoop
- linux上安裝配置vsftpdLinuxFTP
- Alpha上安裝Linux(轉)Linux
- linux maven安裝與配置LinuxMaven
- Linux mongodb 安裝與配置LinuxMongoDB
- Linux flume安裝與配置Linux
- Linux mosquitoo的安裝與配置LinuxUI
- OGG在RAC上的初始化(上)-- 安裝配置篇
- 【轉】Jenkins 安裝與配置Jenkins
- 安裝配置篇2 - IIS+resin(轉)
- Linux字型安裝與簡單美化(實踐篇)(轉)Linux
- 安裝配置Linux網路卡(轉)Linux
- windows 2000活動目錄之與安裝配置篇(轉)Windows
- ROS新手上路-3ROS
- 新手上路:Oracle基礎工具簡介(轉)Oracle
- Linux上JDK的 安裝和解除安裝 詳細 (轉)LinuxJDK
- Linux下rsync安裝與配置Linux