2018年9月25日 (火)

RDS Oracle 雑多なメモ#12 / FAQ

メモの続きです。

さて、前回、cpっぽいスクリプトの問題を改善したので今回は、圧縮したファイルを解凍するスクリプトを作ろうと思います。

前回の操作でファイルが増えて見づらくなったので、解凍に必要な最小限のファイルだけに整理します

12:20:19 rdsora121@BILL> @ls_dir test_dir

FILENAME TYPE FILESIZE MTIME
---------------------------------------------------------------------- ---------- ---------- --------
hoge.log file 1202 18-09-23
hoge.dmp file 1083412480 18-09-23
hoge.dmp.gz file 2603349 18-09-24
hoge.log.gz file 512 18-09-24
hoge.dmp.bak file 1083412480 18-09-24
hoge.dmp.gz.bak file 2603349 18-09-24
hoge.log.bak file 1202 18-09-24
hoge.log.gz.bak file 512 18-09-24
01/ directory 4096 18-09-24

9行が選択されました。

12:20:25 rdsora121@BILL> @rm_file test_dir hoge.log
TEST_DIR/hoge.log removed.

PL/SQLプロシージャが正常に完了しました。

12:21:49 rdsora121@BILL> @rm_file test_dir hoge.dmp
TEST_DIR/hoge.dmp removed.

PL/SQLプロシージャが正常に完了しました。

12:21:57 rdsora121@BILL> @ls_dir test_dir

FILENAME TYPE FILESIZE MTIME
---------------------------------------------------------------------- ---------- ---------- --------
hoge.dmp.gz file 2603349 18-09-24
hoge.log.gz file 512 18-09-24
hoge.dmp.bak file 1083412480 18-09-24
hoge.dmp.gz.bak file 2603349 18-09-24
hoge.log.bak file 1202 18-09-24
hoge.log.gz.bak file 512 18-09-24
01/ directory 4096 18-09-24

7行が選択されました。

続きを読む "RDS Oracle 雑多なメモ#12 / FAQ"

| | コメント (0) | トラックバック (0)

2018年9月24日 (月)

RDS Oracle 雑多なメモ#11 / FAQ

メモの続きです。

はじめに、
ごねんなさい、ごねんなさい

RDS Oracle 雑多なメモ#6 / FAQ
で作成したUTL_FILE.FCOPYを利用したcpっぽいスクリプトはtextファイルにしか対応できません。
理由は、UTL_FILE.FCOPYプロシージャ自体がtextファイル向けでバイナリファイルに対応していないことが理由ではあるのですが、textファイルしかコピーできないのもなんなので、バイナリファイルにも対応したバージョンに変更したいと思います。

RDS Oracle 雑多なメモ#6 / FAQで作成したスクリプトは今回作成したスクリプトで置き換えていただければ、m(_ _)m


前々回作成したダンプファイル(バイナリファイル)やテキストファイルを使ってみようと思います。

続きを読む "RDS Oracle 雑多なメモ#11 / FAQ"

| | コメント (0) | トラックバック (0)

RDS Oracle 雑多なメモ#10 / FAQ

メモの続きです。
前回は、dbms_datapumpパッケージを利用してエクスポートを行うスクリプトを作成しました。
今回は、作成したダンプファイル(バイナリファイルでサイズは1GB越え)をutl_compressパッケージを利用して圧縮するスクリプトを作成します。

このネタ実は、12年前の古いネタが元になっています。
Mac De Oracle (PL/SQL De COMPRESS)
Mac De Oracle (PL/SQL De UNCOMPRESS)

ということで、RDS Oracleのディレクトリオブジェクトにエクポートしたダンプファイル(バイナリファイル)圧縮してみましょう。。動くのか?。。。

続きを読む "RDS Oracle 雑多なメモ#10 / FAQ"

| | コメント (0) | トラックバック (0)

RDS Oracle 雑多なメモ#9 / FAQ

メモの続きです。
ということで、 (どういうことだ〜っ。久々に一人、ツッコミ)

圧縮解凍ネタに進む前に、dbms_datapumpパッケージを使って、1GB越えのファイルを作っておこうかと。ここで作成したダンプファイルを圧縮解凍ネタにしようと思います。
事前にscottユーザーを作成して、hoge表を作成し、1GB程度のセグメントサイズになるようにデータを登録、その後、主キー索引を追加してあります。

14:29:48 rdsora121@BILL> desc scott.hoge
名前 NULL? 型
----------------------------------------- -------- ----------------------------
ID NOT NULL NUMBER
FOO VARCHAR2(4000)

14:31:24 rdsora121@BILL>select segment_name,sum(bytes)/1024/1024/1024 "GB" from dba_segments where owner='SCOTT' group by segment_name;

SEGMENT_NAME GB
------------------------------ ----------
PK_HOGE .004882813
HOGE 2.125

経過: 00:00:00.09
14:28:59 rdsora121@BILL> @list_dir

DIRECTORY_NAME DIRECTORY_PATH
---------------------------------------- ----------------------------------------------------------------------
ADUMP /rdsdbdata/log/audit
BDUMP /rdsdbdata/log/trace
DATA_PUMP_DIR /rdsdbdata/datapump
HOGE_DIR /rdsdbdata/userdirs/02
OPATCH_INST_DIR /rdsdbbin/oracle/OPatch
OPATCH_LOG_DIR /rdsdbbin/oracle/QOpatch
OPATCH_SCRIPT_DIR /rdsdbbin/oracle/QOpatch
TEST_DIR /rdsdbdata/userdirs/01

8行が選択されました。

経過: 00:00:00.03
14:29:03 rdsora121@BILL> @ls_dir test_dir

FILENAME TYPE FILESIZE MTIME
---------------------------------------------------------------------- ---------- ---------- --------
01/ directory 4096 18-09-22

続きを読む "RDS Oracle 雑多なメモ#9 / FAQ"

| | コメント (0) | トラックバック (0)

RDS Oracle 雑多なメモ#8 / FAQ

メモの続きです。
前回は、utl_fileパッケージでrmっぽいことを行うスクリプトを作成しました。
前回まででutl_fileパッケージを利用したディレクトリオブジェクト配下のファイル操作スクリリプトを作ることができました。

さて、今回はなにをしましょう?。。。。としばし考えて浮かんだのが、昔の圧縮解凍ネタとdbms_datapumpネタの組み合わせ。。。

続きを読む "RDS Oracle 雑多なメモ#8 / FAQ"

| | コメント (0) | トラックバック (0)

2018年9月23日 (日)

RDS Oracle 雑多なメモ#7 / FAQ

メモの続きです。
前回は、utl_fileパッケージでcpっぽいことを行うスクリプトを作成しました。
今回は、ディレクトリオブジェクト以下のファイルにrmっぽい操作が行えるようなスクリプトを作ります :)

続きを読む "RDS Oracle 雑多なメモ#7 / FAQ"

| | コメント (0) | トラックバック (0)

2018年9月22日 (土)

RDS Oracle 雑多なメモ#6 / FAQ

メモの続きです。
前回は、utl_fileパッケージでmvっぽいことを行うスクリプトを作成しました。
今回は、ディレクトリオブジェクト以下のファイルにcpっぽい操作が行えるようなスクリプトを作ります :)


ただ、 utl_file.fcopyってテキストファイルしかコピーできないんだよね。という制限付きです。いまのところ。
(バイナリ版は手作りで作ればできたような、。。。昔のネタ引っ張り出すかw)

ということで、utl_file.fcopyもdbms_transfer_fileパッケージも使わずにLOB系操作でバイナリファイルとテキストファイルをコピーするよう、cp_file.sqlスクリプトを作り変えました。

RDS Oracle 雑多なメモ#11 / FAQも合わせて参照ください。m(_ _)m




作成済みのtest_dirとhoge_dirディレクトリとファイルを再利用しています。
ざっくりめで書いたので複数ファイルの一括コピーや引数の指定方法などなど、改善したいところはあるわけですがw 適宜対応ということで。

同一ディレクトリでファイルコピー

00:44:59 SQL> @ls_dir test_dir

FILENAME TYPE FILESIZE MTIME
---------------------------------------------------------------------- ---------- ---------- --------
top100_tables_v1.txt file 2277 18-09-19
01/ directory 4096 18-09-21

経過: 00:00:02.35
00:55:33 SQL> @cp_file test_dir top100_tables_v1.txt test_dir top100_tables_v2.txt

source file : test_dir/top100_tables_v1.txt
dest file : test_dir/top100_tables_v2.txt copied.

PL/SQLプロシージャが正常に完了しました。

経過: 00:00:00.04
00:57:42 SQL> @ls_dir test_dir

FILENAME TYPE FILESIZE MTIME
---------------------------------------------------------------------- ---------- ---------- --------
top100_tables_v1.txt file 2277 18-09-19
top100_tables_v2.txt file 2277 18-09-21
01/ directory 4096 18-09-21

続きを読む "RDS Oracle 雑多なメモ#6 / FAQ"

| | コメント (0) | トラックバック (0)

2018年9月21日 (金)

RDS Oracle 雑多なメモ#5 / FAQ

メモの続きです。
前回は、AWS提供のrdsadmin.rds_file_util.read_text_file関数でcatっぽいスクリプトを作っておきました。(改善したほうがよさげなところもありますがw)
今回は、ディレクトリオブジェクト以下のファイルにmvっぽい操作が行えるようなスクリプトを作ります。

これからの操作はファイルそのものに対しておこなうので、 わかりやすくする意味もあり新たにディレクトオブジェクトを作成して、ファイルを一作っておきます。

実験用ディレクトリオブジェクトの作成

00:49:07 rdsora121@BILL> @create_dir test_dir

PL/SQLプロシージャが正常に完了しました。

経過: 00:00:02.04

DIRECTORY_NAME DIRECTORY_PATH
---------------------------------------- ----------------------------------------------------------------------
TEST_DIR /rdsdbdata/userdirs/01

経過: 00:00:00.03


作成したディレクトリオブジェクト以下に適当なファイル(今回はテキストファイル)を作成

01:05:30 rdsora121@BILL> @query2file.sql

PL/SQLプロシージャが正常に完了しました。

経過: 00:00:00.12

ここでは、”utl_file I/O” - この症状はあれの可能性が高いですね。でも紹介したUTL_FILEパッケージでディレクトオブジェクト以下にファイルを出力するサンプルを再利用してファイルを書き出しました。

01:06:02 rdsora121@BILL> !cat query2file.sql
DECLARE
cDIR_NAME CONSTANT VARCHAR2(30) := 'TEST_DIR';
cFILE_NAME CONSTANT VARCHAR2(128) := 'top100_tablenames__'||TO_CHAR(systimestamp, 'rrmmddhh24miss.ff')||'.txt';
cBufferSize CONSTANT BINARY_INTEGER := 32767;
cOpenMode CONSTANT VARCHAR2(2) := 'w';
fileHandle UTL_FILE.FILE_TYPE;
buffer VARCHAR2(32767);

cBulkReadLimit CONSTANT PLS_INTEGER := 324;
TYPE tBulkReadArray IS TABLE OF VARCHAR2(8192) INDEX BY BINARY_INTEGER;
bulkReadArray tBulkReadArray;
CURSOR cur_top100_tablenames IS
SELECT
table_name
FROM
dba_tables
ORDER BY
table_name
FETCH FIRST 100 ROWS ONLY
;
BEGIN
OPEN cur_top100_tablenames;
fileHandle := UTL_FILE.FOPEN(cDIR_NAME, cFILE_NAME, cOpenMode, cBufferSize);
LOOP
FETCH cur_top100_tablenames
BULK COLLECT INTO bulkReadArray
LIMIT cBulkReadLimit;

EXIT WHEN bulkReadArray.COUNT = 0;

buffer := NULL;
FOR i IN bulkReadArray.FIRST..bulkReadArray.LAST LOOP
buffer := buffer || bulkReadArray(i) || UTL_TCP.CRLF;
END LOOP;
UTL_FILE.PUT(fileHandle, buffer);
UTL_FILE.FFLUSH(fileHandle);
END LOOP;
UTL_FILE.FFLUSH(fileHandle);
UTL_FILE.FCLOSE(fileHandle);
CLOSE cur_top100_tablenames;
EXCEPTION
WHEN OTHERS THEN
IF UTL_FILE.IS_OPEN(fileHandle) THEN
UTL_FILE.FCLOSE(fileHandle);
END IF;

IF cur_top100_tablenames%ISOPEN THEN
CLOSE cur_top100_tablenames;
END IF;
RAISE;
END;
/

テキストファイルがディレクトリオブジェクト以下に作成されましった!

01:06:29 rdsora121@BILL> @ls_dir test_dir

FILENAME TYPE FILESIZE MTIME
---------------------------------------------------------------------- ---------- ---------- --------
top100_tablenames__180919160551.113374000.txt file 2277 18-09-19
01/ directory 4096 18-09-19

念のため中身を確認

01:06:38 rdsora121@BILL> @cat_file test_dir top100_tablenames__180919160551.113374000.txt

TEXT
------------------------------------------------------------------------------------------
ACCESS$
ACLMV$
ACLMV$_REFLOG
ACLMVREFSTAT$


・・・中略・・・

AQ$_SUBSCRIBER_TABLE
AQ$_SYS$SERVICE_METRICS_TAB_G
AQ$_SYS$SERVICE_METRICS_TAB_H
AQ$_SYS$SERVICE_METRICS_TAB_I

100行が選択されました。

続きを読む "RDS Oracle 雑多なメモ#5 / FAQ"

| | コメント (0) | トラックバック (0)

2018年9月20日 (木)

RDS Oracle 雑多なメモ#4 / FAQ

メモの続きです。
前回は、AWS提供のrdsadmin.rds_file_util.listdir関数を利用したlsっぽいファイルリストスクリプトを作成しました。
今回は、同じくAWS提供のrdsadmin.rds_file_util.read_text_file関数でcatっぽいスクリプトを。

ディレクト名を確認し。。

05:10:47 rdsora121@BILL> @list_dir

DIRECTORY_NAME DIRECTORY_PATH
---------------------------------------- ----------------------------------------------------------------------
ADUMP /rdsdbdata/log/audit
BDUMP /rdsdbdata/log/trace
DATA_PUMP_DIR /rdsdbdata/datapump
OPATCH_INST_DIR /rdsdbbin/oracle/OPatch
OPATCH_LOG_DIR /rdsdbbin/oracle/QOpatch
OPATCH_SCRIPT_DIR /rdsdbbin/oracle/QOpatch

6行が選択されました。

経過: 00:00:00.02

ファイル名を確認してから。。

05:10:50 rdsora121@BILL> @ls_dir bdump

FILENAME TYPE FILESIZE MTIME
---------------------------------------------------------------------- ---------- ---------- --------
ORCL_ora_12254.trc file 4393 18-09-15
ORCL_ora_12254.trm file 202 18-09-15

・・・中略・・・

ORCL_ora_12841.trm file 71 18-09-17
trace/ directory 12288 18-09-17
ORCL_ora_12841.trc file 990 18-09-17
alert_ORCL.log file 138516 18-09-17
ORCL_mmon_11216.trm file 118 18-09-17
ORCL_mmon_11216.trc file 1503 18-09-17

279行が選択されました。

経過: 00:00:02.28

続きを読む "RDS Oracle 雑多なメモ#4 / FAQ"

| | コメント (0) | トラックバック (0)

2018年9月19日 (水)

RDS Oracle 雑多なメモ#3 / FAQ

メモの続きです。
これまでに、ディレクトリ作成、削除、ディレクトリリストスクリプトを作成しました。

残る使用頻度の高そうなスクリプトは、ディレクトリオブジェクト以下にあるファイル操作スクリプト。
OSレイヤーに入れないRDS Oracleで、ディレクトリオブジェクト以下にあるファイルの操作に困るのは目に見えてるので。。。w

RDS Oracleでは、rdsadmin.rds_file_utilパッケージが提供されていますが、提供されている関数は以下の通り。
どう見ても全ての操作を行うに不十分なのですが、よーく思い出してみましょう。
ファイルの削除などの操作は、Oracle Databaseに昔からあるビルトインパッケージ、utl_fileパッケージを利用できちゃいそうですよね!!
ということで、これまた、いちいちタイプするのは面倒なので事前に作成しておいたほうが楽なはず。。。

13:40:16 rdsora121@BILL> desc rdsadmin.rds_file_util
FUNCTION LISTDIR RETURNS RDS_FILE_LIST_T
引数名 タイプ In/Out Default?
------------------------------ ----------------------- ------ --------
P_DIRECTORY VARCHAR2 IN
FUNCTION READ_TEXT_FILE RETURNS RDS_TEXT_LIST_T
引数名 タイプ In/Out Default?
------------------------------ ----------------------- ------ --------
P_DIRECTORY VARCHAR2 IN
P_FILENAME VARCHAR2 IN

続きを読む "RDS Oracle 雑多なメモ#3 / FAQ"

| | コメント (0) | トラックバック (0)

2018年9月18日 (火)

RDS Oracle 雑多なメモ#2 / FAQ

メモの続き。

前回、ディレクトリリストとディレクトリオブジェクト作成スクリプトを作ったので、作り忘れてたディレクトリオブジェクト削除スクリプトを。

実行例
前回作成しておいたlist_dir.sqlでディレクトリ名を確認しながら "TEST"ディレクトリを削除しています。

13:30:25 rdsora121@BILL> @list_dir

DIRECTORY_NAME DIRECTORY_PATH
---------------------------------------- ----------------------------------------------------------------------
ADUMP /rdsdbdata/log/audit
BDUMP /rdsdbdata/log/trace
DATA_PUMP_DIR /rdsdbdata/datapump
OPATCH_INST_DIR /rdsdbbin/oracle/OPatch
OPATCH_LOG_DIR /rdsdbbin/oracle/QOpatch
OPATCH_SCRIPT_DIR /rdsdbbin/oracle/QOpatch
TEST /rdsdbdata/userdirs/01

7行が選択されました。

経過: 00:00:00.02
13:30:29 rdsora121@BILL> @drop_dir test

PL/SQLプロシージャが正常に完了しました。

経過: 00:00:00.02
13:30:34 rdsora121@BILL> @list_dir

DIRECTORY_NAME DIRECTORY_PATH
---------------------------------------- ----------------------------------------------------------------------
ADUMP /rdsdbdata/log/audit
BDUMP /rdsdbdata/log/trace
DATA_PUMP_DIR /rdsdbdata/datapump
OPATCH_INST_DIR /rdsdbbin/oracle/OPatch
OPATCH_LOG_DIR /rdsdbbin/oracle/QOpatch
OPATCH_SCRIPT_DIR /rdsdbbin/oracle/QOpatch

6行が選択されました。

続きを読む "RDS Oracle 雑多なメモ#2 / FAQ"

| | コメント (0) | トラックバック (0)

2018年9月17日 (月)

RDS Oracle 雑多なメモ#1 / FAQ

さて、さて、ご無沙汰しておりましたw
メモも溜まってきたので、そろそろ RDS Oracle関連の雑多なメモを。。。

新たなスタートをきって1.5ヶ月目にしてRDS Oracleに触れなければいけない状況となり、オンプレのOracleの使い勝手とことなる部分にハマりつつなんとか乗り切ったのでときのメモです。
(みなさん通る道w)

ディレクトリオブジェクト周りはオンプレのOracleと勝手が違いOSレイヤーには入れないので、rdsadmin.rdsadmin_utilパッケージに慣れておく必要があり。
さらに、ファイル操作についても、rdsadmin.rds_file_utilパッケージで提供されている操作は一部なので、utl_fileパッケージを併用しないと削除、コピー、改名などもできません。
また、ダンプファイルの圧縮解答もOSレイヤーでは実行できないので、utl_compressパッケージを利用する必要もありそう。


Oracle DB インスタンスの一般的な DBA システムタスク
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.System.html

Oracle DB インスタンスの一般的な DBA ログタスク
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.Log.html

Oracle DB インスタンスの一般的な DBA データベース
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.Database.html

Oracle DB インスタンスの一般的な DBA のその他のタスク
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.Misc.html


ということで、いちいちexecute ほげほげってタイプするのもめんどくさいのでスクリプト化して、楽しましょう。という自分用メモシリーズです。
今後どれくらいRDS Oracleを利用する機会があるのかまったく予想できませんが、備えあれば。。。ということで ;)

続きを読む "RDS Oracle 雑多なメモ#1 / FAQ"

| | コメント (0) | トラックバック (0)

2018年8月19日 (日)

FAQ::位置情報による時間帯の自動調整 - iPhone/Apple Watch/iPad/Mac

ひさびさのエントリーでございます。

試用期間終わり、ひとまず生き延びておりますw

そして、早々に海外かつ人生はつの海外出張ということで、
Mac De Oracleの中の人として、ここは声を大きくして言っておきたいw

MacとiPhoneとApple Watchって

”国を跨いでも現地時間に自動調整してくれちゃうのは超便利!”

iPhone/Apple Watchを持ってる方は大抵 時間の自動調整はオンになっている方は多いかなーとは思いますが、意外に忘れてたりするのがMac側だったりします。

ということで、FAQとして書いておきますね。

続きを読む "FAQ::位置情報による時間帯の自動調整 - iPhone/Apple Watch/iPad/Mac"

| | コメント (0) | トラックバック (0)

2018年7月11日 (水)

Swift4 はじめました

Swiftが登場してから随分経ちますが、こどもと Swift Playgroundsであそんだ程度だし、
自分も新しいワールドに突撃したばかりなので。。。このネタは続けるか、微妙な感じはしてますが。

間が空いちゃいました、お久しぶりでございます。

まだまだ、新しい環境で慣らし運転の身なのでペースは上がらないとおもいますので、そこんのところよろしくお願いしますw (^^;;

脳が疲れてw 早寝したのに、暑さで目覚めてしまったこともあり、
折角なので、Swiftを使ってsarの結果をcsv化してみた。csv化後はExcelのPivotを使ってグラフを作ると。。。、気分転換も兼ねてw

Swift初期版しか触ってないのに(書きたい気持ちはあったのですが、なかなかさわれてなかった。。。)、ということでSwift4でも遊べたらいいなぁ。と思いつつ、こんなときじゃないとやる暇なさげな感じもw
(Swift4の作法としてそれいいの?などもいろいろあろうかと思いますが、ここをこう変えたほうがいいかもよ。などございましたら、ご指摘していただけるとうれしいです。)


調べてたら、Swiftってこんな使い方もできるのね。という気づきもあり:)

Swiftのバージョンは以下のとおり。

discus-mother:˜ oracle$ swift -version
Apple Swift version 4.1.2 (swiftlang-902.0.54 clang-902.0.39.2)
Target: x86_64-apple-darwin17.6.0
discus-mother:˜ oracle$

今回使ったインプットは、先日ネタで取り上げてグラフまで貼り付けてたsarの結果です。
前回、Oracle Database Connect 2018 エキスパートはどう考えるか? 体感!パフォーマンスチューニング Ⅱ (番外編=没ネタ)で使ったCPU使用率グラフ。

内容は以下のとおり。

[muser@localhost ˜]# sar 5 10000 

Linux 4.1.12-94.3.6.el7uek.x86_64 (localhost.localdomain) 04/25/2018 _x86_64_ (12 CPU)

12:59:39 AM CPU %user %nice %system %iowait %steal %idle
12:59:44 AM all 0.82 0.00 0.15 0.00 0.00 99.03
12:59:49 AM all 1.87 0.00 0.39 0.02 0.00 97.73
12:59:54 AM all 3.13 0.00 0.64 0.34 0.00 95.89
12:59:59 AM all 1.23 0.00 0.42 0.44 0.00 97.91

・・・中略・・・

01:02:34 AM all 6.66 0.00 0.48 0.29 0.00 92.57
01:02:39 AM all 6.51 0.00 0.51 0.31 0.00 92.67
01:02:44 AM all 6.88 0.00 0.48 0.34 0.00 92.30
01:02:49 AM all 6.71 0.00 0.53 0.36 0.00 92.40

01:02:49 AM CPU %user %nice %system %iowait %steal %idle
01:02:54 AM all 6.69 0.00 0.55 0.31 0.00 92.46
01:02:59 AM all 6.38 0.00 0.63 0.24 0.00 92.75
01:03:04 AM all 6.61 0.00 0.58 0.32 0.00 92.48

・・・中略・・・

01:05:44 AM all 6.29 0.00 0.53 0.26 0.00 92.92
01:05:49 AM all 6.41 0.00 0.58 0.36 0.00 92.64
01:05:54 AM all 6.39 0.00 0.53 0.26 0.00 92.83
01:05:59 AM all 6.72 0.00 0.65 0.38 0.00 92.25

01:05:59 AM CPU %user %nice %system %iowait %steal %idle
01:06:04 AM all 6.61 0.00 0.55 0.32 0.00 92.51
01:06:09 AM all 6.95 0.00 0.58 0.48 0.00 91.99

・・・中略・・・

01:08:54 AM all 6.80 0.00 0.48 0.39 0.00 92.33
01:08:59 AM all 6.15 0.00 0.55 0.33 0.00 92.98
01:09:04 AM all 5.98 0.00 0.60 0.43 0.00 92.98
01:09:09 AM all 6.06 0.00 0.50 0.24 0.00 93.20

01:09:09 AM CPU %user %nice %system %iowait %steal %idle
01:09:14 AM all 6.51 0.00 0.57 0.48 0.00 92.44
01:09:19 AM all 6.55 0.00 0.50 0.21 0.00 92.75
01:09:24 AM all 6.62 0.00 0.56 0.38 0.00 92.44

・・・中略・・・

01:12:04 AM all 6.63 0.00 0.51 0.44 0.00 92.41
01:12:09 AM all 6.78 0.00 0.44 0.34 0.00 92.43
01:12:14 AM all 6.68 0.00 0.48 0.38 0.00 92.47
01:12:19 AM all 6.83 0.00 0.58 0.39 0.00 92.20

01:18:39 AM CPU %user %nice %system %iowait %steal %idle
01:18:44 AM all 7.08 0.00 0.61 0.41 0.00 91.90
01:18:49 AM all 6.79 0.00 0.53 0.34 0.00 92.34

・・・中略・・・

01:19:39 AM all 0.49 0.00 0.08 0.03 0.00 99.40
01:19:44 AM all 0.42 0.00 0.07 0.00 0.00 99.51
01:19:49 AM all 0.05 0.00 0.03 0.00 0.00 99.92
01:19:54 AM all 0.05 0.00 0.02 0.00 0.00 99.93
01:19:59 AM all 0.59 0.00 0.15 0.02 0.00 99.24


sarで取得したcpu使用率のログファイルを Swfitを使ってcsv変換しました。

discus-mother oracle$ 
discus-mother oracle$ chmod u+x sar2csv.swift
discus-mother oracle$ ll
total 408
-rwxr--r--@ 1 oracle staff 1413 5 1 18:50 sar2csv.swift
-rw-r--r--@ 1 oracle staff 10253 5 1 19:11 sar_production.csv
-rw-r--r--@ 1 oracle staff 30169 4 30 19:46 sar_production.log
-rw-r--r--@ 1 oracle staff 75418 5 1 19:46 sar_production.xlsx
-rw-r--r--@ 1 oracle staff 20176 5 1 19:37 sar_test.log
discus-mother oracle$
discus-mother oracle$ ./sar2csv.swift sar_test.log
Processing sar_test.log to sar_test.csv....
11526bytes written
discus-mother oracle$ ll
total 432
-rwxr--r--@ 1 oracle staff 1413 5 1 18:50 sar2csv.swift
-rw-r--r--@ 1 oracle staff 10253 5 1 19:11 sar_production.csv
-rw-r--r--@ 1 oracle staff 30169 4 30 19:46 sar_production.log
-rw-r--r--@ 1 oracle staff 75418 5 1 19:46 sar_production.xlsx
-rw-r--r-- 1 oracle staff 11526 6 26 23:45 sar_test.csv
-rw-r--r--@ 1 oracle staff 20176 5 1 19:37 sar_test.log
discus-mother oracle$

csv化した結果は以下のとおり

discus-mother oracle$ cat sar_test.csv

12:59:39,AM,CPU,%user,%nice,%system,%iowait,%steal,%idle
12:59:44,AM,all,0.82,0.00,0.15,0.00,0.00,99.03
12:59:49,AM,all,1.87,0.00,0.39,0.02,0.00,97.73
12:59:54,AM,all,3.13,0.00,0.64,0.34,0.00,95.89
12:59:59,AM,all,1.23,0.00,0.42,0.44,0.00,97.91
01:00:04,AM,all,6.33,0.00,1.13,0.17,0.00,92.37
01:00:09,AM,all,6.38,0.00,0.53,0.15,0.00,92.93

・・・中略・・・

01:19:29,AM,all,6.95,0.00,0.48,0.43,0.00,92.15
01:19:34,AM,all,5.31,0.00,0.39,0.24,0.00,94.06
01:19:39,AM,all,0.49,0.00,0.08,0.03,0.00,99.40
01:19:44,AM,all,0.42,0.00,0.07,0.00,0.00,99.51
01:19:49,AM,all,0.05,0.00,0.03,0.00,0.00,99.92
01:19:54,AM,all,0.05,0.00,0.02,0.00,0.00,99.93
01:19:59,AM,all,0.59,0.00,0.15,0.02,0.00,99.24

続きを読む "Swift4 はじめました"

| | コメント (0) | トラックバック (0)

2018年5月 2日 (水)

Oracle Database Connect 2018 エキスパートはどう考えるか? 体感!パフォーマンスチューニング Ⅱ (番外編=没ネタ)

Oracle Database Connect 2018 エキスパートはどう考えるか?体感!パフォーマンスチューニング Ⅱ
~Autonomous Databaseの到来において必要となるチューニングとは~

これ、パフォーマンスチューニングネタをまとめ上げるまで、みなさんスケジュール調整し、
オンライン/オフラインミーティングを繰り返してネタを詰めていくという、かなーり面倒なことをやっています。
私なんて、ネタの候補検討だけで16時間ぐらい使ってますからねw(自分の余暇を使って、半分楽しみながら、締め切りがあるので半分苦しみながらw)


余談はこれくらいにして、今日の本題です。:)

Oracle Database Connect 2018 エキスパートはどう考えるか? 体感!パフォーマンスチューニング Ⅱ で没にしたネタがあるのですが、
そのまま捨てるのも勿体ないので、多少取得情報を追加した状態で公開しちゃおうと思います。


続きを読む "Oracle Database Connect 2018 エキスパートはどう考えるか? 体感!パフォーマンスチューニング Ⅱ (番外編=没ネタ)"

| | コメント (0) | トラックバック (0)