2009年10月16日金曜日

第11回 シェルスクリプト(その2 Oracleインストールの前準備)

  1. 実行上の注意
  2. rootユーザーから下記の点に注意して、シェルスクリプトoracle_install_1r.sh(このような名前をつけたが、何でも良い)を作成して、実行する。

    • ドライブにSolarisインストールディスクを入れてから実行する。パッケージを追加が終わると、ディスクが排出されるので、リブートまでには取り出す。
    • loginファイルの編集も本スクリプトに含めたので、Solarisのインストールが終わったら、すぐにサーバーのコンソールから実行するすることができる、手作業で行った場合はコメントアウトして、スクリプトからは実行しないようにする。
    • このスクリプトはSolaris10 のリビジョン3/05と5/09の両方で走らせることができるが、prtdiagコマンドが実装されていない、Solarisインストールディスクの構造が違うという理由によって、双方の処理を分岐させている。なお、3/05の場合は「'xxx.domain.com'」の箇所を修正してホスト名を書き込む。
    • パッケージを追加する際、下記のような表示がされたら、それに対して「y」を押す。
    • 「Do you want to continue with the installation of <SUNWi1cs>[y,n,?]」

    • oracleユーザーを作成する際に、下記のようにパスワードを求めらたら、パスワードを入力する。
    • 新しいパスワード:
      新しいパスワードを再入力してください:

  3. oracle_install_1r.sh
  4. 作成するシェルスクリプトoracle_install_1r.shは下記のとおりである、作成しやすい方法でサーバーにおく、詳しくは「第11回 シェルスクリプト(その1 概要)」を参照されたい。

    #!/bin/sh

    # enable telnet root user
    mv /etc/default/login /etc/default/login.org
    sed s'/^CONSOLE=/#CONSOLE=/' /etc/default/login.org > /etc/default/login

    # enable FTP root user
    mv /etc/ftpd/ftpusers /etc/ftpd/ftpusers.org
    sed s'/^root/#root/' /etc/ftpd/ftpusers.org > /etc/ftpd/ftpusers

    # syslogd: WARNING: loghost could not be resolved
    cd /etc/inet
    cp -p hosts hosts.org
    echo '127.0.0.1 loghost' >> hosts

    # set host(FQDN) name
    case `cat /etc/release|head -1|awk '{print $3}'` in
    '3/05')
        echo 'xxx.domain.com' > /etc/nodename
        cd /cdrom/cdrom0/s2/Solaris_10/Product
        ;;
    '5/09')
        echo `prtdiag|grep 'System Configuration:'|awk '{print $NF}'`'.domain.com' > /etc/nodename
        cd /cdrom/cdrom0/Solaris_10/Product
        ;;
    esac

    # install X11 ISO8859-15 Codeset
    pkgadd -d . SUNWi1cs
    pkgadd -d . SUNWi15cs
    cd
    eject cdrom

    # add user groups
    groupadd oinstall
    groupadd dba

    # add user account
    mkdir /export/home
    useradd -g oinstall -G dba -d /export/home/oracle -m oracle
    passwd -r files oracle

    # make oracle directory user account
    mkdir -p /opt/app/oracle
    chown -R oracle:oinstall /opt/app/oracle
    chmod -R 775 /opt/app/oracle

    # creating oracle user profile
    cd /export/home/oracle
    cp -p .profile .profile.org
    cat << EOF >> .profile
    ORACLE_BASE=/opt/app/oracle; export ORACLE_BASE
    ORACLE_HOME=\$ORACLE_BASE/product/10.2.0; export ORACLE_HOME
    ORACLE_SID=orcl; export ORACLE_SID
    NLS_LANG=Japanese_Japan.JA16EUCTILDE; export NLS_LANG
    ORA_NLS10=\$ORACLE_HOME/nls/data; export ORA_NLS10
    LD_LIBRARY_PATH=\$ORACLE_HOME/lib; export LD_LIBRARY_PATH
    PATH=/usr/bin:/usr/sbin:/usr/ccs/bin:/usr/sfw/bin:/usr/ucb:\$ORACLE_HOME/bin:.; export PATH
    umask 022
    EOF

    # set kernel parameters
    cd /etc
    cp -p system system.org
    cat << EOF >> system
    set noexec_user_stack=1
    set semsys:seminfo_semmni=100
    set semsys:seminfo_semmns=1024
    set semsys:seminfo_semmsl=256
    set semsys:seminfo_semvmx=32767
    set shmsys:shminfo_shmmax=4294967295
    set shmsys:shminfo_shmmin=1
    set shmsys:shminfo_shmmni=100
    set shmsys:shminfo_shmseg=10
    EOF

    # disables desktop auto-start
    #/usr/dt/bin/dtconfig -d

    init 6
    exit

  5. oracle_install_1r.shの処理内容
  6. 詳しくは「第3回 Oracleインストールの前準備」を参照されたい。

    1. loginファイルを編集して、rootユーザーがtelnet でログインできるようにする
    2. # enable telnet root user
      mv /etc/default/login /etc/default/login.org
      sed s'/^CONSOLE=/#CONSOLE=/' /etc/default/login.org > /etc/default/login

    3. ftpusersファイルを編集して、rootユーザーがftpでログインできるようにする
    4. # enable FTP root user
      mv /etc/ftpd/ftpusers /etc/ftpd/ftpusers.org
      sed s'/^root/#root/' /etc/ftpd/ftpusers.org > /etc/ftpd/ftpusers

    5. hostsファイルを編集して、ログホストのIPアドレスを定義する
    6. # syslogd: WARNING: loghost could not be resolved
      cd /etc/inet
      cp -p hosts hosts.org
      echo '127.0.0.1 loghost' >> hosts

    7. nodenameファイルを作成して、ホスト名をFQDN形式で書き込む
    8. # set host(FQDN) name
      case `cat /etc/release|head -1|awk '{print $3}'` in
      '3/05')
          echo 'xxx.domain.com' > /etc/nodename
          cd /cdrom/cdrom0/s2/Solaris_10/Product
          ;;
      '5/09')
          echo `prtdiag|grep 'System Configuration:'|awk '{print $NF}'`'.domain.com' > /etc/nodename
          cd /cdrom/cdrom0/Solaris_10/Product
          ;;
      esac

    9. Oracleのソフトウェア要件になっているパッケージを追加する
    10. # install X11 ISO8859-15Codeset
      pkgadd -d . SUNWi1cs
      pkgadd -d . SUNWi15cs
      cd
      eject cdrom

    11. oinstall、dbaユーザーグループを作成する
    12. # add user groups
      groupadd oinstall
      groupadd dba

    13. oracleユーザーを作成する
    14. # add user account
      mkdir /export/home
      useradd -g oinstall -G dba -d/export/home/oracle -m oracle
      passwd -r files oracle

    15. Oracleのインストール先ディレクトリを作成する
    16. # make oracle directory useraccount
      mkdir -p /opt/app/oracle
      chown -R oracle:oinstall/opt/app/oracle
      chmod -R 775 /opt/app/oracle

    17. oracleユーザーのプロファイルを作成する
    18. # creating oracle userprofile
      cd /export/home/oracle
      cp -p .profile .profile.org
      cat << EOF >>.profile
      ORACLE_BASE=/opt/app/oracle;export ORACLE_BASE
      ORACLE_HOME=\$ORACLE_BASE/product/10.2.0;export ORACLE_HOME
      ORACLE_SID=orcl; exportORACLE_SID
      NLS_LANG=Japanese_Japan.JA16EUC;export NLS_LANG
      ORA_NLS10=\$ORACLE_HOME/nls/data;export ORA_NLS10
      LD_LIBRARY_PATH=$ORACLE_HOME/lib;export LD_LIBRARY_PATH
      PATH=/usr/bin:/usr/sbin:/usr/ccs/bin:/usr/sfw/bin:/usr/ucb:\$ORACLE_HOME/bin:.;export PATH
      umask 022
      EOF

    19. カーネルパラメータに推奨値を設定する
    20. # set kernel parameters
      cd /etc
      cp -p system system.org
      cat << EOF >>system
      set noexec_user_stack=1
      set semsys:seminfo_semmni=100
      setsemsys:seminfo_semmns=1024
      set semsys:seminfo_semmsl=256
      setsemsys:seminfo_semvmx=32767
      set shmsys:shminfo_shmmax=4294967295
      set shmsys:shminfo_shmmin=1
      set shmsys:shminfo_shmmni=100
      set shmsys:shminfo_shmseg=10
      EOF

    21. デスクトップ画面を無効にする
    22. # disables desktop auto-start
      /usr/dt/bin/dtconfig -d

    23. リブートする
    24. init 6
      exit

0 件のコメント:

コメントを投稿