「システム基盤構築のプロフェッショナル」レック・テクノロジー・コンサルティングJapanese | English

レック・テクノロジー・コンサルティング株式会社

技術ブログ

HOME > 技術ブログ > 月別アーカイブ: 2022年3月

月別アーカイブ: 2022年3月

統計収集操作レポートの作成

Oracle Database のオブティマイザ統計収集の実行履歴を確認できることをご存知ですか。

この記事ではDBMS_STATSパッケージを使用した統計収集操作レポートの作成についてご紹介いたします。

統計収集操作レポート

統計収集操作レポートは、Oracle Databaseの内部タスクである自動オプティマイザ統計収集やユーザが任意に実行するDBMS_STATS.GATHER_*_STATSプロシージャの実行履歴をリスト化したものです。

統計収集操作レポートには二種類のレポートがあり、「DBMS_STATS.REPORT_STATS_OPERATIONS」ファンクションまたは「DBMS_STATS.REPORT_SINGLE_STATS_OPERATION」ファンクションを使用して作成することができます。それぞれのレポートで確認できる内容は「表1. 統計収集操作レポート」に示します。

なお、これ以降、各ファンクションで作成されるレポートを「統計操作レポート」、「統計操作タスクレポート」と表記いたします。ご了承ください。

【補足】
これらのレポート表記はあくまで本記事における便宜上のものです。製品リファレンスを見ても、統一感を持ったレポート名表記を見つけられなかったためです。また二種類のレポートを区別するためには「統計収集操作レポート」という表記を少し簡略化したかったこともあります。
「AWRレポート」のような使いやすい名前があるといいですね。

表1. 統計収集操作レポート

レポート名
(この記事での表記)

説明

統計収集操作レポート

以下の二つのレポートの総称とします。

統計操作レポート

DBMS_STATS.REPORT_STATS_OPERATIONSで作成するレポートです。
任意の期間に実行された統計収集操作のリストを作成します。
自動オプティマイザ統計収集やユーザが実行したDBMS_STATS.GATHER_*_STATSプロシージャの実行履歴を確認することができます。

統計操作タスクレポート

DBMS_STATS.REPORT_SINGLE_STATS_OPERATIONファンクションで作成するレポートです。
統計操作レポートでリストされた個々の操作に対する詳細レポートを作成します。操作の中で統計収集の対象となったオブジェクトのリストを確認することができます。

統計収集操作レポートの作成例

統計収集操作レポートを作成してみます。

実行環境は以下のとおりです。

実行環境

OS

Oracle Linux 7.8 (x86-64)

Oracle バージョン

Oracle Database 19c Enterprise Edition

構成

シングル・インスタンス

CDB

その他

Swingbench でSOEスキーマを作成。

HTML形式のレポートを作成するためにファクションの実行をスクリプト化します。
以下に各レポートに対するSQLスクリプトを示します。
SQLスクリプトはレポート作成の例を示すための最低限の設定で記述したものです。

統計操作タスクレポートの作成

実行するSQLスクリプトは以下のものです。

サンプルSQLスクリプト:generate_optstat_ops.sql

SET LONG 1000000
SET ECHO OFF
SET TERMOUT OFF
SET HEADING OFF
SET MARKUP CSV ON QUOTE OFF

SPOOL optstat_ops.html

SELECT DBMS_STATS.REPORT_STATS_OPERATIONS(
SINCE=>SYSDATE-1
,UNTIL=>SYSDATE
,FORMAT=>'HTML'
) FROM DUAL;

SPOOL OFF

【説明】

  • 統計操作レポートの出力ファイル名は optstat_ops.html です。出力先はカレント・ディレクトリになります。
  • レポートの期間はスクリプト実行した時点から直近1日(24時間)です。
  • 「OPID=>540」でレポート対象の統計収集操作を指定しています。540は前項で出力した統計操作レポートから選択した値です。
  • 「FORMAT=>HTML」でHTML形式のレポートを指定しています。
  • 順序が前後しますが「SPOOL optstat_ops.html」で出力ファイル名を指定しています。FORMATに合わせて拡張子を「.html」にしています。

【補足】

  • MARKUP CSV ON QUOTE OFF」は旧来、不要な空白行や行の長さを調節するために PAGESIZE と LINESIZE を駆使していた部分の代用です。
    本来は出力結果をCSV形式で出力するための設定ですが少々変則的な使い方になっています。
    スクリプトで実行しているSELECT文は単一列のため実質的にカンマが挿入されるべき文字の区切りがありません。結果的に生成されたHTMLソースが単一列としてコンソール画面の幅に制限されずに結果を得ることができています。また「QUOTE OFF」で出力値ごとの引用符を外すことで、HTMLソースの先頭と末尾に余計な引用符がつかないようにしています。

サンプルSQLスクリプトを実行環境に配置してSQL*Plusで実行してみます。

$ sqlplus / as sysdba

SQL> @generate_optstat_ops.sql

SQL> exit

$ ls -l ./optstat*.html
-rw-r--r-- 1 oracle oinstall 8528 Mar 1 20:50 optstat_ops.html

作成されたHTMLファイルをWEBブラウザで開いて確認します。

作成された統計操作レポートの例です。

optstat_ops_cdb.png

続いて統計操作タスクレポートを作成してみます。

統計操作タスクレポートの作成

統計操作タスクレポートを作成するためには、DBMS_STATS.REPORT_SINGLE_STATS_OPERATIONに操作IDを指定する必要があります。

前項で作成した統計操作レポートの中から操作ID=540の操作について選択してみます。
この操作はContainer ID=4SOEスキーマに対してgather_schema_statsプロシージャを実行しています。

統計操作レポートの手順と同様にSQLスクリプトを用意します。

サンプルSQLスクリプト:generate_optstat_tasks.sql

SET LONG 1000000
SET ECHO OFF
SET TERMOUT OFF
SET HEADING OFF
SET MARKUP CSV ON QUOTE OFF

SPOOL optstat_540.html

SELECT DBMS_STATS.REPORT_SINGLE_STATS_OPERATION(
OPID=>540
,FORMAT=>'HTML')
FROM DUAL;

SPOOL OFF

【説明】

  • 「OPID=>540」でレポート対象の統計収集操作を指定しています。540は前項で出力した統計操作レポートから選択した値です。
  • 「FORMAT=>HTML」でHTML形式のレポートを指定しています。
  • 順序が前後しますが「SPOOL optstat_540.html」で、出力ファイル名を指定しています。
    レポート対象の操作IDを識別できるよう操作ID(540)を埋め込むとともにFORMATに合わせて拡張子を「.html」にしています。

サンプルSQLスクリプトを実行環境に配置してSQL*Plusで実行してみます。

$ sqlplus / as sysdba

SQL> @generate_optstat_task.sql

SQL> exit

$ ls -l ./optstat*.html
-rw-r--r-- 1 oracle oinstall 34363 Mar 1 20:54 ./optstat_540.html

出力されたレポートの例はこちらです。行数が多いので冒頭のみの抜粋になっています。

optstat_task_pdb_1.png

おわりに

Oracle Database のオブティマイザ統計収集の実行履歴を確認する方法をご紹介しました。いかがでしたでしょうか。

皆さんの参考になれば幸いです。

以上

統計収集操作レポートの作成

【1-3】ご縁とタイミングの転職活動のお話

こんにちは。
未来の敏腕営業つぼいです。

今回は、2022年1月にRe:Qに入社した私の、転職活動期について。


転職を決意したのが2021年8月の終わり。
9月に入ると片っ端から求人サイトに登録し、アプリをインストールしました。

30歳前後で転職を考える方は多いと思いますが、私も自分の年齢や今後の人生を考え、
このタイミングで長く働ける会社に転職したいと思っていました。
それならば、一切妥協せずに探そう!そう思って希望条件を設定しました。(たいていのサイトでは希望する詳細条件を設定できます)
当時の私の主な登録条件はこんな感じだったかと思います。

正社員・未経験OK・オフィス駅近・年収同等以上・完全週休二日制・残業20時間以内・賞与2回以上・学歴不問・産休育休制度あり・年間休日120日以上・オフィス内禁煙or分煙・住宅手当あり・リモート可・交通費全額支給

どうでしょう、贅沢だな!と思いましたか?(笑)
こういう会社があったら転職したいな、頑張れるなと思ったので、まずこの条件で探しました。


Re:Qの営業職の求人を見つけたのは、転職活動を始めて1週間も経たない頃でした。
パッと見の求人が見やすくて、写真の雰囲気がいいなあと思って詳細を読んだことを覚えています。

当時の募集要項は、営業未経験でも何らかのIT経験があればOK・英語が使えると尚可。以上。
私のための求人か?!と思いました。(笑)
それになんと、贅沢な希望条件も全部クリア!
しかもしかも、よくよく読み進めると、残業代全額支給・在宅勤務手当あり・シックリーブ(自身もしくは家族の傷病時に有給休暇とは別に10日/年を付与)・関東ITソフトウェア健康保険組合加入、などなど福利厚生が充実!
・・・ほんとにこんなホワイトなの?実はブラックなんじゃ、、、と半ば疑いつつエントリーしました。
(私がRe:Qに応募したときに使っていたサイトはマイ〇ビだったのですが、基本情報を登録しておくとボタン1つで応募できます。会社によっては追加で質問項目があったり、自己PRの欄があったりました)


人事のMさんから連絡があったのは次の日とかだったと思います。
面接日の調整から面談時に用意するものなど、その後の連絡がとてもスムーズでレスポンスも早く、応募を忘れたころに連絡が来る会社も多い中、とても安心感がありました。

Mさんにはもちろん入社してからもお世話になっているのですが、どんな些細な悩みも話しやすく小さな疑問にもすぐ対応してくださる、とても心強い方です。
人事ってとても大事なポジションで、会社を好きになれるかの要素にだいぶ関わると思っているので、個人的にはRe:Qの強みのひとつなんじゃないかなあと思っています!

そんなMさんと、社長の紙屋さんにオンラインで面接していただきました。

経歴やスキルなど最低限の自己紹介のあとは、私の今までの人生や考え方についてなどが主な話題でした。
ITや営業に関係するワードは全然出てこないのに、ずっと興味深く聞いてくださっていたお2人がとても印象的でした。
そして未経験でITの知識にも乏しいことを気にしていた私の今までの人生を肯定してくれ、「素晴らしい経験をしてきたことに自信を持っていい」という紙屋さんの言葉には、面接中ということを忘れて泣きそうになるのを必死にこらえていました。泣
面接の終わりには、この会社に行きたい!と強く思ったことを覚えています。


いざ入社してみると、応募要項に書いてあった福利厚生は全部本当に存在して機能していたし(疑ってごめんなさい笑)、特に理由がない限りは基本フルリモートで効率が良いし、私の残業時間は月に30分ないくらいです。
個人的な都合での初めての有休も、入社3か月目で快く承認いただき取得しました。
全員にはまだお会いできていないのですが、皆さん本当に感じのいい方で、古い慣習や変なヒエラルキー(笑)も感じたことはありません。

もちろん転職活動なので条件から探したし、実際にRe:Qは条件ぴったりの会社だったのですが
面接での人事Mさんと社長の紙屋さんのお人柄が決め手だったなあと思っています。

ちなみにRe:Qへの入社を決めるまでに応募したのは5社くらい、面接まで行ったのが2社くらい(1社はお祈り、2社は返事待ち期間でその間にRe:Qでトントン進みました)、面接から先はRe:Qのみ(もう1社はレスポンスが遅すぎてその間にRe:Qで以下同文)です。
私の場合、条件に合う会社に出会えたこと、エントリーからの進みがスムーズだったことがポイントだった気がします。

ご縁やタイミングという言葉がありますが、まさに私の転職活動はご縁とタイミングが合わさってRe:Qに内定をもらって終了しました。


今回は私の転職活動パートのつもりでしたが、改めて読んでみるとRe:QのPRパートにもなっていますね。(笑)
内定をもらってから入社まで4か月、入社してもうすぐ3か月の私から見たRe:Qはこんな感じです。


次回はやっと営業について!
Re:Q初の営業である私が、営業というものについて考えることを綴ります。

【1-3】ご縁とタイミングの転職活動のお話

【1-2】Re:Qに入る前のお話

2回目の投稿です。
前回のブログを公開後、読んだよ~とか次回が楽しみ!というお声もいただき、嬉しさでしばらくお菓子の量が減りましたつぼいです。
満たされていたんですかね...ありがたいです。ありがとうございます。

さて、初回の投稿を読んでくださった方はおわかりかと思いますが、
このブログは未経験新人営業による日記です。凄腕営業になるまでの道筋を綴っていきたいと思います。


あまりに自己紹介が長くて前回は終わりませんでしたね。
今回は芸術の道で生きながらアルバイト生活だった私が、金融会社の社内ITになったところから。

外部委託という形でお世話になったのですが、すでに離任しているため詳細は控えますね。
予めお伝えすると、仲がこじれて辞めたわけではなく、私が違う職種に挑戦したかったのが一番の理由です。(今でも仲良しです♪)


唯一の特技、英語を武器にして参画したものの、IT知識もPCの基本操作も知らなかったので
今思うと周りの皆様にはずいぶん不安な気持ちにさせてしまったなあと思います。

これは新人のエンジニアさんや未経験の方でも同じような方がいらっしゃるんじゃないでしょうか?

PCの電源の入れ方すらわからない、当たり前のように飛び交っている単語がわからない、、、
日本語も英語も知ってるはずなのに、、となんだか知らない国に来たような気分でした。
もちろん日本語で知らない単語が英語でわかるはずもなく、自分の不甲斐なさとわからないというストレスで毎日が精一杯でした。
あの時の自分、めげずに頑張ってくれてありがとうー。


自分がどういう仕事をしているのか、仕事への嫌な緊張感が消え始めたきっかけは「ITパスポート」の勉強を始めたときかなあと思います。
これは日本語がわかれば読み進められる、非常にありがたいテキストでした。
仕事を始めてから少しずつ読み始め、緊急事態宣言やら濃厚接触者の増加やらでしばらく出社できなくなったタイミングで1~2ヶ月本腰を入れて勉強して、やっと合格しました。

パスポート、というだけあって、何も知らない人がITの世界に一歩踏み出せるような、そんな資格だと思います。
もし今これを読んでくださっている方の中に、私のように何もわからなくて精一杯になってしまっている方がいたら、
まずは本屋さんでパラパラ見てみてください。(IT業界はどんどんアップデートされるので、古本ではなく最新版を!)
少し気持ちが楽になりますよ!
あとはわかった気になっている方にもおすすめ(笑)

凄腕ITにはなれなかったけど、周りの方に本当に支えられて2年弱働きました。
でもやっぱり端末やサーバー相手よりも、目の前の人のお話を聞いて一緒に考えたり人を繋いでいく仕事がしたい!
よし、転職しよう!
そう思い立って片っ端から転職アプリをダウンロードし、色んなサイトに登録しました(笑)


では、転職活動の話はまた次回に。

私が実際に登録していたサイトや探すにあたって登録していた条件やこだわり、Re:Qの面接の様子なども綴ってみます。

【1-2】Re:Qに入る前のお話

【1-1】はじめまして!

皆さま、はじめまして。

Re:Q初の営業にして営業未経験、知識もほぼない、つぼい(29)です。
今年で30歳になるので、最近たまにセンチメンタルになっています。
何てことない日常はTwitterでつぶやいていますので、フォローいただけると踊って喜びます!
コチラ→https://twitter.com/reqtc_sales

先述のとおり、営業知識やIT知識をお伝えすることは残念ながらまだできませんので
このブログはほぼ私の個人的な日記みたいな感覚で読んでいただけると嬉しいです!
未経験から入って1から営業を知っていく、その中で学んだことや気づいたことをシェアしていきたいなと思っています。
サブタイトルは、「何も知らない営業が、凄腕営業と言われるようになった軌跡」ですかね。(笑)

Re:Qでは技術ブログという、弊社の優秀なエンジニアがわかりやすく基本やらなにやらを教えてくれる素晴らしいブログがありますので、エンジニアになりたい!エンジニアの日常を見てみたい!他社のエンジニアに興味があるナドナド...
そういうかたはぜひコチラ→https://www.reqtc.com/column/ もおススメです。

私のスタートはまず、営業とは、、というところから。
これについても後の記事でじっくり綴りたいと思っています。


それではまずは、自己紹介から。

27歳までは芸術の傍ら飲食業でアルバイト、最近までは某金融会社のヘルプデスク(社内IT)をしていました。
そこで2年弱就業して、2022年の1月よりRe:Qに営業として入社しました。
Re:Qの営業を選んだのは、ITに触れてIT業界の将来性を魅力に感じたこと、未経験だけど営業職をやってみたかったからです。

異業種から急に毎日働き始めましたが、理由の一つはコロナですかね。。
外国人客の多いレストランでアルバイトをしており、加えて緊急事態宣言やら外出自粛でめっきりシフトが削られ・・「あれ、私生きていけるのか...?」と不安になったのが始まりです。

ITの世界に足を踏み入れたストーリーを手短に紹介します。


私はちょうど10年前、海外に1年間ワーホリ(ワーキングホリデー)のビザで滞在していました。
まあそれはそれは素晴らしい経験をたくさんしたのですが、意外と全く英語は喋れるようにならなかったんですよね。(勉強していないので当たり前)
なので滞在中に、旅行で乗った飛行機で体調が悪くなって倒れたのですが、自分の症状を伝えられないという事件が起きました。
ドラマでよくあるじゃないですか、「この中にお医者様はいらっしゃいますか?」ってやつ。あれです。いやまさか自分がなるとは、、、。
意識がなかったので、回復してから友人が教えてくれました。

本当にお医者様が同乗していたのと、CAさんの1人がたまたま日本語と英語のバイリンガルで、私の命は救われました。
その時、言語を知ることは人の命を救えるってことなんだ!と今思うとやや直接的すぎる気もしますが、当時の私(20)は感動して、日本に帰ったら英語を勉強しよう!と心に誓ったのです。

帰国後は1年間かけて猛勉強して、やっと特技が英語ですと言えるくらいにはなりました。
ちなみに高校での英語の成績は「2」です。人間、やろうと思った時が最適なタイミングなのかもしれません。


とまぁ、こんな理由で異業種界で生きていた私が金融会社での仕事にありつけたのは、英語がわかるから、でした(あと運)。
今のところ人の命を救う経験はしていないけど、アルバイトの仕事が減って、生活苦に陥りそうだった自分のことは救えたかなと思っています。

なんだか長くなりそうなので、前職のお話は次回にします。

【1-1】はじめまして!

【ブローシャー】DB運用支援サービスに関するブローシャーを公開しました

2022年3月22日に、Oracle DBにまつわる、運用コスト・パッチ適用の負荷を解消する運用支援サービスに関するブローシャーを公開しました。

ブローシャーのダウンロードは以下のリンクをクリックしてください。

DB運用支援サービス登録フォーム

【ブローシャー】DB運用支援サービスに関するブローシャーを公開しました
資料請求・お問い合わせはこちら

▲ ページトップに戻る

技術ブログ

2022年3月
« 2月   4月 »
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
採用に関するお問い合わせはこちら