RedHat上靜默安裝Oracle11g

以前爲某某大學後勤部門開發了一套幹部考覈系統,我也參與了開發。後來公司用此做爲案例,接到了一些其餘學校的考覈系統的開發項目。原來系統是用mysql做爲數據庫,現在接到的一所學校的考覈系統,要求用oracle數據庫。因此公司要求我來爲客戶那邊安裝oracle數據庫。以前我對mysql的安裝有所瞭解,而對liunx上oracle安裝歷來沒接觸過。經過兩天的不斷的找資料後,最終安裝成功,其中也多虧了同事的指點,讓安裝變得順利許多。javascript

在此,我寫下此文,但願對你們有所幫助。java

Oracle安裝前,依賴包的檢測

這個就不用多說什麼了,直接的上代碼:mysql

rpm -q binutils    compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel \
        elfutils-libelf-devel expat gcc gcc-c++ glibc glibc-common glibc-devel\
        glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make\
        pdksh sysstat unixODBC unixODBC-devel | grep "not installed"複製代碼

執行以上代碼後,若是顯示某個包名,說明該包沒有被安裝。
安裝以上依賴包須要系統的安裝盤或系統鏡像。c++

用戶那邊把系統的鏡像文件copy到了系統根目錄上,我經過mount掛載了鏡像:sql

mount -o loop -t iso9660 /ISONAME.iso /media/cdrom/複製代碼

而後在/media/cdrom裏面就有相應的依賴包,我是在裏面的Server目錄下面
找到了全部的依賴包。數據庫

安裝依賴須要執行如下命令:vim

rpm -ivh <依賴包名>複製代碼

安裝依賴包是個麻煩的過程,我是一個個安裝的,並且在安裝某個包的時候有時會提示你先安裝其餘的包,很是的麻煩。不知道有沒有什麼簡單方便的方式進行操做。若是有誰有更好的方法,但願能評論告訴
我。bash

沒有圖形,就靜默吧

無論圖形仍是靜默都須要作的事

  • 建立羣組
groupadd oinstall 
        groupadd dba複製代碼
  • 建立oracle用戶並使用其屬於剛建立的羣組
useradd –m –g oinstall –G dba oracle複製代碼
  • 檢查oracle是否屬於組oinstall 和 dba服務器

    id oracle網絡

    正確的顯示:uid=1001(oracle) gid=1000(oinstall) groups=1001(dba)

  • 給oracle設置密碼

    passwd oracle

  • 建立安裝oracle的目錄並賦相應的權限

mkdir -p /u01/oracle
        chown -R oracle:oinstall /u01
        chmod -R 775 /u01複製代碼
  • 內核參數的配置(網上尋找到的,這一步不是很明白其做用),使用vivim(其餘編輯器也行)修改 /ect/sysctl.conf文件,通常都有,沒有就建立一個,對它作以下的修改或添加:

    fs.file-max = 6815744

    fs.aio-max-nr = 1048576

    kernel.shmall = 2097152

    kernel.shmmax = 2147483648

    kernel.shmmni = 4096

    kernel.sem = 250 32000 100 128

    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

    輸入命令:sysctl -p使其當即生效

  • 配置oracle用戶的環境變量

    切換到oracle用戶下:su -l oracle,而後輸入:vim ~/.bash_profile,在其中添加以下環境變量

    export ORACLE_HOME=/u01/oracle/product/11.2/db_1
       export ORACLE_BASE=/u01/oracle 
       export ORACLE_SID=orcl
       export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib複製代碼

    source ~/.bash_profile使其當即生效

Oracle的下載,解壓,安裝

下載oracle並進行解壓: 這裏提供一下我使用的oracle, 點擊此處下載
建立目錄mkdir /oinstall,我把下載下來的oracle放到了/oinstall下,再經過如下命令解壓:

unzip p10404530_112030_Linux-x86-64_1of7.zip
unzip p10404530_112030_Linux-x86-64_2of7.zip複製代碼

因爲靜默(silent)安裝oracle,須要配置靜默響應文件,在/oinstall/database/response下用三個文件,其中一個文件就是用來安裝使用,複製一份出來修改其內容。 這是一種方法,若不配置響應文件,則須要設置響應變量。我用了第二種方式 ,代碼以下:

./runInstaller -silent -force \
    FROM_LOCATION=/oinstall/database/stage/products.xml \
    oracle.install.option=INSTALL_DB_SWONLY \
    UNIX_GROUP_NAME=oinstall \
    INVENTORY_LOCATION=/home/oracle/oraInventory \
    ORACLE_HOME=/u01/oracle/product/11.2/db_1 \
    ORACLE_HOME_NAME="OraDb11g_Home1" \
    ORACLE_BASE=/u01/oracle \
    oracle.install.db.InstallEdition=EE \
    oracle.install.db.isCustomInstall=false \
    oracle.install.db.DBA_GROUP=dba \
    oracle.install.db.OPER_GROUP=dba \
    DECLINE_SECURITY_UPDATES=true複製代碼

爲了方便使用,經過vim create_db.sh,添加上述代碼,給該文檔權限修改成可執行。

執行須要數分鐘的時間,結束時,提示安裝成功而且會給出兩個文件的路徑,分別執行這兩個文件。

靜默安裝監聽

複製/oinstall/database/responsenetca.rsp

cd /oinstall/database/response 
     cp  netca.rsp ../myNetca.rsp
     cd ..
     vim myNetca.rsp複製代碼

vim MyNetca.rsp修改文件,如下爲須要修改的項目:

NSTALL_TYPE=""custom"" 安裝的類型
    LISTENER_NUMBER=1 監聽器數量
    LISTENER_NAMES={"LISTENER"} 監聽器的名稱列表
    LISTENER_PROTOCOLS={"TCP;1521"} 監聽器使用的通信協議列表
    LISTENER_START=""LISTENER"" 監聽器啓動的名稱複製代碼

而後運行:

$ORACLE_HOME/bin/netca /silent /responsefile /oinstall/database/response/myNetca.rsp複製代碼

建立oracle實例庫

複製/oinstall/database/responsedbca.rsp

cd /oinstall/database/response
    cp dbca.rsp ../myDbca.rsp
    cd ..
    vim myDbca.rsp複製代碼

vim myDbca.rsp修改文件,如下爲須要修改的項目:

# RESPONSEFILE_VERSION = "11.2.0" 
    # OPERATION_TYPE = "createDatabase" 
    # [CREATEDATABASE]  
    # GDBNAME = "orcl" 
    # SID = "orcl" 
    # TEMPLATENAME = "General_Purpose.dbc" 
    #  
    # [CONFIGUREDATABASE]  
    # EMCONFIGURATION = "LOCAL" 
    # SYSMANPASSWORD = "123456" 
    # DBSNMPPASSWORD = "123456"複製代碼

而後執行:

$ORACLE_HOME/bin/dbca -silent -responsefile /oinstall/database/response/dbca.rsp複製代碼

到這裏,ORACLE的安裝差很少了。但我用本機訪問服務器上oracle時,鏈接不上,出現監聽超時的錯誤,覺得是服務器上防火牆沒有開放1521端口,但查看後發現1521端口已經加上了。通過幾翻折騰才知道,是鏈接服務器的網絡上1521端口未開放,問題總算解決了。

問題總會一個接一個的,在向表插入數據時,發現中文存在沒法識別的狀況。
在網上找了一堆的資料,最後經過閱讀這篇博客解決了問題。

主要緣由是:當前的系統的語言環境和環境變量,與oracle的字符集不一致。

能夠經過如下步驟修改

su -l oracle
    vim ~/.bash_profile複製代碼

文件bash_profile中修改或添加如下內容:

NLS_LANG = AMERICAN _ AMERICA. ZHS16GBK複製代碼

而後修改sudo vim /etc/sysconfig/i18n

LANG="en_US.UTF-8"
    SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"
    SYSFONT="latarcyrheb-sun16"複製代碼

查看oracle的字符集:

sqlplus / as sysdba
    select userenv('language') from dual;複製代碼

總結

Oracle在Liunx下安裝是件麻煩的事,因爲是沒有圖形界面使用靜默安裝,貌似不會出錯中止,還會繼續安裝,而後就一堆的問題,oracle無法用還得從新安裝,這種狀況下oracle安裝後的Log是必定要看的,看看在安裝過程當中有什麼錯誤信息。但也發現,oracle靜默安裝的速度確實是至關的快。與我在WIN上安裝Oracle速度根本不是一個級別的。

相關文章
相關標籤/搜索