« VirtualBox de Oracle11g R2 RAC #8 | トップページ | VirtualBox de Oracle11g R2 RAC #10 »

2010年12月19日 (日) / Author : Hiroshi Sekiguchi.

VirtualBox de Oracle11g R2 RAC #9

VirtualBox de Oracle11g R2 RACのつづきです。

さて、やっと、Oracle所有者と関連ディレクトリの作成及び環境変数の設定作業まできました〜。

  1. ハードウェア構成(VMなのでVMの構成も含めて)、ソフトウェア構成など
  2. Linux (CentOS 5.5 x86_64)のインストール
  3. Openfiler2.3 x86のインストール
  4. Openfiler2.3 x86によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2その3
  6. Oracle所有者、Oracle Grid Infrastructureユーザの作成と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. Oracle RACノード間リモートアクセスの構成とntpの構成
    sshの構成は念のために行った、多分、実施しなくても大丈夫だと思うけど…ついでなので、ちょいと意地悪な実験をしてみた)
  9. ローカルネームサーバの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Automatic Storage Management(ASMLib 2.0.5 x84_64)のインストール及び構成
  12. Oracle11g R2 11.2.0.1.0 RACインストール事前作業
  13. Oracle11g R2 11.2.0.1.0 Grid Infrastractureのインストール
  14. Oracle11g R2 11.2.0.1.0 Database softwareのインストール
  15. Oracle11g R2 11.2.0.1.0 examplesのインストール
  16. Oracle Cluster databaseの作成
  17. Net Serviceの確認
  18. Oralce Grid InsfastructureとDatabase構成の確認
  19. Clusterの開始と停止の確認
  20. 簡単なTransparent Application Failover (TAF)の確認

・Oracle所有者、Oracle Grid Infrastructureユーザの作成と関連ディレクトリの作成及び環境変数の設定


Oracle11g R2からOracle Grid Infrastructure(以前はOracle Clusterwareって言われていたやつにASMが組み込まれたと思えばいいのかな?)となり、Oracle所有者以外にOracle Grid Infrastructreユーザの作成が推奨されるようになったので、今回からはOracle所有者に加えてOracle Grid Infrastructureユーザも作成します。

さらに、asmadminやasmdbaといった新顔のグループも必要になり以前より手間が増えてる。 :)

グループの追加方法や、ユーザの作成方法はコマンドでやるもよし、GUIでやるもよし。好きなのを選べばよいと思います。
ノード数が多いとGUIではやらないと思いますけど2ノードですから気にする事ないと思いますよ。:)

で、フループも必要最低限で、oinstall/dba/asmadmin/asmdbaの4グループを作成します。

グループやユーザをコマンドで作成する方法はマニュアルにも記載されていので省略します。
参考:
http://download.oracle.com/docs/cd/E16338_01/install.112/b56271/prelinux.htm#CFIJDFIB
http://download.oracle.com/docs/cd/E16338_01/install.112/b56273/pre_install.htm#BABHHEJD
http://download.oracle.com/docs/cd/E16338_01/install.112/b56271/prelinux.htm#BABBIDCF


以下完成した状態、以下のようになっていればOK. 
[root@discus164 ˜]# 
[root@discus164 ˜]# cat /etc/group | grep -E '(oinstall|dba|asm*)'
oinstall:x:601:oracle,grid
dba:x:602:oracle
asmadmin:x:603:grid
asmdba:x:604:oracle,grid
[root@discus164 ˜]#
[root@discus164 ˜]# cat /etc/passwd | grep -E '(oracle|grid)'
oracle:x:601:601:oracle:/home/oracle:/bin/bash
grid:x:602:601:grid:/home/grid:/bin/bash
[root@discus164 ˜]#
[root@discus164 ˜]# id -a grid
uid=602(grid) gid=601(oinstall) 所属グループ=601(oinstall),603(asmadmin),604(asmdba) context=user_u:system_r:unconfined_t
[root@discus164 ˜]#
[root@discus164 ˜]#
[root@discus164 ˜]# id -a oracle
uid=601(oracle) gid=601(oinstall) 所属グループ=601(oinstall),602(dba),604(asmdba) context=user_u:system_r:unconfined_t


・ORACLE_BASE及びORACLE_HOMEディレクトリの作成

Oracle Grid InfrastructureユーザのORACLE_BASE/ORACLE_HOMEディレクトリ及び、Oracleソフトウェア所有者のORACLE_BASEディレクトリを作成しておきます。

Oracle Grid InfrastrucreユーザのORACLE_BASE=/u01/app/grid、ORACLE_HOME=/u01/app/11.2.0/grid、そして、Oracleソフトウェア所有者のORACLE_BASE=/u01/app/oracle となるように作成しておきます。

RACを構成する全ノードで実施します。

[root@discus164 ˜]#
[root@discus164 ˜]#
[root@discus164 ˜]# mkdir -p /u01/app/grid
[root@discus164 ˜]# mkdir -p /u01/app/11.2.0/grid
[root@discus164 ˜]# chown -R grid:oinstall /u01
[root@discus164 ˜]#
[root@discus164 ˜]#
[root@discus164 ˜]# mkdir -p /u01/app/oracle
[root@discus164 ˜]# chown -R oracle:oinstall /u01/app/oracle
[root@discus164 ˜]# chmod -R 755 /u01
[root@discus164 ˜]#

[root@discus264 ˜]#
[root@discus264 ˜]#
[root@discus264 ˜]# mkdir -p /u01/app/grid
[root@discus264 ˜]# mkdir -p /u01/app/11.2.0/grid
[root@discus264 ˜]# chown -R grid:oinstall /u01
[root@discus264 ˜]#
[root@discus264 ˜]#
[root@discus264 ˜]# mkdir -p /u01/app/oracle
[root@discus264 ˜]# chown -R oracle:oinstall /u01/app/oracle
[root@discus264 ˜]# chmod -R 755 /u01
[root@discus264 ˜]#
[root@discus264 ˜]#


・環境変数


インストールの際には必要最低限の環境変数でいいんだけどね。設定してても問題になった事は、いまのところないのでこの時点で設定しちゃってます。

参考:
http://download.oracle.com/docs/cd/E16338_01/server.112/b56317/admin_ora.htm#i46652

ところで、Oracle11g だけど、ORA_NLS10なんだね。

でも、http://otndnld.oracle.co.jp/document/products/oracle11g/111/doc_dvd/server.111/E05816-01/app_initparam.htm#BABGIEFDというGateways系のパラメータではORA_NLS11で同じパスをさすんだけど、紛らわしいから環境変数もORA_NLS11にしちゃえばわかりやすいのにと思うのは私だけ?…


・Oracle Grid Infrastructureユーザの環境変数の例(RACを構成する全ノードのOracle Grid Infrastructureユーザに設定します)

Oracleソフトウェア所有者とはORACLE_SID、ORACLE_BASE環境変数の値が異なっていることに注意!
Oracle Grid InfrastructureユーザはASM管理者でもあるので。

この辺の設定も以前より手間が増えた部分ですね〜。

なお、ついでなので2.14.5 インストール中にsttyコマンドによって発生するエラーの防止対応を行っています。


[grid@discus164 ˜]$  cat .bashrc
# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

# User specific aliases and functions
if [ -t 0 ]; then
stty intr ^C
fi
[grid@discus164 ˜]$
[grid@discus164 ˜]$ 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

#for Oracle Grid Infrastructure Owner
#for Grid Infrastructure Owner
# ORACLE_SID : discus164では+ASM1 , discus264では+ASM2をセット
export ORACLE_SID=+ASM1
# ORACLE_BASE/ORACLE_HOME: Grid InfrastructreユーザとOracleソフトウェア所有者では異なるので要注意
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export ORACLE_PATH=.:/u01/app/oracle/common/oracle/sql
export ORA_NLS10=$ORACLE_HOME/nls/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/oracm/lib:/lib:/usr/lib:/usr/local/lib:$LD_LIBRARY_PATH
export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib:$CLASSPATH
export NLS_LANG=Japanese_japan.al32utf8
export PATH=.:$ORACLE_HOME/bin:$PATH
export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp
export TNS_ADMIN=$ORACLE_HOME/network/admin
umask 022
[grid@discus164 ˜]$
[grid@discus164 ˜]$

[grid@discus264 ˜]$  cat .bashrc
# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

# User specific aliases and functions
if [ -t 0 ]; then
stty intr ^C
fi
[grid@discus264 ˜]$
[grid@discus264 ˜]$ 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

#for Grid Infrastructure Owner
# ORACLE_SID : discus164では+ASM1 , discus264では+ASM2をセット
export ORACLE_SID=+ASM2
# ORACLE_BASE/ORACLE_HOME: Grid InfrastructreユーザとOracleソフトウェア所有者では異なるので要注意
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export ORACLE_PATH=.:/u01/app/oracle/common/oracle/sql
export ORA_NLS10=$ORACLE_HOME/nls/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/oracm/lib:/lib:/usr/lib:/usr/local/lib:$LD_LIBRARY_PATH
export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib:$CLASSPATH
export NLS_LANG=Japanese_japan.al32utf8
export PATH=.:$ORACLE_HOME/bin:$PATH
export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp
export TNS_ADMIN=$ORACLE_HOME/network/admin
umask 022
[grid@discus264 ˜]$
[grid@discus264 ˜]$

・Oracleソフトウェア所有者の環境変数の例(RACを構成する全ノードのOracleソフトウェア所有者に設定します)


以下、全ノードの設定内容。Oracleソフトウェア所有者の役割はいままで通り。今回作成するデータベースのSIDプリフィックスを orcl にするので
各ノードのORACLE_SID環境変数は orcl1/orcl2 に設定してあります。
[oracle@discus164 ˜]$  cat .bashrc
# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

# User specific aliases and functions
if [ -t 0 ]; then
stty intr ^C
fi
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$ 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

#for Oracle Owner
# ORACLE_SID : discus164ではorcl1 , discus264ではorcl2をセット
export ORACLE_SID=orcl1
# ORACLE_BASE/ORACLE_HOME: Grid InfrastructreユーザとOracleソフトウェア所有者では異なるので要注意
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_PATH=.:$ORACLE_BASE/common/oracle/sql
export ORA_NLS10=$ORACLE_HOME/nls/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/oracm/lib:/lib:/usr/lib:/usr/local/lib:$LD_LIBRARY_PATH
export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib:$CLASSPATH
export NLS_LANG=Japanese_japan.al32utf8
export PATH=.:$ORACLE_HOME/bin:$PATH
export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp
export TNS_ADMIN=$ORACLE_HOME/network/admin
# enterprise manager向け (作成するデータベースユニーク名は:orclなのでorclを設定しておく)
export ORACLE_UNQNAME=orcl
umask 022
[oracle@discus164 ˜]$
[oracle@discus164 ˜]$

[oracle@discus264 ˜]$  cat .bashrc
# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

# User specific aliases and functions
if [ -t 0 ]; then
stty intr ^C
fi
[oracle@discus264 ˜]$
[oracle@discus264 ˜]$ 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

#for Oracle Owner
# ORACLE_SID : discus164ではorcl1 , discus264ではorcl2をセット
export ORACLE_SID=orcl2
# ORACLE_BASE/ORACLE_HOME: Grid InfrastructreユーザとOracleソフトウェア所有者では異なるので要注意
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_PATH=.:$ORACLE_BASE/common/oracle/sql
export ORA_NLS10=$ORACLE_HOME/nls/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/oracm/lib:/lib:/usr/lib:/usr/local/lib:$LD_LIBRARY_PATH
export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib:$CLASSPATH
export NLS_LANG=Japanese_japan.al32utf8
export PATH=.:$ORACLE_HOME/bin:$PATH
export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp
export TNS_ADMIN=$ORACLE_HOME/network/admin
umask 022
[oracle@discus264 ˜]$

ということで次回カーネルパラメータなどの設定へつづく。






これまでのあらすじ
Mac de Oracle - 10万円未満 de RAC (11g編)#28

VirtualBox de RAC (Oracle11g R1編) #1
VirtualBox de RAC (Oracle11g R1編) #2



VirtualBox de Oracle11g R2 RAC #1
VirtualBox de Oracle11g R2 RAC #2 - 事前調査など…
VirtualBox de Oracle11g R2 RAC #3
VirtualBox de Oracle11g R2 RAC #4
VirtualBox de Oracle11g R2 RAC #5
VirtualBox de Oracle11g R2 RAC #6
VirtualBox de Oracle11g R2 RAC #7
VirtualBox de Oracle11g R2 RAC #8

| |

トラックバック


この記事へのトラックバック一覧です: VirtualBox de Oracle11g R2 RAC #9:

コメント

コメントを書く