(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

Database

【Db2】特定のSQLに対してインデックスの利用有無を確認する

やりたいこと Db2環境で発行するSQLにてテーブルに作成してあるインデックスの利用有無を確認する。 環境情報 DB2 v11.5 RHEL 7 やり方 db2explnコマンドを利用する。接続情報及びqオプションにて発行したいSQLを記載した結果にて $ db2expln -d sample -u D…

【Db2】SQLにかかる時間をdb2batchで計測する

やりたいこと Db2環境で発行するSQLの処理時間を確認する。 環境情報 DB2 v11.5 RHEL 7 やり方 db2batchコマンドを利用する。 $ which db2batch ~/sqllib/bin/db2batchSQL分を記載したファイルを用意した上で select * from sales; 以下のように引数にてデー…

【Db2】アクティブログのミラーログをMIRRORLOGPATHで設定する

確認したいこと アクティブログのミラー先を設定した後に $ db2 UPDATE DB CFG FOR sample USING MIRRORLOGPATH /test/db2inst1/Mirror DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully. SQL1363W One or more of the parameter…

【Db2】HADR_STATE=REMOTE_CATCHUP_PENDINGから復旧させた流れ

事象 スタンバイ機のDBのHADRが正常に機能しない。具体的にはステータスがREMOTE_CATCHUP_PENDINGとなっている。 $ db2pd -db sample -hadr .... HADR_ROLE = STANDBY HADR_STATE = REMOTE_CATCHUP_PENDING HADR_CONNECT_STATUS = DISCONNECTED ... 環境情報…

【Db2】STANDBY機のサーバ再起動時におけるTSA/RSCTによる復旧確認

確認したいこと db2haicuで設定したTSAMP構成が組まれている環境で $ lssam Online IBM.ResourceGroup:db2_db2inst1_db2inst1_SAMPLE-rg Nominal=Online '- Online IBM.Application:db2_db2inst1_db2inst1_SAMPLE-rs |- Online IBM.Application:db2_db2inst1…

【Db2】データベースマネージャー構成パラメーターを確認する

やりたいこと 以下のように設定を行うデータベースマネージャー(dbm)の構成パラメーターの現在値の確認する。 $ db2 update dbm cfg using xx yy 環境情報 IBM Tivoli System Automation for Multiplatforms 4 DB2 v11.5 RHEL 7 やり方 以下のコマンドを押…

【Db2】db2_killを用いたインスタンス障害時のTSA/RSCTによる復旧確認

確認したいこと db2haicuで設定したTSAMP構成が組まれている環境で $ lssam Online IBM.ResourceGroup:db2_db2inst1_db2inst1_SAMPLE-rg Nominal=Online '- Online IBM.Application:db2_db2inst1_db2inst1_SAMPLE-rs |- Online IBM.Application:db2_db2inst1…

【Db2】db2haicuの設定情報をxml形式で出力する

やりたいこと db2haicuで対話形式に設定したTSAMP構成をXML形式に出力する。 環境情報 IBM Tivoli System Automation for Multiplatforms 4 DB2 v11.5 RHEL 7 やり方 -o(output)オプションを利用し、出力先のファイル名を指定すると $ db2haicu -o test.xm…

【Db2】TSAによるHADR自動切り替えにおけるクォーラムデバイスの役割

はじめに クラスタリングツールの世界にはクォーラムデバイス(quorum device)と呼ばれる概念があり、実際にDb2のクラスタリングを組む際に以下のように指定します。 Configure a quorum device for the domain called 'xx'? [1] ... The following is a li…

【Db2】db2haicuで設定した自動テイクオーバーを確認する 

はじめに スタンバイ側にてdb2haicuを実施した後に プライマリーでも同設定を行い、機能検証としてプライマリー側のOSをシャットダウンしてみました。 環境情報 IBM Tivoli System Automation for Multiplatforms 4 DB2 v11.5 RHEL 7 Primary側の手順 db2hai…

【Db2】スタンバイ側にてdb2haicuを用いてクラスタードメインを構成する

はじめに 以下のようにHADR構成のデータベースが既にある場合、プライマリーのデータベースサーバとスタンバイのデータベースサーバでクラスタードメインを作成する流れについて記載しました。 尚、今回はクラスタリングツールにTSAを利用しています。 環境…

【Db2】HADR構成のDBでクライアントリルートの動きを確認する

はじめに 以下のようにHADR構成のデータベースがある場合、クライアント側が接続先を変更せずともTAKEOVER時にスタンバイ側に切り替わるクライアント・リルート機能をを確認しました。 環境情報 DB2 v11.5 RHEL 7 サーバ側での事前確認 プライマリー側のデー…

【Db2】リモートにあるデータベースサーバに接続するためにカタログを作成する

はじめに 以下のように遠隔にデータベースがある場合、クライアント側でCATALOGと呼ばれる情報を用意して接続を行います。本記事ではそれらの流れについて記載しました。 尚、クライアント側でdb2コマンドは押下できる状態かつサーバ側ではインスタンス/DBが…

【Db2】HADRの正副構成を手動で切り替える

はじめに プライマリー機とスタンバイ機の間でHADR(High Availability Disaster Recovery)機能を利用しているIBM Db2環境で、プライマリー側の更新がスタンバイ側に取り込まれていることを実機で確認しました。 環境情報 DB2 v11.5 RHEL 7 事前準備 SAMPLE…

【Db2】START HADR AS STANDBYを実施するもUnable to start HADR. Reason code = "1"となる

事象 HADR構成をスタンバイ側で実施しようとするも表題のエラーとなる。 $ db2 "START HADR ON DB SAMPLE AS STANDBY" SQL1768N Unable to start HADR. Reason code = "1". 環境情報 DB2 v11.5 RHEL 7 原因/解決策 公式ドキュメントにて START HADR AS STAND…

【Db2】sb2setコマンドでDB2SYSTEMを変更する

やりたいこと デフォルトで設定されている変数であるDB2SYSTEMを変更したい。 尚、同値はインスタンスユーザにスイッチした上で以下コマンドで確認できる。 $ db2set -all [i] DB2COMM=TCPIP [i] DB2AUTOSTART=NO [g] DB2SYSTEM=testserver 環境情報 DB2 v11…

【Db2】No start database manager command was issued というエラー

事象 データベースに接続しに行くも表題のエラーとなる。 $ db2 connect to SAMPLE SQL1032N No start database manager command was issued. SQLSTATE=57019 環境情報 DB2 v11.5 CentOS Linux 7 (Core) 原因/解決策 db2startで起動するメインプロセス(db2s…

【MongoDB】スロークエリを書き出す設定を入れてパフォーマンスが遅くなる時間帯を確認する

やりたいこと MongoDBの特定のデータベース内で遅いトランザクションが発生している時間帯やクエリの中身を突き止める。 環境情報 Mongo v4.0 やり方 対象のデータベースを選定した後に rs0:PRIMARY> use testdb switched to db testdb以下コマンドを押下す…

【MongoDB/Kubernetes】curlでPrometheusのメトリクスを取得する

はじめに Podとして展開しているMongoDBのメトリクスをエクスポーターのPodから取得する流れについて記載しました。 尚、MongoDBは既に構築済のものとし、省力化のためにHelmパッケージを利用します。 環境情報 Mongo v4.0 openshift 4.6(kubernetes 1.19)…

【MongoDB】RECOVERING状態のmemberを強制的に復旧させる

事象 レプリケーションの状態が以下のようなmemberが存在し "state" : 3, "stateStr" : "RECOVERING", ... "lastHeartbeatMessage" : "",...以下のエラーにて事象が解消しない。 REPL [rsBackgroundSync] sync source candidate: xx REPL [replication-0] We…

【MongoDB】SecondaryのMongoDBを強制的にPrimaryに変更する手順メモ

やりたいこと レプリケーションの不具合にてSecoundaryのMongoDBしかいない状況でコマンドを通してPrimaryに変更したい。 環境情報 Mongo v4.0 やり方 以下のようにコマンドにforce:trueを付与すると rs0:SECONDARY> rs.reconfig(cfg,{"force":true})書き込…

【MongoDB】レプリケーションの動きを検証する

はじめに 以下記事にて作成したレプリカセットが機能していることをPrimaryを落とすことで検証します。 環境情報 MongoDB v4.4 kubectl v1.18 事前準備 PrimaryのDBサーバにてデータベース/コレクションを作成して1つドキュメントを追加します。 repltest:P…

【MongoDB/Kubernetes】レプリカセットの初期設定

はじめに KubernetesのStatefulsetを利用して3つのMongoDBを用意し、PrimaryとSecondaryとArbiterにてレプリケーションを組む手順について解説します。 環境情報 MongoDB v4.4 kubectl v1.18 事前準備 以下のyamlを展開することで3台もMongoDBがレプリカセ…

【MongoDB】WiredTiger has failed to open its metadata RawというErrorメッセージ

事象 KubernetesにてMonogoDBを起動するも以下メッセージがPodのログに残った状態でSTATUSがErrorとなる。 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=7505M,cache_overflow=file_max=0M),session_max=20000,eviction=(threads_m…

【MongoDB】Kubernetesの別PodからリモートのMongoDBを操作する

やりたいこと MondoDBへの操作を別のホストから行う。 具体的には以下のようにDBの実体がいるホストとは別のホストにmongo関連コマンドを入れ、操作を行う。 +---------+ +---------+ | Mongo +<----+/bin/mongo | DB | | | +---------+ +---------+ 環境情…

【入門】Node.jsでMongoDBに値を書き込むハンズオン(後編)

はじめに 以下の記事の後編です。 MongoDBの書き込み先は既に作成済の以下です。 DB Collections test user 環境情報 Ubuntu : 20.04 Node.js : v10.19 MongoDB : v3.6 MongoDBに書き込むサンプルプログラム const mongodb = require('mongodb') const Mongo…

【入門】Node.jsでMongoDBに値を書き込むハンズオン(前編)

はじめに 以下の記事でも触れたようにJSON形式で価を保持するMongoDBはNode.jsと相性がよいためサービスの組み合わせでもよく見られます。 本記事ではUbuntu環境に1からインストールを行い、Node.jsプログラムからMongoDBにドキュメントを挿入する流れを紹介…

【入門】インデックスにおけるB-Tree+とは?

はじめに B+木とも呼ばれ、データベースの世界でよく聞く本用語ですが「B-Tree+とは何か?」と聞かれると答えに困る方もいると思います。というわけで、本用語を初めて聞いた方向けにデータベース関連の基礎知識を交えながら同用語の意味について分かりやす…

【GROWI】ページに書いたテキストデータをMongoDBから確認する

はじめに マークダウン形式でWikipediaのようにドキュメントを生成できるGrowiは以下公式サイトにあるようにdocker-composeで利用でき 構成コンテナを見れば分かりますがMongoDBがデータベースとして利用されています。 $ docker-compose.exe ps Name Comman…

【Db2】特定データベースのオンラインバックアップとリストアの流れ

はじめに 端末に用意したDb2環境を利用して オンラインバックアップコマンドbackupの試し打ちをした際のログです。 環境情報 DB2 v11.5 CentOS Linux 7 (Core) 事前準備 以下記事で作成したSAMPLEデータベースを対象に行います。 まずはオンラインバックアッ…