Linux下安裝oracle11g和錯誤詳解

jane_pop發表於2014-08-15
在Linux上安裝oracle是一件比較麻煩的事情,過程中會出現這樣那樣的錯誤。下面是我的安裝過程,由於此處無法黏貼截圖,所以純文字敘述了,但是步驟還是挺詳細的。
安裝環境:redhat linux5.4(32位)。這裡順便說一下,如果你的機子是64位,但是使用的是虛擬機器,那麼你的Linux可以使用32位的,oracle也可以選擇用32位的,既然是虛擬機器當然就可以的。
1.首先我們要檢查一下硬體是否滿足要求:一般要高於1G實體記憶體,交換區一般是記憶體的2倍,硬碟5G 以上。
這裡可以直接使用命令free來檢視Linux的記憶體和交換區,也可以使用一下兩個命令分別檢查:
grep MemTotal  /proc/meminfo
grep SwapTotal  /proc/meminfo
再用df -h這個命令檢查磁碟空間
2.下面我們使用ftp將主機上的安裝包上傳到虛擬機器中。(這裡涉及到主機和虛擬機器之間的通訊方式問題,這裡不做過多講解)
首先我們檢查Linux上的ftp服務是否有開啟。
使用命令service vsftpd restart
此時有可能出現錯誤,那是因為你的ftp軟體包沒有安裝。於是分別執行如下命令:
(1)掛載光碟:mount -t iso9660 /dev/cdrom  /media
(2)到/media/Server目錄下:cd /media/Server       再執行ls即可看到從光碟中所掛載的多個軟體包,而我們要找的安裝包是vsftpd-2.0.5-16.el5.i386.rpm,於是執行rpm -Uvh vsftpd-2.0.5-16.el5.i386.rpm。執行完之後試著開啟ftp服務,有可能會出現FAILED的情況。於是我們檢查21號埠:
netstat  -nlap|grep 21 ,如果21號埠監聽的不是vsftpd的話,就說明埠被其他服務佔用了,最常見的就是被xinetd服務佔用,也就是telnet服務,解決方法就是把telnet服務關閉:service xinetd stop。之後,再次開啟ftp服務成功。
下面回到主機,注意主機的ftp也要開啟,具體操作是開啟控制皮膚》程式》開啟或關閉windows功能》勾選ftp的相關服務。
開啟dos視窗,輸入ftp  192.168.133.128(虛擬機器的ip)   此處注意我們不要使用root登入,因為我們要把安裝包上傳到其他使用者的家目錄,我這裡是以c使用者登入,所以上傳到/home/c/目錄下。
ftp>bin
(這裡要注意,進入ftp之後,要輸入bin,讓其以二進位制的模式上傳,否則到時候進行解壓會出現錯誤。)
ftp>put  e:\oracle\linux_11gR2_database_1of2.zip
此處注意,有可能會出現553 Could not create file的錯誤,解決方式是在終端執行setsebool  -P  ftpd_disable_trans  1,並且編輯
/etc/vsftpd.conf修改相關引數的值:
write_enable=YES
local_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
listen=YES
存檔退出。
兩個安裝包都能上傳完之後就可以解壓,解壓命令式unzip,此處不做過多講解。
3.下面檢查oracle安裝過程中所需的安裝包是否安裝了。同樣要先將光碟掛載。
rpm -Uvh setarch-2*
rpm -Uvh make-3*
rpm -Uvh glibc-2*
rpm -Uvh libaio-0*
rpm -Uvh compat-libstdc++-3-3*
rpm -Uvh compat-gcc-34-3*
rpm -Uvh compat-gcc-34-c++-3*
rpm -Uvh gcc-4*
rpm -Uvh libXp-1*
rpm -Uvh openmotif-2*
rpm -Uvh compat-db-4*



4.在Linux配置檔案中設定oracle資料庫的引數:
使用vi編輯器在/etc/sysctl.conf檔案末尾加上下面引數:

#use for oracle

Kernel.shmmall=2097152

Kernel.shmmax=2147483648

Kernel.shmmni=4096

Kernel.sem=250 32000 100 128

Fs.file-max=6815744

Fs.aio-max-nr=1048576

Net.ipv4.ip_local_port_range=9000 65500

Net.core.rmem_default=4194304

Net.core.rmem_max=4194304

Net.core.wmem_default=262144

Net.core.wmem_max=1048576

在/etc/security/limits.conf檔案末尾加上如下引數:
*  soft nproc 2047

*  hard nproc 16384

*  soft nofile 1024

*  hard nofile 65536


在/etc/pam.d/login檔案末尾加入如下內容:
Session required pam_limits.so

在/etc/profile檔案末尾加入如下內容:
if  [ $USER = "oracle" ];  then
   if  [  $SHELL = "/bin/ksh" ];  then
       ulimit  -p  16384
       ulimit  -p   65536
   else
       ulimit  -u  16384   -n   65536
   fi
fi

5.建立安裝oracle的使用者和組
groupadd oinstall
groupadd dba
useradd -m -g oinstall -G dba oracle
確認oracle使用者的屬性
id oracle
我們可以為oracle使用者建立密碼:
passwd oracle
接著就會提示是輸入密碼

6.建立安裝oracle資料庫所需的目錄
mkdir -p /u01/app/oracle
把這個目錄的屬性改為oracle使用者和oinstall組:
chown -R oracle.oinstall /u01/app/oracle
再把目錄設定成oracle使用者可讀可寫狀態:
chmod -R 775 /u01/app/oracle

下面我們檢視一下從解壓包中解壓出來的資料夾的許可權:
ls -l /home/c
資料夾database是解壓出來的,我們可以看到它的許可權是root,於是把它設定成是oracle使用者和oinstall組的:
chown -R  oracle:oinstall  /home/c/database

7.設定oracle使用者的環境變數
在/home/oracle/.bash_profile檔案末尾加一下內容:
#use for oracle
export  ORACLE_BASE=/u01/app/oracle
export  ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export  ORACLE_SID=orcl
export  PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export  LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export  CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE/rdbms/jlib
存檔退出,使用命令source /home/oracle/.bash_profile使其修改立即生效。

至此,所有準備工作都已經完成。下面開始安裝資料庫軟體了。

在安裝之前要做一個重要的步驟,那就是切換到root使用者,執行
xhost +  
如果沒有執行這一步,那麼將不能啟動圖形安裝介面。
執行完上面一部之後,到/home/c/database目錄下,執行./runInstaller
那麼就可以開始以圖形介面來安裝oracle了。

在安裝的過程中,有可能會提示你有些安裝包未安裝,那麼我們可以再開啟一個終端,按照以上的掛載光碟步驟按著順序裝就可以了,依次安裝完之後回到安裝介面點選check again 即可。
如果出現OUI-10182的錯誤,那麼按如下步驟解決:
以root使用者在/etc下建立oraInst.loc檔案,在檔案中新增如下內容:
(假設你的oraInventory在這個目錄下:/u01/app/oraInventory)
則新增:oraInventory_loc=/u01/app/oraInventory
             inst_group=oinstall
存檔退出。重新執行安裝程式即可。

如果出現INS-10008錯誤,就是由於許可權的問題了,只需要把/u01下的所有檔案都設定成
oracle:oinstall 即可。









來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29800581/viewspace-1251643/,如需轉載,請註明出處,否則將追究法律責任。

相關文章