« Mac De Oracle - 10万円 de RAC #17 | トップページ | Mac De Oracle - 10万円 de RAC #19 »

2007年1月29日 (月)

Mac De Oracle - 10万円 de RAC #18

10万円 de RACのつづき。今回は、Oracle RACノード間リモートアクセスの構成。

  1. ハードウェアの価格構成
  2. Linux (CentOS 4.4)のインストール
  3. ネットワークの構成
  4. Openfilerのインストール
  5. OpenfilerによるiSCSIボリュームの構成
  6. Oracle RACノードでのiSCSIボリュームの構成 その1。 その2
  7. Oracle所有者と関連ディレクトリの作成及び環境変数の設定
  8. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  9. hangcheck-timerカーネル・モジュールの構成
  10. Oracle RACノード間リモートアクセスの構成
  11. Oracle RACノード構成ファイルの確認
  12. Oracle Cluster File System (OCFS2)のインストール及び構成
  13. Oracle Automatic Storage Management(ASMLib 2.0)のインストール及び構成
  14. Oracle 10gソフトウェアのダウンロード)
  15. Oracle10g R2インストール事前作業
  16. Oracle10g Clusterwareのインストール
  17. Oracle10g R2 Database softwareのインストール
  18. Oracle10g R2 Companion CD softwareのインストール
  19. TNS Listenerの構成
  20. Oracle Cluster databaseの作成
  21. Oracle Net Serviceの確認
  22. 表領域の作成と変更
  23. Oralce RAC ClusterとDatabase構成の確認
  24. Clusterの開始と停止の確認
  25. 簡単なTransparent Application Failover (TAF)の確認
  26. PowerBook G4のJDeveloper10g/SQL Developer/SQL*Plusなどからの接続確認(Mac De Oracleではお約束!なので)
注)
MacOSX 10.4.8(PowerPC)へのOracle10g clientインストールは特に新しいネタでもないので記事として書く予定はないが、MacOSX 10.4.8(PowerPC)のJDeveloper10g、SQL DeveloperやSQL*Plusからの接続確認等の記録は載せる予定である。



さて、今回は、Oracle RACノード間リモートアクセスの構成を行う。

Cluster Databaseをインストールする際、OUI (Oracle Universal Installer)は、OUIを起動したノードをローカルノードし、他のノードをリモートアクセスする。ここで行う構成はその準備ということになる。
リモートノードをアクセスするには、rshを利用する方法と、sshを利用する方法があるが、本例では、sshを利用する方法を選択した。

詳細は、OTN USの元記事、「14. Configure RAC Nodes for Remote Access」や、マニュアルOracle Database Oracle ClusterwareおよびOracle Real Application Clustersインストレーション・ガイド 10g リリース2(10.2) for Linux「すべてのクラスタ・ノードでのSSHの構成」を参照のこと。(実は、この準備が整っていなかったり、忘れていたりするこが原因で、Oracle RACのインストールに失敗することが多々あるので、準備と確認はしっかり行っておきたい。

また、各操作は、Apple PowerBook G4のTerminalから sshを利用し、Oracle RACを構成する各ノードに接続して行っている。

尚、Terminalの文字セットエンコーディングは、UTF-8にしておく。環境変数LANGは、一時的に、en_US.UTF-8に変更してある。ただ、このセクションでの操作では、en_USに変更する必要はない。ただ、前セクションから続いておりそのままen_USになっているだけのことなので、あまり気にしないでください。( 文字化けなどを回避した場合は操作前のコメントに別途記述します。)

[root@discus1 ˜]# echo $LANG
ja_JP.UTF-8
[root@discus1 ˜]# export LANG=en_US.UTF-8


[root@discus2 ˜]# echo $LANG
ja_JP.UTF-8
[root@discus2 ˜]# export LANG=en_US.UTF-8


● RSAキーとDSAキーの作成

以下の操作は、Oracle RACを構成する全ノードで実施する。

[root@discus1 ˜]# pgrep sshd
4285
[root@discus1 ˜]# su - oracle
[oracle@discus1 ˜]$ mkdir -p ˜/.ssh
[oracle@discus1 ˜]$ chmod 700 ˜/.ssh
[oracle@discus1 ˜]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/u01/app/oracle/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /u01/app/oracle/.ssh/id_rsa.
Your public key has been saved in /u01/app/oracle/.ssh/id_rsa.pub.
...中略...
[oracle@discus1 ˜]$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/u01/app/oracle/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /u01/app/oracle/.ssh/id_dsa.
Your public key has been saved in /u01/app/oracle/.ssh/id_dsa.pub.
...以下略...
以下の操作は、Oracle RACを構成する1つのノードで実施する。下記は、discus1から実行した例。
もし authorized_keysファイルが存在しなければ、 touchコマンドで作成する。
[oracle@discus1 ˜]$ cd ~/.ssh
[oracle@discus1 .ssh]$ ls -l *.pub
-rw-r--r-- 1 oracle dba 617 Dec 28 21:52 id_dsa.pub
-rw-r--r-- 1 oracle dba 237 Dec 28 21:51 id_rsa.pub
[oracle@discus1 .ssh]$ ls -l authorized_keys
-rw------- 1 oracle dba 3416 Dec 28 21:58 authorized_keys
[oracle@discus1 .ssh]$
以下の操作は、Oracle RACを構成する1つのノードで実施する。下記は、discus1から実行した例。
[oracle@discus1 ˜]$ ssh discus1 cat ˜/.ssh/id_rsa.pub >> ˜/.ssh/authorized_keys
The authenticity of host 'discus1 (192.168.1.3)' can't be established.
RSA key fingerprint is 61:8a:f9:9e:28:a2:b7:d3:70:8d:dc:76:ca:d9:23:43.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'discus1,192.168.1.3' (RSA) to the list of known hosts.
oracle@discus1's password:
[oracle@discus1 ˜]$
[oracle@discus1 ˜]$ ssh discus1 cat ˜/.ssh/id_dsa.pub >> ˜/.ssh/authorized_keys
Enter passphrase for key '/u01/app/oracle/.ssh/id_rsa':
[oracle@discus1 ˜]$
[oracle@discus1 ˜]$ ssh discus2 cat ˜/.ssh/id_rsa.pub >> ˜/.ssh/authorized_keys
The authenticity of host 'discus2 (192.168.1.4)' can't be established.
RSA key fingerprint is 84:2b:bd:eb:31:2c:23:36:55:c2:ee:54:d2:23:6a:e4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'discus2,192.168.1.4' (RSA) to the list of known hosts.
oracle@discus2's password:
[oracle@discus1 ˜]$
[oracle@discus1 ˜]$ ssh discus2 cat ˜/.ssh/id_dsa.pub >> ˜/.ssh/authorized_keys
oracle@discus2's password:
[oracle@discus1 ˜]$
[oracle@discus1 ˜]$ scp ˜/.ssh/authorized_keys discus2:.ssh/authorized_keys
oracle@discus2's password:
authorized_keys 100% 1652 1.6KB/s 00:00
以下、操作は、Oracle RACを構成する全ノードで実施する。
[oracle@discus1 ˜]$ chmod 600 ˜/.ssh/authorized_keys


以下、操作は、Oracle RACを構成する1つのノードで実施する。下記は、discus1から実行した例。
[oracle@discus1 ˜]$ ssh discus1 hostname
Enter passphrase for key '/u01/app/oracle/.ssh/id_rsa':
discus1.macdeoracle.jp
[oracle@discus1 ˜]$ ssh discus2 hostname
Enter passphrase for key '/u01/app/oracle/.ssh/id_rsa':
discus2.macdeoracle.jp


● sshユーザ等価関係の有効化

OUIを実行するノードで、以下の操作を行い、パスワードが要求されずにsshやscpが実行できるようにしておく。OUIの実行時にはお忘れなく!

以下、操作は、Oracle RACを構成する1つのノードで実施する。下記は、ローカルノード(discus1)からリモートノード(discus2)をリモートアクセスできるようにした例。

[oracle@discus1 ˜]$ exec /usr/bin/ssh-agent $SHELL
[oracle@discus1 ˜]$ /usr/bin/ssh-add
Enter passphrase for /u01/app/oracle/.ssh/id_rsa:
Identity added: /u01/app/oracle/.ssh/id_rsa (/u01/app/oracle/.ssh/id_rsa)
Identity added: /u01/app/oracle/.ssh/id_dsa (/u01/app/oracle/.ssh/id_dsa)
[oracle@discus1 ˜]$
[oracle@discus1 ˜]$ ssh discus1 "date;hostname"
Fri Dec 29 22:13:27 JST 2006
discus1.macdeoracle.jp
[oracle@discus1 ˜]$
[oracle@discus1 ˜]$ ssh discus2 "date;hostname"
Fri Dec 29 22:13:46 JST 2006
discus2.macdeoracle.jp
[oracle@discus1 ˜]$

次回へつづく。

|

トラックバック


この記事へのトラックバック一覧です: Mac De Oracle - 10万円 de RAC #18:

コメント

コメントを書く