忍者ブログ

OracleDBAの技術メモ

最近物覚えが悪くなったので 仕事中に調べた後々役立つ情報をメモしております。

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Linux コマンド引数の文字数制限

Linux コマンド引数の文字数制限について。

Linuxの諸々のコマンドの引数については文字数制限が存在するらしい。
制限文字数(バイト数?)は以下のコマンドで確認できるとの事。

getconf ARG_MAX


SentOS6での実行例は以下。

$ getconf ARG_MAX
2621440
$
PR

列統計を取得しない統計情報収集

以下のコマンドで列統計を取得しない統計情報収集が実行される。

exec dbms_stats.gather_schema_stats(ownname=>'&owner', method_opt=>'FOR ALL COLUMNS SIZE 1');

LOB列を使用することのデメリットについて

LOB列を使用した場合のデメリットについて。
とてつもないデメリットが存在するのでメモしておく。

EXPDPでのエクスポートの際に、とてつもなくパフォーマンスが悪化するらしいです。
特にLOBが別セグメントに保存されている場合で、このセグメントが大きい場合に…

EXPDPの場合、対象のセグメントが大きいとダイレクトパスが使用されず、
さらにLOBセグメントの場合PALARELLオプションが効かないとか…

レコード数が多くなるテーブルにはLOB列は使用しないようにしましょう!

SQL実行の詳細を確認する

DBMS_SQLTUNE.REPORT_SQL_MONITOR を使用することにより、
SQL実行計画のどこで時間がかかっているのか、どこで待機イベントが発生しているのかを確認できる。

set long 1000000
set longchunksize 1000000
set linesize 1000
set pagesize 1000
select dbms_sqltune.report_sql_monitor('&sqlid') from dual;

※&sqlid にはSQL_IDをセットする。

実行された直後でないと情報が取得できないので注意。
(v$active_session_history を問い合わせているらしいので1時間程度?
 使ってみた感じでは5分、10分程度のような気も…)

直後でも取得できない場合は、SQL分に /*+ monitor */ ヒントを付加するとよいかも。

実行中のSQLが現在、実行計画のどの部分を実行しているかということも確認できるようだが
この関数の動作が遅いので実行後の確認に向いていると思われる。

参考:Oracle Database パフォーマンス・チューニング・ガイド 11gリリース2(11.2)
    10.4 リアルタイムSQL監視

現在実行中のSQLを調べる(SQL_MONITOR)

現在実行中のSQLを確認したい場合、パフォーマンスビュー:v$sql_monitor を問い合わせるとよい。

col status for a20
col username for a15
col sql_id for a15
col id for 99
select inst_id id, status, sql_id, username, to_char(sql_exec_start, 'hh24:mi:ss') sql_exec_start, elapsed_time
from gv$sql_monitor
where status in ('QUEUED', 'EXECUTING');

ブログ内検索

プロフィール

HN:
宇佐 義男
性別:
男性
自己紹介:
都内で活動中のフリーエンジニア
最近はOracle DBに関する作業が主です。

カレンダー

03 2024/04 05
S M T W T F S
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

最新CM

[08/06 Apagajid]
[06/23 Ajimehof]
[05/28 ovkftcz]
[05/20 Adeepen]
[05/13 Ajirubuy]

バーコード

P R

忍者アナライズ

免責事項

当ブログは日本オラクル株式会社 及びその子会社、関連会社とは一切関係ありません。 当ブログに記述の内容については、実際とは異なる場合があります。 記載しているコマンド、スクリプトを利用したことによって発生した問題、障害等については一切責任を負いません。 利用は自己責任にてお願い致します。