Oracle->oracle單實例Shell腳本[20180122]

来源:https://www.cnblogs.com/also-brook/archive/2018/01/22/8331594.html
-Advertisement-
Play Games

腳本主要用於redhat平臺安裝11g和12c軟體 依賴包檢查與安裝 用戶、組檢查與安裝 系統內核、用戶限制 防火牆、selinux關閉 註意,linux組腳本中只創建了dba,通常會創建oinstall和dba ################# # # #create : 2018/01/22 ...


腳本主要用於redhat平臺安裝11g和12c軟體     依賴包檢查與安裝     用戶、組檢查與安裝     系統內核、用戶限制     防火牆、selinux關閉     註意,linux組腳本中只創建了dba,通常會創建oinstall和dba   ################# # # #create : 2018/01/22 #version : v0.0 #describe : Oracle 11g/12c setup single instance install environment #參考網址 http://blog.csdn.net/xcl168/article/details/19571443http://blog.51cto.com/hxw168/1424626 #################   DATE=`date +%Y%m%d%H%M%S` SYSCTLCONF="/etc/sysctl.conf" LIMITSCONF="/etc/security/limits.conf" LOGINFILE="/etc/pam.d/login" PROFILE="/etc/profile" YUMFILE="/etc/yum.repos.d/rhel-source.repo"   echo -e "\nTo determine the distribution and version of Linux installed.\n" echo "`cat /proc/version`"   echo -e "\nTo determine whether the required kernel is installed.\n" echo "`uname -a`"   echo -e  "\nLeast 4GB of RAM.\n" echo "`grep MemTotal /proc/meminfo`"   echo -e "\nTo determine the size of the configured swap space,enter the following command.\n" echo "`grep SwapTotal /proc/meminfo`"   echo -e "\nChecking the Software Requirements.\n" yes|cp -p ${YUMFILE} ${YUMFILE}.bak.${DATE}   read -p "Enter installl oracle version:[12c]" ORA_VERSION #echo "You have entered ${ORA_VERSION}"   if [ -z "${ORA_VERSION}" ];then ORA_VERSION="12c" fi echo "You have entered ${ORA_VERSION}" if [ ${ORA_VERSION} == "12c" ];then rpmpack=" binutils compat-libstdc++* elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel" else rpmpack=" binutils compat-libstdc++* elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers pdksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel"   fi   read -p "Enter yum source address:" URL_PTAH #echo "You have entered ${URL_PTAH}" echo ${#URL_PTAH}   if [ ${#URL_PTAH} -gt 0 ];then echo "You have entered ${URL_PTAH}" `grep ${URL_PTAH} ${YUMFILE} > /dev/null` if [ $? -ne 0 ];then echo "#add yum resouce ${DATE}" >${YUMFILE} echo "[rhel-source]" >>${YUMFILE} echo "name=Red Hat Enterprise Linux \$releasever - \$basearch - Source" >>${YUMFILE} echo "baseurl=${URL_PTAH}" >>${YUMFILE} echo "enabled=1" >>${YUMFILE} echo "gpgcheck=0" >>${YUMFILE} echo "gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release" >>${YUMFILE} fi yum grouplist fi   for pack in $rpmpack; do         rpm -qa | grep  $pack > /dev/null         if [ $? -eq 1 ];then                 echo "$pack not install"                 yum -y install $pack         fi         echo "rpm -qa | grep  $pack  is already install." #read -p "Enter yum source address:" URL_PTAH #echo "You have entered ${URL_PTAH}"     done   echo -e  "\nTo determine if the Oracle Inventory group exit.\n" echo "  `grep oinstall /etc/group`" echo "  `grep dba /etc/group`"   echo -e "\nTo determine whether the oraInstall.loc file exists.\n" echo "`cat /etc/oraInst.loc`" #################################   #################################   echo -e "\nCreating Required Operating System Groups and Users.\n" `grep dba /etc/group > /dev/null` if [ $? -ne 0 ];then echo "groupadd dba" `groupadd dba` fi   `grep oracle /etc/passwd > /dev/null` if [ $? -ne 0 ]; then echo "useradd -g dba oracle" `useradd -g dba oracle` echo "oracle#1234" | `passwd --stdin oracle` fi   echo "`id oracle`"   if [ ! -d "/u01/app/oracle" ];then echo -e  "\nmkdir -p /u01/app/oracle\nmkdir -p /u01/app/oraInventory\nmkdir -p /u01/app/oracle/product/11.2.0/dbhome_1\nchown -R oracle.dba /u01\nchmod -R 775 /u01\n" mkdir -p /u01/app/oracle mkdir -p /u01/app/oraInventory if [ ${ORA_VERSION} == "12c" ];then mkdir -p /u01/app/oracle/product/12.2.0/dbhome_1 else mkdir -p /u01/app/oracle/product/11.2.0/dbhome_1 fi chown -R oracle.dba /u01 chmod -R 775 /u01 fi ls -al /u01   #############################   #SYSCTLCONF="/etc/sysctl.conf" #LIMITSCONF="/etc/security/limits.conf" #LOGINFILE="/etc/pam.d/login" #PROFILE="/etc/profile"   ############################# echo -e  "\nCheckResource Limits for the Oracle Software Installation Users.\n" yes|cp -p ${LIMITSCONF} ${LIMITSCONF}.bak.${DATE}   echo -e "\nInstallation Owner Resource Limit Recommended Ranges.\n" `grep "#add limit" ${LIMITSCONF}  > /dev/null` if [ $? -ne 0 ];then echo "#add limit  ${DATE}" >>${LIMITSCONF} fi   `grep "oracle soft nproc 2047" ${LIMITSCONF}  > /dev/null` if [ $? -ne 0 ];then echo "oracle soft nproc 2047" >> ${LIMITSCONF} fi   `grep "oracle hard nproc 16384" ${LIMITSCONF}  > /dev/null` if [ $? -ne 0 ];then echo "oracle hard nproc 16384" >> ${LIMITSCONF} fi   `grep "oracle soft nofile 1024" ${LIMITSCONF}  > /dev/null` if [ $? -ne 0 ];then echo "oracle soft nofile 1024" >> ${LIMITSCONF} fi   `grep "oracle hard nofile 65536" ${LIMITSCONF}  > /dev/null` if [ $? -ne 0 ];then echo "oracle hard nofile 65536" >> ${LIMITSCONF} fi   echo "`tail -n 5 /etc/security/limits.conf`" ########################   ######################## echo -e "\nConfiguring Kernel Parameters for Linux.\n" yes|cp -p ${SYSCTLCONF} ${SYSCTLCONF}.bak.${DATE}   `grep "#add sysctl" ${SYSCTLCONF} > /dev/null` if [ $? -ne 0 ];then echo "#add sysctl ${DATE}" >> ${SYSCTLCONF} fi   `grep "kernel.shmmni = 4096" ${SYSCTLCONF} > /dev/null` if [ $? -ne 0 ];then echo "kernel.shmmni = 4096" >> ${SYSCTLCONF} fi `grep "kernel.sem = 250 32000 100 142" ${SYSCTLCONF} > /dev/null` if [ $? -ne 0 ];then echo "kernel.sem = 250 32000 100 142" >> ${SYSCTLCONF} fi `grep "fs.aio-max-nr = 1048576" ${SYSCTLCONF} > /dev/null` if [ $? -ne 0 ];then echo "fs.aio-max-nr = 1048576" >> ${SYSCTLCONF} fi `grep "fs.file-max = 6815744" ${SYSCTLCONF} > /dev/null` if [ $? -ne 0 ];then echo "fs.file-max = 6815744" >> ${SYSCTLCONF} fi `grep "net.ipv4.ip_local_port_range = 9000 65000" ${SYSCTLCONF} > /dev/null` if [ $? -ne 0 ];then echo "net.ipv4.ip_local_port_range = 9000 65000" >> ${SYSCTLCONF} fi `grep "net.core.rmem_default = 262144" ${SYSCTLCONF} > /dev/null` if [ $? -ne 0 ];then echo "net.core.rmem_default = 262144" >> ${SYSCTLCONF} fi `grep "net.core.rmem_max = 4194304" ${SYSCTLCONF} > /dev/null` if [ $? -ne 0 ];then echo "net.core.rmem_max = 4194304" >> ${SYSCTLCONF} fi `grep "net.core.wmem_default =262144" ${SYSCTLCONF} > /dev/null` if [ $? -ne 0 ];then echo "net.core.wmem_default =262144" >> ${SYSCTLCONF} fi `grep "net.core.wmem_max = 10485" ${SYSCTLCONF} > /dev/null` if [ $? -ne 0 ];then echo "net.core.wmem_max = 10485" >> ${SYSCTLCONF} fi /sbin/sysctl -p ########################   ####################### echo -e "\nedit /etc/pam.d/login file:\n" yes|cp -p ${LOGINFILE} ${LOGINFILE}.bak.${DATE}   `grep "session    required     pam_limits.so" ${LOGINFILE} >/dev/nulll` if [ $? -ne 0 ];then echo "#add login ${DATE}" >>${LOGINFILE} echo "session    required     pam_limits.so" >> ${LOGINFILE} fi echo "`tail -n 2 ${LOGINFILE}`" #######################   ###################### echo -e "\nedit /etc/pfole file:\n" yes|cp -p ${PROFILE} ${PROFILE}.bak.${DATE}   `grep "#add ulimit profile" ${PROFILE} >/dev/null` if [ $? -ne 0 ];then echo "#add ulimit profile ${DATE}" >>${PROFILE} echo "if [ \$USER = \"oracle\" ]; then" >>${PROFILE} echo " if [ \$SHELL = \"/bin/ksh\" ]; then" >>${PROFILE} echo " ulimit -p 16384" >>${PROFILE} echo " ulimit -n 65536" >>${PROFILE} echo " else" >>${PROFILE} echo " ulimit -u 16384 -n 65536" >>${PROFILE} echo " fi" >> ${PROFILE} echo "fi" >>${PROFILE} fi echo "`tail -n 9 ${PROFILE}`" ######################   ##################### echo -e "\nDisabled system firewall.\n" `chkconfig iptables off&&chkconfig ip6tables off&&service iptables stop&&service ip6tables stop` echo `chkconfig --list|grep iptables` echo `chkconfig --list|grep ip6tables` #####################     ##################### echo -e "\nDisabled system selinux.\n" `sed -i 's/^SELINUX=enforcing/#SELINUX=enforcing/g' /etc/selinux/config` `grep "^SELINUX=disabled" /etc/selinux/config >/dev/null` if [ $? -ne 0 ];then echo "SELINUX=disabled" >> /etc/selinux/config fi echo "`cat -n /etc/selinux/config|grep SELINUX`" #####################
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • tzselect 修改時區 select a timezone 時區顯示的是CET tzselect使用方法 這裡讓選擇大陸或大洋 很明顯選擇5 Asia(亞洲) 選擇國家 9 China 選在城市(難道新疆和北京不是一個時區嗎,好吧我選北京) 確認信息1, yes 2 no 重新選擇(我勒個擦,說 ...
  • mainWindow代碼如下(由於篇幅問題,子視窗代碼不貼出了,有需要源碼的可以留下郵箱): ~~~~ / Author : 博客園 Lance / include "mainwindow.h" include "ui_mainwindow.h" include include include in ...
  • 引言 在監控生產環境的服務的時候,通常需要對多個埠進行監控,如果我們手動一個一個的添加,這將是一件很麻煩的事情,為了減少這樣的情況,我們採用批量添加監控埠的方法,這是 非常常見的需求,zabbix也是支持這種方式的,需要使用zabbix的Discovery功能來實現,下麵小編就給大家分享一下批量 ...
  • 終止一個進程有很多方法(暫只說linux環境):前臺運行的進程,如果沒有提供退出功能,我們通常會Ctrl+C進行終止;後臺或守護進程,如果也沒有提供退出命令啥的,咱通常會kill掉;此外還有類似關機或重啟之類的特殊情況,也會導致進程終止。 無論哪種方法,最終都是通過向進程傳遞信號量的方式進行終止。只 ...
  • Screen是一款由GNU計劃開發的用於命令行終端切換的自由軟體。用戶可以通過該軟體同時連接多個本地或遠程的命令行會話,併在其間自由切換。GNU Screen可以看作是視窗管理器的命令行界面版本。它提供了統一的管理多個會話的界面和相應的功能。screen的常用命令... ...
  • 1. 複製表結構及其數據: create table table_name_new as select * from table_name_old 2. 只複製表結構: create table table_name_new as select * from table_name_old where ...
  • 常用函數: length()表示返回位元組長度。 char_length()表示返回字元個數。 rand()表示返回0-1之間的隨機小數。 round()表示四捨五入。 date_add(now(),interval 10 day)表示10天後的日期。 date_add(now(),interval ...
  • 最近有些小伙伴遇到一些問題,oracle如何轉成mysql,今天呢,小編就來教教大家如何轉換 首先大家要下載一個工具navicat premium(沒有的朋友,可以自行百度搜索安裝) 1、使用navicat premium連上oracle,由於上一篇小編用的就是該軟體,所以今天就不啰嗦如何配置了 2 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...