最終實現目的:SUSE 11安裝oracle 11g服務端,客戶端環境為win7 64位,要實現在客戶端環境通過pl/sql連接上並能訪問oracle數據庫
總結安裝過程中遇到的問題:
1.不切換oracle用戶安裝時會報一個display不滿足的錯誤。
解決辦法:此時切換為oracle用戶登錄執行安裝即可。
2.安裝完成后,輸入sql/plus命令無效。
解決辦法:確認oracle相關變量是否設置正確,oracle_base,oracle_home,通過env查看Oracle設置。
3.無法連接上數據庫。
解決辦法:啟動數據庫和數據庫監聽服務。 啟動數據庫需要使用系統登陸啟動。
4.pl/sql不支持oracle 64client連接,當配置oci.dll時候啟動pl/sql回報相關錯誤。
解決辦法:使用免安裝的instantclient-basic-nt-11.2.0.4.0,配置相關參數即可。下面會詳細介紹到。
安裝oracle服務端准備
啟動已經安裝好的Suse Enterprise 11
1.下載上傳oracle 11g
在這里直接使用rz命令,需要實現通過軟件中心安裝,直接搜索rzsz,安裝上即可使用。
另外,我們在win7機器上安裝個遠程工具用於把oracle11g上傳到suse 服務器端,
在這里使用的工具為SecureCRT,登陸后使用命令
rz
顯示對話框,選中下載的oracle 11g,點擊上傳至對應目錄即可。
2.檢測並安裝oracle環境,開始檢測所需RPM包。
#rpm –q binutils gcc gcc-c++ glibc glibc-devel ksh libstdc++33 libstdc++43-devel libaio libaio-devel libgcc43 libstdc++-devel make sysstat unixODBC-32bit unixODBC-devel-32bit
在suse里可以利用它的特點,操作如下,回到x-window操作界面即可視化操作界面,計算機—安裝軟件,缺少了gcc 直接搜索gcc,把需要的gcc,gcc++勾上,點擊接受就可以自動安裝了每個軟件都可以用這種步驟操作,知道所以缺少的包都安裝完畢。再次運行查找命令,發現所有包已經安裝了。
最后再利用rpm -q檢查是否所需要安裝的包已經安裝完畢。
3.檢查系統硬件
如圖,利用linux命令檢查系統是否滿足要求。內存1G以上 交換空間1.5G以上 磁盤空間16G
4.修改linux內核參數
檢查內核參數是否滿足
5.打開 /etc/sysctl.conf
vi /etc/sysctl.conf
加上如下內容:
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 536870912 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048586 net.ipv4.tcp_wmem = 262144 262144 262144 net.ipv4.tcp_rmem = 4194304 4194304 4194304 /sbin/chkconfig boot.sysctl on #讓suse啟動時加載/etc/sysctl.conf /sbin/sysctl –p #使修改的參數立即生效
6.創建oracle用戶和組及安裝目錄
groupadd oinstall #(創建用戶組oinstall) groupadd dba #(創建用戶組dba) useradd –g oinstall –G dba –m oracle passwd oracle #(設置密碼) mkdir –p /fantlam/oracle #創建oracle目錄 chown -R oracle:oinstall /fantlam
7.設置oracle變量
linuxsight:/# su oracle oracle@linuxsight:/home/oracle> vi .profile #添加如下內容 ORACLE_BASE=/fantlam/oracle/app/oracle ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_2 ORACLE_SID=orcl PATH=$ORACLE_HOME/bin:$PATH export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH oracle@linuxsight:/home/oracle> exit #(退出登錄讓設置生效) linuxsight:/# su oracle linuxsight:/ mkdir –p /fantlam/oracle/app/oracle #創建oracle_base目錄 linuxsight:/ mkdir –p /fantlam/oracle/app/oracle/product/11.2.0/dbhome_2 #創建oracle_home目錄 linuxsight:/ mkdir –p /fantlam/oracle/app/oraInventory #創建oraInventory目錄 oracle@linuxsight:/home/oracle> env | grep ORA #查看ora是否成功設置到環境變量 ORACLE_SID=orcl ORACLE_BASE=/fantlam/oracle/app/oracle ORACLE_HOME=/fantlam/oracle/app/oracle/product/11.2.0/dbhome_2
8.為oracle用戶設置shell的限制
vi /etc/security/limits.conf #加入如下內容 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle hard stack 10240
9.編輯 /etc/pam.d/login
vi /etc/pam.d/login #加入如下內容: session required /lib/security/pam_limits.so
10.編輯/etc/profile
vi /etc/profile #加入如下內容: if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
解壓安裝oracle11g
linuxsight:/# unzip linux_11gR2_database_1of2.zip linuxsight:/# unzip linux_11gR2_database_2of2.zip linuxsight:/# mv database/ /fantlam linuxsight:/# cd /fantlam linuxsight:/# chown -R oracle:oinstall database/
接下來的步驟就是切換至oracle用戶然后運行安裝了。
按照以往的經驗,只需要在shell上su oracle 就可以運行安裝程序了。而本次在suse我卻碰到問題了。
這是本次安裝碰到第二個問題
問題所在:
無法使用命令 /usr/bin/xdpyinfo 自動檢查顯示器顏色。請檢查是否設置了 DISPLAY 變量。
其實在上次安裝我已經遇到過了,當時用了xhost local:oracle就可以解決,但據網上介紹說是suse和redhat是有些不同。就算是設置DISPLAY=192.168.1.103:0.0也不行,用su – oracle切換至oracle用戶,運行xclock都會出錯,can’t open display
一連幾天我都束手無策。最后終於找到一個解決方法:
注銷–切換用戶–直接用oracle登錄
用這種方法發現 xclock就可以正常運行,所以也能正常運行oracle安裝程序了。
第三個問題:安裝界面出現亂碼
上一次記得用oracle 10G的時候就出現過這種情況,晚上的解決方案是下載jdk去重新設置,感覺這種方法太麻煩了,而我認為安裝界面並不一定要用中文,英文也可以。
所以改為英文環境即可
設置語言環境 LANG和LC_ALL
$ export LANG=en_US $ export LC_ALL=en_US
cd到數據庫目錄執行./runInstaller命令即可。
第一步是設置郵件的,可選擇略過。
第二步:選擇只安裝軟件
第三步:單獨的數據庫,不是集群。
(注:如果是出現磁盤空間不足的話,可以檢查一下到底哪里有多余的數據,本來預設16G是足夠的。可以清空TMP目錄,清空命令 rm –rf *
-r 就是向下遞歸,不管有多少級目錄,一並刪除
-f 就是直接強行刪除,不作任何提示的意思)
第四步:語言:英文 English
第五步:選第一個:企業版 enterprise edition
第六步:系統已經根據我們設定的變量自動讀取了安裝目錄,即為剛開始設置的Oracle_base目錄,如不對,請自行修改。
第七步:繼續默認
第八步:同樣已經讀到了組 dba oinstall
第九步:進行安裝檢測。一切沒問題,不過提示一個錯誤是系統內存不足,可以在虛擬機把內存調大點,不過這里我選擇忽略。
第十步:一切准備就緒。 自動執行安裝。
最后一步:執行腳本。
如圖所示
最后測試數據庫是否安裝成功:
輸入命令sqlplus,如出現如下界面,則說明安裝成功,否則請查看ORA配置,確認
環境變量中的ORA SID ,ORA_BASE,ORA_HOME是否與安裝選擇的保持一致,如發現sqlplus命令無效,請確認環境變量中是否有oracle相關設置。