紅旗Linux+Oracle10g
一、Oracle10g安裝過程採用預設,安裝後資料庫的字元集是 WE8MSWIN1252。
這樣會導致存入Oracle 10g 中的資料出現亂碼。
解決的方法:在安裝完Oracle 10g後,可以在sqlplus(即Oracle XE的run SQL command line)中修改字元集。
Oracle10g安裝後,修改字元集操作如下:
1. connect system/jxdag as sysdba;
2. shutdown immediate;
3. startup mount;
4. alter system enable restricted session;
5. alter system set JOB_QUEUE_PROCESSES=0;
6. alter system set AQ_TM_PROCESSES=0;
7. alter database open;
8. alter database character set internal_use ZHS16GBK;
9. shutdown immediate;
10. startup;
備忘:最好以自訂進階方式安裝資料庫。在安裝過程中設定字元集。
紅旗Linux內建一個Oracle的安裝嚮導,省略了很多麻煩事情。
二、通過dbstart指令碼設定Linux下oracle資料庫是否自動啟動。
1. 修改$ORACLE_HOME/bin下的dbstart檔案如下所示,設定監聽的路徑:
ORACLE_HOME_LISTNER=$ORACLE_HOME
2. 修改/etc/oratab檔案,設定Oracle的執行個體名。
格式為:$ORACLE_SID:$ORACLE_HOME:Y/N
例如:ORCL:/home/oracle/product/10.2.0/db_1:Y
如果設定為資料庫不自啟動,則是: ORCL:/home/oracle/product/10.2.0/db_1:N
這樣就可以運行dbstart啟動資料庫和監聽了。運行dbshut可以關閉資料庫。
三、使用Oracle Enterprise Manager 10g Database Control。
切換到oracle使用者下。
查看em狀態:#emctl status dbconsole
啟動em命令:#emctl start dbconsole
訪問em: http://127.0.0.1:1158/em
四、用Oracle DBCA工具創建立資料庫執行個體。
在root下su - oracle後,運行dbca後,會報一個錯誤:
---------------
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified
Exception in thread "main"
---------------
就是目前使用者無法運行XServer程式。
解決辦法:運行命令 #xhost local:oracle
會出現提示:
non-network local connections being added to access control list
這樣用oracle身份就可以運行X程式了。
(local參數就是解決同一台機器的不同使用者訪問X的問題。)
使所有的使用者能訪問XServer,運行命令:#xhost +
出現提示:access control disabled, clients can connect from any host。
其實可以在圖形介面中以oracle身份登入,然後在shell中運行dbca。
運行命令: #dbca,出現Oracle資料庫的Database Configuration Assistant的歡迎介面。
接下來按照提示操作完成資料庫執行個體建立即可。
在操作過程中注意資料庫字元集的選擇:ZHS16GBK。
五、設定Linux下的Web服務開機自啟動。
Linux啟動時,會自動執行/etc/rc.d目錄下的程式。
設定自啟動服務有兩種方式可供參考:
1)以自啟動服務指令碼方式啟動服務
以root身份,在/etc/rc.d/init.d/中編輯檔案tongweb格式和內容如下:
------------------------------
#!/bin/bash
# chkconfig: 2345 98 5
# description: script to start/stop tongweb
case $1 in
start)
cd /home/tongweb/TW4.7/bin/
nohup /home/tongweb/TW4.7/bin/tongserver &
;;
stop)
cd /home/tongweb/TW4.7/bin/
/home/tongweb/TW4.7/bin/tongserver stop
;;
*)
echo "Usage: $0 (start|stop)"
exit 1
;;
esac
exit 0
------------------------------
然後更改許可權:#chmod 775 tongweb
加入自動啟動列表:#chkconfig –add tongweb
查看自動啟動設定:#chkconfig –list tongweb
可以用如下命令啟動和停止服務:
啟動:#service tongweb start
或:#/etc/rc.d/init.d/tongweb start
停止:#service tongweb stop
或:#/etc/rc.d/init.d/tongweb stop
此時在紅旗Linux的控制台--服務中可以查看設定的服務狀態。
或通過ntsysv來查看設定服務。
注意:檔案格式,檔案開頭的注釋部分不能省略。
#!/bin/bash
# chkconfig: 2345 98 5 --此行的2345參數表示在什麼運行層級啟動,啟動序號(S98);關閉序號(K5)
# description: script to start/stop tongweb --此行為必需,服務描述資訊
如果丟失檔案開頭描述資訊,則在執行#chkconfig命令時會出現錯誤提示:服務不支援chkconfig。
2)初始化指令碼啟動服務方式
/etc/rc.d/rc.local是在完成初始化之後執行的,可以把啟動服務的指令碼寫到裡面,伺服器啟動時執行。
詳細資料可參考rc.local檔案開頭的注釋部分。
以root身份編輯rc.local檔案,在最後加入如下命令:
#tongweb
export JAVA_HOME=/usr/java/jdk1.5.0_04/ --此處設定JAVA_HOME
cd /home/tongweb/TW4.7/bin/ --切換到服務類別目錄
nohup /home/tongweb/TW4.7/bin/tongserver & --以後台方式執行服務
或者如下寫法:
#tongweb
export JAVA_HOME=/usr/java/jdk1.5.0_04/ --此處設定JAVA_HOME
cd /home/tongweb/TW4.7/bin/ --切換到服務類別目錄
su tongweb -c "nohup /home/tongweb/TW4.7/bin/tongserver &" --把要執行的命令作為一個參數傳遞級su
by JRQ
2008/09/11 於南昌