« Mac de Oracle - 10万円未満 de RAC (11g編)#27 | トップページ | iPhone Tech Talk World Tour 満員だとか。 »

2008年10月20日 (月)

Mac de Oracle - 10万円未満 de RAC (11g編)#28

今回はTransparent Application Failover (TAF)を簡単な方法で確認

  1. ハードウェア構成と価格(Mac De Oracle - 10万円 de RAC #1とMac De Oracle - 10万円 de RAC #5参照のこと)
  2. Linux (CentOS 5.2)のインストール
  3. Openfiler2.3のインストール
  4. Openfiler2.3によるiSCSIボリュームの構成
  5. Oracle RACノードでのiSCSIボリュームの構成 その1その2
  6. Oracle所有者と関連ディレクトリの作成及び環境変数の設定
  7. Oracle向けLinuxサーバーの構成(カーネルパラメータの設定)
  8. hangcheck-timerカーネル・モジュールの構成
  9. Oracle RACノード間リモートアクセスの構成
  10. Oracle RACノード構成ファイルの確認
  11. Oracle Cluster File System (OCFS2)のインストール及び構成 その1その2その3
  12. Oracle Automatic Storage Management(ASMLib 2.0)のインストール及び構成
  13. Oracle11g R1 インストール事前作業
  14. Oracle11g R1 Clusterwareのインストール
  15. Oracle11g R1 Database softwareのインストール
  16. Oracle11g R1 examplesのインストール
  17. TNS Listenerの構成
  18. Oracle Cluster databaseの作成 その1その2その3
  19. Oracle Net Serviceの確認
  20. Oralce RAC ClusterとDatabase構成の確認
  21. Clusterの開始と停止の確認
  22. Oracle Clusterwareプロセス・モニター・デーモンの構成
  23. 簡単なTransparent Application Failover (TAF)の確認
  24. MacOSXからの接続確認(Mac De Oracleではお約束!なので)☆項番19.で確認してしまったので削除

22.簡単なTransparent Application Failover (TAF)の確認
1.TAFの設定。
Oracle Database Net Servicesリファレンス 11g リリース1(11.1) - FAILOVER_MODE等のマニュアル参照のこと。(11/30:リンク先変更。オラクルさんのオンラインマニュアルのURL変更が激し過ぎ。なんとかして〜
USのOTNのマニュアルはリンク切れしてないのに...)
G5Server:˜ discus$ tail -16 $TNS_ADMIN/tnsnames.ora
RACTAF =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = discus1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = discus2-vip)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl.macdeoracle.info)
(FAILOVER_MODE =
(TYPE = SELECT)
(METHOD = BASIC)
(RETRIES = 180)
(DELAY = 5)
)

)
)
2.scottユーザでログインして表などを問い合わせておく。
G5Server:˜ discus$ sqlplus /nolog

SQL*Plus: Release 10.1.0.3.0 - Production on 月 10月 20 01:08:31 2008

Copyright (c) 1982, 2004, Oracle. All rights reserved.

> conn scott/tiger@orcl
接続されました。
SCOTT>
SCOTT> select count(*) from user_objects;

COUNT(*)
----------
5

ここでorcl2をabortで停止(その間に行っていた操作は「3.orcl2の強制停止と接続先の確認」を参照のこと)。

orcl2に接続されていたscottユーザでは特にエラーもなくクエリを発行できる。この時既にfailoverしorcl1からorcl2へセッションが引き継がれている。

SCOTT> select count(*) from user_objects;

COUNT(*)
----------
5

SCOTT>
3.orcl2の強制停止と接続先の確認

orcl2をabortで強制停止、scootの接続がfailoverしたことを確認。
[oracle@discus1 ˜]$ 
[oracle@discus1 ˜]$
[oracle@discus1 ˜]$ sqlplus /nolog

SQL*Plus: Release 11.1.0.6.0 - Production on 月 10月 20 01:14:52 2008

Copyright (c) 1982, 2007, Oracle. All rights reserved.

SQL> conn sys@orcl1 as sysdba
パスワードを入力してください:
接続されました。
SQL>
SYS> l
1 select
2 instance_name
3 ,username
4 ,failover_type
5 ,failover_method
6 ,failed_over
7 from
8 gv$session sess join gv$instance inst
9 on sess.inst_id = inst.inst_id
10 where
11* sess.username = 'SCOTT'
SYS> /

INSTANCE_NAME USERNAME FAILOVER_TYPE FAILOVER_M FAI
---------------- ------------------------------ ------------- ---------- ---
orcl2 SCOTT SELECT BASIC NO

SYS> !srvctl status database -d orcl
インスタンスorcl1はノードdiscus1で実行中です。
インスタンスorcl2はノードdiscus2で実行中です。

SYS> !srvctl stop instance -d orcl -i orcl2 -o abort

SYS> !srvctl status database -d orcl
インスタンスorcl1はノードdiscus1で実行中です。
インスタンスorcl2はノードdiscus2で実行されていません。

SYS> l
1 select
2 instance_name
3 ,username
4 ,failover_type
5 ,failover_method
6 ,failed_over
7 from
8 gv$session sess join gv$instance inst
9 on sess.inst_id = inst.inst_id
10 where
11* sess.username = 'SCOTT'
SYS> /

INSTANCE_NAME USERNAME FAILOVER_TYPE FAILOVER_M FAI
---------------- ------------------------------ ------------- ---------- ---
orcl1 SCOTT SELECT BASIC YES

SYS>


Oracle11g for Linux x86(CentOS5.2)とiSCSI(Openfiler2.3)を使った安価なOracle11g R1 RAC構築完

|

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/106341/42846612

この記事へのトラックバック一覧です: Mac de Oracle - 10万円未満 de RAC (11g編)#28:

コメント

コメントを書く