[Oracle Cloud] Enterprise Manager の作成と、DBaaS で作成した Data Guard インスタンスのモニタリング

# はじめに

**内容が古くなっています。[こちら](https://qiita.com/sugimount/items/1ca6aedfaa08e43ef9b4)をご参照ください**

Oracle Cloud Infrastructure (以下OCI)では、Oracle Database などを対象にしたシステムの運用管理ツールとして、Enterprise Manager が Market Place で提供されています。

Enterprise Manager は、多くの機能がありますが、特に便利な機能だと考えているのは以下の機能です

- SQL モニター
- SQL チューニングアドバイザー
- ホストのリソース消費をモニタリング



Oracle DB に発行する SQL 一つ一つを詳細にモニタリングを行うことが出来ます。SQLの実行にどれくらい時間がかかっているのか、時間が掛かっているのはどこのポイントなのか、どのような実行計画なのか、を詳細に把握することが可能です。

今回の記事では、Enterprise Manager を導入して、OCI の Oracle DBマネージドサービス(以下DBaaS) で作成した Data Guard 構成のインスタンスを監視対象として追加する手順を記載します。Data Guard の可用性構成をとっているため、2台の DBaaS インスタンスを追加する手順になります。

次のDocumentを参考にしています。
https://docs.oracle.com/en/enterprise-manager/cloud-control/enterprise-manager-cloud-control/13.3.1/emoci/index.html



# 構成図

![1566054091282.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/9b8a09a7-a2ad-a31e-f0b5-0701eb24cadc.png)



# 事前準備

## Compartment IDの確認

OCI のメニューから、Identity > Compartments へ移動します。
Enterprise Manager を作成する Compartment の OCID を確認します

![1564902364425.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/aea73bc3-5ad2-74f8-b66e-efb2db816149.png)



## Dynamic Groupの作成

OCI のメニューから、 Identity > Dynamic Group へ移動します。

Create Dynamic Group を押します

- NAME : sugi_OEM_Group
- DESCRIPTION : OEM Dynamic Group by sugiyama
- RULE1 : `ALL {instance.compartment.id = 'コンパートメントのOCID'}`

![1564902792609.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/101a9445-8d86-21b1-4dd5-db1ac2d1aa70.png)



## Policy の作成

OCI のメニューから、 Identity > Policies へ移動します。
Create Policy を選択し、以下のパラメータを入力します

- NAME : EnterpriseManager_Policy
- Description : EnterpriseManager_Policy
- STATEMENT に以下を入力

```
Allow dynamic-group sugi_OEM_Group to manage instance-family in compartment <Compartment名>
Allow dynamic-group sugi_OEM_Group to manage volume-family in compartment <Compartment名>
```



![1564903734297.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/a07962f6-6970-8f65-5bd3-aa0ef60620a5.png)



## Network Security Groupの作成

Enterprise Manager 用 Network Security Group を作成

- NAME : EnterpriseManagerNSG
- 以下の Ingress を許可
  - TCP 22 : SSH
  - TCP 3872 : Enterprise Manager から、EMエージェントを配布するときに利用するポート
  - TCP 7803 : Enterprise Manager Console
  - TCP 4903 : Agent Upload
  - TCP 7301 : JVMD
  - TCP 9851 : BI Publisher
  - ICMP



Oracle DB のマネージドサービスインスタンス側のNSGの設定

- NAME : dbaas_nsg01
- 以下のIngressを許可
  - TCP 22 : ICMP
  - TCP 1521 : Oracle DB
  - TCP 3872 : Enterprise Manager から、EMエージェントを配布するときに利用するポート
  - TCP 4903 : Agent Upload
  - ICMP 





# Enterprise Manager Install

## Compute Instanceを作成

Market Place から Enterprise Manager を構成

- 商用環境では、VM.Standard2.8 以上が推奨されているため、これを選択

![1564906522384.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/8e8ee991-20f6-72a2-209e-c87c1b668db7.png)



Storageを多めに確保します。600GB以上あれば大丈夫なようです。

![1564906595190.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/5dd0c1d9-42d8-f0a3-ac60-30fe5eca645e.png)



Enterprise Manager 用に作成した、Network Security Group を選択します。

![1564906674713.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/75b6be69-8aec-e0f8-8ad4-8c15b4d3ed0c.png)



Fault Domain を選択して、Create を押します

![1564906737007.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/57ba44bc-0dc9-61d8-e163-7dff97e72612.png)



Compute Instance の状態が緑色になってから、Instance内の Enterprise Manager の構成が完了するまで、約30分ほど掛かります



SSHアクセスを行います。SSHが出来るようになるまで若干時間がかかります

```
> ssh opc@132.145.125.202 
[opc@em01 ~]$  
```



Oracle ユーザーにスイッチします

```
sudo su - oracle
```



Install が完了していない場合は、login メッセージに、Enterprise Manager を install 途中の旨が表示されています

```
NOTE: EM not fully installed yet, check the progress in /var/log/emgc_setup.log      
Installation details of EM 13.3 PG .....



Ports used by this deployment at /u01/app/em13c/middleware/install/portlist.ini      
Database location: /u01/app/database/product
Database name: emrep
EM Middleware Home location: /u01/app/em13c/middlewareEM Agent Home location: /u01/app/em13c/emagent/agent_13.3.0.0.0
EM Diagnostic Kit (omsvfy): /u01/app/em13c/middleware/emdiag
EM Diagnostic Kit (repvfy): /u01/app/em13c/middleware/emdiag_rep
EM Diagnostic Kit (agtvfy): /u01/app/em13c/emagent/agent_13.3.0.0.0/emdiag

This information is also available in the file /home/oracle/README.FIRST

To start all processes, as the user oracle, run the script /home/oracle/start_all.sh 
To stop all processes, as the user oracle, run the script /home/oracle/stop_all.sh   
[oracle@em01 ~]$
```



`/var/log/emgc_setup.log ` を確認することで、Install の Log を確認することが出来ます

```
tail -f /var/log/emgc_setup.log 
```



Install が完了していると、以下のログインメッセージに切り替わります

```
Installation details of EM 13.3 PG .....

Public EM url:  https://<global ip>:7803/em
Private EM url: https://10.2.0.4:7803/em
Ports used by this deployment at /u01/app/em13c/middleware/install/portlist.ini      
Database location: /u01/app/database/product
Database name: emrep
EM Middleware Home location: /u01/app/em13c/middleware
EM Agent Home location: /u01/app/em13c/emagent/agent_13.3.0.0.0
EM Diagnostic Kit (omsvfy): /u01/app/em13c/middleware/emdiag
EM Diagnostic Kit (repvfy): /u01/app/em13c/middleware/emdiag_rep
EM Diagnostic Kit (agtvfy): /u01/app/em13c/emagent/agent_13.3.0.0.0/emdiag

This information is also available in the file /home/oracle/README.FIRST

To start all processes, as the user oracle, run the script /home/oracle/start_all.sh 
To stop all processes, as the user oracle, run the script /home/oracle/stop_all.sh   
[oracle@emcc ~]$
```



なお、setup.log の末尾出力が以下のものになっています。

```
[oracle@emcc ~]$ tail -f /var/log/emgc_setup.log  
Starting BI Publisher Server ...
BI Publisher Server Successfully Started
BI Publisher Server is Up
Starting the Oracle Management Agent .....

Oracle Enterprise Manager Cloud Control 13c Release 3
Copyright (c) 1996, 2018 Oracle Corporation.  All rights reserved.
Starting agent ....................... started.
OMS url: https://<global ip>:7803/em
Setup started at : Sun Aug  4 08:24:41 GMT 2019 and finished at Sun Aug  4 08:37:00 GMT 2019 
```



サービスが全て稼働しているかを確認します

- WebTier
- Oracle Management Server
- JVMD
- BI Publisher

```
[oracle@emcc ~]$ /u01/app/em13c/middleware/bin/emctl status oms 
Oracle Enterprise Manager Cloud Control 13c Release 3   
Copyright (c) 1996, 2018 Oracle Corporation.  All rights reserved.
WebTier is Up 
Oracle Management Server is Up 
JVMD Engine is Up 
BI Publisher Server is Up 
[oracle@emcc ~]$  
```



Enterprise Manager の初期アカウントは、以下のものになっています

- User : sysman
- Password : welcome1

初期パスワードのままでは、セキュリティに不安があるので、パスワードを変更します。15分ほど実行時間が掛かります。

```
/u01/app/em13c/middleware/bin/emctl config oms -change_repos_pwd -old_pwd welcome1 -new_pwd <your_password>
```



実行例

```
[oracle@emcc ~]$ /u01/app/em13c/middleware/bin/emctl config oms -change_repos_pwd -old_pwd welcome1 -new_pwd <your_password> 
Oracle Enterprise Manager Cloud Control 13c Release 3   
Copyright (c) 1996, 2018 Oracle Corporation.  All rights reserved.

Changing passwords in backend ... 
Passwords changed in backend successfully. 
Updating repository password in Credential Store... 
Successfully updated Repository password in Credential Store. 
Restart all the OMSs using 'emctl stop oms -all' and 'emctl start oms'.
Successfully changed repository password. 
[oracle@emcc ~]$  
```



Enterprise Manager の再起動を行います。まず停止をします

```
/u01/app/em13c/middleware/bin/emctl stop oms -all
```



実行例

```
[oracle@emcc ~]$ /u01/app/em13c/middleware/bin/emctl stop oms -all 
Oracle Enterprise Manager Cloud Control 13c Release 3   
Copyright (c) 1996, 2018 Oracle Corporation.  All rights reserved.
Stopping Oracle Management Server... 
WebTier Successfully Stopped 
Oracle Management Server Successfully Stopped
Oracle Management Server is Down 
JVMD Engine is Down 
Stopping BI Publisher Server... 
BI Publisher Server Successfully Stopped 
AdminServer Successfully Stopped
BI Publisher Server is Down 
[oracle@emcc ~]$  
```



起動します

```
/u01/app/em13c/middleware/bin/emctl start oms
```



実行例

```
[oracle@emcc ~]$ /u01/app/em13c/middleware/bin/emctl start oms 
Oracle Enterprise Manager Cloud Control 13c Release 3   
Copyright (c) 1996, 2018 Oracle Corporation.  All rights reserved.
Starting Oracle Management Server... 
WebTier Successfully Started 
Oracle Management Server Successfully Started 
Oracle Management Server is Up 
JVMD Engine is Up 
Starting BI Publisher Server ... 
BI Publisher Server Successfully Started 
BI Publisher Server is Up 
[oracle@emcc ~]$  
```



# Enterprise Manager に、Oracle DB のホスト(仮想インスタンス)を監視対象に追加

## Enterprise Manager Login

Enterprise Manager を Install した インスタンスの Public IP を使用して、Webブラウザからアクセスを行います

https://EnterpriseManager_global_ip:7803/em

- User : sysman
- Password : 変更後パスワード



保存して続行を押します

![1564909827442.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/e91ad217-59fa-243d-1a76-027f52cf8377.png)



ライセンスに同意します

![1564910114814.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/c0bbdb48-f9bd-92c0-c05d-ee46688079bb.png)



ようこそページが表示されています

![1564911670301.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/4fe4701b-b152-7846-c9d3-3f912112b0a4.png)



## 監視対象側の準備

監視対象として含める、Oracle DB マネージドサービスのインスタンス側の設定を行います。iptables を停止します。Network Security Group で仮想ファイアウォール設定を行っているため、シンプルのために停止を行います

Oracle DB のインスタンスにSSHログインします。1台目

```
ssh opc@sugihostname01.priv01.vcn.oraclevcn.com
```



root ユーザーにスイッチします

```
sudo su -
```



iptables を無効にします。再起動時にも起動してこないようにします

```
service iptables stop
chkconfig iptables off
```



Enterprise Manager のエージェントを格納するためのディレクトリを作成します

```
mkdir -p /u01/app/oracle/product/em13.3/agent
chown oracle:oinstall /u01/app/oracle/product/em13.3/agent
```



/etc/hostsの設定を行います。`emcc.marketplace.com` という名前で名前解決が出来る必要があり、hostsに追加することで名前解決が出来るようにします。

以下の設定を末尾に追加

```
sudo vi /etc/hosts
```

```
10.2.0.4 emcc.marketplace.com emcc
```



2台目も同様の操作を行う



## Enterprise Manager側の準備

SSHログインして、firewalld (iptables) を無効にします

```
sudo systemctl stop firewalld
sudo systemctl disable firewalld
```





## Enterprise Manager のターゲットに追加

メニューから、「ターゲットの手動追加」を選択します

![1565979624292.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/9bb1acbb-d32a-7159-a7bb-aaec1798b802.png)



ホストにエージェントをインストールを押します。

<img width="643" alt="1565979674276.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/5b7f275b-1bff-233c-ab73-005872b3699b.png">



追加を押します

![1565979822272.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/197a6722-c429-8d39-388c-9eb13e78011b.png)



OCI上に存在するインスタンスは、Oracle が提供する内部DNSによって、自動的に名前解決が出来るようになっています。1台目のDBaaSインスタンスを指定します。

- ホスト : `sugihostname01.priv01.vcn.oraclevcn.com`

![1565979886281.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/7359b4db-51ad-b7fa-2fdc-4545a7b24d57.png)



以下パラメータ入力して、名前付き資格証明の + ボタンを押します

- インストールのベース・ディレクトリ : `/u01/app/oracle/product/em13.3/agent`
- インスタンス・ディレクトリ : `/u01/app/oracle/product/em13.3/agent/agent_inst`

![1565980406299.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/9d15055d-5a9d-0241-e977-aa601e115edd.png)



Enterprise Manager が Bug らしき挙動があり、関係ないダミーの値を入力する必要があります

![1565980600076.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/26377e99-6d4e-91fe-2f01-425991a9396e.png)



再度 + ボタンをクリックします

![1565980629063.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/665867a3-46ec-55ce-de5f-faad4a0ab794.png)



以下のパラメータを入力します。SSHの秘密鍵は、DBaaS インスタンスを作成したときの公開鍵に対応したものを選択します。

![1566018662381.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/c857d2fe-130c-026f-3150-1cb7ae768da9.png)



ルート資格証明の + を押します

![1565980758294.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/1c43faaa-9f15-b82d-2608-000405f7f693.png)



以下のパラメータを入力します。SSHの秘密鍵は、DBaaS インスタンスを作成したときの公開鍵に対応したものを選択します。

![1566019134043.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/ef433aa9-2eed-78a9-5bc0-117fb6bcd1f9.png)



次を押します。

![1565980914769.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/f2e72602-7377-376b-31d1-8e2e9b0b99b1.png)



Enterprise Manager のエージェントをDBaaSインスタンス1台目にデプロイします。

![1565980946090.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/ccb13f43-c9d4-40ef-5a99-dba85f784086.png)



進行中画面に切り替わります。15分くらいかかります。

![1565980963749.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/366828ff-736a-34c3-38ad-08722fb0ef1e.png)



15分後に、設定完了となり、完了ボタンを押します

![1566019913272.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/9a3e4efb-1fe9-91c1-cd12-53e5a33af1e4.png)



DBaaS インスタンスは、Data Guard 構成をしているので、2台目も同様に追加をします





## 追加したホストの確認

追加した DBaaS インスタンスを確認します。
メニューから、ホストを選択します。

![1566020333427.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/8965c853-5baa-e601-562f-fcfe4107c73c.png)



追加したホストが見えています

![1566020376864.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/8e9a396f-7154-ba96-b31c-20422f090425.png)



CPU使用率、メモリ使用率、CPUスレッド使用率などが表示されています。OCI の Monitoring では、現在 DBaaS に対応していないので、便利に活用できると思います。

![1566021373730.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/ec2275db-1121-4da5-84cc-a1b348706837.png)







# Enterprise Manager に、Oracle DB のインスタンスを監視対象に追加

今までの手順で、DBaaSインスタンスのホスト(仮想マシン)として、Enterprise Manager へ追加することが出来ました。Oracle DB として追加を行うことで、SQLのモニタリングなど、Oracle DB としてのモニタリングが出来るようになります。



## Data Guard 1台目のインスタンスを追加

Data Guard で構成されているうち、1台目のインスタンスを追加します。



### Oracle DB ユーザーDBSNMPのロックを解除する

DBaaS インスタンスへSSHを行い、oracleユーザーへスイッチをします

```
[opc@sugihostname01 ~]$ sudo su - oracle 
[oracle@sugihostname01 ~]$  
```



SQL*Plusを起動して、Oracle DB に接続します。
DBaaS インスタンスを作成した時に指定したパスワードを入力します。
なお、Data Guard 構成を組んでいるときは、Primary Role にしかアクセス出来ないためご注意ください。Secondary Role に接続した場合はエラーとなります

```
sqlplus system/yourpassword
```



実行例

```
[oracle@sugihostname01 ~]$ sqlplus system/yourpassword

SQL*Plus: Release 18.0.0.0.0 - Production on Sat Aug 17 06:11:33 2019
Version 18.6.0.0.0

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

Last Successful login time: Sat Aug 17 2019 06:11:29 +00:00 

Connected to:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.6.0.0.0

SQL> 
```



`show con_name` コマンドで、接続先のコンテナ名を確認します。`CDB$ROOT` と表示されると、CDB(Container DataBase) に接続していることがわかります。

```
SQL> show con_name 

CON_NAME
------------------------------
CDB$ROOT
SQL> 
```



Oracle DB 上の、`DBSNMP` ユーザー情報を確認します

```
select USERNAME,ACCOUNT_STATUS from DBA_USERS where USERNAME='DBSNMP'; 
```



実行例。ACCOUNT_STATUSの値が `EXPIRED & LOCKED` となっていることがわかります。

```
SQL> select USERNAME,ACCOUNT_STATUS from DBA_USERS where USERNAME='DBSNMP'; 

USERNAME
----------------------------------------------------------------------------------------------------
ACCOUNT_STATUS
--------------------------------
DBSNMP
EXPIRED & LOCKED


SQL> 
```



ユーザーDBSNMPのパスワードを設定しロック解除します。

```
alter user DBSNMP identified by (設定するパスワード) account unlock;
```



実行例 (パスワードは仮の値へ置き換えています)

```
SQL> alter user DBSNMP identified by "secretsecretsecretsecretsecret" account unlock; 

User altered.

SQL>
```



### Enterprise manager のターゲットに追加

Oracle DB として Enterprise Manager へ追加するために、メニューからターゲットの手動追加を押します

![1566025496486.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/43438ec1-cfcd-2379-d91a-d77d1396f795.png)



ガイド付きプロセスを使用した追加を押します

![1566025599984.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/c690944f-0356-be95-2c2f-a6c68e46a85d.png)



Oracleデータベースの行を選択して、追加を押します

![1566025697913.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/a204bef8-f9c7-2f12-28e2-c81f2dcc90dd.png)



虫眼鏡マークを押します

![1566025738993.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/8b8871de-16fe-9fed-7398-48a37e91143f.png)



1台目の DBaaS ホストを選択します

![1566025763738.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/0eed907e-af7e-43b3-99e2-7be96688f172.png)



次を押します

![1566025791230.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/8cfc9a4a-9e75-873c-71d9-24e69f61c195.png)



進行中。2分くらい待ちます。

![1566025806770.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/0adbfc62-25d9-3a2c-0410-8d5e484d6a28.png)



気にせずに、OK を押します。

![1566025872492.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/b268b839-abcb-5ba6-f966-4b3cd6369e31.png)



ターゲットを選択し、構成ボタンを押します

![1566026152862.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/f6f6291d-f8fa-d90d-3e0b-552230c620d1.png)



以下パラメータを入力後、接続テストを押します

- モニター・パスワード : dbsnmp ユーザーのパスワードを入力
- リスナー・マシン名 : DBaas インスタンスのホスト名(FQDN)を入力。デフォルトで入力されているものでは、Enterprise Manager から接続が出来ないため、変更が必要

![1566026335630.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/de1965fb-6941-1be0-d35a-d9963a1dc209.png)



接続テストに成功した場合は、以下が表示されます

![1566026424132.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/aabd4a2a-62af-a816-0574-2c761771fe89.png)



次に指定する情報を入力するために、DBaaSのインスタンスにログインする必要があります。
DBaaS のインスタンスへSSH後、Oracleユーザーへスイッチ

```
[opc@sugihostname01 ~]$ sudo su - oracle 
[oracle@sugihostname01 ~]$  
```



`lsnrctl stat` コマンドを実行

```
[oracle@sugihostname01 ~]$ lsnrctl stat 

LSNRCTL for Linux: Version 18.0.0.0.0 - Production on 17-AUG-2019 07:23:13

Copyright (c) 1991, 2018, Oracle.  All rights reserved.

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) 
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 18.0.0.0.0 - Production
Start Date                03-AUG-2019 18:22:57
Uptime                    13 days 13 hr. 0 min. 15 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/18.0.0.0/grid/network/admin/listener.ora
Listener Log File         /u01/app/grid/diag/tnslsnr/sugihostname01/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER))(SDU=65535)(SEND_BUF_SIZE=10485760)(RECV_BUF_SIZE=10485760))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.2.100.5)(PORT=1521)))
Services Summary...
Service "+APX" has 1 instance(s).
  Instance "+APX1", status READY, has 1 handler(s) for this service...
Service "+ASM" has 1 instance(s).
  Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "+ASM_DATA" has 1 instance(s).
  Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "+ASM_RECO" has 1 instance(s).
  Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "867e3020a52702dee053050011acf8c0.priv01.vcn.oraclevcn.com" has 1 instance(s).
  Instance "suginm01", status READY, has 2 handler(s) for this service...
Service "8f3a3bbb2413115fe0530564020a2e54.priv01.vcn.oraclevcn.com" has 1 instance(s).
  Instance "suginm01", status READY, has 2 handler(s) for this service...
Service "sgpbd01.priv01.vcn.oraclevcn.com" has 1 instance(s).
  Instance "suginm01", status READY, has 2 handler(s) for this service...
Service "suginm01XDB.priv01.vcn.oraclevcn.com" has 1 instance(s).
  Instance "suginm01", status READY, has 1 handler(s) for this service...
Service "suginm01_CFG.priv01.vcn.oraclevcn.com" has 1 instance(s).
  Instance "suginm01", status READY, has 2 handler(s) for this service...
Service "suginm01_nrt1mv.priv01.vcn.oraclevcn.com" has 1 instance(s).
  Instance "suginm01", status READY, has 2 handler(s) for this service...
Service "suginm01_nrt1mv_DGB.priv01.vcn.oraclevcn.com" has 1 instance(s).
  Instance "suginm01", status READY, has 2 handler(s) for this service...
The command completed successfully
[oracle@sugihostname01 ~]$ 
```



この中から、pdb に関する情報を取得するために、DBaaS インスタンス作成時に指定した、PDB name で grep

```
[oracle@sugihostname01 ~]$ lsnrctl stat | grep -i sgpbd 
Service "sgpbd01.priv01.vcn.oraclevcn.com" has 1 instance(s). 
```



接続名 `sgpbd01.priv01.vcn.oraclevcn.com` が必要になるので、控えておきます。



Enterprise Manager の画面に戻り、プラがブル・データベースのタブへ移動します。この中から、2つ目のサービス名を控えたものに変更する必要があります

![1566027014231.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/57ec6445-bfc2-83c7-c2ce-37c4228808bc.png)



1個目を選択して、接続テスト。OKであることを確認

![1566027061368.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/f3d61307-1123-af43-c51f-5bb885287496.png)



OKであれば、2個目も選択して接続テスト。

![1566027126082.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/1d2c590b-83e8-87c7-7d53-92916df8bcc8.png)



保存を押します

![1566027177110.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/371c02dc-9421-3609-00c8-72757290f4c0.png)



リスナー2個を選択して、次を押します

![1566027259646.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/5e097b0e-3195-1361-bd85-1c66639bdfcc.png)



保存を押します

![1566027310680.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/b75ac71c-6b70-a12d-6ea9-3e64b776d357.png)



正常に完了。閉じるを押します

![1566027324140.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/27017c97-61e2-caaa-6d9a-2e4e8bd6e061.png)



### 追加した Oracle DB インスタンスを確認

Oracle DB のインスタンスに関するモニタリング状況を確認するため、メニューからすべてのターゲットを選択します

![1566027796483.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/4cfb4138-7f55-9d02-90b1-900933a22396.png)



データベース・インスタンスを選択します

![1566027852035.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/926d647b-529f-1e99-16b4-6c56711e32d1.png)



追加した 1台目のインスタンスをクリックします

![1566027875291.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/205edf06-b3ea-5245-1adf-35e63a0235cb.png)



パフォーマンス、リソース消費量が見えています

![1566028450986.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/5f075dd7-6a5d-40a5-d252-ab2b67081758.png)



また、過去1時間の直近のSQLモニターが表示されています。

![1566028501313.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/dfa0cf2d-d6e3-c347-7a37-339c9d68abff.png)



SQLモニタリングを選択します

![1566032368464.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/1a1dd0cb-28c2-da7d-1fb7-8578da31fe6d.png)



ログインをします。system ユーザーと、DBaaS インスタンス作成時に指定したパスワードを入力します

![1566031978078.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/409d5712-e4ef-679c-d8f9-97444dacc856.png)



SQL モニタリング画面がひらかれます。Top 100 By を `Duration` にすることで、実行時間の長いSQLを表示することが可能です

![1566032461977.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/8310a29c-3ee0-6bf8-62dd-375f740c8a86.png)



また、SQL一つを選択し、どのような実行計画かを確認することが可能となっています

![1566032557426.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/14bbdddf-ec2a-c6eb-03e0-9db70484d9f7.png)



## Data Guard の 2台目インスタンスを追加

1台目 DBaaS インスタンスが出来ましたが、2台目のインスタンスが追加されていないため、フェールオーバー・スイッチオーバーで2台目インスタンスが Primary Role になった際には、モニタリングが出来なくなります。

2台目インスタンスがPrimary Role になった際にもモニタリングが出来るように、2台目インスタンスを Enterprise Manager へ追加を行います。

追加作業をするために、一時的に スイッチオーバーを実施して、2台目の DBaaS インスタンスを Primary へスイッチします。
OCIのコンソール画面から、スイッチオーバーを行います。

![1566057413489.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/ab08a352-658e-581d-662a-1391cd97e0ed.png)



Switchover ボタンを押下後、すぐに処理が走り黄色ステータスに変わります。その後、数分待機することで、AVAILABLE ステータスになります。

その後、1台目のインスタンスを追加した手順を、そのまま使用して2台目を追加します。



## 確認

2台とも追加すると、ターゲットの一覧に2台分表示されます。Data Guard の Secondary の方は、Oracle DB としての通信が出来ないため、赤色矢印となっていますが、正常状態なので無視して頂いて大丈夫です。

![1566057538389.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104247/cc25a1ca-d24c-9adc-6651-f702cd4f5f32.png)



# URL

Data Guard の Install
https://docs.oracle.com/cd/E96517_01/dgbkr/oracle-data-guard-broker-installation-requirements.html#GUID-DBCAC77D-8B4D-4727-B89E-6CFA69302187

Data Guard の構成とフェールオーバー実行例
https://www.oracle.com/technetwork/jp/content/bcp-dg-401575-ja.pdf

Enterprise Manager に必要な要件
https://docs.oracle.com/en/enterprise-manager/cloud-control/enterprise-manager-cloud-control/13.3.1/emoci/index.html

Enterprise Manager を作成
https://qiita.com/ts_carp/items/f351d43d2017e8786768

Enterprise Manager Document
https://www.oracle.com/technetwork/jp/oem/enterprise-manager/documentation/index.html

Enterprise Manager を OCI 上に Install
https://qiita.com/ts_carp/items/f351d43d2017e8786768

https://qiita.com/shirok/items/2eb68c3777f34a57f632

https://www.slideshare.net/techblogyahoo/oracle-data-guard-48172431

Enterprise Managerについて
https://dev.classmethod.jp/cloud/aws/oem-cloud-control-building-oms/