ablog

不器用で落着きのない技術者のメモ

2018-03-01から1ヶ月間の記事一覧

「Oracleの基本 〜データベース入門から設計/運用の初歩まで」の紹介

株式会社コーソルの 渡部さん (Oracle ACE)から献本いただいた「Oracleの基本 〜データベース入門から設計/運用の初歩まで」の紹介です。一言で言うと新卒研修でデータベースの教科書として最適な本だと思います。渡部さんとは JPOUG などのコミュニティ…

AWR Formatter を使ってみた

渡部さんがツイートされていて知った AWR Formatter を知ってみた。"知っている方も多いと思いますが、念のためにAWR Formatterツールを紹介します。"しらなかった・・・https://t.co/IQWPvl51Ry— Watabe Ryota / 渡部 亮太 (@wrcsus4) 2018年3月30日 AWR Fo…

Oracle Database の DBMS_RANDOM.VALUE を MySQL 向けに書き換える

Oracle Database の以下の PL/SQL コードを standard_price := DBMS_RANDOM.VALUE(30,50); MySQL ではこう書き換えると同じことができる。 select round( rand() * 20 + 30 ) into var_standard_price; 実際にプロシージャを作成して実行してみるとこんな感…

MySQL のストレージエンジンとのインタフェース

どの当たりのコードか当たりをつけ中。 sql/handler.h sql/handler.cc sql/sql_table.cc Understanding MySQL Internals: Discovering and Improving a Great Database (English Edition)作者: Sasha Pachev出版社/メーカー: O'Reilly Media発売日: 2009/02/…

EC2 にログインしようとすると "Permission denied (publickey,gssapi-with-mic) " と怒られる

事象 EC2 にログインしようとすると以下のエラーで怒られる。 % ssh -i ~/mykey.pem ec2-user@ec2-**-***-***-**.ap-northeast-1.compute.amazonaws.com Permission denied (publickey,gssapi-with-mic). 原因 ユーザー名が間違っている。 SSH を使用してイ…

Oracle Database で mutex を意図的に発生させる

Oracle Database で意図時に mutex(以下は"cursor: pin S") を発生させる。 “Cursor: pin S” mutex contention testcase and diagnostics tools. | Latch, mutex and beyond 以下のPL/SQLコードを同時多重実行する。 begin for i in 1..1000000 loop execute…

Linux で CPU のマイクロコードのバージョンは /proc/cpuinfo で確認できる

Linux で CPU のマイクロコードのバージョンは /proc/cpuinfo で確認できる $ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 63 model name : Intel(R) Xeon(R) CPU E5-2666 v3 @ 2.90GHz stepping : 2 microcode : 0x3…

Spark SQL on EMR に JDBC 接続する

Spark SQL on EMR に JDBC 接続したメモ。 EMRクラスタを作成する Release label:emr-5.12.0 Hadoop distribution:Amazon 2.8.3 Applications:Hive 2.3.2, Pig 0.17.0, Hue 4.1.0, Zeppelin 0.7.3, Spark 2.2.1, Presto 0.188 ssh でマスターノードにログイ…

Python スクリプトを cProfile でプロファイリングする

cProfile とは cProfile と profile は 決定論的プロファイリング (deterministic profiling) を行います。 プロファイル (profile) とは、プログラムの各部分がどれだけ頻繁に呼ばれたか、そして実行にどれだけ時間がかかったかという統計情報です。 pstats…

Aurora Postgres で実行したクエリをログに出力する

設定 DB パラメータグループを作成して以下の通り設定する log_statement:all log_min_duration_statement: 1 log_destination: csvlog DBインスタンスに作成したパラメータグループを設定する 設定確認 AWSマネジメントコンソールで確認できるが、接続して…

PostgreSQLのメモ

select * from pg_available_extensions;

Aurora Postgres で track_activity_query_size を変更して pg_stat_activity.query に記録されるクエリの長さを拡張する

設定変更 パラメーターグループを作成する パラメータグループファミリー: aurora-postgresql9.6 タイプ: DB Parameter Group グループ名: custom.aurora-postgresql9.6 (任意) 説明: Custom parameter group for aurora-postgresql9.6(任意) track_activity…

grep でヒットした SQL トレースを tkprof で整形する

$ grep -l foo *.trc|xargs -I{} -n1 tkprof {} {}.tkprof sort=exeela

grep で特定の文字列を含むファイル名だけを表示する

grep で特定の文字列を含むファイル名だけを表示する。 % grep -l foo *.log dtruss.log 参考 grep で特定の文字列が含まれるファイル名だけをリストアップする方法 | ウェブル

less で - や + で始まるファイルを開く

- や + で始まるファイルを開こうとすると以下のようにエラーになるので、 $ less +ASM1_ora_19821.trc Missing filename ("less --help" for help) 以下のように -- とオプションをつけるとよい。 $ less -- +ASM1_ora_19821.trc 参考 less(1) - Linux manu…

MySQL InnoDB で大きなトランザクションを見つける

SHOW ENGINE INNODB STATUS の History list length が MySQL インスタンス全体の UNDO ページ数 undo log entries がトランザクション毎のUNDOレコード数 で、History list length が大きいとMySQLインスタンス全体での UNDO のサイズが大きくなりロールバ…

screen メモ

インストール sudo yum -y install screen 使う 起動する screen デタッチ ctrl-a d 一覧 screen -ls アタッチ screen -r <pid> 横取りアタッチ screen -dr <pid> 参考 https://qiita.com/ryounagaoka/items/8203e9c149b542986c92</pid></pid>

MySQL から ROW 形式のバイナリログをダウンロードして中身を確認する

バイナリログを一覧表示する % mysql -h aurora01.******.ap-northeast-1.rds.amazonaws.com -u awsuser -p 5.6.10-log awsuser: [mydb] 01:27> show binary logs; +----------------------------+------------+ | Log_name | File_size | +----------------…

Redshift の Timestamp 型のカラムに COPY コマンドでデータをロードしてみる

ただのメモ。 データを用意して % cat ts_test.csv 202 2012-12-31 12:34:56 652 2012-12-31 12:34:56 761 2012-12-31 12:34:56 811 2012-12-31 12:34:56 922 2012-12-31 12:34:56 1160 2012-12-31 12:34:56 1309 2012-12-31 12:34:56 1413 2012-12-31 12:34…

macOS上でLinuxアプリケーションをそのまま動作させるアプリ ケーション Noah を使ってみた

7. macOSやWindowsでLinuxバイナリを動かすプログラムを作った話 (ぬるぽへ) で聞いた Noah をインストールして使ってみた。 Noahとは ハイパーバイザ技術を用いたクロスOSなLinuxバイナリ互換プラットフォームの構築 佐伯 学哉・西脇 友一 ー Noah : Hyperv…

sysbench で MySQL のベンチマークをとる

sysbench をインストールして MySQL のベンチマークをとる手順をメモ。 インストール $ curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.sh | sudo bash $ sudo yum -y install sysbench mysql ベンチマーク 初期データ…

MySQL のバイナリログとInnoDB ログ

MySQLのバイナリログはメディアリカバリに使うもので、ディスク障害などの際に mysqldump でエクスポートしておいたデータをインポートしてバイナリログでロールフォーワードする。Oracle Database で言うと、 インポートがリストアで、バイナリログでのロー…

SHOW ENGINE INNODB STATUS の History list length

SHOW ENGINE INNODB STATUS の History list length の見方をメモ。 mysql> show engine innodb status\G (中略) ------------ TRANSACTIONS ------------ Trx id counter 0 80157601 Purge done for trx's n:o <0 80154573 undo n:o <0 0 History list le…

Oracle Database のインスタンスリカバリではオープンしてからロールバックする

Oracle Database のインスタンスリカバリはデータベースがオープンして使える状態になった後にバックグラウンドでロールバックが行われる。トランザクションがロールバックが完了していないブロックを変更し用とした場合はフォアグラウンドでロールバックが…

MySQL クライアントのプロンプトを設定する

~/my.cnf [mysql] prompt='\\v \\u: [\\d] \\R:\\m> ' 接続してみる % mysql -h aurora01.*********.ap-northeast-1.rds.amazonaws.com -u awsuser -p Enter password: (中略) 5.6.10-log awsuser: [(none)] 04:39> use mydb; 5.6.10-log awsuser: [mydb] …