- Oracle Cloud
- Oracle Database
Oracle Cloud VMware Solutionを構築してみました!
前回の記事でOCVSの概要やメリットをお伝えしました。 本記事では実際にOCVSを構築する手順、および作成したvCenterへ実際に接続する手順をお伝えします!
|
Oracle Base Database Service(以下BaseDB)ではRMANを利用した自動バックアップの機能が実装されています。
このバックアップを利用して任意の地点にリカバリすることが可能です(Point in Time Recovery)。
しかし、自動バックアップの取得が何らかの原因で失敗していた場合、いざ必要となった時にリカバリが行えない状態になってしまう可能性があります。
※バックアップ取得結果の「状態」が失敗となっている場合は取得に失敗しています。
|
本記事では自動バックアップの主な失敗パターンと対処方法をご紹介します。
Index
前提条件)
自動バックアップ取得に必要な前提条件が以下のマニュアルに記載されています。
最初にこちらの条件を満たしていることを確認してください。
ベース・データベース・サービスでのバックアップおよびリカバリ
前提条件
https://docs.oracle.com/ja-jp/iaas/dbcs/doc/backup-and-recovery-overview.html
トラブルシューティング)
オラクル社より公開されているバックアップ失敗のトラブルシューティングが
マニュアルにまとめられていますので、こちらに該当しないかもご確認ください。
バックアップの失敗のトラブルシューティング
https://docs.oracle.com/ja-jp/iaas/dbcs/doc/troubleshoot-backup-failures.html
上記資料を確認しても解消しない場合は、本記事の内容を参考にご確認ください。
<概要>
BaseDBのノードが停止していると、自動バックアップの取得が失敗します。
<判断ポイント>
OCIコンソールでBaseDBの詳細画面へ遷移し、ノードのステータスを確認します。
|
<対処方法>
ノードを起動します。
|
|
<概要>
CPUのスケールダウンによりCPUを減らし過ぎた場合にAgentの応答に時間を要してしまい、
接続タイムアウトが発生し自動バックアップが失敗する場合があります。
<判断ポイント>
・直前にCPUのスケールダウンを行っているか
・バックアップ取得時間帯のCPU使用率が100%に近づいていないか
これはBaseDBの管理画面の「メトリック」でCPU使用率を確認できます。
|
|
<対処方法>
CPUのスケールアップを行います。
|
|
<概要>
BaseDBでは、OSなどの管理のためにOCI が提供するプロセスが存在しています。
そのうち、mysqld、dcsagentプロセスがディスクフル等の何らかの要因で停止して
しまうと、自動バックアップが失敗することが確認されています。
<確認ポイント>
mysqld、dcsagentプロセスの稼働状況をコマンドで確認します。
# systemctl status initdcsagent ● initdcsagent.service - Oracle dcs-agent startup Loaded: loaded (/etc/systemd/system/initdcsagent.service; enabled; vendor preset: disabled) Active: inactive (dead) since Thu 2023-07-13 17:05:30 JST; 2s ago Process: 3151 ExecStart=/bin/sh -c . /opt/oracle/dcs/bin/setupJre.sh;$JAVA -Xms128m -Xmx512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/oracle/dcs/log -XX:ErrorFile=/opt/oracle/dcs/log/dcs-error.log -XX:+DisableExplicitGC -XX:ParallelGCThreads=4 -Doracle.security.jps.config=/opt/oracle/dcs/agent/jps-config.xml -jar /opt/oracle/dcs/bin/dcs-agent*.jar server /opt/oracle/dcs/conf/dcs-agent.json >/opt/oracle/dcs/log/dcsagent-stdout_$(date "+%%Y%%m%%d-%%H%%M%%S").log 2>/opt/oracle/dcs/log/dcsagent-stderr_$(date "+%%Y%%m%%d-%%H%%M%%S").log (code=killed, signal=TERM) Main PID: 3151 (code=killed, signal=TERM) # systemctl status mysqld ● mysqld.service - MySQL Server Loaded: loaded (/etc/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: inactive (dead) since Thu 2023-07-13 17:07:00 JST; 4s ago Docs: man:mysqld(8) http://dev.mysql.com/doc/refman/en/using-systemd.html Process: 2012 ExecStart=/opt/oracle/mysql_compact/mysql/bin/mysqld --defaults-file=/opt/oracle/mysql_compact/my.sim.cnf $MYSQLD_OPTS (code=exited, status=0/SUCCESS) Main PID: 2012 (code=exited, status=0/SUCCESS) Status: "Server shutdown complete"
上記の場合、mysqld、dcsagentプロセスはいずれも停止(inactive)している状態です。
<対処方法>
mysqld、DCSAgentが停止していることが判明した場合、以下のコマンドで起動します。
# systemctl start initdcsagent # systemctl start initdcsadmin
続いて、以下のコマンドで起動(active)したことを確認します。
# systemctl status initdcsagent ● initdcsagent.service - Oracle dcs-agent startup Loaded: loaded (/etc/systemd/system/initdcsagent.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2023-07-13 16:15:59 JST; 48min ago Main PID: 3151 (sh) Tasks: 45 Memory: 523.0M CGroup: /system.slice/initdcsagent.service tq3151 /bin/sh -c . /opt/oracle/dcs/bin/setupJre.sh;$JAVA -Xms128m -Xmx512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDu... mq3153 java -Xms128m -Xmx512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/oracle/dcs/log -XX:ErrorFile=/opt/... # systemctl status mysqld ● mysqld.service - MySQL Server Loaded: loaded (/etc/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2023-07-13 16:15:59 JST; 48min ago Docs: man:mysqld(8) http://dev.mysql.com/doc/refman/en/using-systemd.html Main PID: 2012 (mysqld) Status: "Server is operational" Tasks: 40 Memory: 136.2M CGroup: /system.slice/mysqld.service mq2012 /opt/oracle/mysql_compact/mysql/bin/mysqld --defaults-file=/opt/oracle/mysql_compact/my.sim.cnf Jul 13 16:15:50 test systemd[1]: Starting MySQL Server... Jul 13 16:15:59 test systemd[1]: Started MySQL Server.
<概要>
BaseDBの管理等で使用されているプロセスのdcs-cli、dcs-admin、dcs-agentのいずれかのバージョンが古い場合、自動バックアップが失敗します。
<確認ポイント>
以下のコマンドを実行し現在のバージョンを確認します。
# rpm -qa | egrep -i "dbaas|exa|dcs"
dcs-cli-20.1.2.0.0_200408.0952-1.x86_64 ★
dcs-admin-21.1.3.3.0_210401.0711-1.x86_64
dcs-agent-21.2.2.2.0_210608.0448-5.x86_64
上記の場合dcs-cliのバージョンのみ「20」と古くなっています。
このようにバージョンに差異がある場合は古いと判断できます。
<対処方法>
バージョンが一致していない場合は以下の手順でバージョンアップを行います。
# systemctl stop mysqld # systemctl start mysqld # systemctl stop initdcsadmin # systemctl start initdcsadmin # systemctl stop initdcsagent # systemctl start initdcsagent
# systemctl status initdcsagent # systemctl status initdcsadmin # systemctl status mysqld
※Agentの再起動にあたり、DBの稼働に影響はありません。
3.DCS CLI をバージョンアップ# cliadm update-dbcli Job details ---------------------------------------------------------------- ID: c9aa34e2-dc26-4a3b-ada5-03f3bf212986 Description: DcsCli patching Status: Created Created: October 21, 2022 4:06:59 PM JST Message: Dcs cli will be updated
# dbcli describe-job -i c9aa34e2-dc26-4a3b-ada5-03f3bf212986 ★cliadm update-dbcli で表示されたJob IDを指定
Job details
----------------------------------------------------------------
ID: c9aa34e2-dc26-4a3b-ada5-03f3bf212986
Description: DcsCli patching
Status: Success
Created: October 21, 2022 4:06:59 PM JST
Progress: 100%
Message:
--> Progress が 100% となるまで待機
# rpm -qa | egrep -i "dbaas|exa|dcs"
dcs-cli-21.1.3.3.0_210401.0711-1.x86_64 ★
dcs-admin-21.1.3.3.0_210401.0711-1.x86_64
dcs-agent-21.2.2.2.0_210608.0448-5.x86_64
--> バージョンアップしたことを確認
# systemctl stop mysqld # systemctl start mysqld # systemctl stop initdcsadmin # systemctl start initdcsadmin # systemctl stop initdcsagent # systemctl start initdcsagent
<概要>
自動バックアップにより取得されたバックアップは、オブジェクトストレージへ保存されます。
BaseDBの属するサブネットからオブジェクトストレージへアクセスするための設定が行えていないと、バックアップの取得が失敗します。
<確認ポイント>
使用されている以下のリソースをそれぞれ確認します。
※インターネットゲートウェイをご利用の場合は、以下「サービスゲートウェイ」の記載を
「インターネットゲートウェイ」に読み替えてください。
・サービスゲートウェイが作成されていること
・ルート表にサービスゲートウェイへのルートルールがあること
サービスゲートウェイの場合)
|
インターネットゲートウェイの場合)
|
・セキュリティリストまたはネットワークセキュリティグループのエグレスルールに
以下のセキュリティルールがあること
宛先タイプ :サービス
宛先サービス :All < リージョン名 > Services in Oracle Service Network
IPプロトコル :TCP
ソースポート範囲 :すべて
宛先ポート範囲 :443
※パブリックサブネットでサービスゲートウェイを使用する場合、
宛先サービスに「OCI < リージョン名 > Object Storage」を指定してください。
|
<対処方法>
確認ポイントに記載した各リソースが設定されていない場合は設定します。
本記事でご紹介しましたように自動バックアップの取得が失敗するケースは複数あります。
以下の記事では、dbcliコマンド を用いてバックアップの失敗状況を確認する方法をご紹介しています。
dbcliコマンドを用いたバックアップ失敗時のトラブルシューティング
https://www.ashisuto.co.jp/db_blog/article/N0014_oraclecloud_20200428.html
本記事の内容を基に対応を行っても解消しない場合には、上記の記事を参考に情報を収集し、弊社サポートセンターへお問い合わせください。
自動バックアップの取得において、本記事がお役に立てれば幸いです。
2005年入社。Oracle Database 9iの時代からサポートを行うサポートエンジニア。サポートセンターで培ったノウハウを基に、研修「OracleDatabaseトラブル調査テクニック」を立上げ。現在はOracle Cloudを担当。子鉄の父。...show more
■本記事の内容について
本記事に示した定義及び条件は変更される場合があります。あらかじめご了承ください。
■商標に関して
・Oracle®、Java、MySQL及びNetSuiteは、Oracle、その子会社及び関連会社の米国及びその他の国における登録商標です。
・Amazon Web Services、AWS、Powered by AWS ロゴ、[およびかかる資料で使用されるその他の AWS 商標] は、Amazon.com, Inc. またはその関連会社の商標です。
文中の社名、商品名等は各社の商標または登録商標である場合があります。
前回の記事でOCVSの概要やメリットをお伝えしました。 本記事では実際にOCVSを構築する手順、および作成したvCenterへ実際に接続する手順をお伝えします!
本記事では「インスタンス・コンソール接続」で、より簡単にパスワードをリセットする方法をご紹介します。
OCI IAMポリシーは、where句を使った条件式を使用することで、柔軟な権限付与が可能になります。今回は、where句による条件式の設定例およびwhere句の有無による違いについてご紹介します。