JP1/PFM - Agent Option for Oracle(クラスタ)の構築

node1: mmm121 CentOS7 JP1/PFM - Base JP1/PFM - Agent Option for Oracle
node2: mmm122 CentOS7 JP1/PFM - Base JP1/PFM - Agent Option for Oracle
node3(iSCSItarget): mmm123 JP1/PFM - Manager JP1/PFM - Web Console
管理サーバ: mmm161 Windows Server2012R2

マニュアル:
JP1 Version 12 JP1/Performance Management 運用ガイド
JP1 Version 12 JP1/Performance Management 設計・構築ガイド
JP1 Version 12 JP1/Performance Management - Agent Option for Oracle


論理ホスト名 mmm120
実行系物理ホスト名 mmm121
待機系物理ホスト名 mmm122

前提:
CLUSTERPROインストール済
論理ホスト名と物理ホスト名が/etc/hostsに設定済

 

論理ホスト名について注意:
論理ホスト名に,物理ホスト名(hostnameコマンドで表示されるホスト名)を指定しないでください。サービスが起動できなくなります。

-------------------------------------------------------

【1】Oracle 12cR1 インストール[node1,node2]

yum -y install \
binutils \
compat-libcap1 \
compat-libstdc++-33.i686 \
compat-libstdc++-33 \
glibc.i686 \
glibc \
glibc-devel.i686 \
glibc-devel \
ksh \
libaio.i686 \
libaio \
libaio-devel.i686 \
libaio-devel \
libgcc.i686 \
libgcc \
libstdc++.i686 \
libstdc++ \
libstdc++-devel.i686 \
libstdc++-devel \
libxcb.i686 \
libxcb \
libX11.i686 \
libX11 \
libXau.i686 \
libXau \
libXi.i686 \
libXi \
libXtst.i686 \
libXtst \
make \
net-tools \
nfs-utils \
smartmontools \
sysstat

yum install -y gcc-c++

vim /etc/sysctl.conf

kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576

sysctl -p

groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
groupadd -g 54324 backupdba
groupadd -g 54325 dgdba
groupadd -g 54326 kmdba

useradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba oracle


echo oracle | passwd --stdin oracle

mkdir -p /u01/app/oracle

chown -R oracle:oinstall /u01
chmod -R 775 /u01


vim /etc/pam.d/login
session required pam_limits.so

vim /etc/security/limits.conf

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768


vim /home/oracle/.bash_profile

export ORACLE_BASE=/u01/app/oracle
umask 022

vim /etc/default/grub

GRUB_CMDLINE_LINUXの項目に設定追記(transparent_hugepage=never)します

grub2-mkconfig -o /boot/grub2/grub.cfg
reboot

cat /sys/kernel/mm/transparent_hugepage/enabled

--oracleユーザで実行
LANG=C ./runInstaller

 

【2】データベースの作成[node1]

mkdir -p /mnt/sdc2/oracle/oradata
mkdir -p /mnt/sdc2/oracle/fra

chown -R oracle:oinstall /mnt/sdc2/oracle
chmod -R 775 /mnt/sdc2/oracle

su - oracle

vim /home/oracle/.bash_profile

export ORACLE_SID=orcl
export ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1
export NLS_LANG=Japanese_Japan.AL32UTF8
export PATH=$PATH:$ORACLE_HOME/bin

. /home/oracle/.bash_profile

 


mkdir -p /mnt/sdc2/oracle/oradata/orcl

vim $ORACLE_HOME/dbs/initorcl.ora
db_name='orcl'
memory_target=800M
db_domain='example.com'
control_files = ('/mnt/sdc2/oracle/oradata/orcl/control01.ctl','/mnt/sdc2/oracle/oradata/orcl/control02.ctl')

sqlplus / as sysdba


startup nomount;

CREATE DATABASE orcl
USER SYS IDENTIFIED BY oracle
USER SYSTEM IDENTIFIED BY oracle
LOGFILE GROUP 1 ('/mnt/sdc2/oracle/oradata/orcl/redo01a.log','/mnt/sdc2/oracle/oradata/orcl/redo01b.log') SIZE 100M BLOCKSIZE 512,
GROUP 2 ('/mnt/sdc2/oracle/oradata/orcl/redo02a.log','/mnt/sdc2/oracle/oradata/orcl/redo02b.log') SIZE 100M BLOCKSIZE 512,
GROUP 3 ('/mnt/sdc2/oracle/oradata/orcl/redo03a.log','/mnt/sdc2/oracle/oradata/orcl/redo03b.log') SIZE 100M BLOCKSIZE 512
MAXLOGHISTORY 1
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 1024
CHARACTER SET AL32UTF8
NATIONAL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL
DATAFILE '/mnt/sdc2/oracle/oradata/orcl/system01.dbf'
SIZE 700M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
SYSAUX DATAFILE '/mnt/sdc2/oracle/oradata/orcl/sysaux01.dbf'
SIZE 550M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
DEFAULT TABLESPACE users
DATAFILE '/mnt/sdc2/oracle/oradata/orcl/users01.dbf'
SIZE 50M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE temp
TEMPFILE '/mnt/sdc2/oracle/oradata/orcl/temp01.dbf'
SIZE 20M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED
UNDO TABLESPACE undo
DATAFILE '/mnt/sdc2/oracle/oradata/orcl/undo01.dbf'
SIZE 20M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED
USER_DATA TABLESPACE usertbs
DATAFILE '/mnt/sdc2/oracle/oradata/orcl/usertbs01.dbf'
SIZE 20M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;


@?/rdbms/admin/catalog.sql
@?/rdbms/admin/catproc.sql
@?/rdbms/admin/utlrp.sql
conn system/oracle
@?/sqlplus/admin/pupbld.sql
conn / as sysdba
create spfile from pfile;
shutdown immediate;
startup;


cd /u01/app/oracle/diag/rdbms/orcl/orcl/trace
grep ORA- alert_orcl.log


【3】データベース作成後の作業[node1,node2]

--node2で実行

su - oracle

vim /home/oracle/.bash_profile

export ORACLE_SID=orcl
export ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1
export NLS_LANG=Japanese_Japan.AL32UTF8
export PATH=$PATH:$ORACLE_HOME/bin

. /home/oracle/.bash_profile

mkdir $ORACLE_BASE/admin

--node1で実行

パスワードファイル生成
cd $ORACLE_HOME/dbs

orapwd file=orapworcl format=12

spfileの移動
mv spfileorcl.ora /mnt/sdc2/oracle/oradata/orcl/


pfileの作成
vim initorcl.ora

下記に書き換え
spfile=/mnt/sdc2/oracle/oradata/orcl/spfileorcl.ora


scp $ORACLE_HOME/dbs/hc_orcl.dat mmm122:$ORACLE_HOME/dbs
scp $ORACLE_HOME/dbs/initorcl.ora mmm122:$ORACLE_HOME/dbs
scp $ORACLE_HOME/dbs/lkORCL mmm122:$ORACLE_HOME/dbs
scp $ORACLE_HOME/dbs/orapworcl mmm122:$ORACLE_HOME/dbs
scp -r $ORACLE_BASE/admin/orcl mmm122:$ORACLE_BASE/admin/
scp -r $ORACLE_BASE/diag/rdbms/orcl mmm122:$ORACLE_BASE/diag/rdbms/

 


【4】リスナーの作成[node1,node2]

vim $ORACLE_HOME/network/admin/listener.ora

LISTENER = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.137.22)(PORT = 1521))

vim $ORACLE_HOME/network/admin/tnsnames.ora

listener=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.137.22)(PORT = 1521))
)
)

orcl =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.137.22)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl.example.com)
)
)


sqlplus / as sysdba
shutdown immediate;
startup

alter system set local_listener='listener';

 

 


【5】リリースノート確認[node1,node2,node3]

JP1/Performance Management - Managerリリースノート

2. 本製品をご使用いただくには,以下に示すRPMパッケージまたは
その後継RPMパッケージの適用が必要となります。
glibc-2.17-78.el7.i686.rpm ※1
glibc-2.17-78.el7.x86_64.rpm ※2
・libstdc++-4.8.3-9.el7.i686.rpm
・libstdc++-4.8.3-9.el7.x86_64.rpm
・ncurses-5.9-13.20130511.el7.x86_64.rpm
・nss-softokn-freebl-3.16.2.3-9.el7.i686.rpm
・nss-softokn-freebl-3.16.2.3-9.el7.x86_64.rpm
・libgcc-4.8.3-9.el7.i686.rpm
・libgcc-4.8.3-9.el7.x86_64.rpm
・iproute-3.10.0-21.el7.x86_64.rpm


3. 定義情報のバックアップコマンド(jpccfgbackupコマンド)をご使用いただくには,
以下に示すRPMパッケージまたはその後継RPMパッケージの適用が必要となります。
ksh-20120801-19.el7.x86_64.rpm

JP1/Performance Management - Web Consoleリリースノート

2. 本製品をご使用いただくには,以下に示すRPMパッケージまたは
その後継RPMパッケージの適用が必要となります。
glibc-2.17-78.el7.i686.rpm ※1
・libstdc++-4.8.3-9.el7.i686.rpm
・libgcc-4.8.3-9.el7.i686.rpm
・ncompress-4.2.4.4-3.el7.x86_64.rpm
・tar-1.26-29.el7.x86_64.rpm
gdb-7.6.1-64.el7.x86_64.rpm
gzip-1.5-7.el7.x86_64.rpm
・lksctp-tools-1.0.13-3.el7.x86_64.rpm
・net-tools-2.0-0.17.20131004git.el7.x86_64.rpm
・ncurses-5.9-13.20130511.el7.x86_64.rpm
glibc-2.17-78.el7.x86_64.rpm ※2
glibc-common-2.17-78.el7.x86_64.rpm ※3
glibc-devel-2.17-78.el7.i686.rpm ※4
glibc-devel-2.17-78.el7.x86_64.rpm ※5
glibc-headers-2.17-78.el7.x86_64.rpm ※6
glibc-utils-2.17-78.el7.x86_64.rpm ※7
・nscd-2.17-78.el7.x86_64.rpm ※8
tcsh-6.18.01-7.el7.x86_64.rpm
・nss-softokn-freebl-3.16.2.3-9.el7.i686.rpm
・sysstat-10.1.5-7.el7.x86_64.rpm
yum update -y

rpm -qa | grep glibc
rpm -qa | grep libstdc
rpm -qa | grep ncurses
rpm -qa | grep nss-softokn-freebl
rpm -qa | grep libgcc
rpm -qa | grep iproute
rpm -qa | grep ksh
rpm -qa | grep ncompress
rpm -qa | grep tar
rpm -qa | grep gdb
rpm -qa | grep gzip
rpm -qa | grep lksctp-tools
rpm -qa | grep net-tools
rpm -qa | grep nscd
rpm -qa | grep tcsh
rpm -qa | grep sysstat


yum -y install \
glibc.i686 \
glibc-devel.x86_64 \
glibc-devel.i686 \
glibc-headers.x86_64 \
glibc-utils.x86_64 \
libstdc++.i686 \
nss-softokn-freebl.i686 \
libgcc.i686 \
ksh.x86_64 \
nscd.x86_64

 

 

JP1/Performance Management - Baseリリースノート

2. 本製品をご使用いただくには,以下に示すRPMパッケージまたは
その後継RPMパッケージの適用が必要となります。
glibc-2.17-78.el7.i686.rpm ※1
glibc-2.17-78.el7.x86_64.rpm ※2
・libstdc++-4.8.3-9.el7.i686.rpm
・libstdc++-4.8.3-9.el7.x86_64.rpm
・ncurses-5.9-13.20130511.el7.x86_64.rpm
・nss-softokn-freebl-3.16.2.3-9.el7.i686.rpm
・nss-softokn-freebl-3.16.2.3-9.el7.x86_64.rpm
・libgcc-4.8.3-9.el7.i686.rpm
・libgcc-4.8.3-9.el7.x86_64.rpm
・iproute-3.10.0-21.el7.x86_64.rpm

3. 定義情報のバックアップコマンド(jpccfgbackupコマンド)をご使用いただくには,
以下に示すRPMパッケージまたはその後継RPMパッケージの適用が必要となります。
ksh-20120801-19.el7.x86_64.rpm

JP1/Performance Management - Agent Option for Oracleリリースノート
パッケージ要件の記載なし


yum update -y

rpm -qa | grep glibc
rpm -qa | grep libstdc
rpm -qa | grep ncurses
rpm -qa | grep nss-softokn-freebl
rpm -qa | grep libgcc
rpm -qa | grep iproute
rpm -qa | grep ksh
rpm -qa | grep ncompress
rpm -qa | grep tar
rpm -qa | grep gdb
rpm -qa | grep gzip
rpm -qa | grep lksctp-tools
rpm -qa | grep net-tools
rpm -qa | grep nscd
rpm -qa | grep tcsh
rpm -qa | grep sysstat


yum -y install \
glibc.i686 \
glibc-devel.x86_64 \
glibc-devel.i686 \
glibc-headers.x86_64 \
glibc-utils.x86_64 \
libstdc++.i686 \
nss-softokn-freebl.i686 \
libgcc.i686 \
ksh.x86_64 \
nscd.x86_64


【6】マネージャホストのセットアップ[mmm123]


【6.1】JP1/PFM - Manageインストール

export LANG=ja_JP.UTF-8
/bin/mount -t iso9660 -r JP1PFM_1200L_P.iso /mnt
/mnt/x64lin/setup /mnt

最後のYは小文字で入力
umount /mnt

【6.2】JP1/PFM - Web Consoleインストール

export LANG=ja_JP.UTF-8
/bin/mount -t iso9660 -r JP1PFM_1200L_P.iso /mnt
/mnt/x64lin/setup /mnt

最後のYは小文字で入力
umount /mnt

【6.3】JP1/PFM - Manageのセットアップ

(1) LANG環境変数の設定

localectl

【6.4】JP1/PFM - Web Consoleのセットアップ

(1) LANG環境変数の設定

localectl


【6.5】サービス起動
----PFM Managementサービス確認
/opt/jp1pc/tools/jpctool service list -key all


----PFM Managementサービス起動
/opt/jp1pc/tools/jpcspm start -key all


----PFM Managementサービス停止
/opt/jp1pc/tools/jpcspm stop -key all


----PFM - Web Consoleのサービス起動
/opt/jp1pcwebcon/tools/jpcwstart

----PFM - Web Consoleのサービス停止
/opt/jp1pcwebcon/tools/jpcwstop

なお,あらかじめpfmwebcon_host.confファイルを編集しておくことで,
jpctool service listコマンドを実行するホストにインストールされているPFM - Web Consoleのサービスの稼働状況をあわせて確認できるようになります。
編集方法は,PFM - ManagerまたはPFM - Baseと,PFM - Web Consoleを連携して起動・停止させる場合と同様です。
編集方法については,「1.4.1 起動および停止を連携させるための設定」を参照してください。

vim /opt/jp1pcwebcon/conf/pfmwebcon_host.conf

HOST_NAME=localhost


----PFM - Web Consoleのサービス確認
/opt/jp1pc/tools/jpctool service list -key wc

【6.6】監視コンソールログイン

http://192.168.137.123:20358/PFMWebConsole/login.do


ユーザ名:ADMINISTRATOR
パスワード:設定なし

(7) ユーザーアカウントを作成する

(8) PFM - Web Consoleの認証用のキーファイルを作成する

View Serverサービスが起動していることを確認

/opt/jp1pc/tools/jpctool service list -id "*" -host "*"


Performance Managementの運用で使用するユーザーアカウントのユーザー名およびパスワードを指定する

/opt/jp1pcwebcon/tools/jpcmkkey -user "ADMINISTRATOR" -password 'Aaa!1234'

 

【7】エージェントホストのセットアップ[mmm121,mmm122]

【7.1】実行系 JP1/PFM - Baseインストール[mmm121]
export LANG=ja_JP.UTF-8
/bin/mount -t iso9660 -r JP1PFM_1200L_P.iso /mnt
/mnt/x64lin/setup /mnt

最後のYは小文字で入力
umount /mnt

【7.2】待機系 JP1/PFM - Baseインストール[mmm122]
export LANG=ja_JP.UTF-8
/bin/mount -t iso9660 -r JP1PFM_1200L_P.iso /mnt
/mnt/x64lin/setup /mnt

最後のYは小文字で入力
umount /mnt


【7.3】実行系 JP1/PFM - Agent for Oracleインストール[mmm121]
export LANG=ja_JP.UTF-8
/bin/mount -t iso9660 -r JP1PFM_1200L_P.iso /mnt
/mnt/x64lin/setup /mnt

最後のYは小文字で入力
umount /mnt


【7.4】待機系 JP1/PFM - Agent for Oracleインストール[mmm122]
export LANG=ja_JP.UTF-8
/bin/mount -t iso9660 -r JP1PFM_1200L_P.iso /mnt
/mnt/x64lin/setup /mnt

最後のYは小文字で入力
umount /mnt


【7.5】JP1/PFM - Agent for Oracleのセットアップ

(3) PFM - Agentの論理ホストのセットアップ[mmm121]


※Performance Managementシステム全体で,Performance Managementのプログラムおよびサービスをすべて停止

----PFM Managementサービス確認
/opt/jp1pc/tools/jpctool service list -key all


----PFM Managementサービス起動
/opt/jp1pc/tools/jpcspm start -key all


----PFM Managementサービス停止
/opt/jp1pc/tools/jpcspm stop -key all

 

/opt/jp1pc/tools/jpcconf ha setup -key Oracle -lhost mmm120 -d /mnt/sdc2


/opt/jp1pc/tools/jpcconf ha list -key all


(4) 接続先PFM - Managerの設定[mmm121]


/opt/jp1pc/tools/jpcconf mgrhost define -host mmm123 -lhost mmm120


(5) 使用するOracleのアカウントの作成[mmm121]

username: MONUSER
default tablespace: USERS
default temporary tablespace: TEMP

--監視に使用するアカウントの作成

su - oracle

cd /opt/jp1pc/agto/agent/sql

sqlplus / as sysdba

@mk_user.sql

sqlplus / as sysdba

select DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE from DBA_USERS where USERNAME='MONUSER';

exit
exit

(6) インスタンス環境の設定[mmm121]


/opt/jp1pc/tools/jpcconf inst setup -key Oracle -lhost mmm120 -inst orcl


oracle_sid: orcl
oracle_home: /u01/app/oracle/product/12.1.0/dbhome_1
oracle_version: 12
oracle_user: MONUSER
oracle_passwd: MONUSER
sqlnet: N
net_service_name: orcl
listener_home: /u01/app/oracle/product/12.1.0/dbhome_1
listener_name: LISTENER
log_path: /opt/jp1pc/agto/agent/orcl/log
log_size: 16
timeout: 0
sql_option: N
numeric_10: 0
startup_always: Y
localtemp_option: N
nls_lang: Japanese_Japan.AL32UTF8
undospace_option: Y
Store Version: 2.0


su - oracle

cd /opt/jp1pc/agto/agent/sql

sqlplus MONUSER @sp_inst.sql


sqlplus / as sysdba

show parameter timed_statistics

alter system set timed_statistics = true;

exit
exit

(12) 論理ホスト環境定義ファイルのエクスポート[mmm121]


/opt/jp1pc/tools/jpcconf ha export -f /root/lhostexp.conf

(13) 論理ホスト環境定義ファイルの待機系ノードへのコピー[mmm121]


scp /root/lhostexp.conf mmm122:/root

 

(15) 論理ホスト環境定義ファイルのインポート[mmm122]

/opt/jp1pc/tools/jpcconf ha import -f /root/lhostexp.conf

/opt/jp1pc/tools/jpcconf ha list -key all


【8】クラスタソフトへの登録

【8.1】Oracle Databaseの登録[管理サーバ]


タイプ: execute resource
名前: oracle

依存するリソース: disk1,fip1


--start.sh
同期
タイムアウト:300秒

#! /bin/sh
#***************************************
#* start.sh *
#***************************************

#ulimit -s unlimited

if [ "$CLP_EVENT" = "START" ]
then
if [ "$CLP_DISK" = "SUCCESS" ]
then
echo "NORMAL1"

su -l oracle -c 'lsnrctl start listener'
if [ $? -ne 0 ]
then
echo "listener start error"
exit 1
fi
su -l oracle -c 'export ORACLE_SID=orcl;sqlplus /nolog @/mnt/sdc2/oracle/oradata/orcl/startup.sql'
if [ $? -ne 0 ]
then
echo "db start error"
su -l oracle -c 'lsnrctl stop listener'
exit 1
fi

if [ "$CLP_SERVER" = "HOME" ]
then
echo "NORMAL2"
else
echo "ON_OTHER1"
fi
else
echo "ERROR_DISK from START"
exit 1
fi
elif [ "$CLP_EVENT" = "FAILOVER" ]
then
if [ "$CLP_DISK" = "SUCCESS" ]
then
echo "FAILOVER1"

su -l oracle -c 'lsnrctl start listener'
if [ $? -ne 0 ]
then
echo "listener start error"
exit 1
fi
su -l oracle -c 'export ORACLE_SID=orcl;sqlplus /nolog @/mnt/sdc2/oracle/oradata/orcl/startup.sql'
if [ $? -ne 0 ]
then
echo "db start error"
su -l oracle -c 'lsnrctl stop listener'
exit 1
fi

if [ "$CLP_SERVER" = "HOME" ]
then
echo "FAILOVER2"
else
echo "ON_OTHER2"
fi
else
echo "ERROR_DISK from FAILOVER"
exit 1
fi
else
echo "NO_CLP"
exit 1
fi
echo "EXIT"
exit 0


--stop.sh
同期
タイムアウト:300秒

#! /bin/sh
#***************************************
#* stop.sh *
#***************************************

#ulimit -s unlimited

if [ "$CLP_EVENT" = "START" ]
then
if [ "$CLP_DISK" = "SUCCESS" ]
then
echo "NORMAL1"

su -l oracle -c 'export ORACLE_SID=orcl;sqlplus /nolog @/mnt/sdc2/oracle/oradata/orcl/shutdown.sql '
if [ $? -ne 0 ]
then
echo "db shutdown error"
clplogcmd -m "db shutdown error" -i 1 -l ERR
fi
su -l oracle -c 'lsnrctl stop listener'
if [ $? -ne 0 ]
then
echo "listener stop error"
clplogcmd -m "listener stop error" -i 2 -l ERR
fi

if [ "$CLP_SERVER" = "HOME" ]
then
echo "NORMAL2"
else
echo "ON_OTHER1"
fi
else
echo "ERROR_DISK from START"
exit 1
fi
elif [ "$CLP_EVENT" = "FAILOVER" ]
then
if [ "$CLP_DISK" = "SUCCESS" ]
then
echo "FAILOVER1"

su -l oracle -c 'export ORACLE_SID=orcl;sqlplus /nolog @/mnt/sdc2/oracle/oradata/orcl/shutdown.sql '
if [ $? -ne 0 ]
then
echo "db shutdown error"
clplogcmd -m "db shutdown error" -i 1 -l ERR
fi
su -l oracle -c 'lsnrctl stop listener'
if [ $? -ne 0 ]
then
echo "listener stop error"
clplogcmd -m "listener stop error" -i 2 -l ERR
fi


if [ "$CLP_SERVER" = "HOME" ]
then
echo "FAILOVER2"
else
echo "ON_OTHER2"
fi
else
echo "ERROR_DISK from FAILOVER"
exit 1
fi
else
echo "NO_CLP"
exit 1
fi
echo "EXIT"
exit 0

--スクリプト作成

vim /mnt/sdc2/oracle/oradata/orcl/startup.sql

whenever sqlerror exit 1
connect / as sysdba
startup
exit;


vim /mnt/sdc2/oracle/oradata/orcl/shutdown.sql

whenever sqlerror exit 1
connect / as sysdba
shutdown immediate
exit;


-- 監視リソースの設定[管理サーバ]

タイプ:custom monitor
名前: oracle_mon

監視タイプ:同期

--genw.sh


#! /bin/sh
#***********************************************
#* genw.sh *
#***********************************************

ulimit -s unlimited

CNT=`ps -ef | grep ora_pmon_orcl | grep -v grep | wc -l`

if [ $CNT -ne 1 ]; then
exit 1
fi

exit 0


回復動作: failover1に対してフェイルオーバ実行

 


【8.2】JP1/PFM - Agent for Oracleの登録[管理サーバ]

タイプ: execute resource
名前: pafo

依存するリソース: disk1,fip1,oracle


--start.sh
同期
タイムアウト:300秒

#! /bin/sh
#***************************************
#* start.sh *
#***************************************

#ulimit -s unlimited

if [ "$CLP_EVENT" = "START" ]
then
if [ "$CLP_DISK" = "SUCCESS" ]
then
echo "NORMAL1"

/opt/jp1pc/tools/jpcspm start -key AH -lhost mmm120
/opt/jp1pc/tools/jpcspm start -key Oracle -lhost mmm120 -inst orcl
sleep 10

if [ "$CLP_SERVER" = "HOME" ]
then
echo "NORMAL2"
else
echo "ON_OTHER1"
fi
else
echo "ERROR_DISK from START"
exit 1
fi
elif [ "$CLP_EVENT" = "FAILOVER" ]
then
if [ "$CLP_DISK" = "SUCCESS" ]
then
echo "FAILOVER1"

/opt/jp1pc/tools/jpcspm start -key AH -lhost mmm120
/opt/jp1pc/tools/jpcspm start -key Oracle -lhost mmm120 -inst orcl
sleep 10


if [ "$CLP_SERVER" = "HOME" ]
then
echo "FAILOVER2"
else
echo "ON_OTHER2"
fi
else
echo "ERROR_DISK from FAILOVER"
exit 1
fi
else
echo "NO_CLP"
exit 1
fi
echo "EXIT"
exit 0


--stop.sh
同期
タイムアウト:300秒

#! /bin/sh
#***************************************
#* stop.sh *
#***************************************

#ulimit -s unlimited

if [ "$CLP_EVENT" = "START" ]
then
if [ "$CLP_DISK" = "SUCCESS" ]
then
echo "NORMAL1"

/opt/jp1pc/tools/jpcspm stop -key Oracle -lhost mmm120 -inst orcl
/opt/jp1pc/tools/jpcspm stop -key AH -lhost mmm120
sleep 10

if [ "$CLP_SERVER" = "HOME" ]
then
echo "NORMAL2"
else
echo "ON_OTHER1"
fi
else
echo "ERROR_DISK from START"
exit 1
fi
elif [ "$CLP_EVENT" = "FAILOVER" ]
then
if [ "$CLP_DISK" = "SUCCESS" ]
then
echo "FAILOVER1"

/opt/jp1pc/tools/jpcspm stop -key Oracle -lhost mmm120 -inst orcl
/opt/jp1pc/tools/jpcspm stop -key AH -lhost mmm120
sleep 10


if [ "$CLP_SERVER" = "HOME" ]
then
echo "FAILOVER2"
else
echo "ON_OTHER2"
fi
else
echo "ERROR_DISK from FAILOVER"
exit 1
fi
else
echo "NO_CLP"
exit 1
fi
echo "EXIT"
exit 0

 

 

-- 監視リソースの設定[管理サーバ]

タイプ:custom monitor
名前: pafo_mon

監視タイプ:同期

--genw.sh


#! /bin/sh
#***********************************************
#* genw.sh *
#***********************************************

ulimit -s unlimited


CNT=`ps -ef | grep "jpcagto_orcl mmm120" | grep -v grep | wc -l`

if [ $CNT -ne 1 ]; then
exit 1
fi

 

exit 0


回復動作: 最終動作のみ実行
回復対象:pafo
最終動作:リソース停止

 

 

【9】動作確認

--1.6.6 監視コンソールに監視エージェントを表示する(Linuxの場合)


--2.3 監視に必要な準備
--2.3.1 使用する監視テンプレートを選択する流れ(業務システムの監視と問題への対処)
--2.3.2 監視エージェントにアラームテーブルをバインドする
--2.3.3 正しく監視が開始されているかを確認する
--2.4 監視状況の確認と調査
--2.4.1 システムの概況を確認する
--2.4.2 アラームの状態を確認する
--2.4.3 アラームに関連づけられているレポートを表示する
--2.4.4 ドリルダウンレポートを表示する