Database Support Blog

  • Oracle Cloud
2022.09.08

【Oracle Cloud】Oracle Base Database Serviceにシリアル・コンソール接続する方法

Oracle Base Database Serviceにシリアル・コンソール接続する方法

Oracle Base Database Service(Database Cloud Service:DBCSから名称が変更されました、以降BaseDBと記載します)もCompute Serviceと同様に、OSを含むアプリケーションなどのレイヤーはお客様管理の範囲となるため、OS上でシステム運用に必要な設定はお客様に実施いただく必要があります。

この際に、設定ミスや設定自体の影響によりSSH接続が不可となるような問題が発生する可能性がありますが、このような問題のトラブルシュートのためBaseDBにおいてもシリアル・コンソール接続が用意されています。

今回は、BaseDBにおけるシリアル・コンソール接続の方法をご紹介します。


シリアル・コンソール接続までのステップ

シリアル・コンソール接続までのステップは次のとおりです。


Step1. BaseDBでコンソール接続を作成

1.管理コンソールにてSSH接続できないBaseDBの画面に移動し、画面左下から[コンソール接続]をクリックし、[コンソール接続の作成]をクリックします。


2.「SSHキー・ファイルのアップロード」を選択し、SSH公開鍵ファイルをドロップし、[コンソール接続の作成]をクリックします。

※お客様側で任意のSSHキー・ファイルを使用いただいても問題ありませんが、弊社環境にてパスフレーズありの秘密鍵を使用するとパスフレーズの認証が行えない問題が発生したため、本記事ではパスフレーズなしのSSHキー・ファイルを使用しています。


3.作成されたコンソール接続の右端の三点マークをクリックし、[SSH文字列のコピー]をクリックします。

クリップボードに以下のような文字列がコピーされるので、テキストエディタなどに貼り付けておきます。

 
 ssh -o ProxyCommand='ssh -W %h:%p -p 443 ocid1.instanceconsoleconnection.oc1.ap-tokyo-1.anxhiljrvt4pmxac6h2kuffksajbwaufku4zi24go5ceojs3yniy4g2rwf3q@instance-console.ap-tokyo-1.oci.oraclecloud.com' ocid1.instance.oc1.ap-tokyo-1.anxhiljrvt4pmxacpr7nya4gohpbl4cjdhojzltrdixngf3hhqlwqh3aheqa
 

Step2. Cloud Shellからの接続

1.管理コンソールの画面右上から、[Cloud Shell]をクリックします。


2.管理コンソールの下部にCloud Shellが起動します。

プロンプト右上の歯車メニューをクリックし、アップロードをクリックします。「1.BaseDBでコンソール接続を作成」の項番2で用意した公開鍵とペアになる秘密鍵をアップロードし「.ssh」ディレクトリ配下に配置します。

 
 ・カレントディレクトリを確認します
 $ pwd
  →/home/<コンソールにログインしているユーザー名> が返される
 
 
 ・「.ssh」ディレクトリを作成し、パーミッション700に変更します
 $ mkdir .ssh
 $ chmod 700 .ssh
  
 ・アップロードした秘密鍵があることを確認します
 $ ls -l
  →ユーザー名はxxxxxxでマスキングしています
   -rw-r--r--. 1 xxxxxx  oci 1819 Aug  8 08:44 id_rsa
 
 ・「.ssh」に移動し、パーミッションを600に変更します
 $ mv id_rsa .ssh
 $ chmod 600 .ssh/id_rsa
 

3.「1.BaseDBでコンソール接続を作成」の項番3でペーストした文字列に秘密鍵のフルパスを追記します。以下のように「-i <秘密鍵のパス>」をSSHコマンドのオプションとして二箇所に追記します。

 
 ssh -i /home/xxxxxx/.ssh/id_rsa -o ProxyCommand='ssh -i /home/xxxxxx/.ssh/id_rsa -W %h:%p -p 443 ocid1.instanceconsoleconnection.oc1.ap-tokyo-1.anxhiljrvt4pmxac4fvwvdqths444vy32iwafkovchb6kk6er6qk3hrx64va@instance-console.ap-tokyo-1.oci.oraclecloud.com' ocid1.instance.oc1.ap-tokyo-1.anxhiljrvt4pmxacpr7nya4gohpbl4cjdhojzltrdixngf3hhqlwqh3aheqa
 

4.項番3の文字列をCloud Shellで実行します。
最後に「<BaseDBのホスト名> login:」と表示されれば準備は完了です。
Cloud Shellは、この画面のまま閉じずに開いたままにしておきます。

 
 xxxxxx@cloudshell:~ (ap-tokyo-1)$ ssh -i /home/xxxxxx/.ssh/id_rsa -o ProxyCommand='ssh -i /home/xxxxxx/.ssh/id_rsa -W %h:%p -p 443 ocid1.instanceconsoleconnection.oc1.ap-tokyo-1.anxhiljrvt4pmxac4fvwvdqths444vy32iwafkovchb6kk6er6qk3hrx64va@instance-console.ap-tokyo-1.oci.oraclecloud.com' ocid1.instance.oc1.ap-tokyo-1.anxhiljrvt4pmxacpr7nya4gohpbl4cjdhojzltrdixngf3hhqlwqh3aheqa
 FIPS mode initialized
 FIPS mode initialized ★ここで出力が止まる場合があるため、止まった場合はEnter
 The authenticity of host '[instance-console.ap-tokyo-1.oci.oraclecloud.com]:443 ([140.204.8.241]:443)' can't be established.
 RSA key fingerprint is SHA256:XaslfzT0xS7BO4fIgzPeDNcDawGlZXziUOIq4axH3M0.
 RSA key fingerprint is SHA1:9g01oNUudPb/SW9XFjr2m8R3L2w.
 Are you sure you want to continue connecting (yes/no)? yes ★「yes」を入力しEnter
 Warning: Permanently added '[instance-console.ap-tokyo-1.oci.oraclecloud.com]:443,[140.204.8.241]:443' (RSA) to the list of known hosts.
  
 =================================================
 IMPORTANT: Use a console connection to troubleshoot a malfunctioning instance. For normal operations, you should connect to the instance using a Secure Shell (SSH) or Remote Desktop connection. For steps, see https://docs.cloud.oracle.com/iaas/Content/Compute/Tasks/accessinginstance.htm
  
 For more information about troubleshooting your instance using a console connection, see the documentation: https://docs.cloud.oracle.com/en-us/iaas/Content/Compute/References/serialconsole.htm#four
 =================================================
 The authenticity of host 'ocid1.instance.oc1.ap-tokyo-1.anxhiljrvt4pmxacpr7nya4gohpbl4cjdhojzltrdixngf3hhqlwqh3aheqa ()' can't be established.
 RSA key fingerprint is SHA256:AfhpmyGAxGUpOsI5fZdYgoS2TT8XTLCEfVr1mdZvuf4.
 RSA key fingerprint is SHA1:Pu6zXDeLrBEGbgeOLq+/9ok9Rd0.
 Are you sure you want to continue connecting (yes/no)? yes ★「yes」を入力しEnter
 Warning: Permanently added 'ocid1.instance.oc1.ap-tokyo-1.anxhiljrvt4pmxacpr7nya4gohpbl4cjdhojzltrdixngf3hhqlwqh3aheqa' (RSA) to the list of known hosts.
  
 Oracle Linux Server 7.9
 Kernel 4.1.12-124.60.1.el7uek.x86_64 on an x86_64
 
 <BaseDBのホスト名> login: ★この出力となれば完了
 

Step3. BaseDBの再起動

1.Step2のCloud Shellはそのままで、管理コンソールから対象のBaseDBのノードを再起動します。


2.後続作業に備えて、Cloud Shellの画面を最大化します。
また、事前に半角英数入力となっていることを確認します。


3.停止が完了すると起動のステップに移ります。その途中で以下のようにブートローダーが起動しますので「e」を入力します。



4.ブートエントリが表示されたら「linuxefi」で始まる行に移動して行の最後に「init=/bin/bash」を追記します。

※一定時間操作しないと強制的に起動に進みます。何かキーを入力すると一定時間延長されるような動作に見受けられましたので、定期的に入力/削除を実施いただくと良いかと存じます。

※キーボードの矢印キーを長押しで移動させようとすると起動に進むような動作となりますため、長押し入力は使用しないことを推奨いたします。

※追記箇所は再起動後にリセットされるため、復旧後に削除作業は必要ありません。

 
 linuxefi /vmlinuz-4.1.12-124.60.1.el7uek.x86_64 root=/dev/mapper/VolGr\
oupSys1-LogVolRoot ro rd.lvm.lv=VolGroupSys1/LogVolRoot rd.lvm.lv=VolGroupSys1\
/LogVolSwap rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD rd.shell SYSFONT=latarcyrheb-\
sun16 selinux=0 KEYBOARDTYPE=pc KEYTABLE=us pci=noaer crashkernel=256M@64M log\
level=3 panic=60 transparent_hugepage=never ipv6.disable=1 audit=1 intel_idle.\
max_cstate=1 nofloppy nomce numa=off  console=ttyS0,115200 iscsi_initiator=iqn\
.1994-05.com.domain:01.1846a2  netroot=iscsi:@169.254.0.2::3260::iqn.2015-02.o\
racle.boot:uefi ip=dhcp biosdevname=1 rd_NO_DM PRODUCT=ORACLE_SERVER_X5-2 TYPE\
=X5_2_LITE_IAAS intremap=off nvme.nvme_io_queues=32 iscsi_param=node.session.t\
imeo.replacement_timeout=6000 init=/bin/bash ★末尾に入力します
 

5.追記が完了したら「Ctrl」+「x」キーでノードを再起動します。
そのまま待つと、bashのプロンプトが表示されます。
ここまで完了しましたら、BaseDBへのコンソール接続は成功です。


6.必要に応じてOS側の設定の見直し、修正などの対応を実施します。対応が完了したら「/usr/sbin/reboot -f」コマンドでノードを再起動します。

 
  bash-4.2# /usr/sbin/reboot -f
 

7.正常に起動したことが確認できましたらSSH接続が可能となったかどうかをご確認ください。
確認が完了しましたら、Cloud Shell の画面を閉じて作業は完了です。


まとめ

今回は、BaseDBへのシリアル・コンソール接続の方法をご紹介しました。
手順としては以下の記事の応用となります。

【Oracle Cloud】Cloud Shellで簡単にComputeへシリアルコンソール接続する方法!
https://www.ashisuto.co.jp/db_blog/article/oracle-cloud-shell.html

BaseDB接続不可などの有事の際には、本記事をご参照いただけますと幸いです。


執筆者情報

いちじょう だいさく プロフィール画像

2018年アシスト入社後、Oracle Databaseフィールド業務に従事。2019年からはOracle Cloudのフィールド業務とサポート業務を兼務中 ...show more


■本記事の内容について
 本記事に示した定義及び条件は変更される場合があります。あらかじめご了承ください。

■商標に関して
 ・Oracle®、Java、MySQL及びNetSuiteは、Oracle、その子会社及び関連会社の米国及びその他の国における登録商標です。
 ・Amazon Web Services、AWS、Powered by AWS ロゴ、[およびかかる資料で使用されるその他の AWS 商標] は、Amazon.com, Inc. またはその関連会社の商標です。
  文中の社名、商品名等は各社の商標または登録商標である場合があります。

関連している記事

  • Oracle Cloud
  • Oracle Database
2024.02.02

OCIにおけるOracle Database 11g R2、12g R1、12g R2の新規プロビジョニング終了とその影響

Oracle Databaseのバージョン11g R2、12g.R1、12g.R2は既にすべてのメーカーサポートが終了しています。OCIのBase Database Serviceでも2024年1月中旬ころから11g R2、12g R1、12g R2での新規プロビジョニングができなくなりました。

  • Oracle Cloud
2024.01.19

Oracle Cloudのサービスリミットを理解し、適切に対処する方法

Oracle Cloudでクラウドアカウントごとに設定されているサービスの利用上限値「サービス制限(サービスリミット)」の引上げ方法とその注意点をご紹介します。

  • Oracle Database
  • Oracle Cloud
2023.12.15

ライセンスの観点から考えるOracle Cloudのススメ

オラクル社が提供しているクラウドサービス「Oracle Cloud」は、Oracle Databaseライセンス観点でも様々な効果があることはご存じでしょうか? ここでは「ライセンス」に焦点をあて、Oracle Cloudがおススメできるポイントを説明します。

ページの先頭へ戻る