ページの先頭行へ戻る
PRIMECLUSTER Wizard for Oracle 4.5 導入運用手引書
FUJITSU Software

付録C Oracle Grid InfrastructureのインストールとOracle ASMインスタンス、データベースの作成

ここではスタンバイ運用でOracle ASM を使用する場合の構築手順について説明します。

ポイント

スタンバイ運用で Oracle ASM を使用する場合は Oracle Grid Infrastructure をインストールする必要があります。

注意

  • Oracle Grid Infrastructure をインストールする場合は Oracle Database のインストールユーザーと Oracle Grid Infrastructure のインストールユーザーを分割する構成をサポートします。単一インストールユーザーの構成はサポート対象外です。
    また、Oracle Database のインストールユーザーの ORACLE_BASE 環境変数と Oracle Grid Infrastructure のインストールユーザーの ORACLE_BASE 環境変数は、異なるディレクトリを指定してください。

  • Oracle ASMのパラメータファイルおよびパスワードファイルを格納するディスクグループは、ノード間で共有しません。

Oracle Grid Infrastructure および Oracle Database は両ノードのローカルディスクにインストールします。

Oracle ASM インスタンスは両ノードで作成し、待機ノードでは運用ノードで作成したデータベースを格納するディスクグループをマウントします。データベースは運用ノードで作成し、待機ノードでは運用ノードで作成したデータベースを動作させるための設定をします。

以下に、構築手順を示します。

項番

概要

運用ノード

待機ノード

1

カーネルパラメータの設定

カーネルパラメータの設定

2

Grid ユーザー、Oracle ユーザーを作成

Grid ユーザー、Oracle ユーザーを作成

3

共用ディスク装置の設定

4

Oracle リソースを含まない userApplication の作成

Oracle リソースを含まない userApplication の作成

5

userApplication の起動

6

Oracle Grid Infrastructure をインストール

7

データベースを格納するDiskgroupを追加

8

Oracle Database をインストール

9

データベースを作成

10

Oracle リスナーのIPアドレスを修正

11

データベースのパラメータ・ファイルの確認

12

Oracle データベースのディレクトリ構成を確認

13

データベース、Oracle ASM、Oracle リスナーを停止

14

userApplication を切替え

15

Oracle Grid Infrastructure をインストール

16

データベースを格納するDiskgroupをマウント

17

Oracle Database をインストール

18

Oracleデータベースの環境設定

19

SYSTEM ユーザーパスワードの登録

SYSTEM ユーザーパスワードの登録

20

Oracle リスナーの再起動

21

Oracle ASMの再起動

22

データベースリソースの登録

23

データベースリソースの起動

24

データベース、Oracle ASM、Oracle リスナーを停止

各手順の詳細は以下の通りです。

  1. カーネルパラメータの設定
    PRIMECLUSTERで使用する値に、Oracleデータベース自身が使用する値を加えたものを/etc/sysctl.confに設定する必要があります。カーネルパラメータの設定は使用するOracle Databaseのバージョンやデータベースの構成によって異なるため、Oracle Databaseのインストールガイドを参照してください。パラメータの設定はすべてのノードで同一になることを推奨します。
    カーネルパラメータsemopmには、4以上の値を設定してください。

  2. Grid ユーザー、Oracle ユーザーを作成
    Oracle Grid Infrastructure のインストールユーザーとして Grid ユーザーを、Oracle Database のインストールユーザーとして Oracle ユーザーを作成してください。単一インストールユーザーの構成はサポート対象外です。
    Grid ユーザーの ORACLE_BASE 環境変数と Oracle ユーザーの ORACLE_BASE 環境変数は、異なるディレクトリを指定してください。
    Grid ユーザーの ORACLE_HOME 環境変数は Oracle Grid Infrastructure の ORACLE_HOME を設定してください。Oracle ユーザーの ORACLE_HOME 環境変数は、Oracle Database の ORACLE_HOME を設定してください。Grid ユーザーの ORACLE_SID 環境変数と Oracle ユーザーの ORACLE_SID 環境変数を設定してください。
    ユーザーID、グループID、環境変数は、全ノードで同一にしてください。

    Oracle ユーザーの環境変数の設定例です。
    (.bash_profile)

    ORACLE_BASE=/u01/app/oracle;  export ORACLE_BASE
    ORACLE_HOME=/u01/app/oracle/product/db;  export ORACLE_HOME
    ORACLE_SID=ora;  export ORACLE_SID
    PATH=$ORACLE_HOME/bin:/usr/bin:/bin:/usr/bin/X11/:/usr/local/bin;  export PATH

    Grid ユーザーの環境変数の設定例です。

    (.bash_profile)

    ORACLE_BASE=/u01/app/grid;  export ORACLE_BASE
    ORACLE_HOME=/u01/app/grid/product/db;  export ORACLE_HOME
    ORACLE_SID=+ASM;  export ORACLE_SID
    PATH=$ORACLE_HOME/bin:/usr/bin:/bin:/usr/bin/X11/:/usr/local/bin;  export PATH
  3. 共用ディスク装置の設定
    Oracle ASM で管理する共用ディスク装置を設定してください。このときデータベースを格納するための共用ディスクを作成してください。作成した共用ディスクのデバイスファイルの所有者には Grid ユーザーを設定してください。共用ディスクは以下の3つが最低必要です。

    • 運用ノードOracle ASM用ディスク
      運用ノードのOracle ASMを格納します。サイズは300MB以上にしてください。

    • 待機ノードOracle ASM用ディスク
      待機ノードのOracle ASMを格納します。サイズは300MB以上にしてください。

    • データベース用ディスク
      データベースを格納します。両ノードで使用します。

  4. Oracle リソースを含まない userApplication の作成
    Oracle Grid Infrastructure をインストールする前に Oracle リソースを含まない userApplication を作成してください。以下の章を参考にして userApplication を作成してください。

  5. 運用ノードで userApplication の起動
    運用ノードで userApplication を起動し、共用ディスク装置および論理IPアドレスが活性化されたことを確認してください。

  6. 運用ノードへ Oracle Grid Infrastructure をインストール
    Oracle Databaseのマニュアルおよびインストールガイドに従って、運用ノードのローカルディスクへ Grid ユーザーで Oracle Grid Infrastructure をインストールしてください。

    • Oracle Grid Infrastructureのインストール時のオプションは“Install and Configure Oracle Grid Infrastructure for a Standalone Server”を選択し、運用ノードOracle ASM用ディスクにOracle ASMを格納するDiskgroupを作成してください。

    Oracle ASM インスタンス作成時は SID の先頭に「+」がつくように設定してください (デフォルトでは“+ASM”となります) 。

  7. 運用ノードで データベース用Diskgroupを追加
    asmcaまたはSQL*Plusでデータベース用ディスクにデータベース用Diskgroupを追加します。asmcaについては Oracle Grid Infrastructure のマニュアルを参照してください。ここではSQL*Plusの手順を説明します。

    • Grid ユーザーになり、SQL*PlusでASMインスタンスに接続します。

      # su - <Gridユーザー>
      $ export ORACLE_SID=<ASMのSID>
      $ sqlplus / as sysasm
    • ASM_DISKSTRINGパラメータにデータベース用Diskgroupに関連付けられたディスク検出文字列を追加します

      SQL> alter system set asm_diskstring = <運用ノードOracle ASM用Diskgroupの検出文字列> , <データベース用Diskgroupの検出文字列> scope=both;
    • <運用ノードOracle ASM用Diskgroupの文字列>には、"6."で作成したDiskgroupのディスク検出文字列を指定します。

    • データベース用Diskgroupの文字列が複数ある場合は、",”で区切り指定してください。

    • ASM_DISKGROUPパラメータにデータベース用Diskgroupを追加します

      SQL> alter system set asm_diskgroups = <運用ノードOracle ASM用Diskgroup> , <データベース用Diskgroup> scope=both;
    • <運用ノードOracle ASM用ディスクの文字列>には、"6."で作成したDiskgroupを指定します。
      データベース用Diskgroupが複数ある場合は、",”で区切り指定してください。

    • データベース用Diskgroupを作成します

      SQL> create diskgroup <データベース用Diskgroup> disk <データベース用Diskgroupのディスク検出文字列>;
    • データベース用Diskgroupが複数ある場合は、Diskgroup分実行してください。

    データベース用Diskgroupが、2つある場合の例です。

    • 運用ノードOracle ASM用DiskgroupのDiskgroup名が"ASM1"で、ディスク検出文字列が"/dev/raw/raw1"

    • データベース用DiskgroupのDiskgroup名が"DATA"で、ディスク検出文字列が"/dev/raw/raw3"、"/dev/raw/raw4"

    • データベース(バックアップ)用DiskgroupのDiskgroup名が" BACKUP "で、ディスク検出文字列が"/dev/raw/raw5"

    • ASM用Diskgroupの"ASM1"は、すでにマウントされています。

      SQL> alter system set asm_diskstring = '/dev/raw/raw1' , '/dev/raw/raw3' , '/dev/raw/raw4', '/dev/raw/raw5' scope=both; 
      SQL> alter system set asm_diskgroups = 'ASM1' , 'DATA' , 'BACKUP' scope=both;
      SQL> create diskgroup 'DATA' disk '/dev/raw/raw3', '/dev/raw/raw4'; 
      SQL> create diskgroup 'BACKUP' EXTERNAL REDUNDANCY disk '/dev/raw/raw5';
  8. 運用ノードへ Oracle Database をインストール
    Oracle Databaseのマニュアルおよびインストールガイドに従って、運用ノードのローカルディスクへ Oracle ユーザーで Oracle Database をインストールしてください。ここでは、Oracle Database ソフトウェアのみをインストールして、データベースの作成は行わないでください。

  9. 運用ノードでデータベースを作成
    運用ノードで“7.”で追加した データベース用Diskgroup 上にデータベースを作成してください。

  10. Oracle リスナーのIPアドレスを修正
    論理IPアドレスを使用した Oracle リスナーの切替え運用をする場合は、以下のファイルを修正して Oracle リスナーの IPアドレスに論理IPアドレスを設定してください。

    • <Grid ユーザーの$ORACLE_HOME>/network/admin/listener.ora

    また、Oracle リスナーの監視で、tnsping による Oracle リスナー動作監視をする場合は、以下のファイルの設定をしてください。

    • <Oracle ユーザーの$ORACLE_HOME>/network/admin/tnsnames.ora

    • <Grid ユーザーの$ORACLE_HOME>/network/admin/tnsnames.ora

    修正方法については「2.2.6 データベースの作成/設定」を参照してください。

  11. データベースのパラメータ・ファイルの確認
    運用ノード上で Grid ユーザーで以下のコマンドを実行し、データベースのパラメータ・ファイルの場所を確認してください。

    # su - <Grid ユーザー>
    $ crsctl status resource <Oracleデータベースリソース名> -p | grep SPFILE
    SPFILE=+DATA/xxxx/spfilexxxx.ora  ←この行の“SPFILE=”から後ろを記録する

    Oracle データベースリソース名は、crsctl status resource -t コマンドで確認可能です。

    # su - <Grid ユーザー>
    $ crsctl status resource -t
    --------------------------------------------------------------------------------
    NAME           TARGET  STATE        SERVER                   STATE_DETAILS       
    --------------------------------------------------------------------------------
    Local Resources
    --------------------------------------------------------------------------------
    ora.DATA.dg
                   ONLINE  ONLINE       node1                                        
    ora.LISTENER.lsnr
                   ONLINE  ONLINE       node1                                        
    ora.asm
                   ONLINE  ONLINE       node1                    Started             
    ora.ons
                   OFFLINE OFFLINE      node1                                        
    --------------------------------------------------------------------------------
    Cluster Resources
    --------------------------------------------------------------------------------
    ora.orcl.db
          1        ONLINE  ONLINE       node1                    Open                
    ora.cssd
          1        ONLINE  ONLINE       node1                                        
    ora.diskmon
          1        OFFLINE OFFLINE                                                   
    ora.evmd
          1        ONLINE  ONLINE       node1                                        
    $

    この構成の場合、 "ora.orcl.db" が、Oracle データベースリソース名になります。

  12. データベースのディレクトリ構成を確認

    • 初期化パラメータの以下に設定されているディレクトリの、パスとアクセス権限を確認して下さい。

      • AUDIT_FILE_DEST、BACKGROUND_DUMP_DEST、CORE_DUMP_DEST、USER_DUMP_DEST、DIAGNOSTIC_DEST

  13. データベース、Oracle ASM、Oracle リスナーを停止
    運用ノード上で Grid ユーザーで以下のコマンドを実行し、データベース、Oracle ASM、Oracle リスナーを停止してください。<db_name>は“9.”で作成したデータベース名を指定してください。<diskgroup_name>は“6.”と“7.”で作成した Diskgroup を指定してください。

    # su - <Grid ユーザー>
    $ srvctl stop database -d <db_name>
    $ srvctl stop diskgroup -g <diskgroup_name>
    $ srvctl stop asm
    $ srvctl stop listener
  14. 待機ノードへ userApplication を切替え
    待機ノードへ userApplication を切替えて、共用ディスク装置および論理IPアドレスが活性化されたことを確認してください。

  15. 待機ノードへ Oracle Grid Infrastructure をインストール
    Oracle Databaseのマニュアルおよびインストールガイドに従って、待機ノードのローカルディスクへ Grid ユーザーで Oracle Grid Infrastructure をインストールしてください。

    Oracle Grid Infrastructureのインストール時のオプションは“Install and Configure Oracle Grid Infrastructure for a Standalone Server”を選択し、待機ノードOracle ASM用ディスクにOracle ASMを格納するDiskgroupを作成してください。Oracle ASM インスタンスの SID は“6.”で作成したOracle ASM インスタンスと同じ SID を指定してください。Oracle ASMを格納するDiskgroup は“6.”で作成した Diskgroup と異なる名前、ディスク検出文字列にしてください。

  16. 待機ノードで データベース用のDiskgroupをマウント

    • Grid ユーザーになり、SQL*PlusでASMインスタンスに接続します。

      # su - <Gridユーザー>
      $ export ORACLE_SID=<ASMのSID>
      $ sqlplus / as sysasm
    • ASM_DISKSTRINGパラメータにデータベース用のDiskgroupに関連付けられたディスク検出文字列を追加します

      SQL> alter system set asm_diskstring = <待機ノードOracle ASM用Diskgroupの検出文字列> , <データベース用Diskgroupの検出文字列> scope=both;
    • <待機ノードOracle ASM用Diskgroupの文字列>には、"15."で作成したDiskgroupのディスク検出文字列を指定します。

    • データベース用Diskgroupの文字列が複数ある場合は、",”で区切り指定してください。

    • ASM_DISKGROUPパラメータにデータベース用のDiskgroupを追加します

      SQL> alter system set asm_diskgroups = <待機ノードOracle ASM用Diskgroup> , <データベース用Diskgroup> scope=both;
    • <待機ノードOracle ASM用ディスクの文字列>には、"15."で作成したDiskgroupを指定します。

    • データベース用Diskgroupが複数ある場合は、",”で区切り指定してください。

    • データベース用のDiskgroupをマウントします

      SQL> alter diskgroup <データベース用Diskgroup> mount;
    • データベース用Diskgroupが複数ある場合は、Diskgroup分実行してください。

    データベース用Diskgroupが、2つある場合の例です。

    • 待機ノードOracle ASM用DiskgroupのDiskgroup名が"ASM2"で、ディスク検出文字列が"/dev/raw/raw2"

    • データベース用DiskgroupのDiskgroup名が"DATA"で、ディスク検出文字列が"/dev/raw/raw3"、"/dev/raw/raw4"

    • データベース(バックアップ)用DiskgroupのDiskgroup名が" BACKUP "で、ディスク検出文字列が"/dev/raw/raw5"

    • ASM用Diskgroupの"ASM2"は、すでにマウントされています。

      SQL> alter system set asm_diskstring = '/dev/raw/raw2' , '/dev/raw/raw3' , '/dev/raw/raw4', '/dev/raw/raw5' scope=both; 
      SQL> alter system set asm_diskgroups = 'ASM2' , 'DATA' , 'BACKUP' scope=both;
      SQL> alter diskgroup 'DATA' mount;
      SQL> alter diskgroup 'BACKUP' mount;
  17. Oracle Databaseのマニュアルおよびインストールガイドに従って、待機ノードのローカルディスクへ Oracle ユーザーで Oracle Database をインストールしてください。ここでは、Oracle Database ソフトウェアのみをインストールして、データベースの作成は行わないでください。

  18. Oracleデータベースの環境設定

    • 運用ノードの以下のディレクトリを、待機ノードへコピーしてください。

      • <Grid ユーザーの$ORACLE_HOME>/network/admin 配下

    • "12."で確認したディレクトリを、待機ノードでも作成して下さい。

    • 上記でコピーまたは作成したディレクトリとファイルのアクセス権限を運用ノードと同一にしてください。

    アーカイブ REDO ログ出力先などの設定を運用ノードで行った場合は、待機ノードでも同一の設定をしてください。

  19. SYSTEM ユーザーパスワードの登録
    任意の1ノード(運用ノードまたは待機ノード)で実行してください。
    PRIMECLUSTER Wizard for Oracle では、Oracle データベースの SYSTEM ユーザーとして Oracle インスタンスに接続し、Oracle インスタンスの監視をしています。そのため、SYSTEM ユーザーのパスワードを、PRIMECLUSTER Wizard for Oracle に登録する必要があります。「4.3 clorapass - 監視用パスワードの登録」を参照して、SYSTEM ユーザーのパスワードを登録してください。

    マルチテナント機能を使用したデータベースを作成した場合は、CDBのSYSTEM ユーザーのパスワードを登録してください。PDBのローカルユーザーのパスワードを登録する必要はありません。

  20. Oracle リスナーの再起動
    待機ノード上で Grid ユーザーで以下のコマンドを実行し、Oracle リスナーを再起動できることを確認してください。

    # su - <Grid ユーザー>
    $ srvctl stop listener
    $ srvctl start listener
  21. Oracle ASM の再起動
    待機ノード上で Grid ユーザーで以下のコマンドを実行し、Oracle ASM を再起動してください。

    # su - <Grid ユーザー>
    $ srvctl stop asm
    $ srvctl start asm
  22. データベースリソースの登録
    待機ノードの Oracle Restart に“9.”で作成したデータベースリソースを登録します。待機ノード上でOracle ユーザーで以下のコマンドを実行してください。<db_unique_name>と<db_name>は“9.”で作成したデータベースのデータベースユニーク名とデータベース名を指定してください。<oracle_home>は Oracle ユーザーの ORACLE_HOME を指定してください。<パラメータ・ファイルのパス>は“11.”で確認したデータベースのパラメータ・ファイルを指定してください。<disk_group_list>は“7.”で追加した Diskgroup を指定してください。

    # su - <Oracle ユーザー>
    $ srvctl add database -d <db_unique_name> -o <oracle_home> -p <パラメータ・ファイルのパス> -n <db_name> -a <disk_group_list>

    注意

    本コマンドをOracle Data Guardのスタンバイ・サイトで実行する場合、<db_unique_name>と<db_name>が異なることに注意してください。

  23. 待機ノードでデータベースリソースの起動
    待機ノード上で Grid ユーザーで以下のコマンドを実行し、データベースを起動できることを確認してください。<db_name>は“8.”で作成したデータベース名を指定してください。

    # su - <Grid ユーザー>
    $ srvctl start database -d <db_name>
  24. データベース、Oracle ASM、Oracle リスナーを停止
    待機ノード上で Grid ユーザーで以下のコマンドを実行し、データベース、Oracle ASM、Oracle リスナーを停止してください。<db_name>は“9.”で作成したデータベース名を指定してください。<diskgroup_name>は“15.”と"16.”で作成またはマウントした Diskgroup を指定してください。

    # su - <Grid ユーザー>
    $ srvctl stop database -d <db_name>
    $ srvctl stop diskgroup -g <diskgroup_name>
    $ srvctl stop asm
    $ srvctl stop listener

Oracle Grid Infrastructure および Oracle Database のインストールが完了したら、Oracle Restart の設定変更と userApplication の作成をします。これらの手順については、「2.3.2.1 環境構築時の注意」を参照してください。