SlideShare a Scribd company logo
Oracle -> SQL Serverシステム移行の勘所
~Oracle開発経験者が戸惑うポイント~
株式会社インサイトテクノロジー
コンサルティング事業部
中村 範夫
Copyright © 2014 Insight Technology, Inc. All Rights Reserved.
2
自己紹介
Copyright © 2014 Insight Technology, Inc. All Rights Reserved.
• 中村範夫(なかむらのりお)
• (株)インサイトテクノロジー コンサルティング事業部所属
• 大阪で10年以上システム開発に従事した後に、現職に
• よく扱うDBは、Oracle、SQL Server、MySQL
• 最近はOracleのシステムをSQL Serverで再構築という案件
に従事することが多いです
3
Agenda
Copyright © 2014 Insight Technology, Inc. All Rights Reserved.
1. システム移行の概要
2. Oracle開発経験者が意識して欲しい違い
3. よくある開発トラブルシューティング
4. その他開発でよく聞かれること
5. まとめ
4
システム移行概要
Copyright © 2014 Insight Technology, Inc. All Rights Reserved.
1. データベースオブジェクトの移行(SSMA)
2. データの移行(SSMA)
3. アプリケーションの移行
• アプリケーションのビジネスロジック部分を自動変換(SSMA)
• SSMAで変換できない部分を手動で変換
• 一般的なシステム移行の流れ(Webアプリケーションの場合)
• SSMAが大半を担う
5
システム移行概要
Copyright © 2014 Insight Technology, Inc. All Rights Reserved.
• SQL Server Migration Assistant(SSMA)とは?
SSMA は、Oracle データベースから SQL Server へのアプリケーション移行の自動化に役立つツール セットです。SSMA を利用することで、データベース
の変換を迅速、簡単、および正確に行うことが可能になり、SQL Server への移行に関する時間、コスト、およびリスクが大幅に軽減されます。
• SSMAを利用するメリット
SSMA を利用することで、下記の項目のようなデータベースの移行に必要な作業のほとんどを自動化することが可能です。
・データベースのアセスメント
・スキーマとデータの移行
・ビジネス ロジックの変換
・移行の確認
http://msdn.microsoft.com/ja-jp/sqlserver/gg639007.aspx より
• どれだけ自動で移行でき、どれだけ手動での移行が必要かを、見積もるためにも、
まずはSSMAで移行検証を
• 一般的なシステムではおよそ80%~90%以上が自動で移行可能で、手動で変換が必要な
大半はPL/SQLのストアドプログラム
6
システム移行概要
Copyright © 2014 Insight Technology, Inc. All Rights Reserved.
• PL/SQLの手動変換をいかに効率的に行うかが鍵
• SSMAで変換できなかった部分をT-SQLで手動で変換するよりも
PL/SQL側で変換できる形に修正する方が効率的なことが多々ある
【参考】Oracle から SQL Server 2008 への移行ガイド
http://download.microsoft.com/download/3/4/7/34710CC0-5B7D-499B-B39A-50ED31F6A500/MigrateOracletoSQLServer2008.docx
7
Oracle開発経験者が意識して欲しい違い
Copyright © 2014 Insight Technology, Inc. All Rights Reserved.
• デフォルトのトランザクションの分離レベルはどちらも、
「Read committed」だが Oracle には読み取り一貫性がある
• PL/SQLとT-SQLの違い
– PL/SQLは手続き型言語としての歴史が古く完成度が高い
– PL/SQLはカーソルの構文、コレクション型が豊富
– T-SQLは例外処理として 2012以降 THROWが使用可能となった
• その他インデックスが使用できるSQLの条件等はだいたい同じ
• Oracleのパラレルクエリと同様SQL Serverの並列クエリも強力
8
よくある開発トラブルシューティング(1)
Copyright © 2014 Insight Technology, Inc. All Rights Reserved.
• [問題]デッドロックが多発する
– オンライン画面(Web)のシステムテストでデッドロックが多発する
• [原因]テーブルスキャンによるロック待ちにより
デッドロックが発生
• [対策]条件列に対してインデックスを付与、又は
「Read Committed Snapshot」分離レベルを採用
9
よくある開発トラブルシューティング(1)
Copyright © 2014 Insight Technology, Inc. All Rights Reserved.
• [解説]
t1テーブル
a b
1 AA
2 BB
Oracle(PL/SQL)でよくあるソースコード
SELECT * FROM t1 WHERE a = 2 FOR UPDATE
UPDATE t1 SET b = ‘BBB' WHERE a = 2
SQL Server用に変換
SELECT * FROM t1 WITH (ROWLOCK, UPDLOCK) WHERE a = 2
UPDATE t1 SET b = ‘BBB' WHERE a = 2
【ポイント】
更新条件のa列には主キー、
インデックスなし
10
よくある開発トラブルシューティング(1)
Copyright © 2014 Insight Technology, Inc. All Rights Reserved.
• [解説]
トランザクション [1] a b トランザクション [2]
SELECT * FROM t1 WITH (ROWLOCK, UPDLOCK)
WHERE a = 2
1 AA
SELECT * FROM t1 WITH (ROWLOCK, UPDLOCK)
WHERE a = 1
2 BB
UPDATE t1 SET b = 'BBB' WHERE a = 2 UPDATE t1 SET b = 'AAA' WHERE a = 1
1)先頭から探す
2)1件目を発見し、排他ロックを獲得
3)他にもないか探す
4)2行目で [1] の排他ロックにより待ちが発生
1)先頭から探す
2)1行目で2の排他ロックを発見
↓
デッドロック検知!!
① ②
③
11
よくある開発トラブルシューティング(1)
Copyright © 2014 Insight Technology, Inc. All Rights Reserved.
DEMO:
テーブルスキャンによるロック待ちによりデッドロックが発生
12
よくある開発トラブルシューティング(2)
Copyright © 2014 Insight Technology, Inc. All Rights Reserved.
• [問題]オンライン画面(Java Webアプリ)が遅い
– 自由検索画面の検索処理がOracleに比べてかなり遅い
• [原因]Prepared Statement の文字列パラメータが Unicode
で送信されたため VARCHAR 列に対するインデックスが使えない
sendStringParametersAsUnicode = false
• [対策]接続時に以下の設定を追記
13
よくある開発トラブルシューティング(2)
Copyright © 2014 Insight Technology, Inc. All Rights Reserved.
DEMO:
暗黙の型変換によりインデックスが使えない例
14
よくある開発トラブルシューティング(3)
Copyright © 2014 Insight Technology, Inc. All Rights Reserved.
• [問題]バッチ処理の性能が思った程でない
• [対策]定数取得の処理をアプリケーション側で行うことで
SQLが並列クエリになるよう修正
• [原因]SQL で定数取得のユーザー定義関数を使用しているため
並列クエリで処理されていない
15
よくある開発トラブルシューティング(3)
Copyright © 2014 Insight Technology, Inc. All Rights Reserved.
• [解説]
並列クエリ処理(SQL Serverオンラインブックより)
http://technet.microsoft.com/ja-jp/library/ms178065(v=sql.105).aspx
16
よくある開発トラブルシューティング(3)
Copyright © 2014 Insight Technology, Inc. All Rights Reserved.
• [解説]EMP表を750万件に増幅し検証
並列クエリにならないパターン
SELECT COUNT(*)
FROM EMP2
WHERE JOB = dbo.USER_FUNC('SALESMAN')
並列クエリになるパターン
SELECT COUNT(*)
FROM EMP2
WHERE JOB = 'SALESMAN'
組み込み関数(GETDATE()やCONVERT等)は問題なく並列クエリになる
17
よくある開発トラブルシューティング(3)
Copyright © 2014 Insight Technology, Inc. All Rights Reserved.
DEMO:
並列クエリになるパターンとならないパターン例
18
その他よく聞かれること (1)
Copyright © 2014 Insight Technology, Inc. All Rights Reserved.
• ファイル入出力はどうすればいいの?
– OracleにはSQL*Loader、UTL_FILEパッケージの機能がある
• SQL Server にも bcpユーティリティ、BULK INSERT、
OPENROWSETによる「INSERT~SELECT」がある
– ファイル入力では上記いずれの方法でも利用できる
– ファイル出力ではbcp
– OPENROWSETは非常に高性能で利用範囲が広い
19
その他よく聞かれること(2)
Copyright © 2014 Insight Technology, Inc. All Rights Reserved.
• bcpの出力が入力に比べて遅いけど?(CSVファイル)
大規模テーブルをCSVファイルに出力する場合、
bcp ユーティリティでは、カンマ付与をSQLで
記述する queryout 方式の方が高速
bcp Test.dbo.EMP out EMP.csv -c -t, -T
↓
bcp "SELECT empno + ',' + ename + ',' ・・・FROM Test.dbo.EMP" queryout EMP.csv -c -T
20
その他よく聞かれること(2)
Copyright © 2014 Insight Technology, Inc. All Rights Reserved.
• 2,000万件 約10GBのテーブルに対して処理時間を比較
0
20
40
60
80
100
120
table out 方式 queryout方式
処理時間を相対比較
(table out方式を100とした場合)
21
その他よく聞かれること(3)
Copyright © 2014 Insight Technology, Inc. All Rights Reserved.
• Oracleの階層問合せ(connect by)は使えないの?
• 標準SQLの共通テーブル式(CTE)を使った再帰クエリが使える
22
その他よく聞かれること(3)
Copyright © 2014 Insight Technology, Inc. All Rights Reserved.
• 共通テーブル式サンプル(emp表を階層問合せする有名なやつ)
23
その他よく聞かれること(4)
Copyright © 2014 Insight Technology, Inc. All Rights Reserved.
• とりあえずサーバーの設定はどうすればいいの?
• 最低限やっておくべきSQL Serverの設定
– メモリの適切な割当てとページロック設定
– 並列処理の最大限度(MAXDOP)の設定
-> OLTPではCPUコア数の1/4 (目安)
– tempdb の ファイル分割 -> CPUコア数分 (目安)
【参考】熊澤さんの検証資料
http://download.microsoft.com/download/F/1/0/F10BC023-9396-4D67-BAC9-7C43AE954BF4/Intel_WP_Xeon7500_SQL2008R2.pdf
24
まとめ
Copyright © 2014 Insight Technology, Inc. All Rights Reserved.
• SSMAを利用してシステム移行コストを見積もり
– システム移行コストは PL/SQL の変換が鍵
– PL/SQL側を一括修正することで変換コスト削減に貢献
• アーキテクチャの違いを理解した上での方式設計が重要
– トランザクションの分離レベル・ロック制御
– JDBC接続では [sendStringParametersAsUnicode] の設定に注意
– SQL Serverの並列クエリは強力なので上手に利用
25Copyright © 2014 Insight Technology, Inc. All Rights Reserved.
無断転載を禁ず
この文書はあくまでも参考資料であり、掲載されている情報は予告なしに変更されることがあります。
株式会社インサイトテクノロジーは本書の内容に関していかなる保証もしません。また、本書の内容に関連し
たいかなる損害についても責任を負いかねます。
本書で使用している製品やサービス名の名称は、各社の商標または登録商標です。

More Related Content

What's hot

Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームApache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォーム
Kouhei Sutou
 

What's hot (20)

しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニングしばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
しばちょう先生による特別講義! RMANバックアップの運用と高速化チューニング
 
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システムMySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
 
とある診断員とAWS
とある診断員とAWSとある診断員とAWS
とある診断員とAWS
 
はじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタはじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタ
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法について
 
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
 
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 
Oracle Cloud Infrastructure:2023年4月度サービス・アップデート
Oracle Cloud Infrastructure:2023年4月度サービス・アップデートOracle Cloud Infrastructure:2023年4月度サービス・アップデート
Oracle Cloud Infrastructure:2023年4月度サービス・アップデート
 
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームApache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォーム
 
Hatena::Letの式年遷宮
Hatena::Letの式年遷宮Hatena::Letの式年遷宮
Hatena::Letの式年遷宮
 
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
 
ElasticSearch+Kibanaでログデータの検索と視覚化を実現するテクニックと運用ノウハウ
ElasticSearch+Kibanaでログデータの検索と視覚化を実現するテクニックと運用ノウハウElasticSearch+Kibanaでログデータの検索と視覚化を実現するテクニックと運用ノウハウ
ElasticSearch+Kibanaでログデータの検索と視覚化を実現するテクニックと運用ノウハウ
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
 
PostgreSQL Query Cache - "pqc"
PostgreSQL Query Cache - "pqc"PostgreSQL Query Cache - "pqc"
PostgreSQL Query Cache - "pqc"
 
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design PatternAWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴
SQLアンチパターン - 開発者を待ち受ける25の落とし穴SQLアンチパターン - 開発者を待ち受ける25の落とし穴
SQLアンチパターン - 開発者を待ち受ける25の落とし穴
 
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
 
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかSQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
 

Viewers also liked

45分で理解する SQL Serverでできることできないこと
45分で理解する SQL Serverでできることできないこと45分で理解する SQL Serverでできることできないこと
45分で理解する SQL Serverでできることできないこと
Insight Technology, Inc.
 
[INSIGHT OUT 2011] C12 50分で理解する SQL Serverでできることできないこと(uchiyama)
[INSIGHT OUT 2011] C12 50分で理解する SQL Serverでできることできないこと(uchiyama)[INSIGHT OUT 2011] C12 50分で理解する SQL Serverでできることできないこと(uchiyama)
[INSIGHT OUT 2011] C12 50分で理解する SQL Serverでできることできないこと(uchiyama)
Insight Technology, Inc.
 
Sql server エンジニアに知ってもらいたい!! sql server チューニングアプローチ
Sql server エンジニアに知ってもらいたい!! sql server チューニングアプローチSql server エンジニアに知ってもらいたい!! sql server チューニングアプローチ
Sql server エンジニアに知ってもらいたい!! sql server チューニングアプローチ
Masayuki Ozawa
 
110903 jazug lt_tanaka_pub
110903 jazug lt_tanaka_pub110903 jazug lt_tanaka_pub
110903 jazug lt_tanaka_pub
Takayoshi Tanaka
 
Oracle と sql server 比べてみよう (sql server)
Oracle と sql server 比べてみよう (sql server)Oracle と sql server 比べてみよう (sql server)
Oracle と sql server 比べてみよう (sql server)
Masayuki Ozawa
 
Sql server よく聞く設定とその効果
Sql server よく聞く設定とその効果Sql server よく聞く設定とその効果
Sql server よく聞く設定とその効果
Masayuki Ozawa
 

Viewers also liked (20)

45分で理解する SQL Serverでできることできないこと
45分で理解する SQL Serverでできることできないこと45分で理解する SQL Serverでできることできないこと
45分で理解する SQL Serverでできることできないこと
 
[INSIGHT OUT 2011] C12 50分で理解する SQL Serverでできることできないこと(uchiyama)
[INSIGHT OUT 2011] C12 50分で理解する SQL Serverでできることできないこと(uchiyama)[INSIGHT OUT 2011] C12 50分で理解する SQL Serverでできることできないこと(uchiyama)
[INSIGHT OUT 2011] C12 50分で理解する SQL Serverでできることできないこと(uchiyama)
 
SQL Server 入門
SQL Server 入門SQL Server 入門
SQL Server 入門
 
Sql server エンジニアに知ってもらいたい!! sql server チューニングアプローチ
Sql server エンジニアに知ってもらいたい!! sql server チューニングアプローチSql server エンジニアに知ってもらいたい!! sql server チューニングアプローチ
Sql server エンジニアに知ってもらいたい!! sql server チューニングアプローチ
 
Sql server これだけはやっておこう 最終版
Sql server これだけはやっておこう 最終版Sql server これだけはやっておこう 最終版
Sql server これだけはやっておこう 最終版
 
SQL Server運用実践 - 3年間80台の運用経験から20の教訓
SQL Server運用実践 - 3年間80台の運用経験から20の教訓SQL Server運用実践 - 3年間80台の運用経験から20の教訓
SQL Server運用実践 - 3年間80台の運用経験から20の教訓
 
オンプレでもクラウドでも データベースサーバの運用
オンプレでもクラウドでも データベースサーバの運用オンプレでもクラウドでも データベースサーバの運用
オンプレでもクラウドでも データベースサーバの運用
 
商用DBからPostgreSQLへ まず知っておいて欲しいまとめ
商用DBからPostgreSQLへ まず知っておいて欲しいまとめ商用DBからPostgreSQLへ まず知っておいて欲しいまとめ
商用DBからPostgreSQLへ まず知っておいて欲しいまとめ
 
Webシステムプログラミング設計書2015
Webシステムプログラミング設計書2015Webシステムプログラミング設計書2015
Webシステムプログラミング設計書2015
 
はじめてのSQLチューニング(oracle)
はじめてのSQLチューニング(oracle)はじめてのSQLチューニング(oracle)
はじめてのSQLチューニング(oracle)
 
110903 jazug lt_tanaka_pub
110903 jazug lt_tanaka_pub110903 jazug lt_tanaka_pub
110903 jazug lt_tanaka_pub
 
Unicode-v11-5
Unicode-v11-5Unicode-v11-5
Unicode-v11-5
 
FukuokaCloud_Azure
FukuokaCloud_AzureFukuokaCloud_Azure
FukuokaCloud_Azure
 
Oracle と sql server 比べてみよう (sql server)
Oracle と sql server 比べてみよう (sql server)Oracle と sql server 比べてみよう (sql server)
Oracle と sql server 比べてみよう (sql server)
 
Sql server よく聞く設定とその効果
Sql server よく聞く設定とその効果Sql server よく聞く設定とその効果
Sql server よく聞く設定とその効果
 
AWSを使用したインフラ構築~遭難防止アプリにおけるインフラ想定~
AWSを使用したインフラ構築~遭難防止アプリにおけるインフラ想定~AWSを使用したインフラ構築~遭難防止アプリにおけるインフラ想定~
AWSを使用したインフラ構築~遭難防止アプリにおけるインフラ想定~
 
設計書からの卒業
設計書からの卒業設計書からの卒業
設計書からの卒業
 
Amazon webservice(aws)と他社サーバのコストパフォーマンス比較
Amazon webservice(aws)と他社サーバのコストパフォーマンス比較Amazon webservice(aws)と他社サーバのコストパフォーマンス比較
Amazon webservice(aws)と他社サーバのコストパフォーマンス比較
 
[OSC2016沖縄]商用DBからPostgreSQLへの移行入門
[OSC2016沖縄]商用DBからPostgreSQLへの移行入門[OSC2016沖縄]商用DBからPostgreSQLへの移行入門
[OSC2016沖縄]商用DBからPostgreSQLへの移行入門
 
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~
 

Similar to [B24] Oracle から SQL Server システム移行の勘所 by Norio Nakamura

[A15] SQL Server Trouble Shooting Tips from Support Team by Takashi Honma
[A15] SQL Server Trouble Shooting Tips from Support Team by Takashi Honma[A15] SQL Server Trouble Shooting Tips from Support Team by Takashi Honma
[A15] SQL Server Trouble Shooting Tips from Support Team by Takashi Honma
Insight Technology, Inc.
 
過去事例から学ぶ SharePoint パフォーマンス問題とその対策
過去事例から学ぶ SharePoint パフォーマンス問題とその対策過去事例から学ぶ SharePoint パフォーマンス問題とその対策
過去事例から学ぶ SharePoint パフォーマンス問題とその対策
Atsuo Yamasaki
 
お悩み解決! データベースの仮想化統合(DBの仮想化統合には気をつけろ!)
お悩み解決!データベースの仮想化統合(DBの仮想化統合には気をつけろ!)お悩み解決!データベースの仮想化統合(DBの仮想化統合には気をつけろ!)
お悩み解決! データベースの仮想化統合(DBの仮想化統合には気をつけろ!)
オラクルエンジニア通信
 

Similar to [B24] Oracle から SQL Server システム移行の勘所 by Norio Nakamura (20)

ヤフーを支えるフラッシュストレージ
ヤフーを支えるフラッシュストレージヤフーを支えるフラッシュストレージ
ヤフーを支えるフラッシュストレージ
 
MySQL Technology Cafe #12 待望の!MDS HA先行レビュー
MySQL Technology Cafe #12 待望の!MDS HA先行レビューMySQL Technology Cafe #12 待望の!MDS HA先行レビュー
MySQL Technology Cafe #12 待望の!MDS HA先行レビュー
 
Oracle設計
Oracle設計Oracle設計
Oracle設計
 
[A15] SQL Server Trouble Shooting Tips from Support Team by Takashi Honma
[A15] SQL Server Trouble Shooting Tips from Support Team by Takashi Honma[A15] SQL Server Trouble Shooting Tips from Support Team by Takashi Honma
[A15] SQL Server Trouble Shooting Tips from Support Team by Takashi Honma
 
過去事例から学ぶ SharePoint パフォーマンス問題とその対策
過去事例から学ぶ SharePoint パフォーマンス問題とその対策過去事例から学ぶ SharePoint パフォーマンス問題とその対策
過去事例から学ぶ SharePoint パフォーマンス問題とその対策
 
Play jjug2012spring
Play jjug2012springPlay jjug2012spring
Play jjug2012spring
 
Play ja 3_update
Play ja 3_updatePlay ja 3_update
Play ja 3_update
 
MySQLインストールのお作法
MySQLインストールのお作法MySQLインストールのお作法
MySQLインストールのお作法
 
第39回「Windows Server 2003 EOSに備えよう -SQL Serverはどうする?-」(2014/12/18 on しすなま!)
第39回「Windows Server 2003 EOSに備えよう -SQL Serverはどうする?-」(2014/12/18 on しすなま!)第39回「Windows Server 2003 EOSに備えよう -SQL Serverはどうする?-」(2014/12/18 on しすなま!)
第39回「Windows Server 2003 EOSに備えよう -SQL Serverはどうする?-」(2014/12/18 on しすなま!)
 
IaC化の3つのポイント
IaC化の3つのポイントIaC化の3つのポイント
IaC化の3つのポイント
 
Java EE パフォーマンスTips #glassfish_jp
Java EE パフォーマンスTips #glassfish_jpJava EE パフォーマンスTips #glassfish_jp
Java EE パフォーマンスTips #glassfish_jp
 
天灾还是人祸? Oracle连环夺命未遂记
天灾还是人祸? Oracle连环夺命未遂记天灾还是人祸? Oracle连环夺命未遂记
天灾还是人祸? Oracle连环夺命未遂记
 
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
 
45分で作る Java EE 8 システム
45分で作る Java EE 8 システム45分で作る Java EE 8 システム
45分で作る Java EE 8 システム
 
Oracle Spatial 概要説明資料
Oracle Spatial 概要説明資料Oracle Spatial 概要説明資料
Oracle Spatial 概要説明資料
 
お悩み解決! データベースの仮想化統合(DBの仮想化統合には気をつけろ!)
お悩み解決!データベースの仮想化統合(DBの仮想化統合には気をつけろ!)お悩み解決!データベースの仮想化統合(DBの仮想化統合には気をつけろ!)
お悩み解決! データベースの仮想化統合(DBの仮想化統合には気をつけろ!)
 
What is doobie? - database access for scala -
What is doobie? - database access for scala -What is doobie? - database access for scala -
What is doobie? - database access for scala -
 
DB思い出話いろいろ(仮)
DB思い出話いろいろ(仮)DB思い出話いろいろ(仮)
DB思い出話いろいろ(仮)
 
[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?
 
Sr econt
Sr econtSr econt
Sr econt
 

More from Insight Technology, Inc.

コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
Insight Technology, Inc.
 

More from Insight Technology, Inc. (20)

グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?
 
Docker and the Oracle Database
Docker and the Oracle DatabaseDocker and the Oracle Database
Docker and the Oracle Database
 
Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~
Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~
Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~
 
事例を通じて機械学習とは何かを説明する
事例を通じて機械学習とは何かを説明する事例を通じて機械学習とは何かを説明する
事例を通じて機械学習とは何かを説明する
 
仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン
仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン
仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン
 
MBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごとMBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごと
 
グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?
 
DBREから始めるデータベースプラットフォーム
DBREから始めるデータベースプラットフォームDBREから始めるデータベースプラットフォーム
DBREから始めるデータベースプラットフォーム
 
SQL Server エンジニアのためのコンテナ入門
SQL Server エンジニアのためのコンテナ入門SQL Server エンジニアのためのコンテナ入門
SQL Server エンジニアのためのコンテナ入門
 
Lunch & Learn, AWS NoSQL Services
Lunch & Learn, AWS NoSQL ServicesLunch & Learn, AWS NoSQL Services
Lunch & Learn, AWS NoSQL Services
 
db tech showcase2019オープニングセッション @ 森田 俊哉
db tech showcase2019オープニングセッション @ 森田 俊哉 db tech showcase2019オープニングセッション @ 森田 俊哉
db tech showcase2019オープニングセッション @ 森田 俊哉
 
db tech showcase2019 オープニングセッション @ 石川 雅也
db tech showcase2019 オープニングセッション @ 石川 雅也db tech showcase2019 オープニングセッション @ 石川 雅也
db tech showcase2019 オープニングセッション @ 石川 雅也
 
db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー
db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー
db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー
 
難しいアプリケーション移行、手軽に試してみませんか?
難しいアプリケーション移行、手軽に試してみませんか?難しいアプリケーション移行、手軽に試してみませんか?
難しいアプリケーション移行、手軽に試してみませんか?
 
Attunityのソリューションと異種データベース・クラウド移行事例のご紹介
Attunityのソリューションと異種データベース・クラウド移行事例のご紹介Attunityのソリューションと異種データベース・クラウド移行事例のご紹介
Attunityのソリューションと異種データベース・クラウド移行事例のご紹介
 
そのデータベース、クラウドで使ってみませんか?
そのデータベース、クラウドで使ってみませんか?そのデータベース、クラウドで使ってみませんか?
そのデータベース、クラウドで使ってみませんか?
 
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
 
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。 複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
 
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
 
レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]
レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]
レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]
 

Recently uploaded

2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
ssuserbefd24
 

Recently uploaded (12)

論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
 
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
 
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
 
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
 
Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
 
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
 
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
 

[B24] Oracle から SQL Server システム移行の勘所 by Norio Nakamura

  • 1. Oracle -> SQL Serverシステム移行の勘所 ~Oracle開発経験者が戸惑うポイント~ 株式会社インサイトテクノロジー コンサルティング事業部 中村 範夫 Copyright © 2014 Insight Technology, Inc. All Rights Reserved.
  • 2. 2 自己紹介 Copyright © 2014 Insight Technology, Inc. All Rights Reserved. • 中村範夫(なかむらのりお) • (株)インサイトテクノロジー コンサルティング事業部所属 • 大阪で10年以上システム開発に従事した後に、現職に • よく扱うDBは、Oracle、SQL Server、MySQL • 最近はOracleのシステムをSQL Serverで再構築という案件 に従事することが多いです
  • 3. 3 Agenda Copyright © 2014 Insight Technology, Inc. All Rights Reserved. 1. システム移行の概要 2. Oracle開発経験者が意識して欲しい違い 3. よくある開発トラブルシューティング 4. その他開発でよく聞かれること 5. まとめ
  • 4. 4 システム移行概要 Copyright © 2014 Insight Technology, Inc. All Rights Reserved. 1. データベースオブジェクトの移行(SSMA) 2. データの移行(SSMA) 3. アプリケーションの移行 • アプリケーションのビジネスロジック部分を自動変換(SSMA) • SSMAで変換できない部分を手動で変換 • 一般的なシステム移行の流れ(Webアプリケーションの場合) • SSMAが大半を担う
  • 5. 5 システム移行概要 Copyright © 2014 Insight Technology, Inc. All Rights Reserved. • SQL Server Migration Assistant(SSMA)とは? SSMA は、Oracle データベースから SQL Server へのアプリケーション移行の自動化に役立つツール セットです。SSMA を利用することで、データベース の変換を迅速、簡単、および正確に行うことが可能になり、SQL Server への移行に関する時間、コスト、およびリスクが大幅に軽減されます。 • SSMAを利用するメリット SSMA を利用することで、下記の項目のようなデータベースの移行に必要な作業のほとんどを自動化することが可能です。 ・データベースのアセスメント ・スキーマとデータの移行 ・ビジネス ロジックの変換 ・移行の確認 http://msdn.microsoft.com/ja-jp/sqlserver/gg639007.aspx より • どれだけ自動で移行でき、どれだけ手動での移行が必要かを、見積もるためにも、 まずはSSMAで移行検証を • 一般的なシステムではおよそ80%~90%以上が自動で移行可能で、手動で変換が必要な 大半はPL/SQLのストアドプログラム
  • 6. 6 システム移行概要 Copyright © 2014 Insight Technology, Inc. All Rights Reserved. • PL/SQLの手動変換をいかに効率的に行うかが鍵 • SSMAで変換できなかった部分をT-SQLで手動で変換するよりも PL/SQL側で変換できる形に修正する方が効率的なことが多々ある 【参考】Oracle から SQL Server 2008 への移行ガイド http://download.microsoft.com/download/3/4/7/34710CC0-5B7D-499B-B39A-50ED31F6A500/MigrateOracletoSQLServer2008.docx
  • 7. 7 Oracle開発経験者が意識して欲しい違い Copyright © 2014 Insight Technology, Inc. All Rights Reserved. • デフォルトのトランザクションの分離レベルはどちらも、 「Read committed」だが Oracle には読み取り一貫性がある • PL/SQLとT-SQLの違い – PL/SQLは手続き型言語としての歴史が古く完成度が高い – PL/SQLはカーソルの構文、コレクション型が豊富 – T-SQLは例外処理として 2012以降 THROWが使用可能となった • その他インデックスが使用できるSQLの条件等はだいたい同じ • Oracleのパラレルクエリと同様SQL Serverの並列クエリも強力
  • 8. 8 よくある開発トラブルシューティング(1) Copyright © 2014 Insight Technology, Inc. All Rights Reserved. • [問題]デッドロックが多発する – オンライン画面(Web)のシステムテストでデッドロックが多発する • [原因]テーブルスキャンによるロック待ちにより デッドロックが発生 • [対策]条件列に対してインデックスを付与、又は 「Read Committed Snapshot」分離レベルを採用
  • 9. 9 よくある開発トラブルシューティング(1) Copyright © 2014 Insight Technology, Inc. All Rights Reserved. • [解説] t1テーブル a b 1 AA 2 BB Oracle(PL/SQL)でよくあるソースコード SELECT * FROM t1 WHERE a = 2 FOR UPDATE UPDATE t1 SET b = ‘BBB' WHERE a = 2 SQL Server用に変換 SELECT * FROM t1 WITH (ROWLOCK, UPDLOCK) WHERE a = 2 UPDATE t1 SET b = ‘BBB' WHERE a = 2 【ポイント】 更新条件のa列には主キー、 インデックスなし
  • 10. 10 よくある開発トラブルシューティング(1) Copyright © 2014 Insight Technology, Inc. All Rights Reserved. • [解説] トランザクション [1] a b トランザクション [2] SELECT * FROM t1 WITH (ROWLOCK, UPDLOCK) WHERE a = 2 1 AA SELECT * FROM t1 WITH (ROWLOCK, UPDLOCK) WHERE a = 1 2 BB UPDATE t1 SET b = 'BBB' WHERE a = 2 UPDATE t1 SET b = 'AAA' WHERE a = 1 1)先頭から探す 2)1件目を発見し、排他ロックを獲得 3)他にもないか探す 4)2行目で [1] の排他ロックにより待ちが発生 1)先頭から探す 2)1行目で2の排他ロックを発見 ↓ デッドロック検知!! ① ② ③
  • 11. 11 よくある開発トラブルシューティング(1) Copyright © 2014 Insight Technology, Inc. All Rights Reserved. DEMO: テーブルスキャンによるロック待ちによりデッドロックが発生
  • 12. 12 よくある開発トラブルシューティング(2) Copyright © 2014 Insight Technology, Inc. All Rights Reserved. • [問題]オンライン画面(Java Webアプリ)が遅い – 自由検索画面の検索処理がOracleに比べてかなり遅い • [原因]Prepared Statement の文字列パラメータが Unicode で送信されたため VARCHAR 列に対するインデックスが使えない sendStringParametersAsUnicode = false • [対策]接続時に以下の設定を追記
  • 13. 13 よくある開発トラブルシューティング(2) Copyright © 2014 Insight Technology, Inc. All Rights Reserved. DEMO: 暗黙の型変換によりインデックスが使えない例
  • 14. 14 よくある開発トラブルシューティング(3) Copyright © 2014 Insight Technology, Inc. All Rights Reserved. • [問題]バッチ処理の性能が思った程でない • [対策]定数取得の処理をアプリケーション側で行うことで SQLが並列クエリになるよう修正 • [原因]SQL で定数取得のユーザー定義関数を使用しているため 並列クエリで処理されていない
  • 15. 15 よくある開発トラブルシューティング(3) Copyright © 2014 Insight Technology, Inc. All Rights Reserved. • [解説] 並列クエリ処理(SQL Serverオンラインブックより) http://technet.microsoft.com/ja-jp/library/ms178065(v=sql.105).aspx
  • 16. 16 よくある開発トラブルシューティング(3) Copyright © 2014 Insight Technology, Inc. All Rights Reserved. • [解説]EMP表を750万件に増幅し検証 並列クエリにならないパターン SELECT COUNT(*) FROM EMP2 WHERE JOB = dbo.USER_FUNC('SALESMAN') 並列クエリになるパターン SELECT COUNT(*) FROM EMP2 WHERE JOB = 'SALESMAN' 組み込み関数(GETDATE()やCONVERT等)は問題なく並列クエリになる
  • 17. 17 よくある開発トラブルシューティング(3) Copyright © 2014 Insight Technology, Inc. All Rights Reserved. DEMO: 並列クエリになるパターンとならないパターン例
  • 18. 18 その他よく聞かれること (1) Copyright © 2014 Insight Technology, Inc. All Rights Reserved. • ファイル入出力はどうすればいいの? – OracleにはSQL*Loader、UTL_FILEパッケージの機能がある • SQL Server にも bcpユーティリティ、BULK INSERT、 OPENROWSETによる「INSERT~SELECT」がある – ファイル入力では上記いずれの方法でも利用できる – ファイル出力ではbcp – OPENROWSETは非常に高性能で利用範囲が広い
  • 19. 19 その他よく聞かれること(2) Copyright © 2014 Insight Technology, Inc. All Rights Reserved. • bcpの出力が入力に比べて遅いけど?(CSVファイル) 大規模テーブルをCSVファイルに出力する場合、 bcp ユーティリティでは、カンマ付与をSQLで 記述する queryout 方式の方が高速 bcp Test.dbo.EMP out EMP.csv -c -t, -T ↓ bcp "SELECT empno + ',' + ename + ',' ・・・FROM Test.dbo.EMP" queryout EMP.csv -c -T
  • 20. 20 その他よく聞かれること(2) Copyright © 2014 Insight Technology, Inc. All Rights Reserved. • 2,000万件 約10GBのテーブルに対して処理時間を比較 0 20 40 60 80 100 120 table out 方式 queryout方式 処理時間を相対比較 (table out方式を100とした場合)
  • 21. 21 その他よく聞かれること(3) Copyright © 2014 Insight Technology, Inc. All Rights Reserved. • Oracleの階層問合せ(connect by)は使えないの? • 標準SQLの共通テーブル式(CTE)を使った再帰クエリが使える
  • 22. 22 その他よく聞かれること(3) Copyright © 2014 Insight Technology, Inc. All Rights Reserved. • 共通テーブル式サンプル(emp表を階層問合せする有名なやつ)
  • 23. 23 その他よく聞かれること(4) Copyright © 2014 Insight Technology, Inc. All Rights Reserved. • とりあえずサーバーの設定はどうすればいいの? • 最低限やっておくべきSQL Serverの設定 – メモリの適切な割当てとページロック設定 – 並列処理の最大限度(MAXDOP)の設定 -> OLTPではCPUコア数の1/4 (目安) – tempdb の ファイル分割 -> CPUコア数分 (目安) 【参考】熊澤さんの検証資料 http://download.microsoft.com/download/F/1/0/F10BC023-9396-4D67-BAC9-7C43AE954BF4/Intel_WP_Xeon7500_SQL2008R2.pdf
  • 24. 24 まとめ Copyright © 2014 Insight Technology, Inc. All Rights Reserved. • SSMAを利用してシステム移行コストを見積もり – システム移行コストは PL/SQL の変換が鍵 – PL/SQL側を一括修正することで変換コスト削減に貢献 • アーキテクチャの違いを理解した上での方式設計が重要 – トランザクションの分離レベル・ロック制御 – JDBC接続では [sendStringParametersAsUnicode] の設定に注意 – SQL Serverの並列クエリは強力なので上手に利用
  • 25. 25Copyright © 2014 Insight Technology, Inc. All Rights Reserved. 無断転載を禁ず この文書はあくまでも参考資料であり、掲載されている情報は予告なしに変更されることがあります。 株式会社インサイトテクノロジーは本書の内容に関していかなる保証もしません。また、本書の内容に関連し たいかなる損害についても責任を負いかねます。 本書で使用している製品やサービス名の名称は、各社の商標または登録商標です。