方法:VirtualBoxにOracle Real Application Cluster 11gをデプロイする





1.背景



当社は、純粋に平和的な機器の連続生産に従事しており、生産からのすべての関連情報は、 VMware ESXを実行している仮想サーバー上にあるOracleデータベースに書き込まれます。 そして、すべてが調整されているようで、コンベヤは機能しており、データは書き込まれ、完成品は出荷されています。



しかし、ラックは、データベースサーバーに加えて、いくつかの不明瞭なサーバーの束にも基づいており、時には落下するという驚くべき特性があります。 はい、そして、ある時点でのデータベース自体では、何でも起こり得ます。 もちろん、最初に頭に浮かぶのは、データベースバックアップの有能な組織、またはVMwareスパップショットの作成です。 ただし、これらのすべてのアクションは、機器に障害が発生した場合、データベースとコンベア全体のそれぞれの連続動作を許可しません。 一般的に、私は他の解決策を試してみたかった。



この問題に関する会議がIT部門で再度開催されたとき、 Oracle Real Application Clusterを引き上げ、その上に本番データベースをデプロイするというアイデアを試すことにしました。 唯一の問題は、その時点で誰もこれを行う方法を知らなかったことでした。



ハードウェアを購入して新しいサーバーを展開する前に、選択したテクノロジーをVM VirtualBoxを使用してローカルでテストすることが決定されました。 数週間にスムーズに移行し、空気などの必要な情報を検索して消化した数週間後、クラスターがようやく起動し、最初のテストを開始することができました。 したがって、 nノード( n> = 2 )クラスターを作成する場合は、catにようこそ。



2.ソフトウェア



最初に、クラスターの構築に使用されたソフトウェアのリスト全体をお知らせします。

  1. Oracle VM VirtualBox。 執筆時点で、Windowsの最新バージョンは4.3.14でした。 こちらからダウンロードできます。
  2. Oracle Linux Server 6.5 for x86-64。 将来のクラスターのノードはこの軸にデプロイされます。
  3. Linux x86-64用のOracle Grid Infrastructure 11gリリース2(11.2.0.3.0)。
  4. Linux x86-64用のOracle Database 11gリリース2(11.2.0.3.0)。
  5. CentOS 6.4またはDNSサーバーのその他の軸。


3.クラスターインフラストラクチャの説明



クラスターは3つの仮想マシンで構成されます。最初の2つはクラスターノードを直接ホストし、3つ目はDNSサーバーとして使用されます。 すべてのクラスターノードは、特別な方法で作成された5 VDI( 仮想ディスクイメージ )に同時に接続されます。 これらのディスクからディスクグループが作成され、Oracleデータベースデータが格納されます。



これがどのように見えるかを示す図のスケッチ:




3.1ネットワークインフラストラクチャ


クラスターを構築するには、3つのサブネットが使用されます。

  1. LAN 1:クライアントをデータベースに接続するために使用される外部ネットワークインターフェイス。
  2. LAN 2:相互接続用の内部ネットワークインターフェイス。
  3. LAN 3:インストール段階でパッケージをインストールおよび更新するには、インターネットにアクセスできる外部ネットワークが必要です。


次に、クラスターが使用するネットワークアドレスが必要です。 それらをどのように、どこで尋ねるかについては、後で説明します。

クラスタに関係するアドレスは次のとおりです。
サーバー名 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アドレス。 これらは、外部ネットワークインターフェイス上のノードに割り当てられた論理ネットワークアドレスです。 クラスターノードが使用できなくなるとすぐに、理論的には、クラスター内の別のノードが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 SystemASM 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を使用できます):





5.2 OSのインストール


詳細なプロセス
OSのインストールに進みます。 サーバーの名前を設定します: 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 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を選択します。





6.2 OSのインストール


詳細なプロセス
Oracle Linuxのインストールを開始します。 [ 既存のシステムのインストールまたはアップグレード]を選択します





ネイティブインストール言語を選択します。





ただし、キーボードレイアウトはデフォルトのままにしておく方が適切です。





ドライブの標準タイプを選択します。





最初のクラスターノードに名前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を使用できます。 これを行うには、[ システム]- [ 管理]-[ファイアウォール]を選択します。 [ オフにして適用]をクリックします。





さらに、 /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 LinuxOracle 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



としてすべての操作を実行します!

マークアップ:
 # 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 、およびポートを設定すること です 。 私たちにとっては次のようになります。

 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 , 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 – :





, :





, , :





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つの単一クラスターができました!



All Articles