SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
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.
無断転載を禁ず
この文書はあくまでも参考資料であり、掲載されている情報は予告なしに変更されることがあります。
株式会社インサイトテクノロジーは本書の内容に関していかなる保証もしません。また、本書の内容に関連し
たいかなる損害についても責任を負いかねます。
本書で使用している製品やサービス名の名称は、各社の商標または登録商標です。

Contenu connexe

Tendances

Azure Synapse Analytics 専用SQL Poolベストプラクティス
Azure Synapse Analytics 専用SQL PoolベストプラクティスAzure Synapse Analytics 専用SQL Poolベストプラクティス
Azure Synapse Analytics 専用SQL PoolベストプラクティスMicrosoft
 
LINEのMySQL運用について 修正版
LINEのMySQL運用について 修正版LINEのMySQL運用について 修正版
LINEのMySQL運用について 修正版LINE Corporation
 
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...オラクルエンジニア通信
 
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11Kenny Gryp
 
Oracle db performance tuning
Oracle db performance tuningOracle db performance tuning
Oracle db performance tuningSimon Huang
 
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)NTT DATA Technology & Innovation
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)Hironobu Suzuki
 
[20171019 三木会] データベース・マイグレーションについて by 株式会社シー・エス・イー 藤井 元雄 氏
[20171019 三木会] データベース・マイグレーションについて by 株式会社シー・エス・イー 藤井 元雄 氏[20171019 三木会] データベース・マイグレーションについて by 株式会社シー・エス・イー 藤井 元雄 氏
[20171019 三木会] データベース・マイグレーションについて by 株式会社シー・エス・イー 藤井 元雄 氏Insight Technology, Inc.
 
SQL Server運用実践 - 3年間80台の運用経験から20の教訓
SQL Server運用実践 - 3年間80台の運用経験から20の教訓SQL Server運用実践 - 3年間80台の運用経験から20の教訓
SQL Server運用実践 - 3年間80台の運用経験から20の教訓貴仁 大和屋
 
まだ統計固定で消耗してるの? - Bind Peek をもっと使おうぜ! 2015 Edition -
まだ統計固定で消耗してるの? - Bind Peek をもっと使おうぜ! 2015 Edition -まだ統計固定で消耗してるの? - Bind Peek をもっと使おうぜ! 2015 Edition -
まだ統計固定で消耗してるの? - Bind Peek をもっと使おうぜ! 2015 Edition -歩 柴田
 
MySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいことMySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいことyoku0825
 
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]日本マイクロソフト株式会社
 
[D13] Disaster Recovery環境をOracle Standard Editionでつくる by Miyuki Ohasi
[D13] Disaster Recovery環境をOracle Standard Editionでつくる by Miyuki Ohasi[D13] Disaster Recovery環境をOracle Standard Editionでつくる by Miyuki Ohasi
[D13] Disaster Recovery環境をOracle Standard Editionでつくる by Miyuki OhasiInsight Technology, Inc.
 
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話Yoshinori Matsunobu
 
ZOZOTOWNのマルチクラウドへの挑戦と挫折、そして未来
ZOZOTOWNのマルチクラウドへの挑戦と挫折、そして未来ZOZOTOWNのマルチクラウドへの挑戦と挫折、そして未来
ZOZOTOWNのマルチクラウドへの挑戦と挫折、そして未来Hiromasa Oka
 
C34 Always On 可用性グループ 構築時のポイント by 小澤真之
C34 Always On 可用性グループ 構築時のポイント by 小澤真之C34 Always On 可用性グループ 構築時のポイント by 小澤真之
C34 Always On 可用性グループ 構築時のポイント by 小澤真之Insight Technology, Inc.
 

Tendances (20)

Azure Synapse Analytics 専用SQL Poolベストプラクティス
Azure Synapse Analytics 専用SQL PoolベストプラクティスAzure Synapse Analytics 専用SQL Poolベストプラクティス
Azure Synapse Analytics 専用SQL Poolベストプラクティス
 
Vacuum徹底解説
Vacuum徹底解説Vacuum徹底解説
Vacuum徹底解説
 
Curso de MySQL 5.7
Curso de MySQL 5.7Curso de MySQL 5.7
Curso de MySQL 5.7
 
LINEのMySQL運用について 修正版
LINEのMySQL運用について 修正版LINEのMySQL運用について 修正版
LINEのMySQL運用について 修正版
 
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
 
20180216 sapporo techbar_db_migration
20180216 sapporo techbar_db_migration20180216 sapporo techbar_db_migration
20180216 sapporo techbar_db_migration
 
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11
MySQL Database Architectures - MySQL InnoDB ClusterSet 2021-11
 
Oracle db performance tuning
Oracle db performance tuningOracle db performance tuning
Oracle db performance tuning
 
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
 
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
 
[20171019 三木会] データベース・マイグレーションについて by 株式会社シー・エス・イー 藤井 元雄 氏
[20171019 三木会] データベース・マイグレーションについて by 株式会社シー・エス・イー 藤井 元雄 氏[20171019 三木会] データベース・マイグレーションについて by 株式会社シー・エス・イー 藤井 元雄 氏
[20171019 三木会] データベース・マイグレーションについて by 株式会社シー・エス・イー 藤井 元雄 氏
 
SQL Server運用実践 - 3年間80台の運用経験から20の教訓
SQL Server運用実践 - 3年間80台の運用経験から20の教訓SQL Server運用実践 - 3年間80台の運用経験から20の教訓
SQL Server運用実践 - 3年間80台の運用経験から20の教訓
 
まだ統計固定で消耗してるの? - Bind Peek をもっと使おうぜ! 2015 Edition -
まだ統計固定で消耗してるの? - Bind Peek をもっと使おうぜ! 2015 Edition -まだ統計固定で消耗してるの? - Bind Peek をもっと使おうぜ! 2015 Edition -
まだ統計固定で消耗してるの? - Bind Peek をもっと使おうぜ! 2015 Edition -
 
MySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいことMySQL 5.7にやられないためにおぼえておいてほしいこと
MySQL 5.7にやられないためにおぼえておいてほしいこと
 
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
 
[D13] Disaster Recovery環境をOracle Standard Editionでつくる by Miyuki Ohasi
[D13] Disaster Recovery環境をOracle Standard Editionでつくる by Miyuki Ohasi[D13] Disaster Recovery環境をOracle Standard Editionでつくる by Miyuki Ohasi
[D13] Disaster Recovery環境をOracle Standard Editionでつくる by Miyuki Ohasi
 
PostgreSQL: XID周回問題に潜む別の問題
PostgreSQL: XID周回問題に潜む別の問題PostgreSQL: XID周回問題に潜む別の問題
PostgreSQL: XID周回問題に潜む別の問題
 
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話
 
ZOZOTOWNのマルチクラウドへの挑戦と挫折、そして未来
ZOZOTOWNのマルチクラウドへの挑戦と挫折、そして未来ZOZOTOWNのマルチクラウドへの挑戦と挫折、そして未来
ZOZOTOWNのマルチクラウドへの挑戦と挫折、そして未来
 
C34 Always On 可用性グループ 構築時のポイント by 小澤真之
C34 Always On 可用性グループ 構築時のポイント by 小澤真之C34 Always On 可用性グループ 構築時のポイント by 小澤真之
C34 Always On 可用性グループ 構築時のポイント by 小澤真之
 

En vedette

[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
 
Sql server これだけはやっておこう 最終版
Sql server これだけはやっておこう 最終版Sql server これだけはやっておこう 最終版
Sql server これだけはやっておこう 最終版elanlilac
 
オンプレでもクラウドでも データベースサーバの運用
オンプレでもクラウドでも データベースサーバの運用オンプレでもクラウドでも データベースサーバの運用
オンプレでもクラウドでも データベースサーバの運用elanlilac
 
商用DBからPostgreSQLへ まず知っておいて欲しいまとめ
商用DBからPostgreSQLへ まず知っておいて欲しいまとめ商用DBからPostgreSQLへ まず知っておいて欲しいまとめ
商用DBからPostgreSQLへ まず知っておいて欲しいまとめKosuke Kida
 
Webシステムプログラミング設計書2015
Webシステムプログラミング設計書2015Webシステムプログラミング設計書2015
Webシステムプログラミング設計書2015義広 河野
 
はじめてのSQLチューニング(oracle)
はじめてのSQLチューニング(oracle)はじめてのSQLチューニング(oracle)
はじめてのSQLチューニング(oracle)kounan13
 
110903 jazug lt_tanaka_pub
110903 jazug lt_tanaka_pub110903 jazug lt_tanaka_pub
110903 jazug lt_tanaka_pubTakayoshi Tanaka
 
Unicode-v11-5
Unicode-v11-5Unicode-v11-5
Unicode-v11-5kmiyako
 
Oracle と sql server 比べてみよう (sql server)
Oracle と sql server 比べてみよう (sql server)Oracle と sql server 比べてみよう (sql server)
Oracle と sql server 比べてみよう (sql server)Masayuki Ozawa
 
AWSを使用したインフラ構築~遭難防止アプリにおけるインフラ想定~
AWSを使用したインフラ構築~遭難防止アプリにおけるインフラ想定~AWSを使用したインフラ構築~遭難防止アプリにおけるインフラ想定~
AWSを使用したインフラ構築~遭難防止アプリにおけるインフラ想定~Yuto Kudo
 
設計書からの卒業
設計書からの卒業設計書からの卒業
設計書からの卒業Fumiyasu Sumiya
 
Amazon webservice(aws)と他社サーバのコストパフォーマンス比較
Amazon webservice(aws)と他社サーバのコストパフォーマンス比較Amazon webservice(aws)と他社サーバのコストパフォーマンス比較
Amazon webservice(aws)と他社サーバのコストパフォーマンス比較株式会社雲屋ネットワーク
 
[OSC2016沖縄]商用DBからPostgreSQLへの移行入門
[OSC2016沖縄]商用DBからPostgreSQLへの移行入門[OSC2016沖縄]商用DBからPostgreSQLへの移行入門
[OSC2016沖縄]商用DBからPostgreSQLへの移行入門Kosuke Kida
 
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~
ココが違うよEC2 ~オンプレミスVMとの徹底⽐比較~Ryuta Otaki
 
SQL Server for SharePoint 2013
SQL Server for SharePoint 2013SQL Server for SharePoint 2013
SQL Server for SharePoint 2013Mayumi Mitaki
 
Sql server のバックアップとリストアの基礎
Sql server のバックアップとリストアの基礎Sql server のバックアップとリストアの基礎
Sql server のバックアップとリストアの基礎Masayuki Ozawa
 

En vedette (20)

[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 これだけはやっておこう 最終版
 
オンプレでもクラウドでも データベースサーバの運用
オンプレでもクラウドでも データベースサーバの運用オンプレでもクラウドでも データベースサーバの運用
オンプレでもクラウドでも データベースサーバの運用
 
商用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)
 
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との徹底⽐比較~
 
SQL Server for SharePoint 2013
SQL Server for SharePoint 2013SQL Server for SharePoint 2013
SQL Server for SharePoint 2013
 
introduction_to_only_SQL
introduction_to_only_SQLintroduction_to_only_SQL
introduction_to_only_SQL
 
Sql server のバックアップとリストアの基礎
Sql server のバックアップとリストアの基礎Sql server のバックアップとリストアの基礎
Sql server のバックアップとリストアの基礎
 

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

MySQL Technology Cafe #12 待望の!MDS HA先行レビュー
MySQL Technology Cafe #12 待望の!MDS HA先行レビューMySQL Technology Cafe #12 待望の!MDS HA先行レビュー
MySQL Technology Cafe #12 待望の!MDS HA先行レビューオラクルエンジニア通信
 
[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 HonmaInsight Technology, Inc.
 
過去事例から学ぶ SharePoint パフォーマンス問題とその対策
過去事例から学ぶ SharePoint パフォーマンス問題とその対策過去事例から学ぶ SharePoint パフォーマンス問題とその対策
過去事例から学ぶ SharePoint パフォーマンス問題とその対策Atsuo Yamasaki
 
MySQLインストールのお作法
MySQLインストールのお作法MySQLインストールのお作法
MySQLインストールのお作法Meiji Kimura
 
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_jpNorito Agetsuma
 
天灾还是人祸? Oracle连环夺命未遂记
天灾还是人祸? Oracle连环夺命未遂记天灾还是人祸? Oracle连环夺命未遂记
天灾还是人祸? Oracle连环夺命未遂记Leo Zhou
 
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門泰 増田
 
45分で作る Java EE 8 システム
45分で作る Java EE 8 システム45分で作る Java EE 8 システム
45分で作る Java EE 8 システムHirofumi Iwasaki
 
お悩み解決! データベースの仮想化統合(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 -chibochibo
 
DB思い出話いろいろ(仮)
DB思い出話いろいろ(仮)DB思い出話いろいろ(仮)
DB思い出話いろいろ(仮)Takahiro Kitayama
 
[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?[Node-RED] ファンクションノードのデバッグどうしてる?
[Node-RED] ファンクションノードのデバッグどうしてる?Makoto SAKAI
 

Similaire à [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
 

Plus de Insight Technology, Inc.

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

Plus de 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]
 

[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. 無断転載を禁ず この文書はあくまでも参考資料であり、掲載されている情報は予告なしに変更されることがあります。 株式会社インサイトテクノロジーは本書の内容に関していかなる保証もしません。また、本書の内容に関連し たいかなる損害についても責任を負いかねます。 本書で使用している製品やサービス名の名称は、各社の商標または登録商標です。