PIB hack のためのネタ帳, etc,,, トップページページ一覧メンバー編集 Debian - PHP/ext/pdo_oci (20100722) 最終更新: kou1okada 2010年07月22日(木) 20:05:18履歴 Tweet 以下は作業記録 Debian - PHP/ext/pdo_oci (20100721) の続き 20100722 gdb による観察 とりあえず問題の出るテーブルに以下のように SELECT かけるコード書いた pdo_oci_test.php<?php $db = new PDO("oci:dbname=//servername/servicename", "user", "password"); $db->beginTransaction(); $sth = $db->prepare("SELECT * FROM tablename")
連載バックナンバー Oracleトラブル対策の基礎知識 主な内容 JavaベースのWebアプリケーションにおける「~」の文字化け JavaベースのWebアプリケーションのシステム構成と変換表 「~」文字化けのメカニズム JA16SJISTILDE・JA16EUCTILDEによる対処 Vistaが新たに対応したJIS X 0213とは? Oracle DatabaseでJIS X 0213に対応するには JIS X 0213とクライアント環境 補助文字(追加文字)とサロゲートペア (関連キーワード:文字化け、SJIS16TILDE、チルダ文字、サロゲートペア、補助文字(追加文字) WindowsやJavaなどのように、OSやプログラミング言語の内部処理では、文字データをUnicodeで扱うことが一般的になってきています。Unicodeの目的の1つは、同一のプログラムで複数言語に対応することで
外部表 (External Table) 外部ファイルに対して、あたかもテーブルが存在するかのようにアクセスすることができる。マニュアル上では、SQL*Loader 機能を補足する機能と位置付けになっている。 例えば CSV ファイルの定義を CREATE TABLE で宣言するだけでローディング時間ゼロで即座に読み込む(アクセスする)ことができる。 SQL*Loader と大きく異なる点はテーブルとしての実体を持たない点である。(長所であり、短所でもある) SQL*Loader はデータを、メディアファイルから永続テーブルに取り込む、マテリアライズド・ビュー 外部表(External Table) はファイルのデータをテーブルが存在するように見せる ビュー と考えると、その違いをイメージしやすい。 外部表はデータファイルを変更するとテーブルの検索結果にすぐに反映される。*1 ファイルを表
更新/挿入/削除のSQLを高速化する3つの技とは?:Oracle SQLチューニング講座(12)(1/3 ページ) 本連載では、Oracleデータベースのパフォーマンス・チューニングの中から、特にSQLのチューニングに注目して、実践レベルの手法を解説する。読者はOracleデータベースのアーキテクチャを理解し、運用管理の実務経験を積んでいることが望ましい。対象とするバージョンは現状で広く使われているOracle9iの機能を基本とするが、Oracle 10gで有効な情報も随時紹介していく。(編集局) 連載目次 前回は、絞込み条件(WHERE条件)の有無による結合処理や、マテリアライズド・ビューなどOracleの機能を利用した結合処理のチューニング手法を説明しました。今回は、WHERE条件がないDML(INSERT、DELETE、UPDATE)処理を高速化するチューニング手法について説明します
>接続識別子とはどういう役割をしているのでしょうか? 接続すべきオラクルサービスの識別と接続プロトコルの決定です。 通常は、tnsnames.oraに記述した識別名(=の左側の文字列)を指定しますが、 オラクルサービスの識別とプロトコルの決定が目的の指定なので、tnsnames.oraの右側に書いてある 長い記述をそのまま指定しても接続できます。 例えば、 sqlplus scott/tiger@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=hoge)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=hogedb))) 長い記述が大変なので、tnsnames.oraで簡略名を定義し、接続先を簡易に指定できると思えば宜しいかと思います。 >接続識別子を使う場合
オラクル通信の連載。オラクル社のサイトにはバックナンバーへのリンクも連載の一覧も無いので勝手にリスト化。 第1回 「そもそもデータベースって何だろう??」 第2回 「ファイルシステム」と「データベース」の違い 第3回 「データベース」の種類 第4回 リレーショナル・データベース・マネジメント・システムとは? 第5回 Structured Query Language(SQL)とは? 第6回 トランザクション、ロック、セキュリティの機能 第7回 Oracle Database 10gインストール *1 第8回 Oracleの仕組みとアーキテクチャ 第9回 Oracleのデータ型 第10回 Oracleデータベースの記憶領域 第11回 Oracleのアーキテクチャ *2 第12回 Oracleデータベースを構成するファイル 第13回 SQL*Plusを使ってみよう 第14回 ネットワーク越しに
津島博士のパフォーマンス講座 第2回 RAC(Real Application Clusters)の時のバッチ処理について 今回は、シングルノードの時はあまり気にしなくても良いこともRACになると無視できなくなることがあるので、それについてRACとバッチ処理で説明しようと思います。 ■1.RAC(Real Application Clusters)について RACを知らない方はもういないと思いますが、念のために簡単に説明しておきます。 RACは、Oracleの高可用性とスケールアウトを実現する共有ディスク型クラスターデータベースシステムです。全ノード(インスタンス)が全データベースに直接アクセスできるため、どのノードからも意識せずにデータベースにアクセスすることが可能です。各ノードのキャッシュの一貫性はキャッシュ・フュージョン技術を使用して実施しています。 クラスタ・ノード間のデータ
日本のオラクル・コミュニティが一堂に会するプレミア・イベントにぜひご参加ください。新しいスキルを身に付け、業界エキスパートと交流し、複雑なビジネス課題を解決するためのソリューションを発見しましょう。
データの更新頻度が少ないもしくは更新タイミングが決められている マスタテーブルなどの参照で、結合等々でレスポンスが出ない場合、 マテリアライズド・ビューが有効だそうな。 用途はビューと同じだが、定期的に更新される上インデックスを 設定できるので、必要なデータだけが入った単一テーブルとして 参照ができる。 作成手順を書いてみた。 1:マテリアライズド・ビューを作成する。 create materialized view ビュー名 refresh force with rowid as SELECT 項目名 FROM (スキーマ).参照テーブル / 2:インデックスを設定する。 TABLESPACEの設定は環境によって適宜変更する。 CREATE UNIQUE INDEX スキーマ.インデックス名 ON スキーマ.ビュー名 (1, 2・・・) TABLESPACE USERS LOGGING
高速リフレッシュをかけるmaterialized viewには、一意キーは使えない!!! なので、キーをnone nunique key にするか、完全リフレッシュに変更する。 (というか、追加→修正or削除→追加みたいな処理をしたときにうまくいかない ときがある:高速リフレッシュはログが時系列に反映されるのを保証しないため) 完全リフレッシュに変更する場合のSQL alter materialized view "テーブル名" refresh complete; リフレッシュグループの一覧 select * from user_refresh リフレッシュグループの内容(含まれる表) select * from user_refresh_CHILDREN materialized viewの一覧 select * from user_objects where object_type='
こんにちは。Oracle挑戦中の松田です。 今までまったく触ったことのなかったOracleに初めて触れ、頭が混乱中なので備忘録がわりにブログに書き留めておきます。 特に悩んだのがLIMIT関連。 何故かOracleってLIMITが無いんですね。LIMITに慣れていると、なぜ存在していないのかが不思議でしょうがありません。ほんとどうしてなんでしょ? ・memberテーブルから LIMIT 10 で結果取得 SELECT * FROM member WHERE ROWNUM <= 10 ROWNUM ・・・ 抽出した結果セットに勝手に付けられるレコード番号 基本はこれを使って結果セットの切り分けをするらしい。 ・memberテーブルから LIMIT 10, OFFSET 5 で結果取得 SELECT * FROM ( SELECT id, category, age, ROWNUM line
MONTHS_BETWEEN 関数の内容 日付式の datetime1 - datetime2 が何ヵ月かを戻す。 2つの日にち(日の部分)が異なる場合には 1ヵ月を 31 日換算し小数点付きで戻す。但し、双方が月末の場合は同日とみなす。 ( 1 日は 約 0.032 ヵ月) MONTHS_BETWEEN 使用例 MONTHS_BETWEEN('00-2-28','99-12-31') ⇒ 1.9032 (日付形式が'RR-MM-DD'の場合) MONTHS_BETWEEN('00-2-29','99-12-31') ⇒ 2.0 (月末処理は考慮されている) 日付と日付の減算処理の豆知識 日付・時間の加算と減算では 日付と日数の計算が行なえ、日付同士の引き算もできる。日付同士の引き算は小数点を含む日数(※) 、または、タイムスタンプ型への暗黙変換が発生すると 期間値(INTERVAL) で
3 マテリアライズド・ビューの概要とアーキテクチャ この章では、マテリアライズド・ビューの概念およびアーキテクチャについて説明します。 この章の内容は、次のとおりです。 マテリアライズド・ビューの概要 マテリアライズド・ビューのアーキテクチャ マテリアライズド・ビューの概要 Oracleでは、マテリアライズド・ビュー(以前はスナップショットと呼ばれていたもの)を使用して、レプリケーション環境のマスター・サイト以外のサイトにデータをレプリケートし、コストのかかる問合せをデータ・ウェアハウス環境にキャッシュします。この章およびこのマニュアル全体では、レプリケーション環境で使用するマテリアライズド・ビューについて説明します。 マテリアライズド・ビューについて マテリアライズド・ビューとは、ある一時点におけるターゲット・マスターのレプリカのことです。マスターは、マスター・サイトのマスター表またはマ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く