■Excel関数 項番作成
=MAX($B$1:B11)+1
■SQLトレースの取得方法
<事前準備>
1.DBMS_MONITORパッケージをインストールする。
SQL> conn sys/sys@xe as sysdba
SQL> @C:\oraclexe\app\oracle\product\10.2.0\server\RDBMS\ADMIN\dbmsmntr.sql
SQL> grant execute on sys.dbms_monitor to test;
SQL> grant debug on sys.dbms_monitor to test;
2.execute.sqlでプログラム実行する前後に、トレースON/OFFするFUNCTIONを埋め込む。
BEGIN
DBMS_MONITOR.SESSION_TRACE_ENABLE();
-- function call
:v_ret := &pgName.;
DBMS_MONITOR.SESSION_TRACE_DISABLE();
END;
<トレース取得>
3.バッチファイルを叩く。(SR35B0101.batなど)
4.実行後、トレースファイルが生成される。
SQL> SHOW PARAMETER USER_DUMP_DEST
で出力先を確認
5.TKPROFユーティリティでトレースファイルを見易い形式に変換する。
C:\oraclexe\app\oracle\admin\XE\udump>TKPROF [トレースファイル] [変換後ファイル名] EXPLAIN=[ユーザID]/[パスワード]
■Oracleキャッシュクリア
conn sys/sys as SYSDBA
ALTER SYSTEM FLUSH SHARED_POOL;
ALTER SYSTEM FLUSH BUFFER_CACHE;
■PGAメモリ使用量監視
alter session set nls_date_format='yyyy/mm/dd hh24:mi:ss';
set lin 1000
set pages 1000
set trims on
set tab off
col PROGRAM for a20
col MODULE for a20
col ACTION for a20
col SQL_TEXT for a100
col pga_used_mem for 9999.0
col pga_alloc_mem for 9999.0
col pga_max_mem for 9999.0
select sysdate,
s.sid,
p.program,
p.pga_used_mem/1024/1024 as pga_used_mem,
p.pga_alloc_mem/1024/1024 as pga_alloc_mem,
p.pga_max_mem/1024/1024 as pga_max_mem,
s.module,
s.action,
q.sql_text
from v$process p,
v$session s,
v$sql q
where s.username= 'UserName'
and p.addr = s.paddr
and s.sql_address = q.address
order by p.pga_used_mem
/
■UTL_FILE設定
- UTL_FILE設定手順
- 各自の環境で読み換えて設定してください。
sqlplus /nolog
conn sys/<password>@xe as sysdba
@C:\oraclexe\app\oracle\product\10.2.0\server\RDBMS\ADMIN\UTLFILE.sql
ALTER SYSTEM SET
UTL_FILE_DIR='任意のPath1','任意のPath2'
SCOPE = SPFILE ;
- DBインスタンスの再起動
- 管理ツール - サービス「OracleServiceXE」を再起動
sqlplus /nolog
conn sys/<password>@xe as sysdba
SELECT NAME, VALUE FROM V$PARAMETER2 WHERE NAME='utl_file_dir' ;
- ディレクトリオブジェクトの作成
- DIRECTORY の作成には、CREATE DIRECTORY 権限 が必要。
CREATE DIRECTORY recv_area AS '任意のPath1'; -- recv_areaは任意名称
CREATE DIRECTORY send_area AS '任意のPath2'; -- send_areaは任意名称
- ディレクトリへのアクセス権の設定
- 読み込み権限と書き込み権限は個別に行なう。
GRANT READ ON DIRECTORY recv_area TO <user_name> ;
GRANT WRITE ON DIRECTORY send_area TO <user_name> ;
SELECT * FROM ALL_DIRECTORIES ;
GRANT EXECUTE ON SYS.UTL_FILE TO <username>;
GRANT DEBUG ON SYS.UTL_FILE TO <username>;
最終更新:2009年07月29日 15:15