Oracle 9i for SPARC のインストール

環境設定

  • /etc/system に以下のエントリを追加(Oracle用に共有メモリとセマフォを確保する)
    ※semmslはインスタンス数×150以上にする
    set semsys:seminfo_semmni=100
    set semsys:seminfo_semmns=1024
    set semsys:seminfo_semmsl=256
    set shmsys:shminfo_shmmax=4294967295
    set shmsys:shminfo_shmmin=1
    set shmsys:shminfo_shmmni=100
    set shmsys:shminfo_shmseg=10
  • エントリを追加したらOS再起動

oracleユーザーの作成

  • oracleユーザーとoracleグループ(dba)を作成する
    groupadd dba
    useradd -g dba -d /opt/oracle -s /bin/csh -m oracle
    passwd oracle
  • oracleユーザーの環境変数を設定する(.cshrc)
    setenv ORACLE_BASE /opt/oracle
    setenv ORACLE_HOME $ORACLE_BASE/product/9.2.0
    setenv ORA_NLS33 $ORACLE_HOME/ocommon/nls/admin/data
    setenv CLASSPATH $ORACLE_HOME/jre/1.1.8:$ORACLE_HOME/jlib:$ORACLE_HOME/jlib/product/jlib
    
    set path = ($ORACLE_HOME/bin $path)
    setenv LD_LIBRARY_PATH $ORACLE_HOME/lib:$LD_LIBRARY_PATH

インストール

インストーラ起動

  • oracleでログインする
  • 環境変数DISPLAYを設定する
  • CDドライブに Oracle9i Database 1of3 を入れる
  • /cdrom以外に移動(/tmpとか)
  • /cdrom/disk1/runInstallerを起動
    cd /tmp
    /cdrom/disk1/runInstaller

インベントリの場所

  • デフォルトの$ORACLE_HOME/oraInventoryで問題なし

UNIX グループ名

  • 上で作ったoracleグループ名(dba)を指定

oraInst.sh の実行

  • コンソールを開き、root権限で/tmp/orainstRoot.shを実行
    su
    /tmp/orainstRoot.sh

ファイルの場所

  • 基本的にデフォルトでOKだが、Oracleホーム名は変えてもOK
  • とりあえず「ora920」とでもしておく

使用可能な製品

  • Serverをインストールする:Oracle 9i Database 〜 を選択
  • Clientをインストールする:Oracle 9i Client 〜 を選択

インストールタイプ

  • Server
    よくわからなければEnterprise Editionを選択しておく
    • Enterprise Edition
      とにかく全部インストールするならこれを選択
    • Statndard Edition
      高度な機能が不要ならこれを選択
    • Custom
      自分で選ぶならこれを選択
  • Client
    よくわからなければAdministratorを選択しておく
    • Administrator
      クライアントソフトを全部インストールするならこれを選択
    • Runtime
      管理ツールが不要ならこれを選択
    • Custome
      自分で選ぶならこれを選択

Database Configuration

  • Server
    セットアップ中にインスタンスの構築をするかどうか。インスタンスは後で作れるので、通常はSoftware Onlyで問題なし。というか作られても困ることが多い。
    • General Propose
    • Transaction Processing
    • Data Warehouse
    • Customized
    • Software Only
  • Client
    Clientのインストールでは関係がない

サマリー

  • インストールされる内容が表示されるので、一応確認する
  • 問題がなさそうなら、インストール開始

CD入れ替え

  • CDの入れ替え指示が出たら、CDを入れ替える
  • CDの場所指定は以下のようにする
    • Disk2→/cdrom/disk2
    • Disk3→/cdrom/disk2

構成スクリプト実行

  • コンソールを開き、root権限で/opt/oracle/product/9.2.0/root.shを実行
    su
    /opt/oracle/product/9.2.0/root.sh
  • local bin ディレクトリを指定(デフォルトでOK)
    /usr/local/bin

パッチ

  • パッチを入手(サポートから)
  • ファイルを展開
    unzip hogehoge.zip
    cpio -i -d < hogehoge.cpio
  • disk1/runInstallerを実行
  • インストーラをインストール
  • パッチをインストール
  • コンソールを開き、root権限で/opt/oracle/product/9.2.0/root.shを実行

Lisner設定

listener追加

  • CDEでログイン
  • netcaを起動
    $ORACLE_BASE/bin/netca
  • リスナー構成を選択
  • とりあえず、あとはデフォルトのまま最後まで進める

listener起動

  • 全リスナー起動
    lsnrctl start
  • 個別リスナー起動
    lsnrctl start <lisner名>

インスタンス作成

  • oracleユーザでCDEにログインする
  • 必要なら$ORACLE_BASEにoradataとadminへのシンボリックリンクを作る
    mkdir /export/home/oracle/oradata
    mkdir /export/home/oracle/admin
    cd $ORACLE_BASE
    ln -s /export/home/oracle/oradata
    ln -s /export/home/oracle/admin
  • Database Configuration Assistantを実行
    $ORACLE_HOME/bin/dbca

oratabファイルの設定

dbca でインスタンスを作成すると oratabファイル(デフォルトで /var/opt/oracle) にインスタンス名が追加される。

<インスタンス名>:$ORACLE_HOME:N
例)
TEST:/opt/app/oracle/product/9.2.0:N

dbstart、dbshutコマンドで起動・停止を行うには、最後のNをYに変更する

<インスタンス名>:$ORACLE_HOME:N
↓
<インスタンス名>:$ORACLE_HOME:Y

spfileを使わないようにする(任意)

  1. spfile(SID).ora ファイルの削除
    • dbca でインスタンスを作成すると、$ORACLE_HOME/dbs 以下に
      spfile(SID).ora
      というOracleの永続パラメータ・ファイルが作成されるが、これを削除する。
      mv $ORACLE_HOME/dbs/spfile(SID).ora $ORACLE_HOME/dbs/_spfile(SID).ora
      ※ rm で削除しても問題なし
  2. init(SID).ora ファイルの作成
    • $ORACLE_BASE/admin/(SID)/pfile/init.ora.(日付情報?) にinit(SID).oraのひな形ある。このファイルを元にinit(SID).oraを作成し、シンボリックリンクを作る。
      cp $ORACLE_BASE/admin/(SID)/pfile/init.ora.xxxx $ORACLE_BASE/admin/(SID)/pfile/init(SID).ora
      ln -s $ORACLE_BASE/admin/(SID)/pfile/init(SID).ora $ORACLE_HOME/dbs/init(SID).ora
      ※インスタンスの初期化パラメータを変更したい場合は
      $ORACLE_BASE/admin/(SID)/pfile/init(SID).ora
      を修正する。

dbshutコマンドの修正

  • $ORACLE_HOME/bin/dbshutコマンドでデータベースを停止するときに、shutdownコマンドにimmediateオプションをつけてクライアントを強制的にrollbackして切断してしまうようにする。
    • 変更前
           case $VERSION in
                       "6")  sqldba command=shutdown ;;
                       "internal")  $SQLDBA <<EOF
      connect internal
      shutdown
      EOF
                         ;;
                       *)  $SQLDBA <<EOF
      connect / as sysdba
      shutdown
      EOF
                         ;;
                   esac
    • 変更後
           case $VERSION in
                       "6")  sqldba command=shutdown ;;
                       "internal")  $SQLDBA <<EOF
      connect internal
      shutdown immediate  ←コレ
      EOF
                         ;;
                       *)  $SQLDBA <<EOF
      connect / as sysdba
      shutdown immediate  ←コレ
      
      EOF
                         ;;
                   esac

OS起動時にDBも起動

  • /etc/init.dへ、dboraという名前で以下のスクリプトを作成
    #!/bin/sh
    
    ORA_HOME=/opt/app/oracle/product/9.2.0
    ORA_OWNER=oracle
    
    if [ ! -f $ORA_HOME/bin/dbstart -o ! -d $ORA_HOME ]; then
            echo "Oracle startup: cannot start"
    fi
    
    case "$1" in
    'start')
           su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart "
           su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start"
           ;;
    'stop')
           su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop"
           su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut "
    ;;
    esac
  • /etc/rc?.dにシンボリックリンクを作る
    cd /etc/rc2.d
    ln -s ../init.d/dbora S98dbora
    cd /etc/rc0.d
    ln -s ../init.d/dbora K11dbora
    cd /etc/rc1.d
    ln -s ../init.d/dbora K11dbora
  • oracleユーザのホームディレクトリにある.loginを削除する
    su oracle
    cd ~
    mv .login dot.login

Enterprise Manager

$ORACLE_HOME/bin/oemapp
$ORACLE_HOME/bin/oemapp dbastudio

あたりで起動します。起動したらスキーマ作成とかしませう。

sqltraceを使用可能にする

  • sysユーザーでsysdbaとしてOracleへログイン
    sqlplus "sys/sys@test as sysdba"
  • $ORACLE_HOME/rdbms/admin/utlxplan.sqlを実行
    @utlxplan.sql
  • PLAN_TABLEという名前のパブリックシノニムを作成する
    GRANT SELECT ON SYS.PLAN_TABLE TO PUBLIC; 
    GRANT INSERT ON SYS.PLAN_TABLE TO PUBLIC; 
    GRANT UPDATE ON SYS.PLAN_TABLE TO PUBLIC; 
    GRANT DELETE ON SYS.PLAN_TABLE TO PUBLIC; 
    CREATE PUBLIC SYNONYM PLAN_TABLE FOR SYS.PLAN_TABLE;
  • $ORACLE_HOME/sqlplus/admin/plustrce.sqlを実行する
    @plustrce.sql
  • ユーザーに権限を与える
    grand plustrace to user



SQL関連
(books)


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: Tue, 15 Jul 2008 00:30:11 JST (3356d)