1.背景
当社は、純粋に平和的な機器の連続生産に従事しており、生産からのすべての関連情報は、 VMware ESXを実行している仮想サーバー上にあるOracleデータベースに書き込まれます。 そして、すべてが調整されているようで、コンベヤは機能しており、データは書き込まれ、完成品は出荷されています。
しかし、ラックは、データベースサーバーに加えて、いくつかの不明瞭なサーバーの束にも基づいており、時には落下するという驚くべき特性があります。 はい、そして、ある時点でのデータベース自体では、何でも起こり得ます。 もちろん、最初に頭に浮かぶのは、データベースバックアップの有能な組織、またはVMwareスパップショットの作成です。 ただし、これらのすべてのアクションは、機器に障害が発生した場合、データベースとコンベア全体のそれぞれの連続動作を許可しません。 一般的に、私は他の解決策を試してみたかった。
この問題に関する会議がIT部門で再度開催されたとき、 Oracle Real Application Clusterを引き上げ、その上に本番データベースをデプロイするというアイデアを試すことにしました。 唯一の問題は、その時点で誰もこれを行う方法を知らなかったことでした。
ハードウェアを購入して新しいサーバーを展開する前に、選択したテクノロジーをVM VirtualBoxを使用してローカルでテストすることが決定されました。 数週間にスムーズに移行し、空気などの必要な情報を検索して消化した数週間後、クラスターがようやく起動し、最初のテストを開始することができました。 したがって、 nノード( n> = 2 )クラスターを作成する場合は、catにようこそ。
2.ソフトウェア
最初に、クラスターの構築に使用されたソフトウェアのリスト全体をお知らせします。
- Oracle VM VirtualBox。 執筆時点で、Windowsの最新バージョンは4.3.14でした。 こちらからダウンロードできます。
- Oracle Linux Server 6.5 for x86-64。 将来のクラスターのノードはこの軸にデプロイされます。
- Linux x86-64用のOracle Grid Infrastructure 11gリリース2(11.2.0.3.0)。
- Linux x86-64用のOracle Database 11gリリース2(11.2.0.3.0)。
- CentOS 6.4またはDNSサーバーのその他の軸。
3.クラスターインフラストラクチャの説明
クラスターは3つの仮想マシンで構成されます。最初の2つはクラスターノードを直接ホストし、3つ目はDNSサーバーとして使用されます。 すべてのクラスターノードは、特別な方法で作成された5 VDI( 仮想ディスクイメージ )に同時に接続されます。 これらのディスクからディスクグループが作成され、Oracleデータベースデータが格納されます。
これがどのように見えるかを示す図のスケッチ:
3.1ネットワークインフラストラクチャ
クラスターを構築するには、3つのサブネットが使用されます。
- LAN 1:クライアントをデータベースに接続するために使用される外部ネットワークインターフェイス。
- LAN 2:相互接続用の内部ネットワークインターフェイス。
- LAN 3:インストール段階でパッケージをインストールおよび更新するには、インターネットにアクセスできる外部ネットワークが必要です。
次に、クラスターが使用するネットワークアドレスが必要です。 それらをどのように、どこで尋ねるかについては、後で説明します。
クラスタに関係するアドレスは次のとおりです。
*仮想ホストアダプターのIPアドレス。
**ホストが使用するゲートウェイのIPアドレス。
***外部DNSサーバーのIPアドレス。
サーバー名 | LAN 1
(192.168.56.0/24) | LAN 2
(10.0.0.0/24) | LAN 3
(172.30.0.0/14) | |
DNSサーバー | 装置 | eth0 | eth1 | |
IPアドレス | 192.168.56.101 | 172.30.201.101 * | ||
ネットワークマスク | 255.255.255.0 | 255.255.0.0 | ||
ゲートウェイ | 192.168.56.1 * | 172.30.0.1 ** | ||
DNS | 127.0.0.1 | 172.30.1.3 ***
172.30.1.8 *** | ||
rac1-node | 装置 | eth0 | eth1 | |
IPアドレス | 192.168.56.111 | 10.0.0.111 | ||
ネットワークマスク | 255.255.255.0 | 255.255.255.0 | ||
ゲートウェイ | 192.168.56.101 | 10.0.0.1 * | ||
DNS | 192.168.56.101 | |||
rac2-node | 装置 | eth0 | eth1 | |
IPアドレス | 192.168.56.112 | 10.0.0.112 | ||
ネットワークマスク | 255.255.255.0 | 255.255.255.0 | ||
ゲートウェイ | 192.168.56.101 | 10.0.0.1 * | ||
DNS | 192.168.56.101 |
*仮想ホストアダプターのIPアドレス。
**ホストが使用するゲートウェイのIPアドレス。
***外部DNSサーバーのIPアドレス。
さらに、 SCAN(シングルクライアントアクセス名)とVIPアドレスも必要です。
SCANアドレス。 このテクノロジーを使用すると、すべてのクライアントが単一のサービス名にアクセスするように構成され、DNSサーバーを使用して、それぞれがパブリックLISTENERを持つ複数のIPアドレスに解決できます。 SCANアドレスの数は、式n + 1によって決定されます。ここで、 nはクラスターノードの数です。
192.168.56.121 192.168.56.122 192.168.56.123
VIPアドレス。 これらは、外部ネットワークインターフェイス上のノードに割り当てられた論理ネットワークアドレスです。 クラスターノードが使用できなくなるとすぐに
192.168.56.113 192.168.56.114
3.2ディスクサブシステム
Oracle Grid Infrastructureが機能するには、クラスタ内のすべてのノードで使用可能な共有ディスク領域が必要です。 そのようなストレージを編成するための2つのオプションがあります。これはOracle自動ストレージ管理 ( Oracle ASM )と共有ファイルシステムです。 2番目のオプションを使用する場合、すべてが非常に簡単です。NFSボールはクラスターの各ノードにマウントされる別のサーバーで作成され(追加のマウントオプションが必要)、ストレージ自体が構成されます。
次のアクションは役に立ちませんが、突然の場合は...
共有ファイルシステムの NFSバルーンをマウントします。
を開き、エントリを追加します。
# mkdir -p /st_nfs0 # mkdir -p /st_nfs1 # mkdir -p /st_nfs2
/etc/fstab
を開き、エントリを追加します。
storage-server:/mnt/nfs0 /st_nfs0 nfs bg,intr,noac,acregmin=0,acregmax=0,acdirmin=0,acdirmax=0 0 0 storage-server:/mnt/nfs1 /st_nfs1 nfs bg,intr,noac,acregmin=0,acregmax=0,acdirmin=0,acdirmax=0 0 0 storage-server:/mnt/nfs2 /st_nfs2 nfs bg,intr,noac,acregmin=0,acregmax=0,acdirmin=0,acdirmax=0 0 0
ASMは、データベースの基礎となるストレージを管理する新しい方法です。 Oracle Databaseのコアに組み込まれ、 データベースファイルのファイルシステムとボリュームマネージャーの統合を提供します。 バージョン11gR2以降、ASMはASM Cluster File SystemとASM Dynamic Volume Managerを実装しています。 これらのASM機能は、データベースの作成と配置、ディスク領域の管理、実行可能なアプリケーションファイルの配置、およびその他の同様のタスクなどのタスクのための、データベースおよびアプリケーション用のサードパーティのファイルシステムおよびボリューム管理ソリューションの代替です。
実装が複雑であるにもかかわらず、Oracle ASMで停止します。 これは理論で終わり、ソフトウェアのインストールに進みます。
4. Oracle VM VirtualBoxのインストール
VBoxをインストールする段階では、複雑なことは何もありません。 注意したいのは、VBoxをインストールした後、システム変数のリストの
Path
変数にインストールパスを追加することだけです。 将来的には、これは私たちにとって非常に役立つでしょう。
次の手順では、仮想ホストアダプターを追加して構成する必要があります。 デフォルトでは、VBoxは
VirtualBox Host-Only Ethernet Adapter
という名前のアダプターを1つ作成します。 プログラムメニューを使用して、
VirtualBox Host-Only Ethernet Adapter #2
という名前の別のアダプターを作成します。
PTC / IPv4アダプターのプロパティ:
次に、 コントロールパネル\ネットワークとインターネット\ネットワーク接続に移動し、PTC / IPv4アダプターのプロパティで次のように記述します。
VirtualBox Host-Only Ethernet Adapter: IP Address: 192.168.56.1 Mask: 255.255.255.0
VirtualBox Host-Only Ethernet Adapter #2 IP Address: 10.0.0.1 Mask: 255.255.255.0
これでVBoxの設定が完了しました。VMの作成に進むことができます。
5. DNSサーバーのセットアップと構成
将来のDNSサーバーのディストリビューションとして、最初に登場したものを選択しました。 CentOS 6.4 x86_64ディストリビューションであることが判明しました。
5.1 VM構成
私の設定は次のとおりです。
[ネットワーク]タブで、最初のアダプターとして[ 仮想ホストアダプター]を選択します。
2番目のアダプター-外部ネットワークを調べるアダプターを備えたネットワークブリッジ (NATを使用できます):
[ネットワーク]タブで、最初のアダプターとして[ 仮想ホストアダプター]を選択します。
2番目のアダプター-外部ネットワークを調べるアダプターを備えたネットワークブリッジ (NATを使用できます):
5.2 OSのインストール
詳細なプロセス
OSのインストールに進みます。 サーバーの名前を設定します:
:
[ ネットワークの構成 ]をすぐにクリックし、両方のアダプターのパラメーターを交互に設定します。
[ 自動的に接続 ]オプションを設定します。 それ以外の場合は、マシンを再起動するたびに、ネットワークを手動でオンにする必要があります。
IPv4パラメーターを設定します。
同様に、2番目のインターフェイスに対してすべてを行います。
外部ネットワークに独自のDHCPサーバーがある場合、またはNATを選択した場合、IPv4パラメーターを構成できません。
最小のインストールを選択します-これはサーバーにとって十分なものです:
インストールの終了を待つクロスフィンガー :
dns-server.test.com.by
:
[ ネットワークの構成 ]をすぐにクリックし、両方のアダプターのパラメーターを交互に設定します。
[ 自動的に接続 ]オプションを設定します。 それ以外の場合は、マシンを再起動するたびに、ネットワークを手動でオンにする必要があります。
IPv4パラメーターを設定します。
同様に、2番目のインターフェイスに対してすべてを行います。
外部ネットワークに独自のDHCPサーバーがある場合、またはNATを選択した場合、IPv4パラメーターを構成できません。
最小のインストールを選択します-これはサーバーにとって十分なものです:
インストールの終了を待つ
5.3 BIND設定
システムの追加設定を開始する前に、 「まあ、すべてを正しく行ったようですが、なぜ機能しないのですか?」という質問を避けるために、 ファイアウォールを一時的に無効にすることをお勧めします。
状態を確認します。
# service iptables status
オフにします。
# service iptables stop # chkconfig iptables off
DNSサーバーとしてBINDを使用します。
# yum install named
次に、
named.conf
ファイルを編集します。
# nano /etc/named.conf
*私見、これらの目的には、Midnight CommanderまたはWinSCPを使用するのが最善です。
出口で必要なものは次のとおりです。
// named.conf logging { channel "xfer" { file "/var/log/named/xfer.log" versions 3 size 10m; print-time yes; print-severity yes; severity info; }; channel "lame" { file "/var/log/named/lamers.log" versions 2 size 10m; print-time yes; print-severity yes; severity info; }; channel "config" { file "/var/log/named/conf.log" versions 3 size 10m; print-time yes; print-severity yes; severity info; }; channel "security" { file "/var/log/named/security.log" versions 3 size 10m; print-time yes; print-severity yes; severity info; }; category "xfer-in" { "xfer"; }; category "xfer-out" { "xfer"; }; category "notify" { "xfer"; }; category "lame-servers" { "lame"; }; category "config" { "config"; }; category "security" { "security"; }; category "default" { "default_syslog"; "default_debug"; }; }; acl "test_net" { localhost; 192.168.56.0/24; }; options { directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; version "DNS Server"; allow-recursion { test_net; }; allow-query { test_net; }; forwarders { 172.30.1.3; 172.30.1.8; }; forward only; listen-on port 53 { localhost; 192.168.56.101; }; ### Master DNS IP ### dnssec-enable no; dnssec-validation no; dnssec-lookaside auto; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic"; }; zone "." IN { type hint; file "named.ca"; }; zone"test.com.by" IN { type master; file "forward.test"; allow-update { none; }; }; zone"56.168.192.in-addr.arpa" IN { type master; file "reverse.test"; allow-update { none; }; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key";
レポートファイルの作成:
# cd /var/named/chroot/var/log/named # touch conf.log # touch lamers.log # touch security.log # touch xfer.log
ディレクトリ全体にアクセス権を再帰的に割り当てます。
# cd /var/named/chroot/var/log # chmod 750 -R named # chown -R named:named named
ダイレクトゾーンを作成するには、ディレクトリに移動します。
# cd /var/named
forward.test
ファイルを作成します。
# touch forward.test # chmod 750 forward.test # chown named:named forward.test
ダイレクトゾーンファイルの内容:
$TTL 86400 @ IN SOA dns-server.test.com.by. root.test.com.by. ( 2011071001 ;Serial 3600 ;Refresh 1800 ;Retry 604800 ;Expire 86400 ;Minimum TTL ) @ IN NS dns-server.test.com.by. @ IN A 192.168.56.101 @ IN A 192.168.56.111 @ IN A 192.168.56.112 @ IN A 192.168.56.113 @ IN A 192.168.56.114 dns-server IN A 192.168.56.101 rac1-node IN A 192.168.56.111 rac2-node IN A 192.168.56.112 rac1-node-vip IN A 192.168.56.113 rac2-node-vip IN A 192.168.56.114 rac1-node-priv IN A 10.0.0.111 rac2-node-priv IN A 10.0.0.112 rac-scan IN A 192.168.56.121 rac-scan IN A 192.168.56.122 rac-scan IN A 192.168.56.123
同様に、逆ゾーン用の
reverse.test
ファイルを作成します
ここにこのコンテンツがあります:
$TTL 86400 @ IN SOA dns-server.test.com.by. root.test.com.by. ( 2011071001 ;Serial 3600 ;Refresh 1800 ;Retry 604800 ;Expire 86400 ;Minimum TTL ) @ IN NS dns-server.test.com.by. @ IN PTR test.com.by. grid-server IN A 192.168.56.101 rac1-node IN A 192.168.56.111 rac2-node IN A 192.168.56.112 rac1-node-vip IN A 192.168.56.113 rac2-node-vip IN A 192.168.56.114 101 IN PTR dns-server.test.com.by. 111 IN PTR rac1-node.test.com.by. 112 IN PTR rac2-node.test.com.by. 113 IN PTR rac1-node-vip.test.com.by. 114 IN PTR rac2-node-vip.test.com.by.
named
デーモンを自動実行に設定して開始します。
# chkconfig named on # service named start
すべてが正しく行われると、デーモンは次のメッセージで正常に起動します。
named: [ OK ]
テスト:
注:
をpingしようとするたびに、サーバーは新しいIPアドレスを円で返します。 これで、DNSサーバーの構成が完了しました。 BINDの設定の詳細については、 こちらをご覧ください 。
# ping rac-scan PING rac-scan.test.com.by (192.168.56.121) 56(84) bytes of data. From server-manager (192.168.56.101) icmp_seq=1 Destination Host Unreachable # ping rac-scan PING rac-scan.test.com.by (192.168.56.122) 56(84) bytes of data. From server-manager (192.168.56.101) icmp_seq=1 Destination Host Unreachable # ping rac-scan PING rac-scan.test.com.by (192.168.56.123) 56(84) bytes of data. From server-manager (192.168.56.101) icmp_seq=1 Destination Host Unreachable # ping rac1-node PING rac1-node (192.168.56.111) 56(84) bytes of data. From server-manager (192.168.56.101) icmp_seq=1 Destination Host Unreachable # ping rac2-node PING rac2-node (192.168.56.112) 56(84) bytes of data. From server-manager (192.168.56.101) icmp_seq=2 Destination Host Unreachable # ping habrahabr.ru PING habrahabr.ru (212.24.44.141) 56(84) bytes of data. 64 bytes from habrahabr.ru (212.24.44.141): icmp_seq=1 ttl=128 time=30.95 ms 64 bytes from habrahabr.ru (212.24.44.141): icmp_seq=1 ttl=128 time=28.03 ms 64 bytes from habrahabr.ru (212.24.44.141): icmp_seq=1 ttl=128 time=24.71 ms
注:
rac-scan
をpingしようとするたびに、サーバーは新しいIPアドレスを円で返します。 これで、DNSサーバーの構成が完了しました。 BINDの設定の詳細については、 こちらをご覧ください 。
6. GRIDインフラストラクチャをインストールする準備
それで! これで、クラスターノードの作成に近づきました。 この段落では、GRIDインフラストラクチャをインストールするための最初のクラスターノードを準備する例を説明します。
クラスターの次のノードを準備するには、 6.1項から6.3項を繰り返す必要があります。
*以前にVBoxで作業したことがある場合は、1つのノードを準備して、そのクローン(クローンの軍隊)を作成できます。
6.1 VMの構成
ノードのVM設定:
[ ネットワーク ]タブで、最初のアダプターとして、仮想ホストアダプターVirtualBox Host-Only Ethernet Adapterを選択します。
2番目のアダプターには、 VirtualBox Host-Only Ethernet Adapter#2を選択します。
[ ネットワーク ]タブで、最初のアダプターとして、仮想ホストアダプターVirtualBox Host-Only Ethernet Adapterを選択します。
2番目のアダプターには、 VirtualBox Host-Only Ethernet Adapter#2を選択します。
6.2 OSのインストール
詳細なプロセス
Oracle Linuxのインストールを開始します。 [ 既存のシステムのインストールまたはアップグレード]を選択します 。
ネイティブインストール言語を選択します。
ただし、キーボードレイアウトはデフォルトのままにしておく方が適切です。
ドライブの標準タイプを選択します。
最初のクラスターノードに名前
を割り当て、ネットワーク接続の構成に進みます。
システムeth0 :
システムeth1 :
スーパー
パスワードを設定します。
さらに、インストールの種類を選択するときは、 [ すべてのスペース]を指定し、 [パーティション構造の表示と変更]項目を必ず確認してください。
次のステップで、システムはディスクパーティションを自動的に作成します。 ここではすべて問題ないようですが、1つのポイントがあります。自動パーティション分割中、 スワップのサイズは割り当てられたRAMの量とほぼ同じに設定されます。 そのため、Oracle GRIDのインストール中に、このパラメーターの値を非常に「誓う」ことになります。 2 GBのRAM容量では、少なくとも3.8 GBのスワップサイズが必要です。 安全にプレイして、値を8 Gbに設定することにしました。 これを行うには、最初に論理ボリューム
のサイズを
してから、空き領域のために
のサイズを大きくする必要があります。 結果は次のようになります。
Desktopのインストールのタイプを選択し( Database Serverも使用できます )、 Configure nowアイテムをチェックしてパッケージのセットを変更します :
次の手順で、[ データベース ]タブに移動し、すべてのボックスがインストールされている場合はチェックを外します。
次に、パッケージのインストールが開始され、その後、システムの再起動が提案されます。 次に、
ユーザーを作成します。 その下には、Oracle GRIDの追加インストールがあります。
時刻同期をオンにします。 ネットワークにNTPサーバーがある場合は、サーバーのリストで指定できます。
このステップで、インストールが完了し、システムを再起動します。 その後、さらに設定を進めることができます。
ネイティブインストール言語を選択します。
ただし、キーボードレイアウトはデフォルトのままにしておく方が適切です。
ドライブの標準タイプを選択します。
最初のクラスターノードに名前
rac1-node.test.com.by
を割り当て、ネットワーク接続の構成に進みます。
システムeth0 :
システムeth1 :
スーパー
root
パスワードを設定します。
さらに、インストールの種類を選択するときは、 [ すべてのスペース]を指定し、 [パーティション構造の表示と変更]項目を必ず確認してください。
次のステップで、システムはディスクパーティションを自動的に作成します。 ここではすべて問題ないようですが、1つのポイントがあります。自動パーティション分割中、 スワップのサイズは割り当てられたRAMの量とほぼ同じに設定されます。 そのため、Oracle GRIDのインストール中に、このパラメーターの値を非常に「誓う」ことになります。 2 GBのRAM容量では、少なくとも3.8 GBのスワップサイズが必要です。 安全にプレイして、値を8 Gbに設定することにしました。 これを行うには、最初に論理ボリューム
lv_root
のサイズを
lv_swap
してから、空き領域のために
lv_swap
のサイズを大きくする必要があります。 結果は次のようになります。
Desktopのインストールのタイプを選択し( Database Serverも使用できます )、 Configure nowアイテムをチェックしてパッケージのセットを変更します :
次の手順で、[ データベース ]タブに移動し、すべてのボックスがインストールされている場合はチェックを外します。
次に、パッケージのインストールが開始され、その後、システムの再起動が提案されます。 次に、
grid
ユーザーを作成します。 その下には、Oracle GRIDの追加インストールがあります。
時刻同期をオンにします。 ネットワークにNTPサーバーがある場合は、サーバーのリストで指定できます。
このステップで、インストールが完了し、システムを再起動します。 その後、さらに設定を進めることができます。
6.3 OS設定
このサブセクションのすべての操作は、
root
として実行されます!
セキュリティ設定:
OSをインストールした後、最初にオフにするのはファイアウォールです。 このステップでGUIを使用できます。 これを行うには、[ システム]- [ 管理]-[ファイアウォール]を選択します。 [ オフにして適用]をクリックします。
さらに、
ファイルで
変数の値を設定して、 SELinuxを無効にすることをお勧めします。
さらに、
/etc/selinux/config
ファイルで
SELINUX=disabled
変数の値を設定して、 SELinuxを無効にすることをお勧めします。
同じ名前のグループと、 Oracle Databaseをインストールするユーザーを作成します 。
# groupadd -g 501 oracle # useradd -g oracle -u 501 -d /home/oracle -p ****** oracle
追加のグループを作成します。
# groupadd -g 502 dba # groupadd -g 503 asmdba # groupadd -g 504 asmoper # groupadd -g 505 asmadmin
grid
ユーザーを追加
グループで:
# usermod -g dba grid # usermod -a -G grid grid # usermod -a -G disk grid # usermod -a -G asmdba grid # usermod -a -G asmoper grid # usermod -a -G asmadmin grid
oracle
ユーザーの場合
同様の手順を実行します。
# usermod -g dba oracle # usermod -a -G oracle oracle # usermod -a -G asmdba oracle # usermod -a -G asmoper oracle # usermod -a -G asmadmin oracle
ホスト上で、解凍されたLinux用Oracle Database 11gリリース2インストーラのあるディレクトリを共有します 。 ボールをマウントします。
# mkdir -p /media/ora_linux # mount -t cifs "//192.168.56.1/ora_linux" /media/ora_linux -o username="vasya_pupkin",password="********",iocharset=utf8,file_mode=0777,dir_mode=0777
追加のパッケージをインストールします。 実際、私は少し急いでこのアイテムをここに移動しました。 完全な幸福を得るのに十分ではないパッケージを正確に知っています。 この記事で説明されているOracle LinuxとOracle Grid Infrastructureの同じバージョンを使用する予定がある
/media/ora_linux/grid/rpm
ディレクトリに移動し、
パッケージのインストールを開始します。
# yum install ./cvuqdisk-1.0.9-1.rpm # yum install bind-utils # yum install compat-libcap1-1.10 # yum install compat-libstdc++-33 # yum install libstdc++-devel # yum install gcc-c++ # yum install ksh-20100621 # yum install libaio-devel # yum install oracleasm # yum install oracleasm-support
Oracle GRIDおよびデータベースの後続のインストール用
ディレクトリ構造を作成します。
# mkdir -p /u01/app/grid # mkdir -p /u01/app/oracle # chown grid:dba /u01/app/grid # chown oracle:dba /u01/app/oracle # mkdir -p /u01/app/11.2.0/grid # chown grid:dba /u01/app/11.2.0 # chown grid:dba /u01/app/11.2.0/grid # mkdir /u01/app/oraInventory # chown grid:dba /u01/app/oraInventory # chmod -R 775 /u01/
Oracle ASMパッケージのインストール後、構成を続行できます。 最初のステップは、ドライバー自体を構成することです。 これは一度行われます。 構成を開始し、いくつかのデータを指定します:ドライバーが動作するユーザー 、およびシステム起動時のインターフェイス、 グループ 、 ドライバー自動起動が属するユーザー 。
これは次のようなものです。
# oracleasm configure –i Configuring the Oracle ASM library driver. This will configure the on-boot properties of the Oracle ASM library driver. The following questions will determine whether the driver is loaded on boot and what permissions it will have. The current values will be shown in brackets ('[]'). Hitting <ENTER> without typing an answer will keep that current value. Ctrl-C will abort. Default user to own the driver interface []: grid Default group to own the driver interface []: dba Start Oracle ASM library driver on boot (y/n) [n]: y Scan for Oracle ASM disks on boot (y/n) [y]: y Writing Oracle ASM library driver configuration: done
ドライバーを初期化します。
# oracleasm init Creating /dev/oracleasm mount point: /dev/oracleasm Loading module "oracleasm": oracleasm Configuring "oracleasm" to use device physical block size Mounting ASMlib driver filesystem: /dev/oracleasm
NTPサービスを構成します。
/etc/sysconfig/ntpd
を開き、
–x
オプションを追加します。
次のようになります。
OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid -g"
NTPサービスの再起動:
# service ntpd restart
これでOSの構成が完了しました。 これで、車を出してクローンを作成できます。
6.4 ASMディスクの作成
ディスクグループを作成するとき、通常の冗長性を使用します。これは、Oracleによって編成されます。 テストベースをインポートするための予備スペースを考慮して、それぞれ10 Gbの5つのディスクを作成します。 これを行うには、ホストマシンでWindowsコンソールを開き、ASMディスクが配置されているディレクトリに移動し、
次のコマンドを実行します。
ディスクをクラスターノードに接続します。
ASM> VBoxManage createhd --filename ASM_1.vdi --size 10240 --format VDI --variant Fixed ASM> VBoxManage createhd --filename ASM_2.vdi --size 10240 --format VDI --variant Fixed ASM> VBoxManage createhd --filename ASM_3.vdi --size 10240 --format VDI --variant Fixed ASM> VBoxManage createhd --filename ASM_4.vdi --size 10240 --format VDI --variant Fixed ASM> VBoxManage createhd --filename ASM_5.vdi --size 10240 --format VDI --variant Fixed
ディスクをクラスターノードに接続します。
ASM> VBoxManage storageattach "RAC #1 ORA ASM" --storagectl "SATA" --port 1 --device 0 --type hdd --medium ASM_1.vdi --mtype shareable ASM> VBoxManage storageattach "RAC #1 ORA ASM" --storagectl "SATA" --port 2 --device 0 --type hdd --medium ASM_2.vdi --mtype shareable ASM> VBoxManage storageattach "RAC #1 ORA ASM" --storagectl "SATA" --port 3 --device 0 --type hdd --medium ASM_3.vdi --mtype shareable ASM> VBoxManage storageattach "RAC #1 ORA ASM" --storagectl "SATA" --port 4 --device 0 --type hdd --medium ASM_4.vdi --mtype shareable ASM> VBoxManage storageattach "RAC #1 ORA ASM" --storagectl "SATA" --port 5 --device 0 --type hdd --medium ASM_5.vdi --mtype shareable ASM> VBoxManage storageattach "RAC #2 ORA ASM" --storagectl "SATA" --port 1 --device 0 --type hdd --medium ASM_1.vdi --mtype shareable ASM> VBoxManage storageattach "RAC #2 ORA ASM" --storagectl "SATA" --port 2 --device 0 --type hdd --medium ASM_2.vdi --mtype shareable ASM> VBoxManage storageattach "RAC #2 ORA ASM" --storagectl "SATA" --port 3 --device 0 --type hdd --medium ASM_3.vdi --mtype shareable ASM> VBoxManage storageattach "RAC #2 ORA ASM" --storagectl "SATA" --port 4 --device 0 --type hdd --medium ASM_4.vdi --mtype shareable ASM> VBoxManage storageattach "RAC #2 ORA ASM" --storagectl "SATA" --port 5 --device 0 --type hdd --medium ASM_5.vdi --mtype shareable
それだけです! これで、すべての準備作業が完了し、 Oracle GRID Infrastructureをインストールできます 。
7. GRIDインフラストラクチャのインストール
すべてのメモを開始します。
grid
ユーザーの下で、インストールするノードの1つにログインします。
配布キットでボールをマウントします。
# mount -t cifs "//192.168.56.1/ora_linux" /media/ora_linux -o username="vasya_pupkin",password="********",iocharset=utf8,file_mode=0777,dir_mode=0777
7.1 ASMのパーティション化
インストールを開始する前に、ASMディスクに特別な方法でマークを付け、各ノードで可用性を確認する必要があります。 次に、 クラスタノードの1つで
root
としてすべての操作を実行します!
マークアップ:
リストの最初のディスクを選択してマークアップします。
次に、次の順序でコマンドを入力します。
パーティショニングが完了しました。 残りの4つのディスクで同様の手順を実行します。 結果は次のとおりです。
# ls /dev/sd* /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf
リストの最初のディスクを選択してマークアップします。
# fdisk /dev/sdb
次に、次の順序でコマンドを入力します。
n p 1 Enter w
パーティショニングが完了しました。 残りの4つのディスクで同様の手順を実行します。 結果は次のとおりです。
# ls /dev/sd* /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1
ASMディスクを作成します。
# oracleasm createdisk DISK1 /dev/sdb1 # oracleasm createdisk DISK2 /dev/sdc1 # oracleasm createdisk DISK3 /dev/sdd1 # oracleasm createdisk DISK4 /dev/sde1 # oracleasm createdisk DISK5 /dev/sdf1
すべてのノードで順番に
ASMディスクを確認します。
# oracleasm scandisks Reloading disk partitions: done Cleaning any stale ASM disks... Scanning system for ASM disks... # oracleasm listdisks DISK1 DISK2 DISK3 DISK4 DISK5
これで、ASMディスクのパーティション化が完了しました。 これで、Oracle GRIDのインストールに直接進むことができます。
7.1グリッドのインストール
インストールは、グラフィカルウィザードを使用して行われます。
grid
に代わって端末を実行します。
[grid@rac1-node /]$ cd /media/ora_linux/grid [grid@rac1-node /]$ ./runInstaller
段階的なインストールウィザード
ソフトウェアの更新をスキップする:
次の手順で、 Oracle Grid Infrastructureのインストールおよび構成を選択します。
拡張インストールタイプを選択します。
母国語サポートを追加します。
次のステップは、クラスター 名 、 SCAN 名 、およびポートを設定すること です 。 私たちにとっては次のようになります。
インストーラーはDNSサーバーに接続し、対応するSCANアドレスエントリの存在を確認します 。 すべてが正常である場合、次のステップでクラスターにノードを追加できます。 別のノードを追加する場合、 パブリックおよび仮想ホスト名フィールドに入力する必要があります。 パブリックホスト名は、ネットワーク上で識別するために使用されるコンピューターの名前です。 仮想ホスト名は、 Oracle GRIDで使用される仮想コンピュータ名です。 すべての交換には、DNSサーバーに適切なエントリが必要です。
私の場合、次のようになります。
クラスター内のすべてのノードを入力した後、将来のノード間のSSH接続を構成する必要があります。 これを行うには、 SSH接続ボタンをクリックして、
ユーザーのパスワードを入力する必要があります(これが、すべてのユーザーが同じパスワードを持つ同じユーザーを持たなければならない理由です)。 セットアップボタンを押して接続を確立します。
すべてが正しく行われた場合、Oracle Gridはこれについて報告し、その後次のステップに進むことができます。
次のステップでは、ネットワークインターフェイスを配布します。これは外部インターフェイスであり、相互接続に使用されます。
次に、ストレージのタイプを決定する必要があります。 Oracle ASMの選択:
ディスクグループの名前を設定します。 この名前は、データベースデータファイルの場所を設定する際の開始点として使用されます。 冗長性を選択し、ブロックサイズを設定し、ディスクにマークを付けます。
前の手順で作成したディスクを[ディスクの追加]フィールドに表示するには、[ ディスク検出パスの変更]ウィンドウでパス
を指定する必要があります。
ASMアカウントのパスワードを設定します。
適切なグループに特権を割り当てます。
Oracle BaseおよびSoftware Locationのインストールパスをリストします。
Oracle Inventoryのインストールパス:
すべてのパラメーターを設定した後、インストーラーはシステムの分析を開始します。その結果、アクションの印象的なリストが得られます。一部のシステムパラメーターの変更、追加パッケージのインストール、 不可能な操作を行います。 いいえとマークされているアイテムは、手動で修正する必要があります。 残りは、ワンクリックで修正と再チェックで殺すことができます:
[ 修正して再確認 ]ボタンをクリックすると、詳細な手順と起動手順を示す[ 修正 スクリプトの実行 ]ウィンドウが画面に表示されます。
アラートを修正する私の例を次に示します。
すべての、まあ、またはほとんどすべての警告を削除した後、残りの警告は重要ではありません。 すべて無視 :
簡単な概要を受け取った後、インストールプロセスを開始します。
インストールプロセス:
インストール中に、
としていくつかのスクリプトを実行する必要があります。 詳細な手順は、[ 構成スクリプトの実行]ウィンドウで提供されます。
この場合、これらの指示は両方のノードで順番に実行する必要があります。
インストールプロセス-最終段階は近い:
以上でインストールは完了です!
次の手順で、 Oracle Grid Infrastructureのインストールおよび構成を選択します。
拡張インストールタイプを選択します。
母国語サポートを追加します。
次のステップは、クラスター 名 、 SCAN 名 、およびポートを設定すること です 。 私たちにとっては次のようになります。
Cluster Name: rac-cluster SCAN name: rac scan SCAN Port: 1521
インストーラーはDNSサーバーに接続し、対応するSCANアドレスエントリの存在を確認します 。 すべてが正常である場合、次のステップでクラスターにノードを追加できます。 別のノードを追加する場合、 パブリックおよび仮想ホスト名フィールドに入力する必要があります。 パブリックホスト名は、ネットワーク上で識別するために使用されるコンピューターの名前です。 仮想ホスト名は、 Oracle GRIDで使用される仮想コンピュータ名です。 すべての交換には、DNSサーバーに適切なエントリが必要です。
私の場合、次のようになります。
ノード | パブリックホスト名 | 仮想ホスト名 |
1 | rac1-node.test.com.by | rac1-node-vip.test.com.by |
2 | rac2-node.test.com.by | rac2-node-vip.test.com.by |
クラスター内のすべてのノードを入力した後、将来のノード間のSSH接続を構成する必要があります。 これを行うには、 SSH接続ボタンをクリックして、
grid
ユーザーのパスワードを入力する必要があります(これが、すべてのユーザーが同じパスワードを持つ同じユーザーを持たなければならない理由です)。 セットアップボタンを押して接続を確立します。
すべてが正しく行われた場合、Oracle Gridはこれについて報告し、その後次のステップに進むことができます。
次のステップでは、ネットワークインターフェイスを配布します。これは外部インターフェイスであり、相互接続に使用されます。
次に、ストレージのタイプを決定する必要があります。 Oracle ASMの選択:
ディスクグループの名前を設定します。 この名前は、データベースデータファイルの場所を設定する際の開始点として使用されます。 冗長性を選択し、ブロックサイズを設定し、ディスクにマークを付けます。
Disk Group Name: DATA Redundancy: Normal AU Size: 2 MB
前の手順で作成したディスクを[ディスクの追加]フィールドに表示するには、[ ディスク検出パスの変更]ウィンドウでパス
/dev/oracleasm/disks*
を指定する必要があります。
ASMアカウントのパスワードを設定します。
適切なグループに特権を割り当てます。
Oracle BaseおよびSoftware Locationのインストールパスをリストします。
Oracle Inventoryのインストールパス:
すべてのパラメーターを設定した後、インストーラーはシステムの分析を開始します。その結果、アクションの印象的なリストが
[ 修正して再確認 ]ボタンをクリックすると、詳細な手順と起動手順を示す[ 修正 スクリプトの実行 ]ウィンドウが画面に表示されます。
アラートを修正する私の例を次に示します。
$ su Password: # cd /tmp/CVU_11.2.0.3.0_grid # ./runfixup.sh
すべての、
簡単な概要を受け取った後、インストールプロセスを開始します。
インストールプロセス:
インストール中に、
root
としていくつかのスクリプトを実行する必要があります。 詳細な手順は、[ 構成スクリプトの実行]ウィンドウで提供されます。
この場合、これらの指示は両方のノードで順番に実行する必要があります。
$ su Password: # cd /u01/app/oraInventory # ./orainstRoot.sh # cd /u01/app/11.2.0/grid # ./root.sh
インストールプロセス-最終段階は近い:
以上でインストールは完了です!
クラスターのすべてのノードを再起動します。
7.2インフラストラクチャの確認
すべてのノードをロードした後、ターミナルを開いて
クラスターノードの状態を確認します。
# cd /u01/app/11.2.0/grid/bin # ./crsctl status resource -t -------------------------------------------------------------------------------- NAME TARGET STATE SERVER STATE_DETAILS -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.DATA.dg ONLINE ONLINE rac1-node ONLINE ONLINE rac2-node ora.LISTENER.lsnr ONLINE ONLINE rac1-node ONLINE ONLINE rac2-node ora.asm ONLINE ONLINE rac1-node Started ONLINE ONLINE rac2-node Started ora.gsd OFFLINE OFFLINE rac1-node OFFLINE OFFLINE rac2-node ora.net1.network ONLINE ONLINE rac1-node ONLINE ONLINE rac2-node ora.ons ONLINE ONLINE rac1-node ONLINE ONLINE rac2-node -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.LISTENER_SCAN1.lsnr 1 ONLINE ONLINE rac2-node ora.LISTENER_SCAN2.lsnr 1 ONLINE ONLINE rac1-node ora.LISTENER_SCAN3.lsnr 1 ONLINE ONLINE rac1-node ora.cvu 1 ONLINE ONLINE rac1-node ora.oc4j 1 ONLINE ONLINE rac1-node ora.rac1-node.vip 1 ONLINE ONLINE rac1-node ora.rac2-node.vip 1 ONLINE ONLINE rac2-node ora.scan1.vip 1 ONLINE ONLINE rac2-node ora.scan2.vip 1 ONLINE ONLINE rac1-node ora.scan3.vip 1 ONLINE ONLINE rac1-node ora.wind.db 1 ONLINE ONLINE rac1-node Open 2 ONLINE ONLINE rac2-node Open
8.データベースソフトウェアのインストール
ユーザーの下で、インストールを実行するノードの1つにログインします
oracle
。ボールを取り付けます。さらに、Oracle GRIDの場合のように、インストールはグラフィカルウィザードを使用して実行されます。に代わって端末を起動し
oracle
ます。
[oracle@rac1-node /]$ cd /media/ora_linux/database [oracle@rac1-node /]$ ./runInstaller
段階的なインストールウィザード
:
: Install database software only . .
: Oracle Real Application Clusters database installation , , – . SSH- . SSH Connectivity ,
Setup :
SSH .
:
– Enterprise Edition :
Oracle Base Software Location :
:
, , . , No – . Fix & Check Again :
Fix & Check Again Execute Fixup Scripts :
:
.
. Task resolv.conf Integrity . , , :
:
:
. Execute Configuration scripts :
:
.
, Oracle Database Software !
: Install database software only . .
: Oracle Real Application Clusters database installation ,
oracle
Setup :
SSH .
:
– Enterprise Edition :
Oracle Base Software Location :
:
, , . , No – . Fix & Check Again :
Fix & Check Again Execute Fixup Scripts :
:
$ su Password: # cd /tmp/CVU_11.2.0.3.0_oracle # ./runfixup.sh
.
. Task resolv.conf Integrity . , , :
:
:
root
. Execute Configuration scripts :
:
$ su Password: # cd /u01/app/oracle/product/11.2.0/wncdb # ./root.sh
.
, Oracle Database Software !
9.データベースの作成とテスト
これで、データベースを作成してダンプを埋める準備がすべて整いました。
9.1データベースの作成
DB Configuration Assistantを起動します。
[oracle@rac1-node /]$ cd /u01/app/oracle/product/11.2.0/wncdb/bin [oracle@rac1-node /]$ ./dbca
段階的なデータベース作成プロセス
Oracle Real Application Clusters (RAC) database :
Create a Database :
:
Configuration Type , Global Database Name , :
Enterprise Manager :
SYS SYSTEM :
. DATA :
Browse , ASM Account :
:
Fast Recovery Area . :
:
SGA PGA :
:
:
:
, Redo Log :
, :
Summary – :
, :
, , :
Create a Database :
:
Configuration Type , Global Database Name , :
Enterprise Manager :
SYS SYSTEM :
. DATA :
Browse , ASM Account :
:
Fast Recovery Area . :
:
SGA PGA :
:
:
:
, Redo Log :
,
Summary – :
, :
, , :
9.2接続のテスト
それらのノードの1つから直接SQLplusを実行する場合は、
環境変数を登録します。
[oracle@rac1-server /]$ PATH=$PATH:/u01/app/oracle/product/11.2.0/wncdb/bin [oracle@rac1-server /]$ export PATH [oracle@rac1-server /]$ ORACLE_HOME=/u01/app/oracle/product/11.2.0/wncdb [oracle@rac1-server /]$ export ORACLE_HOME [oracle@rac1-server /]$ ORACLE_OWNER=oracle [oracle@rac1-server /]$ export ORACLE_OWNER [oracle@rac1-server /]$ NLS_LANG=AMERICAN_AMERICA.CL8MSWIN1251 [oracle@rac1-server /]$ export NLS_LANG
SQLplusを開始します。
[oracle@rac1-server /]$ sqlplus SQL*Plus: Release 11.2.0.3.0 Production on Thu Aug 14 11:41:49 2014 Copyright (c) 1982, 2011, Oracle. All rights reserved. Enter user-name: sys@wind as sysdba Enter password: Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options SQL> SELECT inst_name FROM v$active_instances; INST_NAME ------------------------------------------------------------ rac1-node.test.com.by:WIND1 rac2-node.test.com.by:WIND2 SQL> exit Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options [oracle@rac1-server /]$
Oracle Clientがインストールされている他の場所からデータベースに接続するには、
tnsnames.ora
追加する必要があります:
WIND = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = rac-scan.test.com.by)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = WIND) ) )
これらすべての操作の結果、デプロイされたテストデータベースを備えた機能する2つの単一クラスターができました!