shell編程oracle10g安裝在rhel6.4前的準備工作

來源:互聯網
上載者:User

標籤:

OS:rhel6.4

oracle:10.2.0.1

因為oracle10g出來的時間較長,很多10g使用到的包已經更新到了新的版本,所以在安裝過程中會出現許多奇怪的問題。

比如64為系統需要許多32位的包,比如按照以下步驟走完之後,在安裝軟體過程中仍然會有

Bug 8993720 : ERROR INVOKING TARGET ‘COLLECTOR‘ OF MAKEFILE ‘$O_H/SYSMAN/LIB/INS_EMDB.MK‘

出現,但可以直接continue忽略即可。

#!/bin/bash#author:wjf#date:2015/04/22#desc:before install oracle 10g on rhel6.3echo "此版本適用於在rhel 6.4平台安裝oracle 10g"v_install_user=oraclev_curr_date=`date +%Y%m%d%H%M`rpm -q binutils-2.* compat-db-4.* control-center-2.* gcc-* gcc-c++-* glibc-2.* glibc-common-2.* libstdc++-* libstdc++-devel-* make-3.* pdksh-5.\* sysstat-* compat-libstdc++-33-*  >/tmp/wjf_rpm.txtrpm -q libXp libXt libXtst glibc-devel |grep i686 >>/tmp/wjf_rpm.txtv_not_installed_packages_tmp=`cat /tmp/wjf_rpm.txt |grep not |grep installed |cut -d ' ' -f 2`v_not_installed_packages=`echo -ne ${v_not_installed_packages_tmp}|sed 's/ //g'`if [ -n  "${v_not_installed_packages}" ]        then                echo ${v_not_installed_packages}                echo "請安裝以上包後重新運行安裝程式"else#=======使用者(組)檢查建立        echo "開始使用者(組)建立……"        for v_is_group in "dba" "oper" "oinstall"                do                        v_is_group_exist=`cut -d ':' -f 1 /etc/group |grep ${v_is_group}`                        if [ -z "${v_is_group_exist}" ]                                then                                        groupadd ${v_is_group}                                        echo "   添加${v_is_group}組完成"                                else                                        echo "   ${v_is_group}組已存在"                        fi                done        if [ -z `cat /etc/passwd |grep ${v_install_user}` ]                then                        echo "   增加使用者${v_install_user}"                        useradd -g oinstall -G dba,oper ${v_install_user}                        passwd ${v_install_user}                else                        echo "   使用者${v_install_user}已存在"        fi#===========核心參數調整        echo "開始核心參數調整"        echo "   備份核心參數檔案/etc/sysctl.conf至/etc/sysctl.conf.${v_curr_date}.bak"        cp /etc/sysctl.conf /etc/sysconfig.conf.${v_curr_date}.bak        echo "   修改核心參數至/etc/sysctl.conf"        echo -ne "kernel.shmall = 2097152\nkernel.shmmax = 2147483648\nkernel.shmmni = 4096\nkernel.sem = 250 32000 100 128\nfs.file-max = 65536\nnet.ipv4.ip_local_port_range = 1024 65000\nnet.core.rmem_default = 262144\nnet.core.rmem_max = 262144\nnet.core.wmem_default = 262144\nnet.core.wmem_max = 262144\n" >>/etc/sysctl.conf        sysctl -p >NULL#===========調整使用者資源限制echo "開始使用者資源限制調整"        echo "   備份使用者資源限制檔案/etc/security/limits.conf至/etc/security/limits.conf.${v_curr_date}.bak"        cp /etc/security/limits.conf /etc/security/limits.conf.${v_curr_date}.bak        echo "   備份/etc/pam.d/login檔案至/etc/pam.d/login.${v_curr_date}.bak"        cp /etc/pam.d/login /etc/pam.d/login.${v_curr_date}.bak        echo "   調整使用者資源限制"        echo -ne "oracle              soft    nproc   16384\noracle              hard    nproc   16384\noracle              soft    nofile  65536\noracle              hard    nofile  65536\n" >>/etc/security/limits.conf        echo     "session    required     pam_limits.so" >>/etc/pam.d/login#===========安裝目錄建立echo "開始安裝目錄調整"        echo "   請輸入oracle的安裝目錄"        read v_install_path        echo "   建立安裝目錄"        mkdir -p ${v_install_path}        echo "   更改目錄屬主(組)"        chown -R ${v_install_user}:oinstall ${v_install_path}        echo "   更改目錄許可權至755"        chmod 755 ${v_install_path}#=============環境變數更改        echo "開始更改使用者環境變數"        echo -ne "export ORACLE_BASE=${v_install_path}\nexport ORACLE_HOME=\${ORACLE_BASE}/product/10.2.0/db_1\nexport LD_LIBRARY_PATH=\${ORACLE_HOME}/lib\nexport PATH=\${PATH}:\${ORACLE_HOME}/bin\n" >>/home/${v_install_user}/.bash_profile        echo "所有設定完成,請直接運行oracle安裝指令碼"fi

輸出結果

[[email protected] wjf_scripts]# bash pre-install-oracle.sh 此版本適用於在rhel 6.4平台安裝oracle 10g開始使用者(組)建立……   dba組已存在   oper組已存在   oinstall組已存在   使用者oracle已存在開始核心參數調整   備份核心參數檔案/etc/sysctl.conf至/etc/sysctl.conf.201504231800.bak   修改核心參數至/etc/sysctl.conf開始使用者資源限制調整   備份使用者資源限制檔案/etc/security/limits.conf至/etc/security/limits.conf.201504231800.bak   備份/etc/pam.d/login檔案至/etc/pam.d/login.201504231800.bak   調整使用者資源限制開始安裝目錄調整   請輸入oracle的安裝目錄/oracle   建立安裝目錄   更改目錄屬主(組)   更改目錄許可權至755  開始更改使用者環境變數所有設定完成,請直接運行oracle安裝指令碼[[email protected] wjf_scripts]# 
未完善的地方

1、通過變更檔的方式更改核心存數和資源限制,如果在同一環境中重複執行此指令碼,則檔案內容出現重複。


總結下知識點

1、sed流編輯器的使用

刪除匹配行       sed   /匹配內容/d   /tmp/ceshi.txt      它只會把結果輸出出來,並不會更改原檔案。

替換制定內容   sed  s/替換掉的內容/替換後的內容/g   /tmp/ceshi.txt    它會把所有匹配字元都替換掉,即預設全域

-i  把內容儲存在檔案中,比如 sed   /匹配內容/d  -i  /tmp/ceshi.txt 

2、grep匹配多個條件

grep -E ‘A|B|C‘

3、mkdir已存在目錄

若目錄已存在,則會直接報錯。

加上參數“-p”則不會報錯,但是-p參數作用為建立父目錄,使用該參數不會重新建立目錄,即原目錄下的檔案不會被刪除。

4、cut命令回顧

cut -d ‘:‘  -f  2  /tmp/123.txt

5、date命令回顧

date設定時間顯示格式。



shell編程oracle10g安裝在rhel6.4前的準備工作

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.