Oracle データベースの内部構造に着目して、さらなるチューニングを行うために必要な基礎知識をまとめた資料です。
Oracle データベースの内部構造に着目して、さらなるチューニングを行うために必要な基礎知識をまとめた資料です。
新規プロジェクトに向けて開発環境を作らないといけないのだが、Oracleでユーザー作ってダンプファイルをインポートしようとしたところエラーになった。そんなユーザーいねえよって怒られた。 顧客ごとにスキーマを分けて開発環境を作っているのでDBサーバーによくわからないダンプファイルが散在している。整理整頓しないとこのように無駄な作業になる。もらったダンプファイルが間違えているかもと確認したかったがくれた本人がいない。 仕方ないのでダンプファイルの中にどんなものがはいっているのか確認する必要がある。 RP Dump Browser for Oracle ExcelとかAccessに出力 ODBCとかSQL Serverでも出力できる(フリー版は機能制限あり )とまとめ的な RP Dump Browser for Oracle www.rp-dumpbrowser.com 私はOracle12c、
ORA-1000はOPEN_CURSORSの設定値不足やアプリケーションのカーソル操作の誤りなどで発生するエラーです。 カーソルとはSELECT文などの処理に関する情報を格納するSQLのプライベート領域を示すポインタとして使われるものです。 (例えばカーソル名 CUR_A というものがあった場合、プログラム上でCUR_Aを指定することによって、CUR_Aに定義されているSQL文の取得結果などを操作することができます。) エラーメッセージ ORA-01000: 最大オープン・カーソル数を超えました。 ORA-01000 maximum open cursors exceeded. 発生原因 ORA-1000はカーソルオープンした数が、初期化パラメータOPEN_CURSORSの設定値を超えた場合に発生するエラーです。 データベース全体ではなく、1セッションでオープンが可能なカーソルの数である点
どうも、.Netからoo4oでアクセスしている際は、 Set OraDynasetオブジェクト = Nothing ではカーソル閉じないっぽい。 OraDatabaseオブジェクトのCloseメソッドは内部的には動作しないようなので、意味なし。 System.Runtime.InteropServices.Marshal.ReleaseComObjectでCOMの開放を行っても、どうもカーソル閉じないっぽい。 GCが発生した地点で閉じるのかな?その辺まではみてない。 間違い。カーソル閉じるっぽい。 OraDynasetオブジェクトのSQLプロパティに新しいSQLを指定したあとで、Refreshメソッドの実行。 これだと、カーソルの数は増えないので、カーソル数が上限超えることは避けられるっぽい。まあ、回避策にはなる。 結局、oo4oで解決せずに、ストアドプロシージャを作って、そっちの中でOP
この記事はVisual Basic Advent Calendar 2015の22日分です。昨日は@hilaponさんの「Visual Basic 2015 の新機能(その3) – (憂国のプログラマ Hatena版 改め) 周回遅れのブルース」でした。 問題 未だにまれによくあるVB6→VB(.NET)への移行の際、問題となるのがサードパーティ製品の扱いです。その中でもRDBMSへのアクセスを行うプロバイダーの変更は特に厄介です。 もちろん、データアクセス処理を適度に抽象化して、一箇所にまとめているようであれば、影響は小規模で済むのですが、VB6といえば良くも悪くも「誰でも」システムが作れたので、まぁお察しということで。 そんな状況の中、Oracle Database 11gまでサポートしていたoo4o(Oracle Objects for OLE)が、Oracle Database 1
はじめに ある条件に合致するレコードがあるかないかを調べるとき、select count(*) from table where 条件;とするのと、select count(*) from table where 条件 and rownum <= 1; とするのではどれだけ性能差があるのか調べてみました。 ざっくり言うと rownumを指定したほうが速い 500万レコードでざっと3秒くらい違う 性能差が生まれる原因は読み込むブロック数にある パフォーマンス改善と事前対策に役立つ Oracle SQLチューニングSQLチューニング (DB SELECTION)posted with amazlet at 15.05.15加藤 祥平 中島 益次郎 翔泳社 売り上げランキング: 104,153 Amazon.co.jpで詳細を見る 環境 Windows Server 2008 R2 SP1 Or
December 2014 (1) February 2014 (1) January 2014 (1) September 2012 (1) April 2012 (1) March 2012 (2) October 2011 (1) June 2011 (5) May 2011 (1) April 2011 (1) March 2011 (1) February 2011 (1) January 2011 (1) December 2010 (1) September 2009 (1) April 2009 (1) March 2009 (1) January 2009 (3) November 2008 (2) October 2008 (1) December 2005 (2) October 2005 (2) September 2005 (2) August 2005 (7)
December 2014 (1) February 2014 (1) January 2014 (1) September 2012 (1) April 2012 (1) March 2012 (2) October 2011 (1) June 2011 (5) May 2011 (1) April 2011 (1) March 2011 (1) February 2011 (1) January 2011 (1) December 2010 (1) September 2009 (1) April 2009 (1) March 2009 (1) January 2009 (3) November 2008 (2) October 2008 (1) December 2005 (2) October 2005 (2) September 2005 (2) August 2005 (7)
JPOUG Advent Calendar 2015 13日目のエントリーです。このイベントは初めての参加、かつブログ投稿自体久しぶりとなりましたのでよろしくお願いします。前日はTakahiro YAMADAさんでした。 Oracleの実行計画ツリーって分かりやすい。。。だけどたどりにくい? 実行計画ツリー(マニュアルでは「行ソース・ツリー」)の解析は、OracleデータベースのSQLチューニング作業においては基本中の基本です。 実行計画ツリーは、OracleのSQL実行が階層的に逐次処理されていることを直感的に把握しやすく、どこにボトルネックが存在するかも分かりやすい表示だと思います。 実行計画ツリーの表示方法は以下のリンクになります。 12.4 PLAN_TABLE出力の表示 右から左、上から下へ 11gR2パフォーマンス・チューニング・ガイドの19.2.3 グローバル表のヒントの指定
そもそも置換変数とは、SQL内の文字列を指定された内容に置き換えることができる変数です。 シェルスクリプトなどで引数として渡すことによって内容をします。 例えば、select.sqlというファイルに select * from emp where name = '&1'; と書かれており、 SQL> @select.sql と実行すると、 1に値を入力してください: となります。 そこで以下のように引数を与えてあげると SQL> @select.sql 山田 旧 1: select * from emp where name = '&1' 新 1: select * from emp where name = '山田' NAME ---------- 山田 と、めでたく&1の文字列が置換されました。 しかし、もし"&"が含まれるデータをWHERE句で指定したい場合、 (=selec
OracleXEはフリーで便利なですがデフォルトでは何かと不自由な点も。。。 その一つがセッション数、デフォルトでは小さすぎます。 っで解決方法(結構いろんなサイトを見てもなかなか見つからなかったんので書き留めておきます。) ■確認 SQL>select name, type, value from V$SYSTEM_PARAMETER where name = ‘processes’ or name=’sessions’ ※V$SYSTEM_PARAMETERテーブルに格納されている。 ■変更 spfileの内容をSqlPulsで変更 alter system set processes = xxx scope=spfile; alter system set sessions = xxx scope=spfile; ※SESSIONSのデフォルト値 = (1.1 × PROCESSES
はじめに この記事ではOracleに接続しているセッションの数を調べる方法について書いています。 Oracleの基本 ~データベース入門から設計/運用の初歩までposted with amazlet at 19.09.29渡部 亮太 相川 潔 日比野 峻佑 岡野 平八郎 宮川 大地 技術評論社 売り上げランキング: 65,273 Amazon.co.jpで詳細を見る 同時接続しているセッション数を調べる sysユーザで以下のクエリを実行します。 connect sys/oracle as sysdba select * from v$license; SESSIONS_CURRENTが現在の同時ユーザーセッション数で、SESSIONS_HIGHWATERがデータベースを起動してからの最大同時ユーザーセッション数です。 上記の例では現在5つのセッションが接続中であり、データベースの起動からこ
OracleXEのアンインストールにはインストール時に使った「setup.exe」を使います。 インストール時に使った「OracleXE112_Win32」フォルダ内の「DISK1」フォルダを開きます。 「DISK1」フォルダ内の「setup.exe」をダブルクリックします。 起動中のサービスはアンインストール時に自動で停止しますが、あらかじめ停止しておいても構いません。 準備画面が表示され準備作業を開始します。 メンテナンスオプション選択画面が表示されます。 「削除」を選択し[次へ(N)]ボタンを押します。 確認画面が表示されますので[はい(Y)]を押します。 確認画面の後自動でサービスを停止して削除を開始し「セットアップステータス」画面に変わります。 アンインストール画面に変わりアンインストールが開始します。 「アンインストール完了」画面が出ればアンインストール完了です。 [完了(F)
作ってもらったAP/DBサーバー(VS2008R2)に、 ASP.NET 4.5 のウェブアプリを 64bit で動かしたくてデプロイしてみたら、 ODP.NET のアセンブリがロードできなくて動かなかった。 調べたら GAC に 2.0 は登録されてるのに 4.0 は登録されてなかった。*1 手動登録 cd C:\app\Administrator\product\11.2.0\dbhome_1\ASP.NET\bin\4 oraprovcfg /action:gac /providerpath:C:\app\Administrator\product\11.2.0\dbhome_1\ASP.NET\bin\4\Oracle.Web.dll cd C:\app\Administrator\product\11.2.0\dbhome_1\ODP.NET\bin\4 oraprovcfg /
お仕事で64bit環境と32bit環境が混在する環境への配布を行う必要があるのですが、その辺りについての「どうすべきか」がよく分からないので調べています。 64bit環境にODP.NET 64bit版をインストールしてみる 64bit環境であるWindows Server 2008 R2に、ODP.NETの64ビット版(ファイル名: ODAC112030_x64.zip)をインストールした後の状態がこんな感じです。ちなみに、事前に.NET Framework 4.0はインストールしています(Windows Server 2008 R2が標準でもっている.NET Frameworkは3.5まで)。 確認したフォルダは、「C:\Windows\Microsoft.NET\assembly¥GAC_64\Oracle.DataAccess」フォルダ。GACは64bit用と32bit用が別々に用意
縄神様が困っておられたので私の拙い知識がちょっとでも役に立てばと思い久々にブログを書きます。 InstantClientの配布パッケージとかないもんかな— Ahf(Tomoyuki Obi) (@twit_ahf) 2014年10月22日 こちらのつぶやきではInstantClientをご所望されてますが、実際は.NETアプリのインストールパッケージを探しておられたのでこのエントリではODP.NETのインストール方法について記載します。 前提 このエントリの内容はOracle 11g(11.2)〜12c(12.1)あたりを対象にしています。 記載している手順の詳細についてはマニュアルで確認してください。 ODP.NET Managed Driverを使う 多分これが一番早いと思います。 ODP.NET Managed DriverはOracle 12cになって登場したフルマネージドのODP
JAWS-UG中央線 第2回勉強会 2014.05.30 Fri. 藤本 竜之介 Ryunosuke FUJIMOTO @r_fujimoto 2014- Oracle DBA に任命される 2013- Infrastructure as Code に目覚める 2011- Googleライクな特許検索サービスを開発 DBAがやりたいこと Oracleの動作検証 Schemaの変更管理 DBのバックアップ/リストア SQLの性能チューニング とにかくoracle使える環境がほしい 30分以内で!!! Oracle on AWS EC2 vs RDS EC2 Oracleのインストールが必要 sshして、sqlplus できる sshして、expdp/impdp できる 無料利用枠あり Tokyo Region, m3.medium: $0.161/h RDS Oracleのインストールが不要
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く