INFORMIX數據庫系統安裝手冊
來(lái)源:www.xici.net作者: springwind 發(fā)布時(shí)間:2007-11-07 08:00:00
一、 INFORMIX數據庫系統的組成
我們公司在研發(fā)推廣應用軟件時(shí), 選用INFORMIX-ONLINE和INFORMIX-SQL為數據庫系統的研發(fā)、使用和維護平臺。
其中INFORMIX-ONLINE共有7張3.5英寸的軟盤(pán), INFORMIX-SQL共有4張3.5英寸的軟盤(pán), 均為cpio的文件格式。
二、INFORMIX數據庫系統的安裝
1. 建立INFORMIX數據庫系統用戶(hù)
在安裝INFORMIX數據庫系統前, 應先建立INFORMIX數據庫系統的用戶(hù), 其用戶(hù)名為informix, 用戶(hù)組為informix。
Informix用戶(hù)的建立步驟如下:
1) 以終極用戶(hù)root注冊;
2) 輸入如下命令:
#sysadmsh
3)一次選擇如下菜單:
Accounts?User?Create
4)系統出現輸入畫(huà)面時(shí),依此輸入(或選擇)如下內容:
Username 后輸入:informix
Comment 后不輸入
Modify defaults? 選擇yes
5)系統出現另一個(gè)畫(huà)面是,依此輸入(或選擇)如下內容:
Login group 時(shí)選擇Specify 后輸入:informix
如果系統中沒(méi)有informix用戶(hù)組,系統會(huì )提示:
Do you wish to create it?: 選擇 yes
Group ID: 選擇 Default
系統出現一個(gè)提示框,里面有兩個(gè)用戶(hù)組:group 和informix
將光標停在group上面,輸入一個(gè)空格,再打回車(chē)。
Login shell 選擇:Default
Home directory 選擇:Default、Create home
User ID number 選擇:Default
Type of user 選擇:Default
6)系統提示:
Are you sure you wish to create this new user account?
Please choose one of: 選擇:Yes
7)當系統提示:
Press to continue:時(shí),輸入回車(chē)鍵。
接著(zhù)系統提示:
Assign first password :選擇:Now
Force change at first login: 選擇 No
然后,在提示:
Setting password for user:informix
Password change is forced for informix.
Choose password
You can choose whether you pick a password,
Of have the system create one for you.
1. Pick a password
2. Prounceable password will be generated for you
Enter choice (default is 1): 直接輸入回車(chē)
Please enter new password:
New password : 輸入新口令
Re-enter password: 重新輸入新口令
Press to continue:輸入回車(chē)鍵
8)退出實(shí)用程式sysadmsh,則新用戶(hù)informix就已按照需求建立起來(lái)了。
2. 安裝INFORMIX-SQL
1)注冊進(jìn)終極用戶(hù)root, 執行下面的命令將當前目錄轉移到informix用戶(hù)下面:
#cd /usr/informix
2)然后將INFORMIX-SQL系統的卷1盤(pán)插入計算機的A驅動(dòng)器中, 并執行下面的命令, 將INFORMIX-SQL系統的文件拷貝到計算機中:
#cpio ?icvdumBI/dev/rfd0135ds18
3)在屏幕上出現下面的提示時(shí),插入下一張軟盤(pán)后,輸入回車(chē):
Change to part ## and press RETURN key.[q]
當最后一張軟盤(pán)安裝完成后, 系統退回到#提示符的狀態(tài)。
4)文件拷貝完畢后, 在#號提示符后面輸入下面的命令, 執行INFORMIX-SQL系統的安裝程式.
#./installsql
有時(shí)是執行下列命令
#./installsqlrt
當出現下面的提示時(shí), 按回車(chē)鍵繼續進(jìn)行安裝:
Press Enter to continue
or the interrupt key(usually CTRL-C or DEL)to abort
之后系統需求輸入INFORMIX-SQL產(chǎn)品的序列號和活動(dòng)碼:
Enter your serial number(e.g.INF#X999999)
AAA#X000000 {在此處輸入SQL的序列號}
Enter your serial number key(uppercase letters only)
AAA#X000000 {在此處輸入SQL的活動(dòng)碼}
當出現下面的提示時(shí), 按回車(chē)鍵繼續進(jìn)行安裝:
Press Enter to continue
or the interrupt key(usually CTRL-C or DEL)to abort
5)安裝程式設置完系統文件的權限并對相關(guān)文件進(jìn)行初始化完畢后, 結束INFORMIX-SQL系統的安裝工作。
3. 安裝INFORMIX-ONLINE
INFORMIX-ONLINE系統的安裝工作和INFORMIX-SQL系統的安裝工作基本一致。
1)注冊進(jìn)終極用戶(hù)root, 執行下面的命令將當前目錄轉移到informix用戶(hù)下面:
#cd /usr/informix
2)然后將INFORMIX-ONLINE系統的卷1盤(pán)插入計算機的A驅動(dòng)器中, 并執行下面的命令, 將INFORMIX-ONLINE系統的文件拷貝到計算機中:
#cpio ?icvdumBI/dev/rfd0135ds18
3)在屏幕上出現下面的提示時(shí),插入下一張軟盤(pán)后,輸入回車(chē):
Change to part ## and press RETURN key.[q]
當最后一張軟盤(pán)安裝完成后, 系統退回到#提示符的狀態(tài)。
4)文件拷貝完畢后, 在#號提示符后面輸入下面的命令, 執行INFORMIX-SQL系統的安裝程式.
#./installonline
當出現下面的提示時(shí), 按回車(chē)鍵繼續進(jìn)行安裝:
Press Enter to continue
or the interrupt key(usually CTRL-C or DEL)to abort
之后系統需求輸入INFORMIX-ONLINE產(chǎn)品的序列號和活動(dòng)碼:
Enter your serial number(e.g.INF#X999999)
AAA#X000000 {在此處輸入ONLINE的序列號}
Enter your serial number key(uppercase letters only)
AAA#X000000 {在此處輸入ONLINE的活動(dòng)碼}
當出現下面的提示時(shí), 按回車(chē)鍵繼續進(jìn)行安裝:
Press Enter to continue
or the interrupt key(usually CTRL-C or DEL)to abort
5)安裝程式設置完系統文件的權限并對相關(guān)文件進(jìn)行初始化完畢后, 結束INFORMIX-ONLINE系統的安裝工作。
三、INFORMIX數據庫參數調整
1、為INFORMIX數據庫產(chǎn)品設置環(huán)境變量:
1)在/.profile文件中,增加下面的指令,為root用戶(hù)增加操作INFORMIX數據庫的環(huán)境變量:
INFORMIXDIR=/usr/informix
PATH=$PATH:/usr/informix/bin
DBDATE=Y4MD/
export INFORMIXDIR PATH DBDATE
2)在/etc/profile文件中,增加下面的指令,為root以外的用戶(hù)增加操作INFORMIX數據庫的環(huán)境變量。
INFORMIXDIR=/usr/informix
PATH=$PATH:/usr/informix/bin
DBDATE=Y4MD/
export INFORMIXDIR PATH DBDATE
2、修改UNIX系統的核心參數
1)以終極用戶(hù)root注冊,依次執行如下命令:
#cd /usr/informix/release
#more ONLINE_5.0
然后記錄如下參數及后面的值:
SHMMAX:1048576
SHMMIN:1
SHMMNI:32
SEMMNI:256
SEMMNS:256
SEMMSL:60
2)修改UNIX系統核心參數
#cd /etc/conf/cf.d
#cp mtune mtune.bak
#vi mtune
{此文件格式如下:
…
*Shared Memory Parameters
SHMMAX 1048576 131072 80530637
SHMMIN 1 1 1
…
其中:第一列為UNIX系統參數名,第二列為此參數當前值,第三列為此參數最小值,第四列為此參數最大值。}
然后根據上面記錄下來(lái)的數據依此檢查每個(gè)參數,如果:
A. 所記錄的系統參數名存在;
B. 所記錄的系統參數值在最小值和最大值之間
則用記錄下來(lái)的參數值取代此參數的當前值。反之,不修改此參數。
3) 重新連接核心,使新的核心參數生效
依次執行命令:
#init 1 {重連核心要在單用戶(hù)下進(jìn)行}
系統提示:
輸入root口令(如果沒(méi)有口令則輸入)進(jìn)入單用戶(hù)。
#cd /usr/etc/conf/cf.d
#./link_unix
系統提示:
Do you want this kernel to boot by default?(y/n) 輸入:y
Do you want the kernel environment rebuilt?(y/n) 輸入:y
#reboot
3、修改設備權限
以終極用戶(hù)注冊,依此執行如下命令:
#cd /dev
# chown informix *dbs*
# chgrp informix *dbs*
# chmode 660 *dbs*
4、INORMIX-ONLINE 數據空間初始化:
1) 以用戶(hù)informix注冊;
2) 執行如下命令對數據庫空間和共享內存參數進(jìn)行調整:
$ tbmonitor
選擇菜單依此為:
Parameters?Initialize
需要修改的參數為:
Sys.Log File [/usr/informix/onlne.log ]
System Msgs. [/usr/informix/online/msg ]
Tape Dev. [/dev/null ]
Log Tape Dev. [/dev/null ]
Root Size [###### ]
Primaty Path [/dev/rdbspace ]
{Root Size 是在安裝UNIX操作系統時(shí)預留的數據庫空間,他的計算如下:
A.以root注冊,使用命令:
#divvy
B.記錄下Name 為dbspace分區的First Block 和 Last Block
例如某dbspace空間的First Block值為:750001
Last Block值為:1253436
計算Root Size的值<=Last Block ? First Block+1
所以,以上面的數據為例,Root Size<=1253436-750001+1
=503436}
4)按Esc鍵,退出當前菜單,系統自動(dòng)進(jìn)入Shared-Memory,再按Esc鍵退出進(jìn)行數據庫空間初始化。
5)選擇Exit菜單退出實(shí)用程式tbmonitor,依此執行如下命令,完成對數據庫的初始化設置:
$tbmode ?ky
$tbinit
5、增加開(kāi)機自引導程式
系統啟動(dòng)后,為了使數據庫能夠正常工作,在對數據庫操作之前,必須使用命令tbinit對數據庫進(jìn)行共享空間的初始化。通常能將對INFORMIX數據庫系統共享內存的初始化工作放到UNIX的啟動(dòng)程式中,一般在/etc/rc2.d目錄下增加起動(dòng)程式S90tbinit,完成INFORMIX數據庫系統的初始化工作。S90tbinit文件的內容為:
echo "INFORMIX-ONLINE:tbinit…"
/usr/Informix/bin/tbinit
if [ $? -eq 0 ]
then
echo "okay!"
else
echo "fail!"
fi
編輯完此文件后,在執行如下命令為此文件增加可執行權限:
#chmod +x S90tbinit
6、增加關(guān)機自引導文件
為了數據的安全,我們在關(guān)機之前,應該使用tbmode命令將數據庫共享空間關(guān)閉。為方便起見(jiàn),我們一般在/etc/rc0.d目錄下增加一個(gè)文件:K01tbmode。文件的內容能如下:
echo "INFORMIX-ONLINE:tbmode…"
/usr/informix/bin/tbmode -ky
if [ $? -eq 0 ]
then
echo "okay!"
else
echo "fail!"
fi
編輯完此文件后,在執行如下命令為此文件增加可執行權限:
#chmod +x K01tbmode
四、INFORMIX數據庫常用命令
1、 tbinit
用于初始化數據庫共享內存。每次開(kāi)機后都必須執行此命令。為了簡(jiǎn)化操作,我們經(jīng)常將他放在/etc/rc2.d目錄下的一個(gè)自引導文件中,讓系統進(jìn)入多用戶(hù)時(shí)自動(dòng)來(lái)執行此文件。
例如:當以應用軟件注冊時(shí),系統提示:
DBERR ?529/C-ISAM ?123 [Open Database]
使用finderr查529錯誤,提示:
-529 Cannot attach to shared memory. {不能使用共享內存}
這時(shí),你能使用tbinit命令將數據庫共享內存進(jìn)行初始化后,系統就恢復正常了。
2、 tbmode ?ky
用于關(guān)閉數據庫共享內存。為了數據的安全,每次關(guān)機前都必須執行此命令。為了簡(jiǎn)化操作,我們經(jīng)常將他放在/etc/rc0.d目錄下的一個(gè)自引導文件中,讓系統進(jìn)入多用戶(hù)時(shí)自動(dòng)來(lái)執行此文件。
3、 finderr
用來(lái)查詢(xún)數據庫的錯誤。當系統出現數據庫錯誤時(shí),系統處了給你簡(jiǎn)單的出錯提示外,還給出一個(gè)錯誤號。你能使用此命令對這種錯誤進(jìn)行深入的分析,然后針對不同的錯誤進(jìn)行相應的處理。
例如:當你在終極用戶(hù)root下對儲蓄數據庫bankstar進(jìn)行操作時(shí),系統提示:
387: No connect permission.
111: ISAM error: no record found.
意思是:當你對此數據庫操作時(shí),系統出現編號為387的錯誤,錯誤的原因是:沒(méi)有connect權限。
具體原因接下來(lái)解釋?zhuān)?
對數據庫的讀寫(xiě)需要被賦予CONNECT權限。這個(gè)權限需要一個(gè)具有數據庫管理權限的人來(lái)賦予。
對于這種情況,我們能使用informix用戶(hù),通過(guò)使用程式dbaccess中的Query-Language來(lái)進(jìn)行,所使用的SQL語(yǔ)句如下:
grant connect to root
4、 dbexport
這個(gè)命令用來(lái)卸載數據庫。我們在對軟件中的某些重要的數據進(jìn)行修改時(shí),為了防止萬(wàn)一的情況出現,我們在改動(dòng)之前應該對數據庫進(jìn)行備份。這種備份又分兩種情況:
A、通過(guò)軟件菜單進(jìn)行備份 {間接調用INFORMIX數據庫命令}
B、使用INFORMIX數據庫命令
常用命令的格式如下:
dbexport databasename ?o diretory
其中:databasename 是將要卸載的數據庫的名稱(chēng),例如在我們的軟件中:
儲蓄應用軟件對應的數據庫名為bankstar
對公會(huì )計脫機版軟件對應的數據庫名為single
儲蓄事后監督軟件對應的數據庫名為shjd
diretory是將要卸載的數據庫數據存放的目錄。
注意:A、存放數據的目錄一定存在,且下載數據庫的用戶(hù)對此目錄有可寫(xiě)權限;
B、下載的數據庫一定存在,且該用戶(hù)有可讀權限;
C、確保下載的當前目錄下不存在dbexport.out文件或此文件存在,但該用戶(hù)對該文件有可寫(xiě)權限。
5、 dbimport
加載數據庫數據,將卸載下來(lái)的數據加載到數據空間中。此命令用于恢復用dbexport卸載下來(lái)的數據。命令格式為:
dbimport database ?i diretory
其中:database、diretory的含義同dbexport命令的解釋。
使用此命令時(shí),請注意:
A、 當前數據庫空間中不存和database同名的數據庫;
B、 diretory能是相對路徑,也能是絕對路徑;
C、確保下載的當前目錄下不存在dbimport.out文件或此文件存在,但該用戶(hù)對該文件有可寫(xiě)權限。
D、 環(huán)境變量設置正確,需要的環(huán)境邊量主要有:
DBDATE=Y4MD/
INFORMIXDIR=/usr/informix
PATH=…:/usr/informix/bin…
等。{如果不正確,請檢查一下你的/.profile和/etc/profile中的設置是否正確。
五、INFORMIX數據庫實(shí)用程式介紹
1、 dbaccess
用來(lái)輸入、執行SQL查詢(xún)語(yǔ)句或將查詢(xún)結果輸出;選擇、生成、刪除數據庫;生成、修改、刪除或查詢(xún)數據庫中表的各種信息等。
下面周詳介紹各個(gè)菜單及其功能:
Query-Language使用數據庫的結構化查詢(xún)語(yǔ)言對數據庫進(jìn)行操作
New 允許輸入一組新的語(yǔ)句作當前語(yǔ)句
Run 執行當前的語(yǔ)句
Modify 修改當前語(yǔ)句
Use-editor 允許用戶(hù)使用系統編輯程式vi對當前語(yǔ)句進(jìn)行編輯
Output 將執行當前語(yǔ)句的結果進(jìn)行輸出
Printer 將查詢(xún)結果輸出到打印機
New-file 將查詢(xún)結果輸出到一個(gè)新文件
Append-file 將查詢(xún)結果追加的一個(gè)存在的文件中
To-pipe 將查詢(xún)結果送到其他程式的標準輸入中
Exit 退出Output菜單
Choose 允許用戶(hù)選擇當前目錄下原來(lái)存在的以.sql為后綴的SQL語(yǔ)句
Save 存放當前語(yǔ)句到某一SQL文件。其后綴為.sql
Info 顯示當前數據庫中某個(gè)表的信息
Drop 從數據庫中刪除某個(gè)SQL文件
Exit 退出Query-Language菜單
Database 用來(lái)選擇、生成或刪除一個(gè)數據庫
Select 設置某數據庫為當前工作數據庫
Create 創(chuàng )建新數據庫并使其成為當前工作數據庫
Drop 從系統中刪除某數據庫
Exit 退出數據庫Database菜單,返回到上級菜單
Table 用來(lái)生成、修改或刪除一個(gè)數據庫中的表
Create 生成一個(gè)新表
Alter 修改一個(gè)已存在的表的結構
Info 查詢(xún)一個(gè)已存在的表的信息
Drop 刪除一個(gè)已存在的表
Exit 退出Table才菜單
2、 isqlrf(有的系統為:isql)
Form 能執行、創(chuàng )建、修改、編譯屏幕格式或刪除已存在的屏幕格式
Run 執行某一已存在的屏幕格式
Modify 修改指定的已存在的屏幕格式
Generate 為指定的表創(chuàng )建一個(gè)缺省的屏幕格式
Compile 編譯一個(gè)制定的屏幕格式
New 創(chuàng )建特定的用戶(hù)屏幕格式
Drop 刪除某已存在的格式文件
Exit 退出Form菜單
Report 能執行、建立、修改、編譯、或刪除報表
Run 執行某一報表
Modify 修改指定的報表
Generate 為某一個(gè)表建立一個(gè)缺省的報表
New 建立一個(gè)用戶(hù)指定的報表
Compile 編譯指定的報表
Drop 刪除一個(gè)指定的已存在的報表
Exit 退出Report菜單
Query-Language 詳見(jiàn)實(shí)用程式說(shuō)明:dbaccess
User-menu 能執行、建立或修改用戶(hù)建立的菜單
Run 執行當前數據庫的用戶(hù)菜單
Modify 允許用戶(hù)建立或修改用戶(hù)菜單
Exit 退出User-menu菜單
Database 詳見(jiàn)實(shí)用程式說(shuō)明:dbaccess
Table 詳見(jiàn)實(shí)用程式說(shuō)明:dbaccess
Exit 退出實(shí)用程式isqlrf(或isql)
六、常用SQL語(yǔ)句
使用SQL語(yǔ)句的基本步驟是:
A、 在提示符#或$后面鍵入dbaccess
B、 選擇菜單Query-Language
C、 選擇需要查詢(xún)的數據庫
D、 選擇菜單New
E、 輸入你的SQL語(yǔ)句
F、 按Esc鍵退出
G、 選擇菜單Run執行你的SQL語(yǔ)句
1、 查詢(xún)語(yǔ)句
在數據庫中查詢(xún)動(dòng)作的完成主要由select語(yǔ)句完成,其語(yǔ)法結構為:
select select-list
from table-name
[where condition]
其中:select-list 是要從選中的表中提取的字段名列表,如果全部取出,能用*代替
table-name 是想要查詢(xún)的表名
condition 是查詢(xún)的條件,將所有滿(mǎn)足此條件的記錄列出;
如果省略,則查詢(xún)所有記錄(以下條件語(yǔ)句功能相同)
例如:
1)查詢(xún)儲蓄數據庫中所有的操作員的信息
select * from czy
2)查詢(xún)儲蓄數據庫中所號為“0000000”的操作員的所有信息
select * from czy where cxsh=”0000000”
3)查詢(xún)儲蓄數據庫中所有在1998/11/07開(kāi)戶(hù)的活期帳戶(hù)的賬號、姓名和余額
select zh,hm,jce from hzb where khrq=”1998/11/07”
2、 修改語(yǔ)句
用來(lái)完成對數據庫中的數據進(jìn)行修改的工作。=其語(yǔ)法結構為:
update table-name
set column-name=expression
[where condition]
其含義是將表 table-name中滿(mǎn)足條件condition的記錄的字段column-name的值修改為expression
例如:
1)對公會(huì )計在后臺操作時(shí),一不小心修改了后臺所號(應該是“999999999”),再次注冊時(shí),系統提示“無(wú)此代碼”。
update cszd set dwdh=”9999999” where dwdh=”7777777”
3、 刪除語(yǔ)句
用來(lái)刪除數據庫中作廢的數據。其語(yǔ)法結構為:
delete from table-name
where condition
含義是:刪除表table-name中滿(mǎn)足條件condition的所有記錄
例如:
1) 刪除儲蓄數據庫中“1998/11/07”的所有流水帳
delete from lsz where rq=”1998/11/07”
2) 刪除儲蓄所號為“0000001”、操作員代號為“0001”的記錄
delete from czy where cxsh=”0000001” and dh=”00001”
4、 賦權語(yǔ)句
數據庫的操作權限分為三級connect、resoure、dba,三種權限依次加大。
對表的操作權限分為:alter、delete、index、insert、execute、select、update、references、 all等。
權限賦予某用戶(hù)的語(yǔ)法結構為:
grant db-privilege to user-list
含義是:將對庫的權限db-privilege賦予用戶(hù)user-list
grant tab-privilege on table-name to user-list
含義是:將對表table-name的權限tab-privilege賦予用戶(hù)user-list
權限從某用戶(hù)收回的語(yǔ)法結構為:
revoke tab-privilege on table-name from user-list
含義是:收回用戶(hù)user-list對表table-name操作權限tab-privilege
revoke db-privilege from user-list
含義是:收回用戶(hù)user-list對數據庫的操作權限db-privilege
例如:
1) 儲蓄安裝完后,終極用戶(hù)root要想查詢(xún)數據庫,系統提示:
387: No connect permission.
111: ISAM error: no record found.
原因 就是root對bankstar數據庫沒(méi)有connect權限
我們能使用下面的語(yǔ)句賦予root權限
grant connect to root
2)目前我們要收回root對會(huì )計數據庫的dba權限,語(yǔ)句如下:
revoke dba from root
5、 下載語(yǔ)句
用于將表中的數據下載成文本文件,多用于一些共用參數。其語(yǔ)法格式為:
unload to “pathname” select-statement
其含義是:將通過(guò) select語(yǔ)句查詢(xún)出來(lái)的結果輸出到文件pathname中去。
例如:我們將在甲所對公會(huì )計中已定義好的科目下載成文本文件,存放到”/tmp/kmzd”文件中
unload to “/tmp/kmzd” select * from kmzd
6、 上載語(yǔ)句
用于將已下載成文本文件的數據加載到數據庫中的相應的表中,其語(yǔ)法結構為:
load from “pathname” insert into table-name
其含義是:將文本文件pathname中的數據加載到表table-name中去。
例如:我們將上面從甲所下載來(lái)的數據通過(guò)軟盤(pán)帶到乙所,然后將其加載到乙所的kmzd中
load from “/tmp/kmzd” insert into kmzd
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。