002_CRAD.sql

ページ名:002_CRAD.sql

/**********************************************************************
 *  sqlFile       :xxxxxx.sql
 *  概要          :SQLファイル雛形
 *  引数          :なし
 *
 *  接続スキーマ  :実行する際のログインスキーマを記載のこと
 *  環境依存      :なし →環境差分がある場合は、ここに実行環境を記載のこと
 *
 *********************************************************************/
--SQLPLUS 環境設定
--@xx.sql実行時のコマンドを非表示
SET ECHO ON

  --ページ設定(1000行0の場合はヘッダオフ)
set pages 0

  --1行辺りの文字数設定(5000)
set line 5000
  --余計な空白を削除
set trimspool on

  --ヘッダの設定(ON/OFF)
set head off
--置換変数の前後の表示をする/しない
set ver off

--PL/SQLのoutputlineの出力ON/OFF
SET SERVEROUTPUT ON

SET FEEDBACK OFF

--プロンプトに時間表示
--set time on

  --区切り文字設定(defaultはスペース)
--set colsep ','

/******
 * 性能情報採取 set autotrace on / off
 *   採取する際に設定
 *  ★必ずSQL発行後OFFすること!!
 *****/
 
--カラムフォーマット設定 ※
--col カラム名 form A30 カラム名の表示文字30文字
--col カラム名 form 999,999,999 カラム名の表示形式 999,999,999

--日付型のフォーマットを指定
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY/MM/DD HH24:MI:SS';

--スプール設定(ログ設定)※フルパスで設定
--spool /tmp/55Po_Awr.log
col now_time new_value v_now_time
SELECT TO_CHAR(SYSDATE,'YYYYMMDD_HH24MISS') NOW_TIME FROM DUAL ;
spool out_&v_now_time._CRUD_&&1..log

/***************************************
 * SQL文本体 下記にSQLを記載
 **************************************/

select
 decode(CRUD_TYPE_ID,2,'C'
                    ,3,'R'
                    ,6,'U'
                    ,7,'D') CRUD
,OBJECT_NAME
,SQL_ID
,OPTIONS
from
(
select distinct
 SQL_ID
,OBJECT_NAME
,decode(operation,'TABLE ACCESS',3
                 ,'UPDATE',6
                 ,'DELETE',7) CRUD_TYPE_ID
,OPTIONS
from
 V$SQL_PLAN
where OPERATION in ('TABLE ACCESS','UPDATE','DELETE')
and   OBJECT_OWNER = '&&1'
union all
select
 SQL_ID
,ltrim(
  replace(
   upper(
    substr(
     regexp_substr(SQL_TEXT,'INTO:space:+[^[:space:]\(]+',1,1,'i')
        ,6)
         )
    ,'"')
      ) OBJECT_NAME
,COMMAND_TYPE CRUD_TYPE_ID
,null OPTIONS
from
 V$SQLAREA
where COMMAND_TYPE = 2
) I
,DBA_TABLES D
where I.OBJECT_NAME = D.TABLE_NAME
and   D.OWNER       = '&&1'
order by
 CRUD_TYPE_ID
,OBJECT_NAME
,SQL_ID
;

--確認などで一時停止させる場合
--host pause

--DML文の場合はcommitもしくはrollbackすること
--commit;

--スプール終了
spool off

--sqlplusを抜ける場合はexitを記載
exit

シェアボタン: このページをSNSに投稿するのに便利です。


最近更新されたページ

メニュー

Oracle技術検証  #Golden Gate  障害時の情報収集あれこれ調査用虎の巻 SQL集 セッション調査 オブジェクト調査 パフォーマンス系 チューニング サー...

データログファイル等

バックグラウンドプロセス、データ・ログファイル等 アーカイブRedoログファイルのサイズを確認する。set line 250set pages 1000alter session set N...

CKPTで待機

 ◆アクティブセッション高沸アクティビティ(アクティブセッション)が高沸、待機イベントを確認すると「log file sync」でセッションに遅延が発生しているとのことRedoLogがいっぱ...

いろいろノウハウ

SQLPLUSでバインド変数を使う方法--SQLのバインド変数と同じ名前・型の変数を宣言variable b1 numbervariable b2 number--以下値をセット@Sampleで実行時...

Tigerのうぃき

  スコットのひとり言をまとめるニャぁ… 江草すごいニャ~ぁ禁止事項 掲示板の趣旨と関係ない書き込み 誹謗・中傷含む書き込み 他サイトやアプリの宣伝 招待URLの書き込み 以上...

雑談質問相談掲示板

はじめにここは、雑談・質問・相談など何でも話題にする掲示板です。掲示板についてお知らせ特にありません。禁止事項 掲示板の趣旨と関係ない書き込み 誹謗・中傷含む書き込み 他サイトやアプリの宣伝 招待UR...

チューニング

チューニングいろいろ Indexの性能劣化確認INDEXは追加や削除を繰り返すと、断片化(リーフブロックが広がったり)階層が深くなりINDEX効率が悪くなる。断片化が20%以上、リーフの階層...

Shared pool 共有プール

共有プール共有プール(shared pool)はヒープ(heap memory)構造を取ります。共有プールはその領域を複数のチャンクに分けて管理・使用します。共有プールを使用するプロセス(SQLの実行...

OracleSQLチューニング

V$SQLの実行回数、パースの回数からみるパフォーマンス問題EXECUTIONS:SQL の実行回数PARSE_CALLS: 解析コールの回数 = ハードパースとソフトパースの合計値LOADS:ハード...