...

(A) ODP.NET

by user

on
Category: Documents
50

views

Report

Comments

Transcript

(A) ODP.NET
y Oracle on Windows
•
•
参考資料、コラム(オラクル都市伝説)、イベント・セミナー
情報 etc
http://www.oracle.co.jp/campaign/mb_tech/
y Windows Server System Center / OTN Japan
•
http://www.oracle.com/technology/global/jp/tech/windows/
y .NET + Oracle Database
•
•
.NET Developer Center / OTN Japan
http://www.oracle.com/technology/global/jp/tech/dotnet/
意外と簡単 ? .NETでOracle
意外と簡単!?
O
/ OTN
O
Japan
http://www.oracle.com/technology/global/jp/columns/easy/dotnet/
Copyright© 2010, Oracle. All rights reserved.
1
y オラクル都市伝説 / Oracle on Windows
–
–
http://www.oracle.co.jp/campaign/mb_tech/column/
シーズン2 連載中!
9 其の一:地獄からの生還 本当にあった怖い話
9 其の二:喪われた時間を取り戻せ! ある男の過ち
9 其の三:ベテランエンジニアの魂がデータベースに宿る
其の三 ベテラ
ジ アの魂がデ タベ
に宿る
9 其の四:本当にオラクルデータベースを選択すると「ソースコード
リ 」 なる
を徹底検証
がスリム」になるのか?を徹底検証
Copyright© 2010, Oracle. All rights reserved.
2
Oracle Direct Seminar
<写真欄>
.NET
NET + Oracle デ
データベース開発
タベ ス開発 超入門
∼.NET アプリケーション開発 初めの一歩∼
日本オラクル株式会社
Agenda
y
y
y
y
.NET + Oracle 開発環境の準備
アプリ開発の進め方
アプリの配布
Appendix: .NETチューニング
Copyright© 2010, Oracle. All rights reserved.
4
Visual Studioと融合
Oracle Data Access Components
Oracle Developer Tools
for Visual Studio .NET
(ODT)
開発作業
Microsoft
Visual Studio
C++ / C#
VB.NET
アプリケ シ ン
アプリケーション
IIS(ASP/ASP.NET)
MTS/COM
配布
アプリケーション
データベース接続
ストアド開発作業
IIS
データベース接続
Oracle Database
Extensions for .NET
(ODE.NET)
Oracle Data Provider for .NET
(ODP.NET)
Oracle Services for MTS
Visual Studio 2005,
2005 2008 および.NET
および NET Framework 22.0/3.xに対応
0/3 xに対応
Copyright© 2010, Oracle. All rights reserved.
5
ODP NET
ODP.NET
ー NETからOracleへの接続 ー
Copyright© 2010, Oracle. All rights reserved.
6
ODP.NET概要
y 2002年より提供開始
y
y
y
y
y
データベースサーバーのプラットフォームを選びません
VS NET 2003および2005,
VS.NET
2003および2005 2008に対応
.NET Framework 1.0以上に対応
ADO NETに準拠したデ タプ パイダ
ADO.NETに準拠したデータプロパイダ
Oracleに特化したデータプロバイダのため、パフォーマ
ンス、機能面で優れている
Copyright© 2010, Oracle. All rights reserved.
7
ODP.NETの入手とインストール
y O
ODP.NETはOracleデータベースのインストールCDに含まれて
はO ac eデ タ
スのインスト ルC に含まれて
います
y 最新版はOTN-Jから入手可能です
–
http://www.oracle.com/technology/global/jp/tec
h/dotnet/index.html
–
Oracleデータベースのライセンスに準じて利用可能です
y ODTをインスト
ODTをインストールすると自動的にODP.NETのインストールと
ルすると自動的にODP.NETのインスト ルと
VS.NETの環境構成が行われます
Copyright© 2010, Oracle. All rights reserved.
8
各コンポーネントのダウンロード
OTN-J .NET Developer
p Centerからダウンロード可能
Copyright© 2010, Oracle. All rights reserved.
9
Oracle Data Access Components (ODAC)のインストール
ODP.NET, ODTを使用するにはODACをインストール
Copyright© 2010, Oracle. All rights reserved.
10
Oracle Data Access Components (ODAC)のインストール
Oracle Universal Installerを利用したGUIインスト
Installerを利用したGUIインストール
ル
Copyright© 2010, Oracle. All rights reserved.
11
Agenda
y
y
y
y
.NET + Oracle 開発環境の準備
アプリ開発の進め方
アプリの配布
Appendix: .NETチューニング
Copyright© 2010, Oracle. All rights reserved.
12
ODT
ー Visual StudioからOracleの管理 ー
Copyright© 2010, Oracle. All rights reserved.
13
ODT概要
¾ Oracle Explorer
¾ DB内部をツリー構造で表示
DB内部をツリ 構造で表示
¾ すべての機能の出発点
¾ ウィザ
ウィザードとデザイナ
ドとデザイナ
¾オブジェクトの追加/編集が簡単
¾ PL/SQLエディタ
¾PL/SQLのデバッグも可能
デバ グ
¾ Data Window
¾テストデータの確認/編集に便利
¾ Oracle Query Window
¾SQL*Plus代わりに使えるツール
Copyright© 2010, Oracle. All rights reserved.
14
ODT機能概要
y
y
y
y
y
y
y
y
Oracleエクスプローラ
デザイナ およびウ ザ ド
デザイナーおよびウィザード
自動コード生成
PL/SQLエディタ
Oracleデータウィンドウ
Oracle問合せウィンドウ
Oracleプロジェクト
統合ヘルプ
Copyright© 2010, Oracle. All rights reserved.
15
Oracle エクスプローラを利用した開発
Oracle クスプロ ラからOracleデ タ
OracleエクスプローラからOracleデータベースに格納されているオブジェクトを全て管理
スに格納されているオブジェクトを全て管理
Copyright© 2010, Oracle. All rights reserved.
16
PL/SQLストアドプロシージャの開発
PL/SQLエディタでコ ド補完、エラ 内容の確認
PL/SQLエディタでコード補完、エラー内容の確認
Copyright© 2010, Oracle. All rights reserved.
17
PL/SQLストアドプロシージャのデバッグ
Visual Studioのデバッグ機能を利用したPL/SQLストアドプロシージャのデバッグ
Studioのデバッグ機能を利用したPL/SQLストアドプロシ ジャのデバッグ
Copyright© 2010, Oracle. All rights reserved.
18
ODAC 11.1.0 新機能 – ODT
y
y
y
y
y
Server Explorerへの統合
Oracle Databaseプロジェクト
ユーザ定義型
SQ
SQL*Plusスクリプト
usスクリプト
問合わせウィンドウの拡張
Copyright© 2010, Oracle. All rights reserved.
19
ODAC 11.1.0 新機能 – ODT
y Server Explorerへの統合
–
–
Visual Studio 2005のServer ExplorerにODTの機能を統合
Visual Studio 2005が提供する各種デザイナーやウィザード、ドラッ
グ・アンド・ドロップの操作に対応
y Oracle Databaseプロジェクト
–
–
複数のSQLスクリプトを管理するためのプロジェクトが新たに提供
Visual Studioで使用可能なソース管理機能と連携
Copyright© 2010, Oracle. All rights reserved.
20
ODAC 11.1.0 新機能 – ODT
y ユーザ定義型
–
–
「ユーザ定義型」ノードが追加され、ユーザ定義型の作成や確認が
ユ ザ定義型」ノ ドが追加され、ユ ザ定義型の作成や確認が
GUIから可能に
ユーザ定義型から.NET Custom Class(C#,VB.NET,マネージドC++
に対応)を生成するためのウィザ ドを提供
に対応)を生成するためのウィザードを提供
y SQL*Plusスクリプト
–
EDITおよびHOSTコマンドを除く、SQL
EDITおよびHOSTコマンドを除く
SQL*Plusコマンドを含むSQLスクリ
Plusコマンドを含むSQLスクリ
プトの実行をサポート
y 問合わせウィンドウの拡張
–
–
実行計画のタブが追加され、確認が容易に
トランザクションの手動解決をサポート
Copyright© 2010, Oracle. All rights reserved.
21
ODTの入手とインストール
y ODTはOracleデータベースのインストールCDには含まれて
ODTはOracleデ タベ スのインスト ルCDには含まれて
いません
y 最新版はOTN-Jから入手可能です
最新版はOTN Jから入手可能です
y Oracleデータベースのライセンスに準じて利用可能です
y 入手したEXEファイルを実行するとsetup.exeが作成されます
入手したEXEファイルを実行するとsetup exeが作成されます
y setup.exeを実行するとOUIが起動しますので、そちらでイン
スト ルします
ストールします
y ODTをインストールすると自動的にODP.NETのインストール
とVS.NETの環境構成が行われます
Copyright© 2010, Oracle. All rights reserved.
22
ODT
ー Vi
Visuall St
Studioからの
di からの
パフォーマンスチューニング ー
Copyright© 2010, Oracle. All rights reserved.
23
ODAC 11.1.0.7 新機能 – ODT
Oracleパフォ マンス・アナライザ
Oracleパフォーマンス・アナライザ
y
Visual StudioからAutomatic Database Diagnostic
Monitor(ADDM) 、SQL Tuning Adviserが使用可能
スナップショットの
差分を診断
起動
結果作成
ADDM
結果表示
起動
AWR
(自動・ワークリポジトリ
(自動
ワ クリポジトリ)
診断結果 / アドバイス
結果表示
開発者
SQLチューニング
SQLチューニング
・アドバイザ
高負荷なSQL文
Copyright© 2010, Oracle. All rights reserved.
24
ODAC 11.1.0.7 新機能 – ODT
∼ SQL Tuning
T i Adviser
Ad i
∼
Copyright© 2010, Oracle. All rights reserved.
25
ODAC 11.1.0.7 新機能 – ODT
∼ Oracle
O l Performance
P f
Analyzer∼
A l
Copyright© 2010, Oracle. All rights reserved.
26
ODE NET
ODE.NET
ー .NET ストアドプロシ
ストアドプロシージャの記述と配布
ジャの記述と配布 ー
Copyright© 2010, Oracle. All rights reserved.
27
Oracle Database Extensions for .NET
Microsoft
Visual Studio .NET 2005
開発作業
Oracle Database 10g Release 2以上の
Wi d
Windows版でのみサポートされる機能です。
版でのみサポ トされる機能です
ODT 10.2.0以上が必要になります。
C++ / C#
C
VB.NET
による開発
Oracle Database
Extensions for .NET
(ODE NET)
(ODE.NET)
ビ ド
ビルド
DLLの作成
(foo.dll)
クライアント
アプリケーション
配布
PL/SQL
ストアド・プログラム
Oracle
O
l Developer
D
l
T
Tools
l
for Visual Studio .NET
(ODT)
Copyright© 2010, Oracle. All rights reserved.
28
ODE.NETの構成と動作原理
クライアント
アプリケーション
Oracle Instance
PL/SQL
リスナー
Oracle CLR
Host
Microsoft
.NET CLR
クライアント
プロセス
Oracleプロセス
Copyright© 2010, Oracle. All rights reserved.
外部プロセス
29
.NETストアドプロシージャの開発
Oracle Project テンプレ
テンプレートの利用による
トの利用による .NETストアドプロシ
.NETストアドプロシージャの開発
ジャの開発
Copyright© 2010, Oracle. All rights reserved.
30
.NETストアドの作成と配置方法
1. Oracleプロジェクトを作成
2. .NETアセンブリを作成
3. 配布ウィザードで以下の処理を自動実行
配布ウィザ
以下 処 を自動実行
.NETアセンブリ(DLL)をサーバーへコピー
PL/SQLラッ
PL/SQLラッパーの作成
の作成
y
配布時にはSYSまたはSYSTEM接続を使い、配布先を本来の
スキーマにしてください
Copyright© 2010, Oracle. All rights reserved.
31
.NETストアドプロシージャの配布
Oracle Deployment Wizard for .NETを利用した、.NETストアドプロシージャの配布
.NETを利用した、.NETストアドプロシ ジャの配布
Copyright© 2010, Oracle. All rights reserved.
32
ODAC 11.1.0 新機能 – ODE.NET
y アセンブリ再配布機能
–
–
既にロードされた状態の.NET Stored Procedureを再配布で置き換え
可能にする設定を提供
開発およびテスト時の作業効率を向上
y Nullable type
–
.NET Framework 2.0で追加されたNullable Typeに対応
Copyright© 2010, Oracle. All rights reserved.
33
Agenda
y
y
y
y
.NET + Oracle 開発環境の準備
アプリ開発の進め方
アプリの配布
Appendix: .NETチューニング
Copyright© 2010, Oracle. All rights reserved.
34
ODP NET
ODP.NET
ー アプリケーションの配布 ー
Copyright© 2010, Oracle. All rights reserved.
35
ODP.NETを利用したアプリケーションの配布
∼ Oracle Clientのインスト
Clientのインストール
ル∼
y OUI
–
–
Oracle GUIベースの インストール
DB Server, Client共、GUIベースで容易にインストール
y Silent install
–
–
–
インストール作業の自動化
Microsoft SMS もしくは、他のインストール製品を利用し
て配布可能
大量クライアントの配布に最適
y Instant Client XCopy
py
–
–
ファイルコピーとバッチの実行でインストール可能
大量クライア
大量クライアントの配布に最適
配布 最適
Copyright© 2010, Oracle. All rights reserved.
36
Instant Client XCopy での配布
y
I t ll の手順
Install
Step 1: Unzip and copy IC files to disk
St 2:
Step
2 install.batの実行
i t ll b tの実行
–
–
y
–
–
配布したいコンポーネント、 Oracle Home の名前、配
布先
布先の3つを指定。
を指定。
Step 3: Windows PATHにインストールパスを追加
Step 4: NLS_LANG の設定
Copyright© 2010, Oracle. All rights reserved.
37
XCopy Install.bat
Copyright© 2010, Oracle. All rights reserved.
38
Instant Client XCopy コンポーネント
y
Instant Client xcopy でインストール可能なコンポーネント
–
–
–
–
–
y
SQL*Plus
SQL*Pl
OCI
OCCI
ODBC
JDBC-OCI
Instant Client xcopy で追加されたコンポーネント
–
–
–
–
–
ODP.NET
ODP
NET
Oracle Providers for ASP.NET
Oracle Provider for OLE DB
OO4O
Oracle Services for MTS
Copyright© 2010, Oracle. All rights reserved.
39
tnsname.oraを使用しない接続
ODP.NET ONLY
Dim cnn As New OracleConnection
Dim sb As New System.Text.StringBuilder
sb.Append("User Id=scott; Password=tiger;")
sb.Append("Data Source=(DESCRIPTION = (ADDRESS_LIST = ")
sb.Append("(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)")
sb.Append("(PORT = 1521)))(CONNECT_DATA = (SERVER = DEDICATED)")
tnsnams.oraの内容
をそのまま記述
sb.Append("(SERVICE_NAME = orcl)));")
cnn.ConnectionString = sb.ToString
cnn.Open()
MsgBox("Connect OK!!")
cnn.Close()
Copyright© 2010, Oracle. All rights reserved.
40
Multiple Oracle Homes(MOH)
y Multiple Oracle Homes (MOH) 複数バージョンの
O l 製品をイ
Oracle製品をインストールする為に:
ト
する為に
y Oracle Database version 8.0.4以前ではサポート
されません。
p
example:
–
–
Oracle 10.2.0: d:¥oracle10¥ora102
Oracle 11.0.0: d:¥oracle11¥ora110
Copyright© 2010, Oracle. All rights reserved.
41
Multiple Oracle Homes
y Multiple Oracle Homes のレジストリ設定:
–
–
HKLM¥Software¥Oracle¥ALL_HOMES
HKLM¥Software¥Oracle¥ALL
HOMES and
HKLM¥Software¥Oracle¥HOME(n)
HKLM¥Software¥Oracle¥KEY_home
Copyright© 2010, Oracle. All rights reserved.
42
Multiple Oracle Homes の管理
Oracle Client Software
y Oracle
O ac e cclient
e t DLLs
s は Windows
do s Path
at の設定
から読み込まれます。
y Web (IIS)
–
IIS supports separate worker processes in
same instance
y IIS 6 for Windows Server 2003 以上
–
それぞれのprocessでDllのディレクトリ設定
y Client/Server
–
それぞれのアプリケーションのスタートアップ時に、
それぞれのアプリケ
ションのスタ トアップ時に
利用したいOracle Home のPATHを設定
Copyright© 2010, Oracle. All rights reserved.
43
Oracle Homes in .NETの管理
y ODP.NET 10.2.0.4 以上の場合
–
–
ODP.NET
ODP
NET は .NET
NET config files を利用してアンマネ
を利用してアンマネージド
ジド
な Oracle DLLsを読み込みます。
それぞれのアプリケ ション毎に、異なるバ ジョンの
それぞれのアプリケーション毎に、異なるバージョンの
Oracle ClientとODP.NETを設定できます。
y DLL の検索順序
–
–
–
–
1. Current application directory
2 Application config or web.config
2.
web config
3. Machine.config
4 Windows Registry
4.
y HKLM¥Software¥Oracle¥ODP.NET¥<version>¥DllPath
–
5 Windows System Path setting
5.
Copyright© 2010, Oracle. All rights reserved.
44
Agenda
y
y
y
y
.NET + Oracle 開発環境の準備
アプリ開発の進め方
アプリの配布
Appendix: .NETチューニング
Copyright© 2010, Oracle. All rights reserved.
45
ODP NET
ODP.NET
ー パフォーマンス・チューニング ー
Copyright© 2010, Oracle. All rights reserved.
46
ODP.NET チューニングポイント 1
∼ ラウンドトリップの回数を減らす ∼
取得レコードが多い場合、フェッチサイズによっては多くのラウンドトリップが発生
データ取得の際のパケットサイズを変更することにより、ラウンドトリップ回数を減少
FetchSize・・・デフォルト値は
FetchSize
デフォルト値は、65,536バイト
65 536バイト
Copyright© 2010, Oracle. All rights reserved.
47
ODP.NET チューニングポイント 2
∼ キャッシュの利用 ∼
コネクションプール
1人目の初回アクセス時
初
1人目
Select * from emp
DBサーバーへの問合せ
バ
結果セットをデータ
セットに格納
問合せ結果の返信
WEBサ バ
WEBサーバー
DBサーバー
DBサ
バ
コネクションプール
2人目のアクセス時
2人目
S l t * from
Select
f
emp
結果セットをデータ
セットに格納
データキャッシュから
結果を取得
WEBサ バ
WEBサーバー
Copyright© 2010, Oracle. All rights reserved.
DBサーバー
DBサ
バ
48
ODP.NET チューニングポイント 3
∼ コネクション・プーリング ∼
コネクションプール無
Client数 = Connection数
WEBサ バ
WEBサーバー
DBサーバー
サ
コネクションプール有
Client数 > Connection数
WEBサーバー
Copyright© 2010, Oracle. All rights reserved.
DBサーバー
DBサ
49
ODP NET
ODP.NET
ー ラウンドトリップの回数を減らす ー
Copyright© 2010, Oracle. All rights reserved.
50
ODP.NET ラウンドトリップの回数を減らす
∼フェッチ・サイズの制御
フ チ サイズの制御 ∼
エンドユーザーが大量のデータを使用する場合、アプリケーションによるデータ・フェッチの
ラウンドトリップ回数を最小限にするための仕組み。
OracleCommand cmd = con.CreateCommand();
cmd.CommandText = "select * from fetch_test
OracleDataReader dr = cmd.ExecuteReader();
dr.FetchSize = cmd.RowSize * numRows;
;
while (dr.Read())
{
rowsFetched++;
}
FetchSizeの値はデフォルトで、「64KB」に設定
Copyright© 2010, Oracle. All rights reserved.
51
ODP.NET ラウンドトリップの回数を減らす
∼フェッチ・サイズ / BLOB ∼
BLOBでのラウンドトリップ回数を最小限にするための仕組み。
Dim cnn AAs NNew OOracleConnection(
Di
l C
i ( _
"user id=scott;password=tiger;data source=orcl")
Dim strSql As String = _
select blob_fld
blob fld from blob_test
blob test where blob_id=1
blob id=1"
"select
Dim cmd As New OracleCommand(strSql, cnn)
cmd.InitialLOBFetchSize = 32767
cnn.Open()
Dim dr As OracleDataReader = cmd.ExecuteReader
If dr.Read Then
Di bl
Dim
blobb As
A OracleBlob
O l Bl b = ddr.GetOracleBlob(0)
G tO
l Bl b(0)
Dim ms As New System.IO.MemoryStream(blob.Value)
PictureBox1.Image = New Bitmap(ms)
End If
Oracle Data Provider for .NET 11.1から小さなサイズのLOB検索のパフォーマンスが向上。こ
機
張
11gリリース1.0以降のデータベース・バージョンで対応
g
の機能拡張を使用できるのは、Oracle
Copyright© 2010, Oracle. All rights reserved.
52
ODP.NET ラウンドトリップの回数を減らす
∼OracleBulkCopy∼
Oracleデータベース以外のデータソースからOracleデータベース内の表に対してデータ
を高速に 括ロ ド
を高速に一括ロード
'// ExcelからOracle Datbaseへデータを一括コピー
Dim eConn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data
Data Source=C:¥¥Temp¥¥SmplData
Source=C:¥¥Temp¥¥SmplData.xls;Extended
xls;Extended Properties=""Excel
Properties= Excel 8.0;HDR=YES;
8 0;HDR=YES;"";")
; )
eConn.Open()
Dim cmdFrom As New OleDbCommand("Select EMPID,EMPNAME From [Sheet1$]")
cmdFrom.Connection = eConn
Dim rdrFrom As OleDbDataReader = cmdFrom
cmdFrom.ExecuteReader
ExecuteReader
Dim oConn As New OracleConnection("User Id=scott;Password=tiger;Data Source=orcl11g")
oConn.Open()
Dim obCopy As New OracleBulkCopy(oConn)
obCopy DestinationTableName = "emp"
obCopy.DestinationTableName
emp
obCopy.ColumnMappings.Add("empid", "empno")
obCopy.ColumnMappings.Add("empname", "job")
obCopy.WriteToServer(rdrFrom)
Oracle Data Provider for .NET 11.1からの機能
Copyright© 2010, Oracle. All rights reserved.
53
ODP NET
ODP.NET
ー キャッシュの利用 ー
Copyright© 2010, Oracle. All rights reserved.
54
Oracle Database キャッシュの利用
∼ Result Cache ∼
Oracle Datatbase 11g リリース
リリ ス 1.0の新機能
1 0の新機能
Inventory
Inventory
Orders
Line
Items
Orders
Line
Items
従来のキャッシュ
Back 読み込みブロック Pick
Orders 全体をキャッシュ Lists
結果キャ シ
結果キャッシュ
Back
Orders
Pick
Lists
SQL検索結果のみキャッシュ
メモリの使用効率をあげ、レスポンスの高速化をはかる
Copyright© 2010, Oracle. All rights reserved.
55
Oracle Database キャッシュの利用
∼ Result Cache ∼
SQLの結果キャッシュによってキャッシュされた情報は SGA 上(共有プール
内の領域)に格納され、ユ ザ間でその情報が共有される。
内の領域)に格納され、ユーザ間でその情報が共有される。
アクセス対象のテーブルのデータの更新が行われた場合、そのキャッシュ
は無効になる。
キャッシュ済みの
結果が返され、高
SGA
速レスポンス
共有プール
SQL結果キ
ャッシュ
Select …
ユ ザ A
ユーザーA
①
②
③
Select …
ユ ザ B
ユーザーB
大量データにアクセスするが、結果として返す行が少量な場合に非常に有効
例) 定型的なレポートなどのクエリー
Copyright© 2010, Oracle. All rights reserved.
56
Oracle Database キャッシュの利用
∼ Result Cache ∼
リザ
リザルト・キャッシュを有効化する
キャッシ を有効化する
alter system set RESULT_CACHE_MODE = 'FORCE';
MANUAL
(デフォルト) ユーザが手動でリザルト・キャッシュを行う指定をした場合のみ、リザルト・ キャッシュの機能が使用される
FORCE 常にリザルト・キャッシュの機能が働く
リザルト・キャッシュを有効化する
select /*+ result_cache */ first_name, last_name from employees
RESULT_CACHE_MODEの値が「MANUAL」となっていた場合は、SQLの中にヒント句を入れることにより、クライアント・リザルト
キ
キャッシュ機能を有効にすることが可能
シ 機能を有効にすることが可能
Copyright© 2010, Oracle. All rights reserved.
57
ODP.NET キャッシュの利用
∼ ステートメント・キャッシュ
ステ トメント キャ シ ∼
同じSQL文を(場合によっては異なるパラメータ値を使用して)後で実行する場合、カーソル
Q
から解析された情報を再利用して、文を解析せずに実行
"User Id=SCOTT;Password=TIGER;Data Source=ORCL;Statement Cache Size=100"
Where句に指定されている条件を次のようにパラメ タ変数を使用する必要があり
Where句に指定されている条件を次のようにパラメータ変数を使用する必要があり
OracleCommand cmd = new OracleCommand(
"SELECT * FROM emp
p WHERE empno=:pEmpNo",
p
p p
conn);
OracleParameter pEmpNo =
cmd.Parameters.Add("pEmpNo", OracleDbType.Int32, ParameterDirection.Input);
pEmpNo.Value = 7369;
Copyright© 2010, Oracle. All rights reserved.
58
ODAC 11.1.0.7 新機能 – ODP.NET
ステ トメント・キャッシュの自動チュ ニング
ステートメント・キャッシュの自動チューニング
y 機能
– ODP.NETが自動的に稼動状態のモニタを行い、ステートメント・キャ
ッシュ・サイズを最適な値に設定
– ステートメント・キャッシュによりSQL or PL/SQL のリパースを排除
– 実行頻度に応じてステートメント・キャッシュの大きさを動的に変更
Application (A)
データアクセスが多い
デ
タアクセ が多
ODP.NET
Cache(拡張)
ODP.NET
Cache
データアクセスが少ない
デ
タアクセスが少ない
ODP NET
ODP.NET
Cache
Copyright© 2010, Oracle. All rights reserved.
59
Oracle Database キャッシュの利用
∼ SecureFiles ∼
データベースへのラウンドトリップの回数を減らすことで、SecureFilesを使用する際の少量
のLOB検索のパフォーマンスが向上
のLOB検索のパフォ
マンスが向上。この拡張機能はOracle
この拡張機能はOracle 11gリリ
11gリリース1
ス1.0以降のデ
0以降のデータ
タ
ベース・バージョンでのみ使用可能
この拡張機能は開発者に対して透過的なので、コ ド変更は必要なし。
この拡張機能は開発者に対して透過的なので、コード変更は必要なし。
Copyright© 2010, Oracle. All rights reserved.
60
Oracle Database キャッシュの利用
∼ SecureFiles ∼
y STORE AS SECUREFILE 句を使用して表を作成します
SQL> CREATE TABLE t1 (c1 CLOB)
2 LOB (c1) STORE AS SECUREFILE ;
y BASICFILE は以下のように利用します
– デフォルト (STORE AS 句を指定しない場合) は、
BASICFILE として作成されます
SQL> CREATE TABLE t1 (c1 CLOB)
2 LOB (c1) STORE AS BASICFILE ;
Copyright© 2010, Oracle. All rights reserved.
61
Oracle Database キャッシュの利用
∼ SecureFiles ∼
y 従来の LOB より、高速に処理可能
y 見込まれる性能改善の効果
– 競合削減
– 高いスループット
– 同時実行性の向上
– 領域管理の最適化
y LOB 特有のチューニング・パラメータは不要
Copyright© 2010, Oracle. All rights reserved.
62
ODP NET
ODP.NET
ー コネクション・プーリング ー
Copyright© 2010, Oracle. All rights reserved.
63
Oracle Database コネクションプーリング
ODP.NETの接続プーリング機能を使用すると、アプリケーションは事前に作成された接続
を用意するプールを作成および維持可能
y
接続プーリングを使用しない接続文字列(Pooling=FALSE)
string no_pool = "User Id=hr; Password=hr; Data Source=oramag; Enlist=false; Pooling=false"
y
接続プーリングを使用する接続文字列(Pooling=TRUE)
string with_pool = "User Id=hr; Password=hr; Data Source=oramag; Enlist=false; Pooling=true"
Poolingの値はデフォルトで、「TRUE」に設定
g
Copyright© 2010, Oracle. All rights reserved.
64
Oracle Database コネクションプーリング
∼ OS認証でも利用可能 ∼
ODP.NET ONLY
Di cnn AAs NNew OOracleConnection
Dim
l C
ti
cnn.ConnectionString = "User Id=/;Data Source=orcl;DBA Privilege=SYSDBA"
①
cnn.Open()
g
(
OK!!")
!! )
MsgBox("Connect
cnn.Close()
①ConnectionString属性のUser Idを / に設定することにより、データベース・ユーザーの認
に設定することにより データベース・ユーザーの認
証にWindowsユーザー・ログイン資格証明を使用できます。また、DBA Privilege属性を介し
てSYSDBA権限またはSYSOPER権限のいずれかを使用してOracleデータベースに接続
ODP.NET 11.1.0以上では、OS認証でも接続プーリングが有効
Copyright© 2010, Oracle. All rights reserved.
65
Oracle Database コネクションプーリング
∼ Perfmonでの確認 ∼
Windowsパフォーマンス・モニター(Perfmon)を使用してODP.NETのコネクション・プーリン
グ状況等を監視
ODP.NETのパフォーマンス・カウンタはOracle Data Provider for .NETというカテゴリ名で公開
Copyright© 2010, Oracle. All rights reserved.
66
まとめ
.NET
NET 開発者を以下3つの製品でサポ
開発者を以下3つの製品でサポート
ト
Visual Studio 2005, 2008をサポート
9 Oracle機能の活用
O l D
Oracle
Data
t P
Provider
id ffor .NET(ODP.NET)
NET(ODP NET)
9 開発生産性の向上
Oracle Developer Tools for Visual Studio .NET(ODT)
9 開発言語の統一
Oracle Database Extensions for .NET(ODE.NET)
Copyright© 2010, Oracle. All rights reserved.
67
68
OTN掲示版×ダイセミ
OTN
掲示版×ダイセミ でスキルアップ
でスキルアップ!!
!!
・セミナー中に解消できなかった疑問点を解消したい!
・セミナー終了後に疑問点が出てきた!
・一般的なその解決方法などを知りたい!
このようなお客様に、
このようなお客様に
Oracle Technology Network(OTN)の
掲示版の活用をお薦めします。
http://otn.oracle.co.jp/forum/index.jspa?categoryID=2
セミナーに関連する質問については、OTN掲示版の
「データベース一般」
「デ
タベ ス 般」へ
※OTN掲示版は、基本的にOracleユーザー有志からの回答となるため100%回答があるとは限りません。
ただ 過去の履歴を見ると 質問の大多数に関してなんらかの回答が書き込まれております
ただ、過去の履歴を見ると、質問の大多数に関してなんらかの回答が書き込まれております。
Copyright© 2010, Oracle. All rights reserved.
69
OTNセミナー
OTN
セミナー オンデマンド コンテンツ
期間限定にて、ダイセミの人気セミナーを動画配信中!!
期間限定にて
ダイセミの人気セミナ を動画配信中!!
ダイセミのライブ感はそのままに、お好きな時間で受講頂けます。
http://www.oracle.com/technology/global/jp/ondemand/otn-seminar/index.html
ttp://www.o ac e.co /tec o ogy/g oba /jp/o de a d/ot se
a / de . t
※掲載のコンテンツ内容は予告なく変更になる可能性があります。
いずれも期間限定での配信です 気になる ンテンツは早めにダウンロ ド頂くことをお勧めいたします
いずれも期間限定での配信です。気になるコンテンツは早めにダウンロード頂くことをお勧めいたします。
Copyright© 2010, Oracle. All rights reserved.
70
ITプロジェクト全般に渡る無償支援サービス
Oracle Direct Conciergeサ
Conciergeサービスメニュー
ビスメ ュ
業務改善計画の作成支援
• 業務診断サービス
• BIアセスメントサービス
BIアセスメントサ ビス
システム運用状況の診断
•パフォーマンス・クリニック・サービス
•システム・セキュリティ診断サービス
•データ管理最適化サービス
デ タ管理最適化サ ビス
経営企画
運用
システム構築時の道案内
•Access / SQL Serverからの移行
•MySQL
MySQL / PostgreSQLからの移行
•Oracle Database バージョンアップ支援
•Oracle Developer Webアップグレード
•システム連携アセスメントサービス
構築
IT 企画
システム企画の作成支援
•業務診断サービス
•BIアセスメントサービス
設計
RFP/提案書の作成支援
•BIアセスメントサービス
•メインフレーム資産活用相談サービス
•仮想化アセスメントサービス
•Oracle Database 構成相談サービス
•Oracle Database 高可用性クリニック
Copyright© 2010, Oracle. All rights reserved.
71
あなたにいちばん近いオラクル
O l Direct
Oracle
Di t
まずはお問合せください
Oracle
O
ac e Direct
ec
検索
システムの検討・構築から運用まで、ITプロジェクト全般の相談窓口としてご支援いたします。
システム構成やライセンス/購入方法などお気軽にお問い合わせ下さい。
フリーダイヤル
Web問い合わせフォーム
専用お問い合わせフォームにてご相談内容を承ります。
http://www.oracle.co.jp/inq_pl/INQUIRY/quest?rid=28
0120−155−096
※月曜~金曜 9:00~12:00、13:00~18:00
(祝日および年末年始除く)
※フォームの入力には、Oracle Direct Seminar申込時と同じ
ログインが必要となります。
※こちらから詳細確認のお電話を差し上げる場合がありますので、ご登録さ
れている連絡先が最新のものになっているか、ご確認下さい
れている連絡先が最新
も にな ているか、 確認下さい。
Copyright© 2010, Oracle. All rights reserved.
72
73
Fly UP