oracle database...

88
<写真欄> 日本オラクル株式会社 関西支社 Oracle Database 10gへのアップグレード

Upload: duongkhanh

Post on 10-Mar-2019

238 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

<写真欄>

日本オラクル株式会社

関西支社

Oracle Database 10gへのアップグレード

Page 2: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

2Copyright© 2006, Oracle. All rights reserved.

<Insert Picture Here>

Agenda

アップグレードとは?

アップグレードに必要な準備

アップグレード作業手順

アップグレードの注意点・検証ポイント Appendix

Page 3: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

3Copyright© 2006, Oracle. All rights reserved.

【Why】 なぜアップグレードするのか?

最新の機能・プラットフォームに魅力がある– Windows x64(EM64T、AMD64)対応– データベース管理の自動化(運用・チューニング)

– セキュリティ対応(暗号化)

– Real Application Clustersへの対応– インストールの簡略化(CD1枚、20分インストール)

サポート期間の問題– 安定稼働・トラブルへの対処

– パッチ提供の問題(特にセキュリティ関連)

Page 4: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

t2008

2003

2004

2005

2006

2007

2002

2000

2001

2009

2010

today

ライフタイム・サポート・ポリシ

2011

2012

2013

2014

Error Correction Support Extended SupportExtended

Maintenance8.1.7

Sustaining SupportPremier SupportR2 ~ 01-JUL-2007

Extended Support~ 01-JUL-2010

~ 01-FEB-2009 ~ 01-FEB-2012

R2 ~ 31-JUL-2010 ~ 31-JUL-2013

Source: http://www.oracle.com/support/library/index.html - valid since 19.9.2005日本サポート: http://www.oracle.co.jp/support/lifetime.html

Page 5: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

5Copyright© 2006, Oracle. All rights reserved.

バージョンとリリースの番号

Oracleプラットフォーム製品の番号ルール

1010..22..00..11..00バージョン番号

データベースのメンテナンス・リリース番号

アプリケーション・サーバーのリリース番号

コンポーネント固有のリリース番号

プラットフォーム固有のパッチ・セット番号

3桁目までは製品バージョン

4桁目以降はパッチ・バージョン

Page 6: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

アップグレード手順

準備 アップグレード  ニュース クリーンアップ チューニング

アップグレードに必要な準備

アップグレード作業手順

アップグレードの注意点・検証ポイント

Page 7: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

7Copyright© 2006, Oracle. All rights reserved.

<Insert Picture Here>

Agenda

アップグレードとは?

アップグレードに必要な準備

アップグレード作業手順

アップグレードの注意点・検証ポイント Appendix

Page 8: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

アップグレード手順

準備 アップグレード ニュース クリーンアップ チューニング

サポート・ポリシとパッチ認定ドキュメントアップグレード・パス無効なオブジェクト

Page 9: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

パッチレベルについて

どのパッチセットから直接アップグレードがサポートされるか確認する必要があります(既存からのアップグレードの場合): 8.1.7.4 - ³ 9.0.1.4 - ³ 9.2.0.4 - ³ 10.1.0.2

アップグレードを開始する前に、ターゲットとなるデータベースに最新のパッチセットを適用する必要があります

重要な個別パッチやCPUなどが出ていないか、確認します

OSパッチについても忘れずに確認します

サポート契約が必要となります

Page 10: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

日本オラクルのシステム要件を確認(認定)

Page 11: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

ドキュメントについて

アップグレード前に目を通して欲しいドキュメント– Oracle Database アップグレード・ガイド

10g リリース2(10.2)

– Oracle Database 新機能ガイド10gリリース2(10.2)

OTN Japan ドキュメント・タブhttp://otn.oracle.co.jp/

Page 12: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

アップグレード・ガイドについて

Oracle Database 10g R2 は、今までのリリースのなかで最も簡単なアップグレード

例:アップグレード・ガイドのサイズ• 8.1.7 - 512 ページ• 9.0.1 - 484 ページ – 111 ステップ

• 9.2.0 - 344 ページ

• 10.1.0 - 170 ページ - 6 ステップ!!!• 10.2.0 - 148 ページ

Page 13: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

準備

無効なオブジェクト:

– 無効なオブジェクトのリストを取得

– 場合によりSYS または SYSTEM ユーザーによるリコンパイル→ ultrp.sql

正確なパフォーマンス情報の取得– 比較: アップグレード前« アップグレード後– 時間のかかるクエリやバッチ処理

データベースのアップグレード・テスト– ファンクション・テスト(機能の確認)

– パフォーマンス・テスト(実データでおこなうのがベター)

SQL> SELECT UNIQUE object_name, object_type, ownerFROM dba_objects WHERE status='INVALID';

SQL> SELECT UNIQUE object_name, object_type, ownerFROM dba_objects WHERE status='INVALID';

Page 14: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

インストール情報

容量とリソース要件

– ソフトウェア領域: ³ 1,1 GB– データベース: ³ 1 GB– メモリ: ³ 512 MB (推奨: 1 GB)– OSにより変化するので、システム要件ページをご確認ください

Page 15: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

インストール情報

CD コンテンツ (10gR2: DVD1枚)– Database CD

Enterprise Edition Standard Edition Personal Edition (Windows)

– Client CD – Companion CD

Demos/Examples JDBC、 OEM (Java) Workflow Accelerators Ultra Search Oracle HTTP-Server (Apache)

Page 16: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

16Copyright© 2006, Oracle. All rights reserved.

PSR(パッチセット)の適用

ソフトウェアのみでDBソフトウェアをインストール アップグレードを行う前にPSRを適用する※ あとからでも良いが手順が煩雑になる

Page 17: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

17Copyright© 2006, Oracle. All rights reserved.

<Insert Picture Here>

Agenda

アップグレードとは?

アップグレードに必要な準備

アップグレード作業手順

アップグレードの注意点・検証ポイント Appendix

Page 18: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

アップグレード手順

準備 アップグレード ニュース クリーンアップ チューニング

Database Upgrade Assistantアップグレード・ユーティリティその他のアップグレード手法

Page 19: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

19Copyright© 2006, Oracle. All rights reserved.

バージョンアップ方法の比較

不要

不要

不要

殆ど不要

データ量に比例して必要

データ量に比例して必要

ソフトウェアの分だけ必要

追加のDisk領域

高い(Pro*C等)

高い(PL/SQL)

低い(SQL文)

高い

低い

低い

極めて低い

必要なスキル(※)

データ量に比例接続可能な

バージョンは限定される

Pro*、OCI等を利用した移行プログラム

データ量に比例相互に接続可能な

バージョンは限定される

DBLink+PL/SQLプログラム

データ量に比例(高速)

相互に接続可能なバージョンは限定される

DBLink+ダイレクト・ロード・インサート

データ量とは無関係で短時間

TTS機能はOracle8iからの新機能

トランスポータブル表領域

データ量に比例(高速)

サポート切れのバージョンからも可能

Data Unload +SQL*Loader

データ量に比例Oracle5のダンプ・ファイル

からでも可能Export / Import

データ量とは無関係で短時間

8.1.7.4以降で直接可能DBUA手動アップグレード

バージョンアップに必要な時間

10gR2へのアップグレード可能バージョン

※上記比較表はあくまで目安です。お使いのHWの構成やOracleの構成等の条件によって 結果が異なる可能性があることをご了承ください。

Page 20: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

20Copyright© 2006, Oracle. All rights reserved.

データベース全体のアップグレード Database Upgrade Assistant (DBUA)

– GUI画面を用い対話形式でアップグレード処理の手順を実行 手動で実行するアップグレード処理の全タスクが自動化される 手順ミスの可能性が少なく安全

– 表領域、REDO ログなどの構成オプションの適切な推奨値が提供される 不適切な値設定によるアップグレード失敗の回避

手動アップグレード(アップグレード・スクリプト実行)– コマンドラインからアップグレード・スクリプトを手動で実行する

アップグレード処理をより詳細に制御可能 不適切な手順でスクリプトを実行し、処理が失敗する可能性がある

– どのバージョンのデータベースに対しても、共通の単一SQLスクリプトを使用する Oracle が自動的にアップグレードするデータベースのバージョンを判断

SQL> @utlu102i.sqlSQL> SHUTDOWN IMMEDIATESQL> STARTUP UPGRADE・・・SQL> @catupgrd.sqlSQL> @utlu102s.sql

Page 21: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

21Copyright© 2006, Oracle. All rights reserved.

データベース全体のアップグレードの制限

R8.0.3

R8.0.4

R8.0.5

R9.0.1.4

R9.2.0.4

R8.1.7.4

Oracle Database 10g R2Oracle Database 10g R2

R10.1.0.2

R8.0.6

R8.1.5

R8.1.6

直接のアップグレード可能

直接のアップグレード不可

Page 22: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

22Copyright© 2006, Oracle. All rights reserved.

Export / Import Export / Import の特徴

– Oracleが提供するデータ・オブジェクトの抽出&ロード ツール– Export/Importユーティリティを使用して上位バージョンのOracleにデータを移行する

異なるHW、異なるOSへの移行が可能 異なるキャラクタ・セットのOracleへの移行が可能 異なるブロック・サイズのOracleへの移行が可能

– Export/Importによる移行事例は極めて豊富 豊富な事例によって裏打ちされた高い信頼性

export import

Exportダンプ・ファイル(バイナリ形式)

Page 23: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

23Copyright© 2006, Oracle. All rights reserved.

Export / Import のポイント

Oracle Database 10g R2にフルモードで直接移行可能なリリースは限られている– 対象となる移行バージョン:R8.1.7.4、R9.0.1.4以降、R9.2.0.4以降、R10.1.0.2以降(注:DBUA を使用する場合と同じ)

– 上記以外のバージョンの場合、以下の手順でアップグレードを行う(R8.0.5.0 の場合)1. R8.0.5.0 のExport を使用してデータをフルExport2. R10.2.0 のOracle には予めユーザやテーブルを作成3. R10.2.0 のImport を使用してスキーマ・モードやテーブル・モードでImport

データ量に応じてダンプ・ファイル用のディスク領域が必要

Oracle のバージョンおよび動作するプラットフォームによって出力可能なダンプ・ファイルのサイズに制限があることに注意

– 大きい表を別途Exportするなど、スキーマ・レベル/表レベルでExport単位を分割する– Oracle8i以降はダンプ・ファイルをExportの機能で分割する事が可能

格納データの断片化を解消可能

データ量に比例してダウンタイムが増加する

Page 24: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

24Copyright© 2006, Oracle. All rights reserved.

Export / Import のTips

スキーマが複数ある場合、Exportをスキーマごとに流す– CPUネックやI/Oネックになるまでは並列度にしたがって性能が向上する

Exportを“rows = n”オプションで実行してオブジェクト定義のみを抽出する(モードはフル or スキーマレベル)、次にExportを“rows = y”オプションで実行してデータを抽出する(モードは表レベル)

– テーブルごとにExportを多重で実行して処理時間の短縮を行う

時系列データはパーティション化し、変更の無い過去のデータを先にパーティション単位(表モード)でExport/Importする

– 変更の無いデータは事前に移行してしまい、一度に移行するデータ容量を減らす事でダウンタイムを軽減する

Exportするデータを事前にバッファ・キャッシュ上に読み込ませる為に、別セッションから対象データを検索するSQLを発行する

– 大抵の場合、ExportのプロセスはI/Oがボトルネックとなるため、可能な限りメモリ・アクセスとなるようにする

Page 25: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

25Copyright© 2006, Oracle. All rights reserved.

Data Unload+SQL*Loader 何らかの方法でデータCSV形式で抽出し、その後SQL*Loaderを使用してデータをロードする

– 異なるHW、異なるOSへの移行が可能– 異なるキャラクタ・セットのOracleへの移行が可能– 異なるブロック・サイズのOracleへの移行が可能

データの抽出方法

– SQLでデータをテキスト形式で書き出す– テキスト形式で書き出すプログラムをC/C++等で作成する– 他社アンロードツールを使用(例:Unicenter Fast Unload for Oracle)

テキスト・ファイル

表/索引作成スクリプト

Unload ツール SQL*Loader

Page 26: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

26Copyright© 2006, Oracle. All rights reserved.

トランスポータブル表領域(TTS) Oracle8i から提供された機能(Oracle8i以降のバージョンからの移行で使用可能)

– 異なるHWへの移行が可能– 異なるOSへの移行が可能(Oracle Database 10g~)– 異なるブロック・サイズのOracleへの移行が可能(Oracle9i~)– 異なるキャラクタ・セットのOracleへの移行は不可能

データ量に依存しない短いダウンタイム

メタデータ

データファイルデータファイルデータファイル

SQLスクリプト

Page 27: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

27Copyright© 2006, Oracle. All rights reserved.

DBLink を使用したデータコピー 移行先のOracle にDBLink で直接接続し、ダイレクト・ロード・インサートや

PL/SQL のバルク・バインドを使用してデータを移行する– 表やビュー、シノニム等の作成は事前に行う

中間ファイルも生成されず、複雑なデータ操作が可能な手法

– ダイレクト・ロード・インサート方式よりも複雑なロジックを組むことが可能

柔軟な構成変更が可能

– 非パーティション表のパーティション化、など

DBLink で接続可能なバージョン間に限る– 10gR2 に接続可能なバージョンは、8.1.7、9.2、10.1、10.2

INSERT /*+ APPEND */ INTO … SELECT

DBLink で接続

バルク・バインド(BULK COLLECT)

Page 28: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

28Copyright© 2006, Oracle. All rights reserved.

Pro*CやOCIを利用した移行プログラムを作成 Pro*CやOCIを利用したプログラムから移行元および移行先のOracleに直接接続してデータの移行を行う

– 表やビュー、シノニム等の作成は事前に行う

中間ファイルも生成されず、複雑なデータ操作が可能な手法

– ダイレクト・ロード・インサート方式よりも複雑なロジックを組むことが可能

柔軟な構成変更が可能

Programmer製品やOCIが接続可能なOracleのバージョンに限る– 基本的には、 8.1.7、9.2、10.1、10.2– 詳しくは、http://www.oracle.co.jp/products/system/matrix_db.html

接続

配列フェッチ

配列インサート

接続

Page 29: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

D E M O N S T R A T I O N

DBUAによるアップグレード

Page 30: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

30Copyright© 2006, Oracle. All rights reserved.

<Insert Picture Here>

Agenda

アップグレードとは?

アップグレードに必要な準備

アップグレード作業手順

アップグレードの注意点・検証ポイント Appendix

Page 31: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

アップグレード手順

準備 アップグレード ニュース クリーンアップ チューニング

パラメータ&プロセスその他管理ツール自動化

Page 32: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

パラメータ

• パラメータについて

非公開

“_”-パラメータ

228

拡張パラメータ

29

基本パラメータ

Page 33: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

パラメータ

• 事実:• およそ15個の基本パラメータが一般的に良く使われます

• 変更されたパラメータ:

525新規

129廃止

413非推奨

10gR210gR1

Page 34: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

新規のパラメータ

New in 10gR1

ASM_DISKGROUPSASM_DISKSTRINGASM_POWER_LIMITDB_FLASHBACK_RETENTION_TARGET DB_RECOVERY_FILE_DESTDB_RECOVERY_FILE_DEST_SIZEDB_UNIQUE_NAMEDDL_WAIT_FOR_LOCKSFILEIO_NETWORK_ADAPTERSGCS_SERVER_PROCESSESINSTANCE_TYPELDAP_DIRECTORY_ACCESSLOG_ARCHIVE_CONFIGLOG_ARCHIVE_LOCAL_FIRSTPLSQL_CODE_TYPEPLSQL_DEBUG

PLSQL_OPTIMIZE_LEVELPLSQL_WARNINGSRESUMABLE_TIMEOUTSGA_TARGETSKIP_UNUSABLE_INDEXESSMTP_OUT_SERVERSP_NAMESQLTUNE_CATEGORYSTREAMS_POOL_SIZE

New in 10gR2

AUDIT_SYSLOG_LEVELCOMMIT_WRITEOPTIMIZER_SECURE_VIEW_MERGINGPLSQL_CCFLAGSRECYCLEBIN

Page 35: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

COMPATIBLEパラメータ

10gは少なくとも9.2.0以上 一度 ³10.0.0 を有効化した場合、戻れない

COMPATIBLE = 9.2.0

COMPATIBLE = 10.1.0

COMPATIBLE = 10.2.0

Page 36: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

COMPATIBLEパラメータ

DBUAによるアップグレード後の状態はCOMPATIBLE = 9.2.0のまま

10g機能の有効化のために:

– データベースの再起動後

新機能の有効化

データファイル・ヘッダの調整 最初のアクセス時にREDOログの調整

SQL> alter systemset compatible='10.2.0' scope=spfile;

SQL> alter systemset compatible='10.2.0' scope=spfile;

Page 37: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

パラメータ・デフォルト値と推奨値

LOG_ARCHIVE_FORMAT は %s, %t and %r を含むべきLOG_ARCHIVE_FORMAT は %s, %t and %r を含むべき

DB_FILE_MULTIBLOCK_READ_COUNTセット不要 –データベースが最適値を計算DB_FILE_MULTIBLOCK_READ_COUNTセット不要 –データベースが最適値を計算

NEW

PGA_AGGREGATE_TARGET:設定なし: SGAサイズの20%0: disabled値を指定: PGA size = value

PGA_AGGREGATE_TARGET:設定なし: SGAサイズの20%0: disabled値を指定: PGA size = value

STATISTICS_LEVEL = TYPICAL [デフォルト]統計やチューニング自動化機能の有効化

STATISTICS_LEVEL = TYPICAL [デフォルト]統計やチューニング自動化機能の有効化

Page 38: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

追加: 監視/統計用:

MMAN == Memory Manager(SGAメモリマネージャー)

MMON == Memory Monitor(AWR機能用プロセス)

MMNL == Memory Monitor Light            (ASH機能用プロセス)

バックアップ&リカバリ、フラッシュバック用

CTWR == Change Tracking Writer(RMAN用プロセス)

RVWR == Recovery Writer              (フラッシュバック・データベース用)

新規プロセス

Page 39: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

追加: Automatic Storage Management(ASM)用

ASMB == ASM Background

RBAL == ASM Rebalance master

ARBn == ASM Rebalance 0..n

DataGuard用 NSV == Data Guard Net Slave

INSV == Data Guard Instance-Slave

新規プロセス

Page 40: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

廃止: なし

• 稼働プロセス一覧

新規プロセス

select name, descriptionfrom v$bgprocess, v$process where paddr=addr;

NAME DESCRIPTION----- ----------------------------------------------------------------PMON process cleanupMMAN Memory ManagerDBW0 db writer process 0ARC0 Archival Process 0ARC1 Archival Process 1LNS0 Network Server 0LGWR Redo etc....

select name, descriptionfrom v$bgprocess, v$process where paddr=addr;

NAME DESCRIPTION----- ----------------------------------------------------------------PMON process cleanupMMAN Memory ManagerDBW0 db writer process 0ARC0 Archival Process 0ARC1 Archival Process 1LNS0 Network Server 0LGWR Redo etc....

Page 41: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

アップグレード手順

準備 アップグレード ニュース クリーンアップ チューニング

パラメータ&プロセスその他管理ツール自動化

Page 42: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

CONNECTロールは10gR2で変更:

CONNECT ロール

GRANTEE PRIVILEGE----------------------- -------------------CONNECT CREATE VIEWCONNECT CREATE TABLECONNECT ALTER SESSIONCONNECT CREATE CLUSTERCONNECT CREATE SESSIONCONNECT CREATE SYNONYMCONNECT CREATE SEQUENCECONNECT CREATE DATABASE LINK

GRANTEE PRIVILEGE----------------------- -------------------CONNECT CREATE VIEWCONNECT CREATE TABLECONNECT ALTER SESSIONCONNECT CREATE CLUSTERCONNECT CREATE SESSIONCONNECT CREATE SYNONYMCONNECT CREATE SEQUENCECONNECT CREATE DATABASE LINK

GRANTEE PRIVILEGE----------------------- -------------------CONNECT CREATE SESSION

GRANTEE PRIVILEGE----------------------- -------------------CONNECT CREATE SESSIONR2

NEW

Page 43: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

SYSAUX 表領域– SYSAUX は新規で定義された表領域で、複数のコンポーネントのリポジトリとなります(肥大化したSYSTEM表領域への対処)

– SYSAUX は削除したり、名前を変えたりできません– SYSAUX は、

最小サイズ: 240 MB –推奨: 500 MB

SYSAUX

Page 44: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

SYSAUX

• SYSAUX 表領域• 作成:

• コンテンツ:

Server Manageability Comp.Oracle SpatialWorkspace ManagerOracle Data MiningUnified Job SchedulerOLAP API History TablesStatspack RepositoryLogical StandbyOracle TextLogminerOracle interMediaEnterprise Manager Rep. (DB Control)Oracle Ultra SearchAutomatic Workload Repository

CREATE TABLESPACE sysaux DATAFILE 'file'SIZE 500M EXTENT MANAGEMENT LOCALSEGMENT SPACE MANAGEMENT AUTO ONLINE;

CREATE TABLESPACE sysaux DATAFILE 'file'SIZE 500M EXTENT MANAGEMENT LOCALSEGMENT SPACE MANAGEMENT AUTO ONLINE;

Page 45: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

クライアント認定

クライアントとNet

Certified Not supported anymore Never supported

10.1.0

10.1.09.2.09.0.1

9.2.0 9.0.1 8.1.7 8.0.6 7.3.4

8.1.78.0.67.3.4

Database Release

Client

10.2.0

10.2.0

 参考 http://www.oracle.co.jp/products/system/matrix_db.html

Page 46: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

Connect Internal と Server Manager – 8.1.7まで

– スクリプトの変更が必要

– コメント行についても注意が必要

置き換えが必要: #から --

アップグレードガイド10gの Appendix B

SVRMGRL デサポート

旧 新----------------- ----------------------svrmgrl sqlplus /nologsvrmgrl internal sqlplus "/ as sysdba"

10g: sqlplus / as sysdba

旧 新----------------- ----------------------svrmgrl sqlplus /nologsvrmgrl internal sqlplus "/ as sysdba"

10g: sqlplus / as sysdba

Page 47: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

PL/SQLの下位互換性– 下位互換は保たれる

– 古いバージョンから一気にアップグレードすると・・・

– パッケージのアップグレード問題のほとんどがPL/SQL(Pro*Cを利用している場合も注意)

– 特に慎重なテストが重要

– SQL Developer(PL/SQLのデバッグが容易に)

PL/SQL の問題が発生したら・・・(7/8i to 10g)– PLSQL_V2_COMPATIBILITY = TRUE

PL/SQL checker は 8i 互換として動作します

PL/SQL コンパイル

Page 48: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

アップグレード手順

準備 アップグレード ニュース クリーンアップ チューニング

パラメータ&プロセスその他管理ツール自動化

Page 49: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

49Copyright© 2006, Oracle. All rights reserved.

Enterprise Manager 10g

Web ベースの管理クライアント 2つの製品体系 運用による違い:

– 「Database Control」 データベースの管理全般に使用

– 「Grid Control」は、 Grid環境全体の管理 Oracle以外の製品の監視も

Page 50: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

50Copyright© 2006, Oracle. All rights reserved.

Enterprise Manager 10g

コンポーネント– Database Control:エージェントとスタンドアロンOC4JWebサーバー不要

– Grid Control:OMS、管理エージェント、リポジトリDB

インストール:– Database Control:データベース・インストール時に自動的、もしくはDBCAによるセットアップ

– Grid Control:別メディアによるセットアップ

Page 51: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

51Copyright© 2006, Oracle. All rights reserved.

Enterprise Manager 10gの機能

データベースの監視– セッション、SQL など

データベースの管理– 初期化パラメータ、スキーマ・オブジェクト、記憶域、ユーザー、リソース など

データベースのメンテナンス– バックアップ / リカバリ、エクスポート / インポート など

ホストの監視– CPU、メモリー、ディスクI/O、プロセス、H/W・S/W構成など

Page 52: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

52Copyright© 2006, Oracle. All rights reserved.

Enterprise Manager 10g

Database Control へのアクセス

Page 53: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

53Copyright© 2006, Oracle. All rights reserved.

Enterprise Manager 10g

Database Control

Page 54: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

アップグレード手順

準備 アップグレード ニュース クリーンアップ チューニング

パラメータ&プロセスその他管理ツール自動化

Page 55: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

55Copyright© 2006, Oracle. All rights reserved.

自動運用

システム統計 (statistics_level=typical)– 60分ごとに情報収集し、分析デフォルトで7日間保存

– 加えてアクティブ・セッションの情報が収集・評価

– データベース内の変更もバックグラウンドで収集

デフォルト・ジョブ– オブジェクト統計

– セグメントの解放

Page 56: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

デフォルト・ジョブ

2 つのデフォルト・ジョブが日に一度実行されます:– GATHER_STATS_JOB:データベース全体の統計情報収集

– AUTO_SPACE_ADVISOR_JOB:セグメントの空き容量と行移行の検出

NEW

Page 57: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

アップグレード手順

準備 アップグレード ニュース クリーンアップ チューニング

SPFILE自動共有メモリ管理

ローカル管理表領域(LMTS)自動UNDO管理(AUM)

自動セグメント領域管理(ASSM)LONG LOB 変換

Page 58: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

SPFILE

Server Parameter File– バイナリ・フォーマット

– Oracle 9.0以降のデフォルト– DBUAかDBCAが使用された後に存在– パラメータの変更:

– または:

SQL> create pfile from spfile; init.oraの編集SQL> startup force pfile=initDB.oraSQL> create spfile from pfile;

SQL> create pfile from spfile; init.oraの編集SQL> startup force pfile=initDB.oraSQL> create spfile from pfile;

SQL> alter system set PARAMETER=WERT scope=both;SQL> alter system set PARAMETER=WERT scope=both;

Page 59: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

SGA_MAX_SIZE=...

自動共有メモリ管理

SGA_TARGET と STATISTICS_LEVEL=TYPICALの設定が必須

Java pool

Databasebuffer cache Redo log

buffer

Shared poolLarge pool

SGA全体

Fixed SGA

Streams pool

Auto–Tuned

Page 60: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

60Copyright© 2006, Oracle. All rights reserved.

その他

ローカル管理表領域(LMTS) ← 8i からの新機能1. 領域管理を容易に

uniform句による一定のエクステントサイズの使用 データディクショナリへの再帰オペレーションの削減

2. 表領域の断片化の削減3. 一時的に使用される領域(一時表領域)の管理を容易

自動UNDO管理(AUM) ← 9i からの新機能1. ロールバック・セグメントの管理を排除2. ORA-1555の抑制

自動セグメント領域管理(ASSM) ← 9i からの新機能1. FREELISTS、PCTUSED等による領域管理が不要2. 空き領域を自動で管理

LONG LOB 変換

Page 61: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

アップグレード手順

準備 アップグレード ニュース クリーンアップ チューニング

統計情報チューニングアドバイザ

より高速なデータベース

Page 62: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

62Copyright© 2006, Oracle. All rights reserved.

Database 10g クエリ・オプティマイザの拡張

自動統計収集: 統計を最新にしておくためにオブジェクトを自動分析

優秀なクエリ最適化 : CPU+I/O コストの利用

自動の動的最適化: メモリ、並列化、リソースの割当

自動SQLチューニング可能

RBO はサポートされませんオプティマイザはCBOのみとなります

Page 63: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

Copyright© 2006, Oracle. All rights reserved.

アップグレード手順

準備 アップグレード ニュース クリーンアップ チューニング

統計情報チューニングアドバイザ

Page 64: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

64Copyright© 2006, Oracle. All rights reserved.

自動管理機能

Automatic Workload Repository(AWR)データベース稼動状況の履歴アドバイザなどが、診断 / 分析時に参照

参照自動共有メモリー管理メモリーの使用状況を監視し動的に、自律的にチューニング

アドバイザデータベースを診断し、最適な設定や問題点を解消する方法を提示、または設定に有用な見積りを表示・SQL 、メモリー、セグメント、UNDO

Automatic Database Diagnostic Monitor(ADDM)データベース全体の稼動状況をモニタ、診断(特別なアドバイザ)

サーバー・アラートデータベースを監視し、DBAに通知

Page 65: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

65Copyright© 2006, Oracle. All rights reserved.

AWRには、データベースの稼動情報(スナップショット)が保存される

– MMONが定期的にSGAの情報を取得する– 情報取得の間隔と保存期間はDatabase Control から設定可能(PL/SQLパッケージでも可)

Automatic Workload Repository(AWR)

SGA統計情報負荷の高いSQL…

DBWR PMON ・・・・SMON

定期的に保存(デフォルトでは60分毎)

AWR

スナップショット1

スナップショット2

スナップショット3

スナップショット4

MMON

Page 66: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

66Copyright© 2006, Oracle. All rights reserved.

Automatic Database Diagnostic Monitor(ADDM)

AWRに収集されたデータを定期的に分析し、データベースのパフォーマンスを監視 / 診断する

問題を発見し、解決方法をDatabase Control に表示する

定期的に保存SGA統計情報負荷の高いSQL…

MMON

スナップショットの差分を診断

AWRDatabase Control

ADDM

診断結果 / アドバイス

結果作成

起動

起動

結果表示

DBA

Page 67: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

67Copyright© 2006, Oracle. All rights reserved.

アドバイザの構成

SQLチューニング・アドバイザ

SQLアクセス・アドバイザ

メモリー・アドバイザ

セグメント・アドバイザ

UNDOアドバイザ

システム全体の索引やマテリアライズド・ビューに関する診断

特定のSQL文の診断・チューニング(SQL文の変更、プロファイルの作成等の推奨)

PGA、バッファ・キャッシュ、共有プールのサイズ変更をアドバイス

セグメントの断片化レベルを特定し、縮小すべきセグメントをアドバイス

最適なUNDOの保存期間やUNDO表領域サイズを推奨

データベース全体の診断

ADDM

Page 68: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

68Copyright© 2006, Oracle. All rights reserved.

<Insert Picture Here>

Appendix

Page 69: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

69Copyright© 2006, Oracle. All rights reserved.

クライアントのバージョン

Oracleサーバを10gに移行する場合、OracleクライアントやDBLINK先を、サポートするバージョンに引き上げる必要があります

参照情報のURLを確認し、Oracleクライアントのバージョンを引き上げる必要があるか確認します

可能な限り、サーバとクライアントのバージョンを同一にすることをお勧めします

Oracle Database 10gへの接続をサポートする製品のバージョンOracle Net Services R8.1.7.4以降SQL*Plus R8.1.7.4以降Oracle ODBC Driver R8.1.7.4以降Oracle JDBC Driver R8.1.7.4以降、R9.2.0.4以降、R10.0.1 Pro*C/C++ R8.1.7.4以降等

参照情報http://www.oracle.co.jp/products/system/10g/dbos/index.htmlhttp://www.oracle.co.jp/products/system/matrix_db.html

Oracle Database 10gへの接続をサポートする製品のバージョンOracle Net Services R8.1.7.4以降SQL*Plus R8.1.7.4以降Oracle ODBC Driver R8.1.7.4以降Oracle JDBC Driver R8.1.7.4以降、R9.2.0.4以降、R10.0.1 Pro*C/C++ R8.1.7.4以降等

参照情報http://www.oracle.co.jp/products/system/10g/dbos/index.htmlhttp://www.oracle.co.jp/products/system/matrix_db.html

≦ 8.1.7 (8.1.7より前のバージョン)

Page 70: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

70Copyright© 2006, Oracle. All rights reserved.

クライアントのバージョン

注意点– 新しく作成する Oracle 10gのデータベースのキャラクタ・セットを

AL32UTF8、JA16SJISTILDE、JA16EUCTILDEのいずれかに設定する場合、クライアントのバージョンが9.0.1.4より前であると、接続時や処理時にエラーが発生する可能性があります

対処– 上記のキャラクタ・セットは、9.0.1.4以降に新たに作成されたものであり、9.0.1.4より前のOracleクライアントでは対応していない為、 Oracleクライアントを9.0.1.4以上のバージョンにする必要があります

≦ 9.0.1

Page 71: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

71Copyright© 2006, Oracle. All rights reserved.

アプリケーションの移行

PL/SQL Pro*C JDBC

Page 72: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

72Copyright© 2006, Oracle. All rights reserved.

アプリケーションの移行PL/SQL

必ず実施する作業– マニュアルの内容の理解

Oracle Databaseアップグレードガイド 5章互換性および相互運用性

– ソースコードのコンパイル・動作確認

SQL 文の構文およびセマンティクスの分析の厳密化 新しい予約語

標準パッケージ・ファンクションの変更・デサポート

必要に応じて実施する作業– 新機能の活用によるパフォーマンス・チューニング

Page 73: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

73Copyright© 2006, Oracle. All rights reserved.

アプリケーションの移行PL/SQL

ソースコードのコンパイル・動作確認– 旧バージョンで使用していたアプリケーションをそのまま移行する場合、移行先にてコンパイルと動作確認を行います

– PL/SQLの機能拡張・改善により、そのままのソースコードではコンパイル・エラーとなるケースがあります。下記の注意点に従ってエラーを解消します

注意点1. SQL 文の構文およびセマンティクスの分析の厳密化2. 新しい予約語

3. 標準パッケージ・ファンクションの変更・デサポート

≦ 8.1.7

≦ 8.0.6

≦ 9.2.0

Page 74: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

74Copyright© 2006, Oracle. All rights reserved.

アプリケーションの移行PL/SQL

注意点1. SQL 文の構文およびセマンティクスの分析の厳密化

– Oracle9iより、SQL文の構文およびセマンティクスの分析がSQLエンジンに統合され、より厳密になっています。そのため、以前のバージョンにおいてエラーとならないが、Oracle 9i以降のバージョンでエラー出力されるようになる可能性があります

参照情報マニュアル : Oracle Databaseアップグレードガイド, 10gリリース1(10.1) 5章互換性および相互運用性KROWN#44818 Oracle9iにて PL/SQLを実行時に PLS-00302が発生する(8iまでは実行可能)KROWN#73478 8i で実行可能な PL/SQL プロシージャを 9i で実行するとエラーが発生するKROWN#78956 LONG型とNUMBER型の比較について

参照情報マニュアル : Oracle Databaseアップグレードガイド, 10gリリース1(10.1) 5章互換性および相互運用性KROWN#44818 Oracle9iにて PL/SQLを実行時に PLS-00302が発生する(8iまでは実行可能)KROWN#73478 8i で実行可能な PL/SQL プロシージャを 9i で実行するとエラーが発生するKROWN#78956 LONG型とNUMBER型の比較について

≦ 8.1.7

Page 75: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

75Copyright© 2006, Oracle. All rights reserved.

アプリケーションの移行PL/SQL

注意点2. 新しい予約語– データ型の追加やSQLの拡張等により、TIMESTAMP、YEAR等新しく予約語が追加されています。変数、カーソル等のオブジェクト名に使用していれば、変更する必要があります

注意点3. PL/SQLファンクションの変更・デサポート– DBMS_APPLICATION_INFO.SET_SESSION_LONGOPS プロシージャがOracle8より変更されました。新しい構文の詳細は、dbmsapin.sql ファイルを参照してください

– Oracle8iより、GREATEST_LB, LEAST_UB, TO_LABELはデサポートとなりました

参照情報マニュアル : PL/SQLユーザーズ・ガイドおよびリファレンス, 10gリリース1(10.1) F章 PL/SQLの予約語のリスト

参照情報マニュアル : PL/SQLユーザーズ・ガイドおよびリファレンス, 10gリリース1(10.1) F章 PL/SQLの予約語のリスト

≦ 9.2.0

≦ 8.0.6

Page 76: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

76Copyright© 2006, Oracle. All rights reserved.

アプリケーションの移行PL/SQL

新機能の活用によるパフォーマンス・チューニング– PL/SQLの新機能を活用することにより、パフォーマンスが向上する可能性があります。コードの変更を伴わない機能もあるため、十分検討することが望ましいです

効果的な新機能– PLS_INTEGER, BINARY_FLOAT/DOUBLEデータ型– システム固有の動的SQL (EXECUTE IMMEDIATE)– ネイティブ・コンパイル

– 等々

参照情報マニュアル : PL/SQLユーザーズ・ガイドおよびリファレンス, 10gリリース1(10.1) 11章 PL/SQLアプリケーションのパフォーマンスのチューニング

参照情報マニュアル : PL/SQLユーザーズ・ガイドおよびリファレンス, 10gリリース1(10.1) 11章 PL/SQLアプリケーションのパフォーマンスのチューニング

Page 77: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

77Copyright© 2006, Oracle. All rights reserved.

アプリケーションの移行Pro*C

必ず実施する作業– マニュアルの内容の理解

Oracle Databaseアップグレードガイド 5章互換性および相互運用性 / 6章アプリケーションのアップグレード

– ソースコードのコンパイル・リンク・動作確認

再コンパイル、再リンクの必要なケース

新しい予約語

バージョンの差による実装の違い

必要に応じて実施する作業– 新機能の活用によるパフォーマンス・チューニング

Page 78: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

78Copyright© 2006, Oracle. All rights reserved.

アプリケーションの移行Pro*C

ソースコードのコンパイル・リンク・動作確認– 旧バージョンで使用していたアプリケーションをそのまま移行する場合、移行先にて動作確認を行います。ただし、再コンパイル・再リンクが必要な場合もあります。

– Pro*Cの機能拡張・改善により、そのままのソースコードではコンパイルや実行時にエラーとなるケースがあります。下記の注意点2, 3に従ってエラーを解消します

注意点1. 再コンパイル・再リンクの必要なケース

2. 新しい予約語

3. バージョンの差による実装の違い

≦ 9.2.0

≦ 9.2.0≦ 8.0.6

Page 79: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

79Copyright© 2006, Oracle. All rights reserved.

アプリケーションの移行Pro*C

注意点1. 再コンパイル・再リンクの必要なケース– Pro*Cアプリケーションは、"プリコンパイル" ⇒ "C コンパイル" ⇒

"各種モジュールとリンク" という順にバイナリを作成します– 再コンパイル及び再リンクの必要性は互換性規則に則ります。ただし、該当しないケースもあります

互換性規則(規則1) クライアント環境を変更しない場合、再リンク不要(規則2) クライアントアプリケーションは新リリースのサーバーに対してそのまま実行できる(規則3) プリコンパイル済み、コンパイル済みのアプリケーションはより新しいライブラリと再リンク可能(規則4) アプリケーションは3桁目(Oracle9i,10gでは2桁目)のアップグレードで再リンク不要(規則5) クライアントをダウングレードするならば、常に再プリコンパイル(規則6) プリコンパイル、コンパイル、リンクは同一プラットフォームで実行(規則7) 同一OS、バージョンであれば、別のクライアント環境への配置可能

互換性規則に該当しないケースの情報KROWN#39957 Dynamic Linkで作成されたモジュールを上位環境で実行時にエラーKROWN#39963 Static Linkで作成されたモジュールを上位環境で実行できないKROWN#54084 Pro*C/C++ 64ビット・アプリケーションを 9.2 環境で動作させる場合の注意点

互換性規則(規則1) クライアント環境を変更しない場合、再リンク不要(規則2) クライアントアプリケーションは新リリースのサーバーに対してそのまま実行できる(規則3) プリコンパイル済み、コンパイル済みのアプリケーションはより新しいライブラリと再リンク可能(規則4) アプリケーションは3桁目(Oracle9i,10gでは2桁目)のアップグレードで再リンク不要(規則5) クライアントをダウングレードするならば、常に再プリコンパイル(規則6) プリコンパイル、コンパイル、リンクは同一プラットフォームで実行(規則7) 同一OS、バージョンであれば、別のクライアント環境への配置可能

互換性規則に該当しないケースの情報KROWN#39957 Dynamic Linkで作成されたモジュールを上位環境で実行時にエラーKROWN#39963 Static Linkで作成されたモジュールを上位環境で実行できないKROWN#54084 Pro*C/C++ 64ビット・アプリケーションを 9.2 環境で動作させる場合の注意点

≦ 9.2.0

Page 80: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

80Copyright© 2006, Oracle. All rights reserved.

アプリケーションの移行Pro*C 注意点1. 再コンパイル・再リンクの必要なケース

– 再コンパイル及び再リンクにより、パフォーマンスの向上が見込めますが、反面移行工数がかかります

– 可能な限り再プリコンパイルを行う事をお勧めします

新機能を活用するようにアプリ変更 : なし再プリコンパイル : なし再リンク : なし

新機能を活用するようにアプリ変更 : なし再プリコンパイル : なし再リンク : あり

新機能を活用するようにアプリ変更 : なし再プリコンパイル : あり再リンク : あり

新機能を活用するようにアプリ変更 : あり再プリコンパイル : あり再リンク : あり

パフォーマンスの向上

移行工数

≦ 9.2.0

Page 81: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

81Copyright© 2006, Oracle. All rights reserved.

アプリケーションの移行Pro*C

注意点2. 新しい予約語– データ型の追加やSQLの拡張等により、TIMESTAMP、YEAR等新しく予約語が追加されています。変数、カーソル等のオブジェクト名に使用していれば、変更する必要があります

注意点3. バージョンの差による実装の違い– Oracle8iより、プリコンパイラが内部使用する OCI バージョンを

OCI7からOCI8に変更したため、SYSDBA権限のCONNECT、配列フェッチ、カーソル開放の実装の違いがあります

参照情報マニュアル : Pro*C/C++プログラマーズ・ガイド, リリース9.2 B章予約語、キーワードおよびネームスペース参照情報マニュアル : Pro*C/C++プログラマーズ・ガイド, リリース9.2 B章予約語、キーワードおよびネームスペース

参照情報マニュアル : Oracle Databaseアップグレードガイド, 10gリリース1(10.1) 5章互換性および相互運用性KROWN#45288 Precompiler での配列フェッチの際に配列分の行数が返されないことがあるKROWN#75085 Pro*C/C++ 8.0以前と8.1.x以降のカーソル開放の違いについて

参照情報マニュアル : Oracle Databaseアップグレードガイド, 10gリリース1(10.1) 5章互換性および相互運用性KROWN#45288 Precompiler での配列フェッチの際に配列分の行数が返されないことがあるKROWN#75085 Pro*C/C++ 8.0以前と8.1.x以降のカーソル開放の違いについて

≦ 9.2.0

≦ 8.0.6

Page 82: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

82Copyright© 2006, Oracle. All rights reserved.

アプリケーションの移行Pro*C

新機能の活用によるパフォーマンス・チューニング– Pro*Cの新機能を活用することにより、パフォーマンスが向上する可能性があります。新機能活用によるコードの変更時は、プリコンパイル・コンパイル・リンクを行う必要があります

効果的な新機能– マルチスレッド・アプリケーションの接続プーリング

– スクロール可能カーソル

– 等々

参照情報マニュアル : Pro*C/C++プログラマーズ・ガイド, リリース9.2 6章埋込みSQL / 11章マルチスレッド・アプリケーション / C章パフォーマンス・チューニング

参照情報マニュアル : Pro*C/C++プログラマーズ・ガイド, リリース9.2 6章埋込みSQL / 11章マルチスレッド・アプリケーション / C章パフォーマンス・チューニング

Page 83: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

83Copyright© 2006, Oracle. All rights reserved.

アプリケーションの移行JDBC

必ず実施する作業– マニュアルの内容の理解

Oracle Databaseアップグレードガイド 5章互換性および相互運用性

– JDBCドライバのアップグレード・コンパイル・動作確認 JDBCドライバのアップグレード・コンパイル 仕様の変更

必要に応じて実施する作業– 新機能の活用によるパフォーマンス・チューニング

Page 84: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

84Copyright© 2006, Oracle. All rights reserved.

アプリケーションの移行JDBC

JDBCドライバのアップグレード・動作確認– JavaアプリケーションにおいてOracleのJDBCドライバを使用している場合、クライアント/サーバ間のサポートバージョンの組合せによってはJDBCドライバのアップグレードを行います

– JDBCドライバの機能拡張・改善により、そのままのソースコードではコンパイルや実行時にエラーとなるケースがあります。下記の注意点2に従ってエラーを解消します

注意点1. JDBCドライバのアップグレード2. バージョンの差による実装の違い

≦ 9.2.0

≦ 9.2.0

Page 85: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

85Copyright© 2006, Oracle. All rights reserved.

アプリケーションの移行JDBC

注意点1. JDBCドライバのアップグレード– 特定のデータベースサーバのバージョンに対して、接続がサポートされるJDBCドライバのバージョンがあります

– データベースサーバを10gに移行した際に、JDBCドライバをサポートされるバージョンにアップグレードします

– 可能な限り、データベースサーバとJDBCドライバのバージョンを同一にすることをお勧めします

Oracle Database 10gに接続可能なJDBCドライバのバージョンOracle JDBC Driver 8.1.7.4 (JDK 1.1, 1.2, 1.3 対応)Oracle JDBC Driver 9.2.0.4以降 (JDK 1.1, 1.2, 1.3, 1.4 対応)Oracle JDBC Driver 10.1.0.x,10.2.0.x (JDK 1.2, 1.3, 1.4 対応)

参照情報KROWN#25973 Oracle JDBC Driver のJDK 1.3.x サポートについてKROWN#46879 Oracle JDBC Driver のJDK 1.4.x サポートについてKROWN#58280 JDBC DriverとJDK,及びORACLEデータベースの構成に関して

Oracle Database 10gに接続可能なJDBCドライバのバージョンOracle JDBC Driver 8.1.7.4 (JDK 1.1, 1.2, 1.3 対応)Oracle JDBC Driver 9.2.0.4以降 (JDK 1.1, 1.2, 1.3, 1.4 対応)Oracle JDBC Driver 10.1.0.x,10.2.0.x (JDK 1.2, 1.3, 1.4 対応)

参照情報KROWN#25973 Oracle JDBC Driver のJDK 1.3.x サポートについてKROWN#46879 Oracle JDBC Driver のJDK 1.4.x サポートについてKROWN#58280 JDBC DriverとJDK,及びORACLEデータベースの構成に関して

≦ 9.2.0

Page 86: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

86Copyright© 2006, Oracle. All rights reserved.

アプリケーションの移行JDBC

注意点1. JDBCドライバのアップグレード– JDBC OCI Driver (Type2) の場合

ドライバはOracleクライアントのソフトウェアに同梱されているため、Oracleクライアントのインストール・PSR適用を行い、CLASSPATHの設定を行います

– JDBC Thin Driver (Type4) の場合 JDBCドライバを下記URLからダウンロードし、適切なディレクトリにコピー・CLASSPATHの設定を行います

OiSC (support.oracle.co.jp) → 「パッチ」 → 「JDBC Driver」*サポート契約が必須

– JDBCドライバのみのアップグレードであれば、再コンパイルは必須ではありません。

≦ 9.2.0

*しかしながら、実行時に何らかの問題が発生した場合、サポート調査の一貫として、コンパイルと実行に関して同じバージョンでの動作確認をお願いさせて頂く場合がございます

Page 87: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

87Copyright© 2006, Oracle. All rights reserved.

アプリケーションの移行JDBC 注意点2. バージョンの差による実装の違い

– Number型に対するResultSet.getString() メソッドの変更– バッチ更新におけるsendBatch() メソッドの変更– timestamp型の変更– 文キャッシュのAPI変更– OracleConnectionCacheImplクラスの廃止と、暗黙接続キャッシュへの代替

– “”(空文字列)、NULLの取り扱い

参照情報KROWN#80046 ResultSet.getString()でNumber(x,y)型の整数部"0"の値が取得できません。KROWN#68107 executeUpdate()後、sendBatch()メソッドが期待しない値を返すKROWN#120194 insertROW()メソッドで””(空文字列)でinsertすると文字化けが発生マニュアル : Oracle9i JDBC開発者ガイドおよびリファレンス リリース2 (9.2) 14章文キャッシュマニュアル : Oracle Database JDBC開発者ガイドおよびリファレンス 7章暗黙的接続キャッシュ

参照情報KROWN#80046 ResultSet.getString()でNumber(x,y)型の整数部"0"の値が取得できません。KROWN#68107 executeUpdate()後、sendBatch()メソッドが期待しない値を返すKROWN#120194 insertROW()メソッドで””(空文字列)でinsertすると文字化けが発生マニュアル : Oracle9i JDBC開発者ガイドおよびリファレンス リリース2 (9.2) 14章文キャッシュマニュアル : Oracle Database JDBC開発者ガイドおよびリファレンス 7章暗黙的接続キャッシュ

≦ 9.2.0

≦ 9.0.1

≦ 9.2.0

≦ 8.1.7≦ 8.1.7

≦9.2.0

≦9.2.0

Page 88: Oracle Database 10gへのアップグレードsky.geocities.jp/black_se/session2_upg.pdf日本オラクル株式会社無断転載を禁ず

日本オラクル株式会社無断転載を禁ずこの文書はあくまでも参考資料であり、掲載されている情報は予告なしに変更されることがあります。日本オラクル社は本書の内容に関していかなる保証もいたしません。また、本書の内容に関連したいかなる損害についても責任を負いかねます。Oracle、PeopleSoft、JD Edwards、及びSiebelは、米国オラクル・コーポレーション及びその子会社、関連会社の登録商標です。その他の名称はそれぞれの会社の商標の可能性があります。