天天看點

Linux 下安裝oracle 資料庫的準備

注:不做特别說明,則全由root執行

<b>1.linux檢查安裝包是否全</b>

rpm -q --queryformat "%{name}-%{version}-%{release} (%{arch})\n" binutils \

compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc \

glibc-common glibc-devel-2.5 libaio libaio-devel libgcc libstdc++ libstdc++-devel \

make sysstat unixodbc glibc-headers unixodbc-devel oracleasm oracleasmlib oracleasm-support |grep not

其中oracleasm oracleasmlib oracleasm-support可以從官網下載下傳:

http://www.oracle.com/technetwork/topics/linux/downloads/rhel5-084877.html

當然如果不用asm存儲管理的話,就不必下載下傳asm包!!

<b>2.修改os參數修改</b>

<b>2.1向/etc/sysctl.conf 添加或修改如下參數:</b>

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 48719476736

kernel.shmmni = 4096

kernel.sem = 250 32000 200 200

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 262144

net.core.wmem_default = 262144

net.core.wmem_max = 1048586

net.core.rmem_max = 4194304

<b>執行/sbin/sysctl -p</b>

<b>2.2 向/etc/security/limits.conf 添加如下參數</b>:

grid soft nproc 2047

grid hard nproc 16384

grid soft nofile 1024

grid hard nofile 65536

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

<b>2.3 向/etc/pam.d/login  添加如下參數:</b>

session required pam_limits.so

<b>2.4修改/etc/profile 添加:</b>

if [ $user = "oracle" ] || [ $user = "grid" ]; then

if [ $shell = "/bin/ksh" ]; then

ulimit -p 16384

 ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

umask 022

<b>3.建立使用者和相應的目錄:</b>

groupadd -g 501 oinstall

groupadd -g 502 dba

groupadd -g 601 asmadmin

groupadd -g 602 asmdba

groupadd -g 603 asmoper

useradd -u 501 -g oinstall -g asmadmin,asmdba,asmoper grid

useradd -u 601 -g oinstall -g dba,asmdba,asmadmin   oracle

<b>目錄的建立,可以根據自己的實際情況調整:</b>

<b>這個是建立rac的例子:</b>

mkdir -p /opt/rac/grid

mkdir -p /opt/rac/11.2.0/grid

chown -r grid:oinstall /opt/rac

mkdir -p /opt/rac/oracle

chown -r oracle:oinstall /opt/rac/oracle

chmod -r 775 /opt/rac/

<b></b>

<b>4.grid和oracle環境變量</b>

<b>---grid .bash_profile</b>

path=$path:$home/bin:/opt/rac/grid/opatch/opatch

export path

umask 022                                                                   

export ps1=$logname@`hostname`:'$pwd&gt;'                                      

export oracle_base=/opt/rac/grid                                            

export oracle_home=/opt/rac/11.2.0/grid

export oracle_sid=+asm1                                              

export path=$oracle_home/bin:/usr/sbin:$path                                

export ld_library_path=$oracle_home/lib:/lib:/usr/lib                       

export classpath=$oracle_home/jre:$oracle_home/jlib:$oracle_home/rdbms/jlib 

export sqlpath=/home/oracle/admin/sql:$oracle_home/sqlplus/admin:~/admin/sql

export nls_lang=american_america.al32utf8                                   

export ora_crs_home=/opt/rac/11.2.0/grid                                                                            

alias sql='sqlplus "/ as sysasm"'                                                     

alias sqln="sqlplus /nolog"                                                 

alias rm='rm -i --'

alias tf="tail -f /opt/rac/grid/diag/asm/+asm/+asm2/trace/alert_+asm2.log"

alias crsdl="tail -f /opt/rac/11.2.0/grid/log/dbname/crsd/crsd.log"

alias cssdl="tail -f /opt/rac/11.2.0/grid/log/dbname/cssd/ocssd.log"

alias gridl="tail -f /opt/rac/11.2.0/grid/log/dbname/alert_dbname.log"

stty erase ^h

esc="\033["

echo " "

echo -e "${esc}31;1m******************************************************************${esc}0m"

echo -e "${esc}31;1m**this is rac test  asm,  please be careful of your operation!***${esc}0m"

<b>---oracle .bash_profile </b>

# .bash_profile

# get the aliases and functions

if [ -f ~/.bashrc ]; then

        . ~/.bashrc

# user specific environment and startup programs

path=$path:$home/bin:/opt/rac/oracle/opatch/opatch

export ps1=$logname@`hostname`:'$pwd&gt;'

export oracle_base=/opt/rac/oracle

export oracle_home=$oracle_base/11.2.0/db

export oracle_sid=orcl

export tns_admin=$oracle_home/network/admin

export ora_nls10=$oracle_home/nls/data

export path=$oracle_home/bin:/usr/sbin:$path

export ld_library_path=$oracle_home/lib:/lib:/usr/lib

export classpath=$oracle_home/jre:$oracle_home/jlib:$oracle_home/rdbms/jlib

export nls_lang=american_america.al32utf8

export sqlpath=$oracle_home/sqlplus/admin:/home/oracle/admin/sql

alias bdump="cd /opt/rac/oracle/diag/rdbms/orcl/rac1/trace/"

alias udump="cd /opt/rac/oracle/diag/rdbms/orcl/rac1/trace/"

alias home="cd $oracle_home"

alias tf="tail -f /opt/rac/oracle/diag/rdbms/orcl/rac1/trace/alert_rac1.log"

alias sql='sqlplus "/"'

alias sqln="sqlplus /nolog"

ulimit -u 16384 -n 63536  #linux

tty -s &amp;&amp; stty erase '^h'

echo -e "${esc}31;1m***this is a test  env ,   please be careful of your operation!***${esc}0m"

<b>5.ntpd configure </b>

--這是搭建rac的時候需要的步驟

--同步ntpd,模闆裡已有,不需要修改,根據自己的情況調整

修改檔案/etc/ntp.conf,添加如下資訊,ntp1 為時間同步伺服器

server  ntp1

server  ntp2

server  ntp3

修改檔案 /etc/sysconfig/ntpd 

options="-x -u ntp:ntp -p /var/run/ntpd.pid" --加入 -x

<b>重新啟動,并設定為開機啟動ntpd 服務:</b>

service ntpd restart

chkconfig ntpd on

<b>6 修改 /etc/rc.local檔案:添加如下語句:</b>

modprobe hangcheck-timer hangcheck-tick=30 hangcheck_margin=180

<b>7.配置asm configure,</b>如果選擇使用asm做存儲的話需要此步驟!

--注意oracleasm的版本,必須和uname -r的版本一緻

/etc/init.d/oracleasm configure -i

<b>做完以上工作基本上可以進行oracle rac 或者database的安裝了!</b>