Database Support Blog

  • Oracle Cloud
2024.07.19

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

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

初版公開日:2022.09.08
  更新日:2024.07.19

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.停止が完了すると起動のステップに移ります。

Oracle Linuxのバージョンによって、以下の手順を読み替えてください。

  • Oracle Linuxのバージョンは、Step3項番1の画面から確認できます。

Oracle Linuxのバージョン表示

Oracle Linux 7.x以前の場合

以下のようにブートローダーが起動しますので「e」を入力します。

ブートエントリが表示されたら「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 ★末尾に入力します
 

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

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

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

Oracle Linux 8.x以降の場合

コンソール接続ウィンドウが残った状態でBaseDBノードを再起動後、「F12」を繰り返し押下すると以下のような画面が表示されますので、「Continue」を選択して「Enter」を押下します。

以下のようにブートローダーが起動しますので、一番上を選択した状態で「e」を入力します。

  • 「0-rescue-xxxxxxxxxx」を選択すると、後述の設定が正常に完了しません。

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

  • 一定時間操作しないと強制的に起動に進みます。何かキーを入力すると一定時間延長されるような動作に見受けられましたので、定期的に入力/削除を実施いただくと良いでしょう。
  • キーボードの矢印キーを長押しで移動させようとすると起動に進むような動作となるため、長押し入力は使用しないことを推奨します。
  • 追記箇所は再起動後にリセットされるため、復旧後に削除作業は不要です。

  
linux ($root)/vmlinuz-5.4.17-2136.326.6.el8uek.x86_64 root=/dev/mapper/vg00-ro\
ot ro LANG=en_US.UTF-8 audit=1 console=hvc0 console=tty0 console=ttyS0,9600n8 \
crashkernel=auto ip=single-dhcp ipmi_si.tryacpi=0 ipmi_si.trydefaults=0 ipmi_s\
i.trydmi=0 libiscsi.debug_libiscsi_eh=1 loglevel=3 net.ifnames=1 netroot=iscsi\
:169.254.0.2:::1:iqn.2015-02.oracle.boot:uefi network-config=e2NvbmZpZzogZGlzY\
WJsZWR9Cg== nomodeset nvme_core.shutdown_timeout=10 rd.dm=0 rd.iscsi_param=nod\
e.session.timeo.replacement_timeout=6000 rd.luks=0 rd.lvm.lv=vg00 rd.md=0 vcon\ 
sole.font=latarcyrheb-sun16 vconsole.keymap=us numa=off transparent_hugepage=m\
advise biosdevname=1 rd_NO_DM PRODUCT=ORACLE_SERVER_X5-2 TYPE=X5_2_LITE_IAAS i\
ntremap=off init=/bin/bash rw ★末尾に入力します
  

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

Oracle Linux 8.x以降の場合、/home配下にディレクトリは存在しておらず、別途マウントコマンドの実行が必要です。

 
 ・カレントディレクトリを確認します
# pwd
 →「/」が返される
# cd home
# pwd
 →「/home」が返される
# ls -l
 →「total 0」が返される
・/home配下をマウントします
# mount /dev/mapper/vg00-home /home
# ls -l /home
 →/home配下にディレクトリが追加される
total 44
drwx------  2 clamav  root      4096 Aug 20  2023 clamav
drwxr-xr-x  4 grid    oinstall  4096 Jul 13 05:28 grid
drwx------  2     990 root      4096 Aug 20  2023 hostmetrics
drwx------. 2 root    root     16384 Aug 10  2023 lost+found
drwxr-xr-x  3 mysql   mysql     4096 Jul 13 04:36 mysql
drwx------  3 opc     opc       4096 Jun  4 05:46 opc
drwxr-xr-x  3 oracle  oinstall  4096 Jul 13 05:15 oracle
drwx------  2 secscan root      4096 Aug 20  2023 secscan
  

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

  
  #  /usr/sbin/reboot -f
  

Oracle Linuxのバージョンによって変わる箇所は以上です。

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


まとめ

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

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.12.02

OCIでGPUインスタンスを構築してみた

OCIで提供されている生成AIサービスとGPUインスタンスを前回の記事「生成AIにGPUが適している理由」で紹介しました。本記事では、GPUインスタンスをデプロイして、インスタンス上でLLM(大規模言語モデル)の動作環境を構築する方法をご紹介します。

  • Oracle Cloud
  • Oracle Database
2024.11.15

Oracle Cloud VMware SolutionにおけるVMware HCXとは?

前回の記事でお伝えしたとおり、OCVSを構築するとVMwareの複数の機能が利用可能です。 それらの機能の中で、今回はHCXの概要や具体的な機能、OCVSでHCXを利用するメリットなどをお伝えします!

  • Oracle Database
  • Oracle Cloud
2024.11.05

Oracle Database 23ai新機能!メモリーを有効活用する統合メモリー管理

2024年5月にOracle Cloud環境にて、先行してOracle DB 23aiがリリースされました。 Oracle Base Database ServiceにおけるOracle Database 23aiの検証結果を報告します。 今回は「統合メモリー管理」をテーマにお伝えします。

ページの先頭へ戻る