タグ

Oracleに関するtmftakeのブックマーク (73)

  • Oracle道 自動メモリー管理(MEMORY_TARGET)

  • OTN Japan - 404 Error

    URLが下記の通り変更になりました。 お手数ですがブックマークなどの変更をお願い申し上げます。 10秒後、自動的にジャンプしますのでしばらくお待ちください。 ※ジャンプしない場合は、下記のURLをクリックしてください。 http://www.oracle.com/technetwork/jp/index.html

  • 『[Oracle] BULK COLLECT句を使ったバルクバインドによる検索処理の高速化』

    SELECT文で一度に大量のレコードを取得する場合、BULK COLLECT句を使ってバルク・バインドすると、一度に複数のレコードを取得することができ、パフォーマンスが向上します。 【パターン1】 DECLARE TYPE empno_tbl_type IS TABLE OF EMP.EMPNO%TYPE INDEX BY BINARY_INTEGER; empno_tbl empno_tbl_type; BEGIN SELECT EMPNO BULK COLLECT INTO empno_tbl FROM EMP; IF empno_tbl.COUNT > 0 THEN FOR i IN empno_tbl.FIRST..empno_tbl.LAST LOOP UPDATE EMP SET SAL = SAL * 1.05 WHERE EMPNO = empno_tbl( i ); EN

    『[Oracle] BULK COLLECT句を使ったバルクバインドによる検索処理の高速化』
  • バルクフェッチ - オラクル・Oracle PL/SQL 入門

    PL/SQL によるバルクフェッチ処理 PL/SQL の カーソル処理 には 1レコード単位にレコードを取り出す方式 だけではなく 複数のレコードを1回の処理で行うバルク処理がある。 バルク処理は1回の IO で大量のレコードを SELECT してそれを一度に FETCH 処理するために バッチ処理などメモリ資源を十分に確保できる状態では非常に効率よく実行することができる。 バルクフェッチ(取り出し)にはレコード型の コレクション型を使用するとコーディング量が減りメンテナンスも容易になる。 単一データの配列を複数使用する方法もあるが Oracle 9i からはレコード全体の INSERT、UPDATE がサポートされているのでレコード型によるコレクション型を使用するほうが都合良いだろう。 バルクフェッチの例 (FETCH 〜 BULK COLLECT) カーソル定義レコード型のコレクション

  • VB oo4o + SQL 応用編4 oo4o 更新 - バインド変数、Parameters - SAK Streets

    VB oo4o + SQL 応用編4 oo4o 更新 - バインド変数、Parameters oo4o は、Oracle RDBMS でみ使用可能です。 ■バインド変数 ・バインド変数を使用した更新を行う事ができる。 Oracle サーバ上のキャッシュ SQL が利用できるので高速になる。 ■パラメタ作成 ・Parameters.Add は、パラメタを追加する。 ServerType でタイプも指定する。(OraParameter) OraDatabase.Parameters.Add "バインド変数名", 0, ORAPARM_INPUT 初期値 _| | 入力 ORAPARM_INPUT _| 出力 ORAPARM_OUTPUT I/O ORAPARM_BOTH OraDatabase.Parameters("バインド変数名").ServerType = ORATYPE_CHAR OR

  • Oracle

    のオラクル・コミュニティが一堂に会するプレミア・イベントにぜひご参加ください。新しいスキルを身に付け、業界エキスパートと交流し、複雑なビジネス課題を解決するためのソリューションを発見しましょう。

  • オラクル マテリアライズドビューメモ(Hishidama's Materialized view for Oracle Memo)

    リフレッシュ方法を指定しない場合はforceになる。 後からリフレッシュ方法を変えることも出来る。 SQL> alter materialized view MV_TEST refresh fast; マテリアライズド・ビューが変更されました。 完全リフレッシュ マテビューを計算し直す際に、全データを作り直す。データの変更箇所が少ないなら効率は悪いことになるが、ロジックは一番単純だ。 完全リフレッシュのマテビューを作る際には、「refresh complete」を指定する。個人的には「refresh all」の方が分かり易かったと思うけど…わたしゃ英語圏の人間じゃないからな~ create materialized view MV_TEST refresh complete as select YYMM_GROUP, SHOP_CODE, sum(AMOUNT) SUM_AMOUNT fr

  • Oracleの機能を使って表の結合を高速化する(1/4) - @IT

    連載では、Oracleデータベースのパフォーマンス・チューニングの中から、特にSQLのチューニングに注目して、実践レベルの手法を解説する。読者はOracleデータベースのアーキテクチャを理解し、運用管理の実務経験を積んでいることが望ましい。対象とするバージョンは現状で広く使われているOracle9iの機能を基とするが、Oracle 10gで有効な情報も随時紹介していく。(編集局) 連載目次 前回「表の結合を極めるチューニング・テクニック」では、絞り込み条件がない結合を含むSQL、絞り込み条件のある結合を含むSQLについて実例を基に最適な結合方法を説明しました。 今回は、Oracleの機能である「マテリアライズド・ビュー」「BITMAP JOIN INDEX」「クラスタ」を利用した結合処理に関するチューニング・テクニックについて説明します。 マテリアライズド・ビューを理解する 結合処理な

    Oracleの機能を使って表の結合を高速化する(1/4) - @IT
  • SQL Server と Oracle - nullと空文字 - kagamihogeの日記

    一度私的にまとめておこう、という判断から両DBのnullと空文字の扱い方について実験・整理する。 結論は下記のようになる。 SQL Serverはnullと空文字は別物扱い。 Oracleはnullと空文字はnull扱い。 検証環境 SQL Server 2005とOracle 10g環境で動作確認を行った。主キーでない列―各DBでvarcharとvarchar2―にnullと空文字を挿入し、SELECTをさまざまな条件で発行したときどうなるかを調べる。 各行データは、非null、null、空文字、空文字、nullの順にINSERTを発行した。非null行をのぞき各行データの呼称は、null1、blank1、blank2、null2とする。主キー列にも同様の文字列が入れてある。この呼称はオマケでやったORDER BY実験のときに使うので、主旨のnull・空文字実験には関係がない。 検証結果

    SQL Server と Oracle - nullと空文字 - kagamihogeの日記
    tmftake
    tmftake 2009/08/14
    Oracleで、NVL('','0')で0返ってくるから何かと思った。
  • ガイドライン - オラクル・Oracleをマスターするための基本と仕組み

    アプリケーション設計と開発時のガイドライン 命名規約(ネーミングルール)について テーブル名、カラムの名前 オブジェクト名、カラム名は英語だったりローマ字だったり, その混在だったりして精神衛生上悪いことが非常多い。 そこでいくつかのルールを設けて運用すれば、かなり改善することが予想される。 ⇒ ネーミングルール 複数インスタンスか 複数スキーマか の選択 一般的な業務システムの場合は 1 ホスト、1 インスタンス、1 業務システム で運用する。 コスト、ライセンス等で制約がある場合には、1 インスタンス、複数業務(複数スキーマ)にし、キャッシュを独立させたい場合には、マルチブロックサイズで運用するなども考慮する。 1 ホストに複数のインスタンスを起動しても、まだまだ十分なメモリを確保できる場合には、1 ホスト、複数インスタンス運用も十分に考えられる。 テーブルの物理設計 データブロックサ

  • EXPLAIN PLAN - オラクル・Oracleをマスターするための基本と仕組み

    EXPLAIN PLAN を使って実行計画を取得する EXPLAIN PLAN の使い方 EXPLAIN PLAN 文は EXPLAIN PLAN FOR + SQL 文によってオラクルのオプティマイザが選択した「実行計画=(予定)」を取得することできる。 ※ EXPLAIN PLAN 文による実行計画の取得は SQL の実際の実行が行なわれないため即座に終了する。 SQL の実行を伴わないため SQL 統計情報は取得できない。 参考: AUTOTRACE による実行計画の取得 例) EXPLAIN PLAN FOR select * from hoge; この文によって SQL の実行計画は PLAN_TABLE という表に格納される。 PLAN_TABLE 表を SQL を使用して直接見ても良いが、簡単な整形程度では見づらいためにお勧めしない。 実行計画の表示方法 その1 オラクルが用

  • オラクルが好き! - ロールバック・セグメント

    OracleRDBMSでは、データベースを更新するトランザクションを、明示的にまたは異常時に自動的にロールバックするために、『ロールバック・セグメント』があります。 このロールバック・セグメントについて説明します。 ロールバック・セグメントは下記のために必要です。 1. トランザクションの取消 (ROLLBACK) 2. システムの回復 (アプリケーションやネットワークなどがダウンした場合) 3. 読み取りの一貫性 (トランザクションを確定するまで、他セッションへ整合性の取れた古い値を返す機能) トランザクション・データは、Oracle内部では『SCN番号』にて管理されており、データを更新すると、古いデータはSCN番号と共にロールバック・セグメントに格納されます。 更新中に、他セッションがデータを検索した場合、トランザクション確定時のSCN番号以降のデータは、データ・ファイルから読まず、ロ

  • PL/SQLパッケージの使用

    Oracle Database PL/SQLユーザーズ・ガイドおよびリファレンス 10g リリース2(10.2) B19257-01 9 PL/SQLパッケージの使用 この章では、互いに関連するPL/SQLコードとデータを1つのパッケージにまとめる方法について説明します。パッケージには、APIを構成するプロシージャの集まりや、型定義と変数宣言の集まりなどが考えられます。パッケージをコンパイルしてデータベースに格納し、その内容を複数のアプリケーションで共有できます。 この章の項目は、次のとおりです。 PL/SQLパッケージ PL/SQLパッケージのメリット パッケージ仕様部の理解 パッケージ体の理解 パッケージ機能の例 パッケージSTANDARDによるPL/SQL環境の定義 製品固有のパッケージの概要 パッケージ作成のガイドライン パッケージでのカーソル仕様部と体の分離 PL/SQLパッ