2017-12-01から1ヶ月間の記事一覧
nethogs はネットワークの top コマンド的なもので通信量の多いプロセスをランキング表示して、秒間通信量も見ることができる。 インストール sudo yum -y install gcc-c++ libpcap-devel.x86_64 libpcap.x86_64 ncurses* git clone https://github.com/rabo…
Linux で圧縮率の低い大きなサイズのファイルを作成する方法をメモ。 $ dd if=/dev/urandom of=1gb.dat bs=1M count=1024 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB) copied, 12.9546 s, 82.9 MB/s $ ls -lh 1gb.dat -rw-rw-r-- 1 ec2…
RDS Oracle で Statspack を使えるようにする手順をメモ。 オプショングループを作成する AWSマネジメントコンソールで RDS を選択する。 [オプショングループ]-[グループの作成]を選択し、任意の名前と説明を入力し、エンジンは oracle-eeを選択して、メジ…
JPOUG Advent Calendar 2017 の21日目のエントリーです。昨日は JPOUG in 15 minutes at db tech showcase Tokyo 2017 開催報告 でした。 JPOUG Advent Calendar に参加するのも6年目になりました。 今年は「SLOB(The Silly Little Oracle Benchmark) 」とい…
RDS PostgreSQL のクロスリージョンレプリケーションのラグがどの程度か調べてみたときの手順のメモ。 手順 東京リージョンのマスターで pgbench で負荷をかける。 $ pgbench -r -c 10 -j 10 -t 100000 -U awsuser -h pg-m4xlarge-master-7.******.ap-northe…
Redshift の COPY コマンドが失敗した場合、ロールバックするか。 COPY コマンドはアトミックでトランザクショナルです。 (中略) COPY コマンドが失敗した場合、トランザクション全体が中止され、変更はすべてロールバックされます。 複数ファイル読み取り…
RDS PostgreSQL に pgbench で 2000 セッション張って負荷をかけてみたところ、12.5GBほどあった空きメモリを使い尽くして、2GB以上スワップした。 プロセス自体のメモリ、ワーク領域、ページテーブル(PTE)などで1セッションあたり、6MB以上は使っている計…
MySQL Connector/J(JDBC Driver) で接続時に任意の collation_connection をセットする には以下の用に JDBC URL に「connectionCollation=utf8mb4_bin」のように設定すれば良い。 jdbc:mysql://aurora01.cluster-*******.ap-northeast-1.rds.amazonaws.com:…
Amazon Redshift のテーブル一覧とサイズを AWS Labs の table_info.sql で確認する。 % git clone https://github.com/awslabs/amazon-redshift-utils.git % cd src/AdminScripts % psql "host=rs-spectrum01.******.us-east-1.redshift.amazonaws.com user…
MySQL でオプティマイザトレース(Oracle Database でいう 10053 トレース)を取得する方法。 mysql> SET optimizer_trace="enabled=on"; mysql> SET optimizer_trace_max_mem_size = 1048576; mysql> select 1; mysql> select * from information_schema.op…
まとめ 「SVV_TABLE_INFO.TBL_ROWS」 で削除対象としてマークされた行も含めた行数を確認できる 「SVV_TABLE_INFO.TBL_ROWS」 - 「select count(*) from テーブル名」が削除済としてマークされた行数 STV_TBL_PERM、SVV_DISKUSAGE も同様に削除済としてマー…
Aurora MySQL互換で binlog を有効化して、マスターからは binlog にアクセスできるが、リードレプリカではアクセスできないことを確認した。 binlog を有効化する パラメータグループを作成する Parameter Group Family: aurora5.6 Type: DBCluster Paramet…
MariaDB Connector/J で MySQL に接続する Java プログラム。 ソースコード ほぼ MariaDB Connector/J で MariaDB 10.3 に接続する - Qiita のまま。パッケージ名を削除して、接続情報を変更しただけ。 JdbcTest.java import java.sql.*; public class JdbcT…
LOAD DATA ステートメントで "Row X was truncated; it contained more data than there were input columns" が発生する
事象 LOAD DATA ステートメントで CSV ファイルをロードすると "Row X was truncated; it contained more data than there were input columns" というワーニングが発生し、全ての行がロードされていない。 mysql> LOAD DATA LOCAL INFILE 'test.csv' INTO T…
LOAD DATA で "Warnings: 48" のようにワーニングが発生した場合に、その内容を見たい場合は、 % mysql --local-infile -h aurora01.cluster-******.ap-northeast-1.rds.amazonaws.com -u awsuser -p mysql> LOAD DATA LOCAL INFILE 'test.csv' INTO TABLE T…
Aurora MySQL互換というより MySQL の話です。 事象 mysql クライアントで接続して、LOAD DATA ステートメントで CSV ファイルをロードしようとすると、"ERROR 1148 (42000): The used command is not allowed with this MySQL version" と怒られる。 % mysq…
同じ名前のクラスターが存在したらスルーするEMRクラスター作成シェルスクリプト。ただし、同時実行すると複数クラスターが作成される。 厳密にやりたい場合は S3をトリガーとするLambdaの冪等性をDynamoDBで実現してみた | DevelopersIO のような方式にす…
事象 AWS CLI を実行すると、"'ascii' codec can't encode characters in position 1-7: ordinal not in range(128)" と怒られる。 % aws emr list-clusters { "Clusters": [ { "Status": { "Timeline": { "ReadyDateTime": 1512532909.567, "CreationDateTi…
macOS で Linux の strace のようにシステムコールトレースを取得したい場合は、dtruss で同等のことができる。 実行例 % sudo dtruss -deflo sudo -u $(id -u -n) sleep 1 PID/THRD RELATIVE ELAPSD CPU SYSCALL(args) = return 83868/0x3967d6: 1084 30 27…
AWS Database Migration Service (DMS) の Full Load (Oracle Database -> MySQL) の検証メモ。 Oracle Database(ソース) の TIMESTAMP WITH TIME ZONE 型の列は DMS で MySQL(ターゲット) にロードすると varchar(37) 型の列に変換される*1。 ソースが TIME…