Oracle

特定の単位内での行番を取得する

select ROW_NUMBER() over (partition by カラムA order by カラムA, カラムB) , カラムA , カラムB from X これで、カラムAが同一なデータ内での行番を取得できる。

実行計画の統計情報参照権限

daruma> sqlplus 'system/manager as sysdba' SQL*Plus: Release 9.2.0.1.0 - Production on 水 Apr 20 11:20:48 2004Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production Wit…

Oracleの権限一覧

表18-1 システム権限 表18-4 オブジェクト権限とその権限によって許可される操作

ORACLEで一時的にPK、FKを無効にする方法

開発中、一時的に外部キーを無効にしたくなる場合がある。 例えば、大量のデータを流し込むときなど。 そんな場合は下記のようなプロシージャが便利。 無効化するプロシージャ CREATE OR REPLACE PROCEDURE ENABLE_PK_FK IS CURSOR curPK is select * from U…

Oracleで動的SQLを実行する

Oracle PL/SQL 編9 - 動的 SQL、EXECUTE IMMEDIATE、using、into、returning - SAK Streets「EXECUTE IMMEDIATE 」を利用すると、任意の文字列をSQLとして実行することができる。 execute immediate 'select sysdate from dual'; execute immediate 'drop ta…

OracleのPROCEDUREでファイルにログを出力する

参照:http://www.shift-the-oracle.com/plsql/utl_file/create-directory.html 1.ディレクトリの用意 osのDBAユーザでログファイル出力先のディレクトリを用意する。 # mkdir /var/log/oracle 2.UTL_FILEの設定 CREATE DIRECTORY HOGE_LOG_DIR AS '/var/log…

tnsnames.oraの設定無しで接続する。

sqlplus "user/name@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=<host>)(PORT=<port>)))(CONNECT_DATA=(SID=<sid>)))" (DESCRIPTION…はtnsname.oraに設定する文字列と同一。</sid></port></host>

Oracleのよくわからないチューニング

Oracle上のIN句を使っているSQLで、実行計画がIN句の引数毎に実行計画が枝分かれしてしまっている場合、ANALYZEコマンドで実行計画が改善されることがある。 -- 表の全データのうちの10%を使用して、統計情報を作成 ANALYZE TABLE テーブル名 ESTIMATE STAT…

チューニングが必要なSQLを洗い出す

Oracle SQLチューニング講座 ■チューニング対象のSQL1実行当たりの実行時間が長いSQLディスク読み取りブロック数が多いSQL適切でない索引や、連結索引の一部を使用している可能性バッファの読み取り数が極端に多いSQL効率の悪い索引を使用している、もしくは…

Oracleエラーコードの検索をFirefoxで

Oracleのエラーメッセージ検索をFirefoxの右上の検索窓から実行する方法。大阪てきとー日記

ExcelデータをOracleに格納する3つの手法

http://www.atmarkit.co.jp/fdb/rensai/excel2oracle01/excel2oracle01_1.html

Oracleのタイムゾーン

TIMESTAMP WITH TIME ZONE, TIMESTAMP WITH LOCAL TIME ZONEの説明。 TIMESTAMP WITH TIME ZONE:現地時間+タイムゾーン TIMESTAMP WITH LOCAL TIME ZONE:UTC換算の時間(SELECT時はセッションのタイムゾーンに換算) @IT Oracle上のTIMEZONEについて TIMES…

表の結合を極めるチューニング

・テクニック 表の結合を極めるチューニング・テクニック Oracleの機能を使って表の結合を高速化するハッシュ結合、ネステッドループ結合、ソート/マージ結合の比較。 条件によって絞られない場合はハッシュ結合、 絞られる場合はネステッドループ結合が有利…

カラムの長さ

Oracle。 文字列カラムの長さをバイト数、文字数で切り替える。 下記SQL実行後、Oracleの再起動が必要。 バイト数の場合は'BYTE'。 デフォルトは'BYTE'。 文字数定義の場合 alter SYSTEM set NLS_LENGTH_SEMANTICS = 'CHAR' / UPDATE PROPS$ SET VALUE$='CHA…