こちらのエントリーは MySQL Advent Calendar 2021の14日目の記事になります。 今年はオンラインスキーママイグレーションツールのpt-online-schema-change(pt-osc)とgh-ostをよく調べていたので、その中から一つ。 mysqlコマンドではエラーになるけど、制約…
さくっと、直近で実行されたクエリの情報がみたいです。 それにはperformance_schema.events_statements_historyテーブルを使います。 performance_schema.events_statements_historyはスレッドごとにperformance_schema_events_statements_history_size(def…
この記事は MySQL Advent Calendar 2019 11日目の記事です。 mysqldumpがFLUSH TABLESでタイムアウトしたので調べたという記録です。 (SQLステートメントや出力結果は一部省略しています) 問題 とある日、スレーブが壊れましてmysqldumpを使ってマスターか…
MySQL8.0の Instant Add Columnで追加したカラムを全行updateするとデータサイズとか実行時間ととかどうなるか試してみた。 まず、 Instant Add Columnとは... データディクショナリのみを変更することで、add column処理が即時で完了する操作。 ALTER TABLE…
この記事は MySQL Casual Advent Calendar 2018 の12日目の記事です。 さて、MySQLでSQLステートメントの統計情報を見る時ってどうしますか? performance_schema.events_statements_summary_by_digest テーブルであったり、sys.statement_analysis ビューを…
InnoDBでSELECT FOR UPDATEでセッションが溢れて、原因のpidはわかるけど、ロック取得しているSQLがなんとかとれないかなと調べてみた。 MySQL5.7以降であれば下のSQLでとれるかも。たぶんいけるはず。 SELECT lo.*, t.thread_id AS blocking_thread_id, GRO…
MySQL Casual Advent Calendar 2017の15日目の記事です。 MySQLには古くからSET型というカラムの型がありまして、知らない人もいるかもしれません。 私は聞いたことあるぐらいで、使ったこと、使っている現場に遭遇したことなかったです。 今回は初めてめぐ…
xtrabackupでバックアップとっていたがいつまでたっても終わる気配ないという状況に。 バージョンはxtrabackup2.4.7。 xtrabackupにはIOを制御するための--throttleオプションがあって、これにやられた。 マニュアルの情報。 --throttle=# This option limit…
redis-faina使おうとするときすぐ使えるようにするメモ。 github.com RedisのMonitorコマンドを使って出力した情報をsummaryしてくれるすごいツール。 Monitorしてると負荷上がるからなにかある時に使う。 ダウンロード git clone https://github.com/facebo…
sysbench1.0でMySQLのベンチマークとったのでその方法のメモ。 OSはCentOS7.3 MySQLをyumでインストールする # wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm # rpm -i mysql57-community-release-el7-11.noarch.rpm # yum i…
xtrabackupの–ftwrl-wait-timeoutと–ftwrl-wait-thresholdをいつも忘れてしまうのでメモ。 xtrabackup2.4で試す。 –ftwrl-wait-threshold Flush table with read lockを実行するタイミングでのクエリの実行時間。デフォルト60秒。 –ftwrl-wait-timeout –ftwr…
これはJPOUG Advent Calendar 2016の16日目の記事です。 最初に言っておきますが、この記事はなんも役に立ちません! では始めます。 MySQLのsql_modeにはいろいろとsqlの動作の設定ができるんですが、 ここにORACLEというのが選択できます。 たぶんOracle d…
同一ホスト内にRedis Cluster構築してみたのでメモ。 version:Redis 3.2.6 インストール 6台構成でクラスター作成する ノードを追加してみる ノードを撤去してみる ノードを移動してみる インストール 動作確認のためなのでインストールの細かい設定は気にし…
MySQLのセカンダリインデックスのロックで嵌ったのでメモ。 isolationがREPEATABLE-READのときギャップロックやらネクストキーロックはセカンダリーインデックスの場合どうなるかよくわかってなかった。 例えば、こんなテーブル作ってcol2にインデックスを作…
MySQLにgdbアタッチしてソースコードからいろいろ追う方法を教わったので自分メモ。 gdbアタッチ gdb -p mysqldのプロセス番号 この時点でmysqldが一時停止される。 ブレイクポイント (gdb) b function_name mysqld再開 (gdb) c ステップ実行 (gdb) n 変数確…
JPOUG in 15 minutes #1 | Japan Oracle User Group (JPOUG)で自分がやってきたOracle SEでの運用方法について話をさせてもらいました。 Oracle Database Standard Editionでの運用いろいろ from kenken0807 www.slideshare.net 主な話としてはSEでASHっぽく…
MySQLのデータインポートツールMyDumperを試したのでメモ。 mysqldump・・・データのエクスポート・インポートをシングルスレッドで実行 mydumper・・・データのエクスポート・インポートをパラレルスレッドで実行 エクスポートしたファイルごとにパラレルで…
RMANで別ホストに移行した時にOEMの作成でいろいろ嵌ったのでメモ。 emca -config dbcontrol db -repos recreate実行時 パターン1 設定: ORA-01031: ???????-?????????? ・ ・ ・ 2014/10/09 9:58:40 oracle.sysman.emcp.util.GeneralUtil initSQLEngineLoa…
Oracleを使用していると、断片化がつらい。 頻繁に更新しているインデックスの断片化が特につらい。 そして表領域を圧迫していく。。 そういう時にEnterpriseEditionであればindex rebuild onlineなんてできるけど、 StandardEditionだとできないのでshrink…
あるOracleDBを同一サーバ上に複製させるメモ。 環境は12cSE2。 現在、稼動中のインスタンス名をtestdb、複製先DBをcopydbとする。 準備 初期化パラメータをコピーして、リネーム cp -p $ORACLE_HOME/dbs/inittestdb.ora $ORACLE_HOME/dbs/initcopydb.ora パ…
基表に対してSELECT権限がないVIEWに対してEXPLAIN PLAN FORを使用して実行計画を取得しようとすると SQL> explain plan for select * from test.test1_view; explain plan for select * from test.test1_view * 行1でエラーが発生しました。: ORA-01039: ビ…
最近勉強中のredis。 redis3.2.0以降はデフォルトprotect-modeが有効になっているようで、bindとrequirepassが設定されていない場合 他端末から接続しようとすると↓のメッセージが表示されて情報取得できない。 # redis-cli -h 192.168.1.1 -p 6379 info DEN…
Oracle 12cの新機能のオンライン操作をOracle Standard Edition2でできるか確認したのでメモ。 ↓を基にいろいろ確認した。 docs.oracle.com バージョンはOracle 12.1.0.2 SE2 オンラインでのデータファイル移動 結果: × これはもちろんできません。 alter da…
12cからの新機能のプロセスのマルチスレッド化を試してみました。 今回はバックグラウンドプロセスではなく専用サーバのスレッド化についてです。 環境はOracle database 12.1.0.2 SE2 マルチスレッドの有効化 初期化パラメータのTHREADED_EXECUTIONとUSE_DE…
JPOUGで2回目のLTしました。 さすがに1回目より緊張しないかなーと思たけど、 500人以上の会場の規模にさすがにビビった。。。 イベント内容 Oracle Database Connect 2016 | Japan Oracle User Group (JPOUG) スライド Oracle常駐接続プーリング(DRCP)を…
テーブルごとの1時間あたりのDML(INSERT,UPDATE,DELETE)の平均を取得するために考えた方法。 確認手段としてDBA_TAB_MODIFICATIONSを使用する。 ALL_TAB_MODIFICATIONS 以下のように確認できる。 SELECT table_name,inserts,updates,deletes,to_char(time…
OracleSERAC+ASMのRMANバックアップから非ASM(ファイルシステム)のシングル環境へリストアしたのでメモ。 環境 Oracle11.2.0.4 DB_NAME:orcl 前提 RMANバックアップは毎日0時にフルバックアップを取得(backupset plus archivelog) delete noprompt obsol…
RMANでアクティブなデータベースから同じSIDを持った複製データベースを作成したのでメモ。 複製先サーバ側の設定 複製先サーバでOracleインスタンスが起動できる状態にしておく 同じバージョンORACLEソフトウェアのインストールをしておく 環境変数も設定す…
データリカバリアドバイザを使用してリカバリを行うと楽に復旧可能だったのでメモ。 Oracle RACでは対応してないみたい、シングルインスタンスのみ対応。 環境はOracle database 11.2.0.4 SEone。 以下条件で実施している。 1. 高速リカバリ領域の有効化(バ…
GUIを使用せずに簡単にORACLE DATABASEを作成する。 SIDはorclで作成。 環境 今回はdockerを使用する。 dockerのデフォルトshmsizeが64MBで小さすぎてORACLEインスタンス起動できなかったので --shm-sizeを指定できるversion1.10を使用。 # docker --version…