×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
SQL*PLUSにて
実行結果を画面に出力しないで、SQLの実行時間を計測したいときはコレ
set autotrace traceonly
set timing on
実行結果を画面に出力しないで、SQLの実行時間を計測したいときはコレ
set autotrace traceonly
set timing on
SQL> select * from dual;
経過: 00:00:00.10
PR
◇表と列(および索引)の統計情報を収集

◇統計収集の確認
DBMS_STATS.GATHER_TABLE_STATS (
ownname VARCHAR2,
tabname VARCHAR2,
partname VARCHAR2 DEFAULT NULL,
estimate_percent NUMBER DEFAULT to_estimate_percent_type
(get_param('ESTIMATE_PERCENT')),
block_sample BOOLEAN DEFAULT FALSE,
method_opt VARCHAR2 DEFAULT get_param('METHOD_OPT'),
degree NUMBER DEFAULT to_degree_type(get_param('DEGREE')),
granularity VARCHAR2 DEFAULT 'AUTO',
cascade BOOLEAN DEFAULT to_cascade_type(get_param('CASCADE')),
stattab VARCHAR2 DEFAULT NULL,
statid VARCHAR2 DEFAULT NULL,
statown VARCHAR2 DEFAULT NULL,
no_invalidate BOOLEAN DEFAULT to_no_invalidate_type (
get_param('NO_INVALIDATE')));
ownname VARCHAR2,
tabname VARCHAR2,
partname VARCHAR2 DEFAULT NULL,
estimate_percent NUMBER DEFAULT to_estimate_percent_type
(get_param('ESTIMATE_PERCENT')),
block_sample BOOLEAN DEFAULT FALSE,
method_opt VARCHAR2 DEFAULT get_param('METHOD_OPT'),
degree NUMBER DEFAULT to_degree_type(get_param('DEGREE')),
granularity VARCHAR2 DEFAULT 'AUTO',
cascade BOOLEAN DEFAULT to_cascade_type(get_param('CASCADE')),
stattab VARCHAR2 DEFAULT NULL,
statid VARCHAR2 DEFAULT NULL,
statown VARCHAR2 DEFAULT NULL,
no_invalidate BOOLEAN DEFAULT to_no_invalidate_type (
get_param('NO_INVALIDATE')));
基本は
DBMS_STATS.GATHER_TABLE_STATS(ownname,tabname);
- ownname 分析する表のスキーマ。
- tabname 表の名前。

◇統計収集の確認
SELECT TABLE_NAME NAME, LAST_ANALYZED
FROM USER_TABLES
WHERE TABLE_NAME = tabname;
FROM USER_TABLES
WHERE TABLE_NAME = tabname;
set head off
set pagesize 0
set long 10000000
set linesize 1000
set trims on
BEGIN
-- dbms_metadata.get_ddlユーティリティのオプション設定
-- terminator(/)を付加する
DBMS_METADATA.SET_TRANSFORM_PARAM(
TRANSFORM_HANDLE => DBMS_METADATA.SESSION_TRANSFORM
, NAME => 'SQLTERMINATOR'
, VALUE => TRUE);
END;
/
spool all_package_source.txt
select dbms_metadata.get_ddl(object_type, object_name) from all_objects
where owner = 'ユーザ名'
and object_type in ('PACKAGE','PACKAGE_BODY');
spool off
set pagesize 0
set long 10000000
set linesize 1000
set trims on
BEGIN
-- dbms_metadata.get_ddlユーティリティのオプション設定
-- terminator(/)を付加する
DBMS_METADATA.SET_TRANSFORM_PARAM(
TRANSFORM_HANDLE => DBMS_METADATA.SESSION_TRANSFORM
, NAME => 'SQLTERMINATOR'
, VALUE => TRUE);
END;
/
spool all_package_source.txt
select dbms_metadata.get_ddl(object_type, object_name) from all_objects
where owner = 'ユーザ名'
and object_type in ('PACKAGE','PACKAGE_BODY');
spool off
set head off
set pagesize 0
set long 10000000
set linesize 1000
set trims on
spool all_package_source.txt
select text
from user_source
where name='パッケージ名'
and type='PACKAGE BODY'
order by line;
spool off
set pagesize 0
set long 10000000
set linesize 1000
set trims on
spool all_package_source.txt
select text
from user_source
where name='パッケージ名'
and type='PACKAGE BODY'
order by line;
spool off