UJP - 技術情報

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

     

Oracle9i Release2 (9.2.0.1.0) for Linux Install インストール前の準備

Oracle9i Release2 (9.2.0.1.0) for Linux Install

インストール前の準備


0.改訂履歴

  • 2002.09.21 新規作成

1.はじめに

 このドキュメントでは,RedHat 7.2に,Oracle9i Release2(9.2.0.1.0)を導入する手順を説明する.

2.稼働要件

項目 内容
OS
Linux Kernel2.4以上およびGLIBC 2.2に準拠した,以下のディストリビューション
ディストリビューション
RedHat Advanced Server 2.1
メモリ
最低512MB
  • これと,インストレーションガイドに書いてあった要件について追加する.
項目 内容
スワップ領域
  • 物理メモリが1GBを越える場合は,その物理メモリ量と同量.
  • 物理メモリが1GB以下の場合は,1GBを割り当てる.
ディスク容量
  • データベースソフト 3.5GB
  • シードデータベース 1GB
  • インストール時に,/tmpディレクトリに400MB以上の空き領域.
ソフトウェア
  • X Window System(X Server)
  • make,ar,ld,nmコマンド.
  • プリコンパイラは,GNU gcc 2.95.3に対応.

3.稼働要件の確認

  • メモリ容量を確認する.
[shinnai@poweredge shinnai]$ cat /proc/meminfo | grep MemTotal
MemTotal:      1028484 kB
[shinnai@poweredge shinnai]$ 
  • 物理メモリはメモリ1GB.
  • スワップ領域を確認する.
[shinnai@poweredge shinnai]$ /sbin/swapon -s
Filename                        Type            Size    Used    Priority
/dev/sda2                       partition       2040244 0       -1
[shinnai@poweredge shinnai]$ 
  • 2GBのスワップ領域.
  • ディスクの空き容量を確認する.
[shinnai@poweredge shinnai]$ df -k
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/sda3             50427128   2941392  44924172   7% /
/dev/sda1                46636     12637     31591  29% /boot
none                    514240         0    514240   0% /dev/shm
[shinnai@poweredge shinnai]$ 
  • 空きが45GB.
  • カーネルの確認を行う.
[shinnai@poweredge shinnai]$ uname -a
Linux poweredge 2.4.7-10smp #1 SMP Thu Sep 6 17:09:31 EDT 2001 i686 unknown
[shinnai@poweredge shinnai]$ 
  • Kernel 2.4.7-10smpである.
  • モジュールの確認を行う.
  • X-Window関連のパッケージがインストールされているか確認する.
[shinnai@poweredge shinnai]$ rpm -qa | grep XFree86
XFree86-75dpi-fonts-4.1.0-3
XFree86-ISO8859-7-100dpi-fonts-1.0-10
XFree86-4.1.0-3
XFree86-jpfonts-2.1-24
XFree86-compat-libs-4.0.3-2
XFree86-KOI8-R-100dpi-fonts-1.0-6
XFree86-ISO8859-15-75dpi-fonts-4.1.0-3
XFree86-devel-4.1.0-3
XFree86-FBDev-3.3.6-42
XFree86-ISO8859-7-Type1-fonts-1.0-10
XFree86-Xvfb-4.1.0-3
XFree86-xfs-4.1.0-3
XFree86-ISO8859-15-100dpi-fonts-4.1.0-3
XFree86-twm-4.1.0-3
XFree86-doc-4.1.0-3
XFree86-ISO8859-7-75dpi-fonts-1.0-10
XFree86-Xnest-4.1.0-3
XFree86-tools-4.1.0-3
XFree86-compat-modules-3.3.6-42
XFree86-xf86cfg-4.1.0-3
XFree86-libs-4.1.0-3
XFree86-100dpi-fonts-4.1.0-3
XFree86-xdm-4.1.0-3
XFree86-ISO8859-7-1.0-10
[shinnai@poweredge shinnai]$
  • コンパイルリンク用モジュールがあるか確認する.
[shinnai@poweredge shinnai]$ which make
/usr/bin/make
[shinnai@poweredge shinnai]$ which ar
/usr/bin/ar
[shinnai@poweredge shinnai]$ which ld
/usr/bin/ld
[shinnai@poweredge shinnai]$ which nm
/usr/bin/nm
[shinnai@poweredge shinnai]$
  • GCCがインストールされているか確認する.
[shinnai@poweredge shinnai]$ rpm -qa | grep gcc
gcc-chill-2.96-98
libgcc-3.0.1-3
gcc-2.96-98
gcc3-g77-3.0.1-3
gcc-java-2.96-98
gcc-objc-2.96-98
gcc-c++-2.96-98
gcc3-objc-3.0.1-3
gcc-g77-2.96-98
gcc3-c++-3.0.1-3
gcc3-3.0.1-3
gcc3-java-3.0.1-3
[shinnai@poweredge shinnai]$
  • これまでの要件と調査結果をまとめると,次のようになる.
基盤リソースの確認結果
最低要件 調査結果 結果
物理メモリ 512MB以上 1GB
スワップ領域 1GB以上 2GB
ハードディスク 4.5GB以上 45GB
OS(Kernel) Kernel 2.4以上 2.4.7-10
ディストリビューション RedHat Advanced Server 2.1 RedHat 7.2
ソフトウェア X-Window あり
make あり
ar あり
ld あり
nm あり
GCC 2.95.3 2.96.98
  • ディストリビューション以外ではOKのようである.

4.カーネルパラメータの設定

  • マニュアルには,インストール時に最低限以下のパラメータが必要となっている.
パラメータ 設定値 説明
SEMMNI
100
システム全体のセマフォの最大数.
SEMMNS
256
 システム最大のセマフォを定義.この値は,初期インストールに限定した値.

SEMMNS パラメータには、各Oracle データベースのPROCESSES
パラメータを合計して、その値にPROCESSES の最大値の2 倍を
加え、さらにデータベースごとに10 を加えた値を設定します。

SEMOPM
100
semopコール毎の最大オペレーション数を定義.
SHMMAX
2147483648
共有メモリセグメントの最大許容サイズを定義.

SMPカーネルの場合は,2GB.水晶サイズは物理メモリの半分.

SHMMIN
1
単一の共有メモリセグメントの最小サイズ.
SHMMNI
100
システム全体の共有メモリセグメントの最大数.
SEMSEG
4096
1プロセスで連結可能な共有メモリセグメント.

現在のディストリビューションでは利用されない模様!

SHMVMX
32767
セマフォの最大値を定義.
SHMAALL デフォルト値にしておく.
  • 現在のカーネルパラメータの値を確認する.
[shinnai@poweredge shinnai]$ su    
Password:■■■■■■■■■■ 
[root@poweredge shinnai]# export LANG=C
[root@poweredge shinnai]# cd /proc/sys/kernel
[root@poweredge kernel]# ls -al
total 0
dr-xr-xr-x    3 root     root            0 Sep 21 16:51 .
dr-xr-xr-x   10 root     root            0 Sep 20 17:04 ..
-rw-r--r--    1 root     root            0 Sep 21 16:51 acct
-rw-------    1 root     root            0 Sep 21 16:51 cad_pid
-rw-------    1 root     root            0 Sep 21 16:51 cap-bound
-rw-r--r--    1 root     root            0 Sep 21 16:51 core_uses_pid
-rw-r--r--    1 root     root            0 Sep 21 16:51 ctrl-alt-del
-rw-r--r--    1 root     root            0 Sep 21 16:51 domainname
-rw-r--r--    1 root     root            0 Sep 21 16:51 hostname
-rw-r--r--    1 root     root            0 Sep 21 16:51 hotplug
-rw-r--r--    1 root     root            0 Sep 21 16:51 modprobe
-rw-r--r--    1 root     root            0 Sep 21 16:51 msgmax
-rw-r--r--    1 root     root            0 Sep 21 16:51 msgmnb
-rw-r--r--    1 root     root            0 Sep 21 16:51 msgmni
-r--r--r--    1 root     root            0 Sep 21 16:51 osrelease
-r--r--r--    1 root     root            0 Sep 21 16:51 ostype
-rw-r--r--    1 root     root            0 Sep 21 16:51 overflowgid
-rw-r--r--    1 root     root            0 Sep 21 16:51 overflowuid
-rw-r--r--    1 root     root            0 Sep 21 16:51 panic
-rw-r--r--    1 root     root            0 Sep 21 16:51 printk
-rw-r--r--    1 root     root            0 Sep 21 16:51 prof_pid
dr-xr-xr-x    2 root     root            0 Sep 21 16:51 random
-rw-r--r--    1 root     root            0 Sep 21 16:51 real-root-dev
-rw-r--r--    1 root     root            0 Sep 21 16:51 rtsig-max
-r--r--r--    1 root     root            0 Sep 21 16:51 rtsig-nr
-rw-r--r--    1 root     root            0 Sep 21 16:51 sem
-rw-r--r--    1 root     root            0 Sep 21 16:51 shmall
-rw-r--r--    1 root     root            0 Sep 21 16:51 shmmax
-rw-r--r--    1 root     root            0 Sep 21 16:51 shmmni
-rw-r--r--    1 root     root            0 Sep 21 16:51 sysrq
-rw-r--r--    1 root     root            0 Sep 21 16:51 threads-max
-r--r--r--    1 root     root            0 Sep 21 16:51 version
[root@poweredge kernel]# 
  • 最大共有メモリを確認してみる.
[root@poweredge kernel]# cat shmmax
33554432
[root@poweredge kernel]#
  • バイト単位なので32MBとなっている.
  • SHMALLを確認する.
[root@poweredge kernel]# cat shmall
2097152
[root@poweredge kernel]#
  • この値はデフォルトのままでよい.
  • 共有メモリの最小セグメントサイズを確認する.
[root@poweredge kernel]# cat shmmni
4096
[root@poweredge kernel]#
  • 4GBとなっている.
  • セマフォ関連のパラメータを確認する.
[root@poweredge kernel]# cat sem
250     32000   32      128
[root@poweredge kernel]# 
  • SEMMSL,SEMMNS,SEMOPM,SEMMNIの順番で表示される.
  • 調査結果をまとめると,次の表のようになる.
カーネルパラメータの設定値
パラメータ 現在値 最低限設定値 設定値
SEMMNI
128
100
128
SEMMNS
32000
256
32000
SEMOPM
32
100
100
SEMMSL
250
100
250
SHMMAX
33554432
物理メモリの半分
526583808
SHMMIN
4096
1
4096
SHMMNI
4096
100
4096
SHMSEG
?
4096
4096
SHMVMX
?
32767
32767
SHMALL
2097152
デフォルト
2097152
  • カーネルパラメータを設定するために,/etc/sysctl.confファイルを編集する.
# cat /etc/sysctl.conf
# Disables packet forwarding
net.ipv4.ip_forward = 0
# Enables source route verification
net.ipv4.conf.default.rp_filter = 1
# Disables the magic-sysrq key
kernel.sysrq = 0
kernel.semmni=128
kernel.semmns=32000
kernel.semopm=100
kernel.semmsl=250
kernel.shmmax=526583808
kernel.shmmin=4096
kernel.shmmni=4096
kernel.shmseg=4096
kernel.shmvmx=32767
[root@poweredge kernel]# 
  • ファイルハンドルパラメータを確認する.
[root@poweredge kernel]# cat /proc/sys/fs/file-max
8192
[root@poweredge kernel]#
  • これを65535にする.
  • ソケットの設定を行う.
[root@poweredge kernel]# cat /proc/sys/net/ipv4/ip_local_port_range
32768   61000
[root@poweredge kernel]#
  • これを1024と65000に設定する.
  • 設定するために,次のように/etc/sysctl.confファイルを変更する.
[root@poweredge root]# cat /etc/sysctl.conf
# Disables packet forwarding
net.ipv4.ip_forward = 0
# Enables source route verification
net.ipv4.conf.default.rp_filter = 1
# Disables the magic-sysrq key
kernel.sysrq = 0
kernel.semmni=128
kernel.semmns=32000
kernel.semopm=100
kernel.semmsl=250
kernel.shmmax=526583808
kernel.shmmin=4096
kernel.shmmni=4096
kernel.shmseg=4096
kernel.shmvmx=32767
#Improve the number of open files
fs.file-max=65535 
#Allowed local port range
net.ipv4.ip_local_port_range=1024 65000
[root@poweredge root]# 
  • OSをリブートする.
  • リブート後,設定値を確認してみる.
[shinnai@poweredge shinnai]$ cd /proc/sys/kernel 
[shinnai@poweredge kernel]$ cat shmmax
526583808
[shinnai@poweredge kernel]$ cat shmmni
4096
[shinnai@poweredge kernel]$ cat sem
250     32000   32      128
[shinnai@poweredge kernel]$ cat /proc/sys/fs/file-max
65535
[shinnai@poweredge kernel]$ cat /proc/sys/net/ipv4/ip_local_port_range
1024    65000
[shinnai@poweredge kernel]$ 
  • SEMOPM以外は設定されている模様...

5./etc/hostsファイルの設定

  • RedHatの場合,/etc/hostsにループバックのエントリを追加しておく.
  • 現在の/etc/hostsファイルを確認する.
[root@poweredge kernel]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 poweredge localhost.localdomain localhost
[root@poweredge kernel]#
  • 変更後の/etc/hostsファイルを確認する.
[root@poweredge kernel]# cat /etc/hosts  
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1               localhost.localdomain localhost
10.0.4.50 poweredge
[root@poweredge kernel]# 
  • pingで確かめる.
[root@poweredge kernel]# ping poweredge
PING poweredge (10.0.4.50) from 10.0.4.50 : 56(84) bytes of data.
Warning: time of day goes back, taking countermeasures.
64 bytes from poweredge (10.0.4.50): icmp_seq=0 ttl=255 time=134 usec
64 bytes from poweredge (10.0.4.50): icmp_seq=1 ttl=255 time=44 usec
64 bytes from poweredge (10.0.4.50): icmp_seq=2 ttl=255 time=43 usec

--- poweredge ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/mdev = 0.043/0.073/0.134/0.043 ms
[root@poweredge kernel]# 
  • ホスト名で接続できた.

6.ユーザとグループの作成

  • dbaグループと,oinstallグループを作成する.
[root@poweredge root]# groupadd dba
[root@poweredge root]# groupadd oinstall
[root@poweredge root]# 
  • oracleユーザを作成する.
  • プライマリグループをoinstall,セカンダリグループをdbaとする.
[root@poweredge root]# useradd oracle -g oinstall -G dba -d /opt/oracle
[root@poweredge root]# 
  • oracleユーザのパスワードを設定する.(ここでは便宜上,oracleとしておく)
[root@poweredge root]# passwd oracle
Changing password for user oracle
New password:■■■■■■
BAD PASSWORD: it is based on a dictionary word
Retype new password:■■■■■■ 
passwd: all authentication tokens updated successfully
[root@poweredge root]# 
  • ログインしてみる.
[root@poweredge root]# exit
logout

[shinnai@poweredge shinnai]$ su - oracle
Password:■■■■■■
[oracle@poweredge oracle]$ 
  • シェルを確認する.
[oracle@poweredge oracle]$ env | grep SHELL
SHELL=/bin/bash
[oracle@poweredge oracle]$ cat /etc/passwd | grep oracle
oracle:x:501:503::/opt/oracle:/bin/bash
[oracle@poweredge oracle]$ 
  • bashだとわかった.
  • ホームディレクトリのファイル一覧を確認する.
[oracle@poweredge oracle]$ export LANG=C
[oracle@poweredge oracle]$ ls -la
total 60
drwx------    6 oracle   oinstall     4096 Sep 20 18:39 .
drwxr-xr-x    3 root     root         4096 Sep 20 17:20 ..
-rw-------    1 oracle   oinstall      269 Sep 21 18:18 .bash_history
-rw-r--r--    1 oracle   oinstall       24 Sep 20 17:20 .bash_logout
-rw-r--r--    1 oracle   oinstall      191 Sep 20 17:20 .bash_profile
-rw-r--r--    1 oracle   oinstall      124 Sep 20 17:20 .bashrc
-rw-r--r--    1 oracle   oinstall     5450 Sep 20 17:20 .canna
-rw-r--r--    1 oracle   oinstall      820 Sep 20 17:20 .emacs
-rw-r--r--    1 oracle   oinstall      118 Sep 20 17:20 .gtkrc
drwxr-xr-x    3 oracle   oinstall     4096 Sep 20 17:20 .kde
-rw-r--r--    1 oracle   oinstall     3511 Sep 20 17:20 .screenrc
[oracle@poweredge oracle]$ 
  • .bash_profileの中身を確認する.
[oracle@poweredge oracle]$ cat .bash_profile 
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
unset USERNAME
[oracle@poweredge oracle]$ 
  • umaskの値を確認する.
[oracle@poweredge oracle]$ umask 
022
[oracle@poweredge oracle]$
  • .bash_profileにumaskの設定を書き込む.
[oracle@poweredge oracle]$ echo umask 022 >> .bash_profile
[oracle@poweredge oracle]$
  • 設定されたか確認する.
[oracle@poweredge oracle]$ cat .bash_profile 
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
unset USERNAME
[oracle@poweredge oracle]$ echo umask 022 >> .bash_profile
[oracle@poweredge oracle]$ cat .bash_profile 
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
unset USERNAME
umask 022
[oracle@poweredge oracle]$ 
  • 確認できた.

7.oracleユーザの環境変数の設定

  • Oracle関連の環境変数を設定する.
[oracle@poweredge oracle]$ echo 'export ORACLE_BASE=/opt/oracle' >> .bash_profile
[oracle@poweredge oracle]$ echo 'export ORACLE_HOME=$ORACLE_BASE/product/9.2.0.1.0' >> .bash_profile
[oracle@poweredge oracle]$ echo 'export ORACLE_SID=9iR2' >> .bash_profile
[oracle@poweredge oracle]$ 
  • パスを設定する.
[oracle@poweredge oracle]$ echo 'export PATH=$ORACLE_HOME/bin:$PATH' >> .bash_profile
[oracle@poweredge oracle]$ 
  • LANGを英語に設定する.
[oracle@poweredge oracle]$ echo 'export LANG=C' >> .bash_profile
[oracle@poweredge oracle]$
  • 設定内容を確認する.
[oracle@poweredge oracle]$ cat .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
unset USERNAME
umask 022
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9.2.0.1.0
export ORACLE_SID=9iR2
export PATH=$ORACLE_HOME/bin:$PATH
export LANG=C
[oracle@poweredge oracle]$ 
  • 実行する.
[oracle@poweredge oracle]$ . .bash_profile
[oracle@poweredge oracle]$
  • 環境変数が設定されているか確認する.
[oracle@poweredge oracle]$ env | grep ORA
ORACLE_SID=9iR2
ORACLE_BASE=/opt/oracle
ORACLE_HOME=/opt/oracle/product/9.2.0.1.0
[oracle@poweredge oracle]$ env | grep PATH
PATH=/opt/oracle/product/9.2.0.1.0/bin:/usr/kerberos/bin:/bin:/usr/bin:/usr/local/bin:
/usr/bin/X11:/usr/X11R6/bin:/opt/oracle/bin:/opt/oracle/bin
[oracle@poweredge oracle]$ env | grep LANG
LANG=C
[oracle@poweredge oracle]$ 


広告スペース
Google