-- FLASEにしておかないとDEBUGモードでコンパイルされてしまう。 ALTER SESSION SET PLSQL_DEBUG = FALSE ; -- パッケージのコンパイル ALTER PACKAGE [パッケージ名] COMPILE PACKAGE;; -- パッケージBODYのコンパイル ALTER PACKAGE [パッケージ名] COMPILE BODY; -- パッケージもパッケージBODYもコンパイル ALTER PACKAGE [パッケージ名] COMPILE; -- プロシージャのコンパイル ALTER PROCEDURE [プロシージャ] COMPILE;
2010/06/23
【ORACLE】パッケージ、プロシージャのコンパイル
地味にハマッたのでメモ。PL/SQL Developerで実行したらPLSQL_DEBUGがTRUEなんさ・・・。
2010/02/05
【Oracle】sqlplusで実行結果をファイルに出力する。
意外と知らない人が多いことに気づいたので、ちょっとメモ。
本番環境でOracle SQL Developerが起動しているのを見ると残念な気分になる。。。
外部ファイルへの出力開始
sql>spool [ファイル名]
本番環境でOracle SQL Developerが起動しているのを見ると残念な気分になる。。。
外部ファイルへの出力開始
sql>spool [ファイル名]
外部ファイルへの出力終了
sql>spool off
2010/01/19
【Oracle】CPU使用時間の長いクエリを特定するためのSQL
SELECT
last_load_time:最後に読み込まれた日時
executions:実行回数
cpu_time:CPU使用時間
sql_text:SQL(全てじゃない)
※例はワーカープロセス(w3wp.exe)からのアクセスで、2010年01月01日の00時00分00秒以降にCPU負荷が高かったクエリを抽出するもの。
【要調査なSQL】
* FROM ( SELECT sql_id ,last_load_time ,executions ,cpu_time ,cpu_time / executions / 1000000 ,sql_id ,TRANSLATE( sql_text, '#' || CHR(13) || CHR(10), '#' ) sql_text FROM v$SQL WHERE module = 'w3wp.exe' AND executions > 0 AND last_load_time>='2010-01-01/00:00:00' ORDER BY cpu_time / executions DESC ) WHERE rownum <= 30;
last_load_time:最後に読み込まれた日時
executions:実行回数
cpu_time:CPU使用時間
sql_text:SQL(全てじゃない)
※例はワーカープロセス(w3wp.exe)からのアクセスで、2010年01月01日の00時00分00秒以降にCPU負荷が高かったクエリを抽出するもの。
【要調査なSQL】
- 1回当たりのCPU仕様時間(cpu_time/executions) の値が異常に高いもの(数十秒とか)
- 1回当たりのCPU仕様時間(cpu_time/executions) が1秒以上で実行回数(executions)が多いもの
2009/12/01
SQL*Plus TIPS
このエントリは思いつく都度追記していく予定。。
■1行の長さを変更する(LINESIZE)
構文
利用例
■キャラクタセットの設定(NLS_LAG)
構文
利用例(Windowsの場合)
■接続数の確認
利用例
■1行の長さを変更する(LINESIZE)
構文
SET LINESIZE [文字数]
利用例
SQL> SET LINESIZE 10000
■キャラクタセットの設定(NLS_LAG)
構文
NLS_LANG = language_territory.charset
利用例(Windowsの場合)
SET NLS_LANG=Japanese_Japan.JA16SJIS
■接続数の確認
利用例
SELECT
module
, terminal
, count(*)
FROM
v$SESSION
GROUP BY
module
, terminal
/
2009/11/28
RACでの分散トランザクション
RACで分散トランザクションを行う場合は、同じ分散トランザクションの異なるブランチはかならず1つのインスタンスに置くように処理を転送する必要がある。
同じ分散トランザクションの異なるブランチがRACデータベースの異なるインスタンスに置かれる状態をスプリット・ブランチといい、スプリット・ブランチが発生すると分散トランザクションは正しく処理されない。
スプリット・ブランチを避けるためには、優先インスタンスを1つだけ持つシングルトン・サービスを作成する。
参考:RACでXAを使用するためのベスト・プラクティス
http://otndnld.oracle.co.jp/products/database/clustering/pdf/bestpracticesforxaandrac.pdf
同じ分散トランザクションの異なるブランチがRACデータベースの異なるインスタンスに置かれる状態をスプリット・ブランチといい、スプリット・ブランチが発生すると分散トランザクションは正しく処理されない。
スプリット・ブランチを避けるためには、優先インスタンスを1つだけ持つシングルトン・サービスを作成する。
参考:RACでXAを使用するためのベスト・プラクティス
http://otndnld.oracle.co.jp/products/database/clustering/pdf/bestpracticesforxaandrac.pdf
登録:
投稿 (Atom)