492
Oracle8i 移行ガイド リリース 8.1 2000 11 部品番号 : J02416-01

Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8i

移行ガイド

リリース 8.1

2000年 11月

部品番号 : J02416-01

Page 2: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8i 移行ガイド , リリース 8.1

部品番号 : J02416-01原本名:Oracle8i Migration, Release 3 (8.1.7)原本部品番号:A86632-01原本著者:Randy Urbanoグラフィック・デザイナ:Valarie Moore原本協力者:Nipun Agarwal、 Karleen Aghevli、 Reema Al-Shaikh、 Rick Anderson、 Vikas Arora、 Neerja Bhatt、 Bill Bridge、 Thong Bui、 Sashi Chandrasekran、 Ben Chang、 Debashish Chatterjee、 Lakshminaray Chidambaran、 Maria Chien、 Eugene Chong、 Sam Chou、 George Claborn、 David Colello、 Michael Depledge、 Alan Downing、 Sandy Dreskin、 Sreenivas Gollapudi、 Brajesh Goyal、 Miranda Gresham、 Steven Harris、 Terry Hart、 Michael Hartstein、 Jeffrey Hebert、 Bhaskar Himatsingka、 Thuvan Hoang、 Alison Holloway、 Chin Hong、 Wei Huang、 Nancy Ikeda、 Pavana Jain、 Robert Jenkins、 Sanjeev Jhala、 Maura Joglekar、 Christopher Jones、 Sanjay Kaluskar、 Dhiraj Kapoor、 Vishwanath Karra、 Mark Kennedy、 Susan Kotsovolos、 Viswanathan Krishnamurthy、 Muralidhar Krishnaprasad、 Janaki Krishnaswamy、 Andre Kruglikov、 Thomas Kurian、 Paul Lane、 Gordon Larimer、 Jing Liu、 Juan Loaiza、 Neil Le、 J. Bill Lee、 Tracy Lee、 Lenore Luscher、 Bill Maimone、 Ethan Malasky、 Raghu Mani、 Shailendra Mishra、 Ari Mozes、 Kannan Muthukkaruppan、 Subramanian Muralidhar、 Ravi Murthy、 Karuna Muthiah、 Mark Niebur、 Anil Nori、 Peter Ogilvie、 Irene Paradisis、 Rosanne Park、 Joan Pearson、 Elizabeth Pitt、 Greg Pongracz、 Lois Price、 Franco Putzolu、 Anil Ramdin、 N. C. Ramesh、 Paul Raveling、 Ann Rhee、 Mary Rhodes、 Anindo Roy、 Usha Sangam、 Richard Sarwal、 Ashok Saxena、 Ajay Sethi、 Carol Sexton、 Helen Slaterry、 Franz Spickhoff、 James Stamos、 Debbie Steiner、 Harry Sun、 Katia Tarkhanov、 Juan Tellez、 Alvin To、 Alex Tsukerman、 Douglas Utzig、 Peter Vasterd、 Guhan Viswanathan、 Rahim Yaseen、 Steven Wertheimer、 Rick Wessman、 Andrew Witkowski、 Lik Wong、 Aravind Yalamanchi、 Qin YuCopyright © 1996, 2000, Oracle Corporation. All rights reserved. Printed in Japan.制限付権利の説明プログラム(ソフトウェアおよびドキュメントを含む)の使用、複製または開示は、オラクル社との契約に記された制約条件に従うものとします。著作権、特許権およびその他の知的財産権に関する法律により保護されています。当プログラムのリバース・エンジニアリング等は禁止されております。このドキュメントの情報は、予告なしに変更されることがあります。オラクル社は本ドキュメントの無謬性を保証しません。* オラクル社とは、Oracle Corporation(米国オラクル)または日本オラクル株式会社(日本オラクル)を指します。 危険な用途への使用についてオラクル社製品は、原子力、航空産業、大量輸送、医療あるいはその他の危険が伴うアプリケーションを用途として開発されておりません。オラクル社製品を上述のようなアプリケーションに使用することについての安全確保は、顧客各位の責任と費用により行ってください。万一かかる用途での使用によりクレームや損害が発生いたしましても、日本オラクル株式会社と開発元である Oracle Corporation(米国オラクル)およびその関連会社は一切責任を負いかねます。 当プログラムを米国国防総省の米国政府機関に提供する際には、『Restricted Rights』と共に提供してください。この場合次の Noticeが適用されます。 Restricted Rights NoticePrograms delivered subject to the DOD FAR Supplement are "commercial computer software" and use, duplication, and disclosure of the Programs, including documentation, shall be subject to the licensing restrictions set forth in the applicable Oracle license agreement. Otherwise, Programs delivered subject to the Federal Acquisition Regulations are "restricted computer software" and use, duplication, and disclosure of the Programs shall be subject to the restrictions in FAR 52.227-19, Commercial Computer Software - Restricted Rights (June, 1987). Oracle Corporation, 500 Oracle Parkway, Redwood City, CA 94065.このドキュメントに記載されているその他の会社名および製品名は、あくまでその製品および会社を識別する目的にのみ使用されており、それぞれの所有者の商標または登録商標です。

Page 3: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

目次目次目次目次

はじめにはじめにはじめにはじめに ......................................................................................................................................................................... xiii

1 概要概要概要概要

用語用語用語用語 ........................................................................................................................................................................... 1-2

バージョンおよびリリース ........................................................................................................................... 1-2

移行、アップグレードおよびダウングレード ........................................................................................... 1-3

ソース・データベースおよびターゲット・データベース ....................................................................... 1-3

Oracleの複数バージョンおよびリリースの実行の複数バージョンおよびリリースの実行の複数バージョンおよびリリースの実行の複数バージョンおよびリリースの実行 .............................................................................................. 1-4

複数の Oracleホームへのバージョン 7、リリース 8.0およびリリース 8.1データベースのインストール ................................................................................................................................................... 1-5

異なるコンピュータへのバージョン 7、リリース 8.0およびリリース 8.1データベースのインストール .................................................................................................................................................... 1-6

バージョン 7データベースのリリース 8.0およびリリース 8.1データベースへの移行 ..................... 1-7

リリース 8.0データベースのリリース 8.1データベースへのアップグレード ..................................... 1-8

以前のリリース 8.1データベースの今回のリリースへのアップグレード ............................................ 1-9

バージョン 7クライアントのリリース 8.0およびリリース 8.1クライアントへの移行 ................... 1-10Optimal Flexible Architecture((((OFA)の使用)の使用)の使用)の使用 ............................................................................................. 1-11スクリプトの実行スクリプトの実行スクリプトの実行スクリプトの実行 ................................................................................................................................................. 1-11

ワード・サイズの変更ワード・サイズの変更ワード・サイズの変更ワード・サイズの変更 ......................................................................................................................................... 1-12Oracle Parallel Serverのローリング・アップグレードのローリング・アップグレードのローリング・アップグレードのローリング・アップグレード ................................................................................ 1-13オプションの削除オプションの削除オプションの削除オプションの削除 ................................................................................................................................................. 1-13

2 移行の概要移行の概要移行の概要移行の概要

移行手順の概要移行手順の概要移行手順の概要移行手順の概要 ....................................................................................................................................................... 2-2

手順 1: 移行の準備 .......................................................................................................................................... 2-4

i

Page 4: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

手順 2: 移行処理のテスト .............................................................................................................................. 2-5

手順 3: 移行したテスト・データベースのテスト ...................................................................................... 2-5

手順 4: ソース・データベースの準備および保存 ...................................................................................... 2-5

手順 5: 本番データベースの移行 .................................................................................................................. 2-6

手順 6: 新しい本番データベースのチューニングおよび調整 .................................................................. 2-6移行におけるデータベース管理者の役割移行におけるデータベース管理者の役割移行におけるデータベース管理者の役割移行におけるデータベース管理者の役割 ........................................................................................................... 2-7

移行におけるアプリケーション開発者の役割移行におけるアプリケーション開発者の役割移行におけるアプリケーション開発者の役割移行におけるアプリケーション開発者の役割 ................................................................................................... 2-7

3 移行の準備移行の準備移行の準備移行の準備

移行の準備移行の準備移行の準備移行の準備 ............................................................................................................................................................... 3-2

新しいデータベースの機能の理解 ............................................................................................................... 3-2

移行方法の選択 ............................................................................................................................................... 3-3

システム要件と使用可能なリソースの見積り ......................................................................................... 3-15

新しいリリースに対する Oracleホーム・ディレクトリの選択 ........................................................... 3-18

移行の一般的な問題の回避 ......................................................................................................................... 3-19

バックアップ計画の準備 ............................................................................................................................. 3-21

テスト計画の作成 ......................................................................................................................................... 3-21移行処理のテスト移行処理のテスト移行処理のテスト移行処理のテスト ................................................................................................................................................. 3-25移行したテスト・データベースのテスト移行したテスト・データベースのテスト移行したテスト・データベースのテスト移行したテスト・データベースのテスト ......................................................................................................... 3-25

4 移行ユーティリティによる移行ユーティリティによる移行ユーティリティによる移行ユーティリティによる Oracle7からの移行からの移行からの移行からの移行

移行ユーティリティを使用するためのドキュメント・ロードマップ移行ユーティリティを使用するためのドキュメント・ロードマップ移行ユーティリティを使用するためのドキュメント・ロードマップ移行ユーティリティを使用するためのドキュメント・ロードマップ ........................................................... 4-2移行ユーティリティを使用した移行の概要移行ユーティリティを使用した移行の概要移行ユーティリティを使用した移行の概要移行ユーティリティを使用した移行の概要 ....................................................................................................... 4-3

移行処理の概要 ............................................................................................................................................... 4-3

移行ユーティリティの使用 ........................................................................................................................... 4-5システムの考慮点と要件システムの考慮点と要件システムの考慮点と要件システムの考慮点と要件 ....................................................................................................................................... 4-6

領域要件 ........................................................................................................................................................... 4-6

ブロック・サイズの考慮点 ........................................................................................................................... 4-6

SQL*Netに関する考慮点 .............................................................................................................................. 4-7

レプリケーション環境に関する考慮点 ....................................................................................................... 4-7

ConTextから interMediaへの移行に関する考慮点 .................................................................................. 4-7

分散データベースに関する考慮点 ............................................................................................................... 4-8

Oracle Parallel Serverをインストールしたシステムの移行 ................................................................... 4-8

異なるオペレーティング・システムへの移行 ........................................................................................... 4-8

キャラクタ・セットに関する考慮点 ........................................................................................................... 4-9

ii

Page 5: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行のための移行のための移行のための移行のための Oracle7ソース・データベースの準備ソース・データベースの準備ソース・データベースの準備ソース・データベースの準備 ..................................................................................... 4-10

Windowsプラットフォーム上での移行の準備 ....................................................................................... 4-13

リリースリリースリリースリリース 8.1 Oracleソフトウェアのインストールソフトウェアのインストールソフトウェアのインストールソフトウェアのインストール ......................................................................................... 4-14

Windowsプラットフォームに Oracle8iをインストールした後 .......................................................... 4-17移行ユーティリティ・コマンドライン・オプションの検討移行ユーティリティ・コマンドライン・オプションの検討移行ユーティリティ・コマンドライン・オプションの検討移行ユーティリティ・コマンドライン・オプションの検討 ......................................................................... 4-18

Oracle7のソース・データベースの移行のソース・データベースの移行のソース・データベースの移行のソース・データベースの移行 .......................................................................................................... 4-19

UNIXオペレーティング・システムでの Oracle7の移行環境準備 ...................................................... 4-19

Oracle7環境での移行手順の実行 .............................................................................................................. 4-20

移行ユーティリティの実行 ......................................................................................................................... 4-22

移行結果の確認 ............................................................................................................................................. 4-26

Oracle7のソース・データベースの保存 .................................................................................................. 4-27

Oracle8i環境での移行手順の実行 ............................................................................................................. 4-28

移行時のエラーのトラブルシューティング移行時のエラーのトラブルシューティング移行時のエラーのトラブルシューティング移行時のエラーのトラブルシューティング ..................................................................................................... 4-36移行の中止移行の中止移行の中止移行の中止 ............................................................................................................................................................. 4-36

5 Oracle Data Migration Assistantによるによるによるによる Oracle7からの移行からの移行からの移行からの移行

Oracle Data Migration Assistantを使用するためのドキュメント・ロードマップを使用するためのドキュメント・ロードマップを使用するためのドキュメント・ロードマップを使用するためのドキュメント・ロードマップ ................................... 5-2Oracle Data Migration Assistantを使用した移行の概要を使用した移行の概要を使用した移行の概要を使用した移行の概要 ............................................................................... 5-3

Oracle Data Migration Assistantに関する制限事項 ................................................................................. 5-3

Oracle Data Migration Assistantがサポートする Oracle7データベースからの開始 ......................... 5-3

ダウングレード ............................................................................................................................................... 5-4システムの考慮点と要件システムの考慮点と要件システムの考慮点と要件システムの考慮点と要件 ....................................................................................................................................... 5-4

領域要件 ........................................................................................................................................................... 5-4

ブロック・サイズの考慮点 ........................................................................................................................... 5-5

SQL*Netに関する考慮点 .............................................................................................................................. 5-5

レプリケーション環境に関する考慮点 ....................................................................................................... 5-6

ConTextから interMediaへの移行に関する考慮点 .................................................................................. 5-6

分散データベースに関する考慮点 ............................................................................................................... 5-6

異なるオペレーティング・システムへの移行 ........................................................................................... 5-6

キャラクタ・セットに関する考慮点 ........................................................................................................... 5-7移行のための移行のための移行のための移行のための Oracle7ソース・データベースの準備ソース・データベースの準備ソース・データベースの準備ソース・データベースの準備 ....................................................................................... 5-7

Windowsプラットフォーム上での移行の準備 ....................................................................................... 5-12

リリースリリースリリースリリース 8.1のののの Oracleソフトウェアのインストールおよびそのデータベースの移行ソフトウェアのインストールおよびそのデータベースの移行ソフトウェアのインストールおよびそのデータベースの移行ソフトウェアのインストールおよびそのデータベースの移行 ............................ 5-14

Oracle Data Migration Assistantの単独での実行 ................................................................................... 5-20移行の終了移行の終了移行の終了移行の終了 ............................................................................................................................................................. 5-21

移行時のエラーのトラブルシューティング移行時のエラーのトラブルシューティング移行時のエラーのトラブルシューティング移行時のエラーのトラブルシューティング ..................................................................................................... 5-24

iii

Page 6: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行の中止移行の中止移行の中止移行の中止 ............................................................................................................................................................. 5-24

6 エクスポートエクスポートエクスポートエクスポート /インポートによる移行インポートによる移行インポートによる移行インポートによる移行

エクスポートエクスポートエクスポートエクスポート /インポートの基本インポートの基本インポートの基本インポートの基本 ........................................................................................................................ 6-2

エクスポート・ユーティリティ要件 ........................................................................................................... 6-2

インポート要件 ............................................................................................................................................... 6-2

その他のオプション ....................................................................................................................................... 6-3エクスポートエクスポートエクスポートエクスポート /インポートを使用したソース・データベースの移行インポートを使用したソース・データベースの移行インポートを使用したソース・データベースの移行インポートを使用したソース・データベースの移行 ........................................................... 6-3

7 以前の以前の以前の以前の Oracle8から新しいから新しいから新しいから新しい Oracle8iへのアップグレードへのアップグレードへのアップグレードへのアップグレード

アップグレード・パスアップグレード・パスアップグレード・パスアップグレード・パス ........................................................................................................................................... 7-2Oracle8iの新しいリリースへのデータベースのアップグレードの新しいリリースへのデータベースのアップグレードの新しいリリースへのデータベースのアップグレードの新しいリリースへのデータベースのアップグレード .................................................................. 7-3

アップグレードの準備 ................................................................................................................................... 7-3

データベースのアップグレード ................................................................................................................... 7-6

特定のコンポーネントのアップグレード特定のコンポーネントのアップグレード特定のコンポーネントのアップグレード特定のコンポーネントのアップグレード ......................................................................................................... 7-24

interMedia Textの以前のリリース 8.1からのアップグレード ............................................................. 7-24

Oracleレプリケーションのアップグレード ............................................................................................ 7-28

JServerのアップグレード ........................................................................................................................... 7-31

Oracle Parallel Serverのアップグレード ................................................................................................. 7-36

スナップショットのアップグレード ......................................................................................................... 7-38

アドバンスト・キューイング・オプションのアップグレード ............................................................. 7-39

ユーザー定義データ型のアップグレード ................................................................................................. 7-43

リカバリ・カタログのアップグレード ..................................................................................................... 7-44

DBMS_STATSパッケージで作成された統計表のアップグレード ...................................................... 7-45

無効な PL/SQLモジュールの再コンパイル ............................................................................................ 7-46現行リリースのワード・サイズの変更現行リリースのワード・サイズの変更現行リリースのワード・サイズの変更現行リリースのワード・サイズの変更 ............................................................................................................. 7-46

8 データベースの移行後またはアップグレード後の作業データベースの移行後またはアップグレード後の作業データベースの移行後またはアップグレード後の作業データベースの移行後またはアップグレード後の作業

データベースの移行またはアップグレード後に行う作業データベースの移行またはアップグレード後に行う作業データベースの移行またはアップグレード後に行う作業データベースの移行またはアップグレード後に行う作業 ............................................................................... 8-2

データベースのバックアップ ....................................................................................................................... 8-2

OUTLNユーザーのパスワードの変更 ....................................................................................................... 8-2

LONGから LOBへのコピー ........................................................................................................................ 8-2

無効な日付制約のチェック ........................................................................................................................... 8-4

パラレル実行での問題の回避 ....................................................................................................................... 8-5

iv

Page 7: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

ODCI.jarおよび CartridgeServices.jarファイルのインストール ........................................................... 8-5

listener.oraファイルの変更 .......................................................................................................................... 8-6

スタンバイ・データベースの Oracleリリース 8.1への移行またはアップグレード .......................... 8-6

新機能の適宜追加 ........................................................................................................................................... 8-8

必要な新しい管理手順の作成 ....................................................................................................................... 8-8

新しいリリース用の初期化パラメータ・ファイルの調整 ....................................................................... 8-8

Windowsプラットフォームでのファイル名の正規化 ............................................................................. 8-9データベースの移行後のみ行う作業データベースの移行後のみ行う作業データベースの移行後のみ行う作業データベースの移行後のみ行う作業 ................................................................................................................. 8-12

使用不可となったビットマップ索引の再構築 ......................................................................................... 8-12

パーティション・ビューからパーティション表への移行 ..................................................................... 8-12

Net8の新しいリリースへの移行またはアップグレード(オプション) ............................................. 8-13

データベースのテストと結果の比較 ......................................................................................................... 8-13

移行されたデータベースのチューニング ................................................................................................. 8-14データベースのアップグレード後のみ行う作業データベースのアップグレード後のみ行う作業データベースのアップグレード後のみ行う作業データベースのアップグレード後のみ行う作業 ............................................................................................. 8-14

使用禁止のファンクション索引の再構築 ................................................................................................. 8-14

9 互換性および相互運用性互換性および相互運用性互換性および相互運用性互換性および相互運用性

互換性の概要互換性の概要互換性の概要互換性の概要 ........................................................................................................................................................... 9-2

COMPATIBLE初期化パラメータ ............................................................................................................... 9-2

8.1.0以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能 ...................................................................................................... 9-9

アプリケーション ........................................................................................................................................... 9-9

表領域 ............................................................................................................................................................... 9-9

スキーマ・オブジェクト ............................................................................................................................. 9-10

パーティション化 ......................................................................................................................................... 9-10

組込みデータ型 ............................................................................................................................................. 9-11

ユーザー定義データ型 ................................................................................................................................. 9-11

Oracle Parallel Server .................................................................................................................................. 9-12

データの保護 ................................................................................................................................................. 9-12

分散データベース ......................................................................................................................................... 9-12

データ・アクセス ......................................................................................................................................... 9-13

データ・ウェアハウス ................................................................................................................................. 9-14

Spatial情報および Visual情報 .................................................................................................................. 9-14

相互運用性の概要相互運用性の概要相互運用性の概要相互運用性の概要 ................................................................................................................................................. 9-15互換性および相互運用性の問題互換性および相互運用性の問題互換性および相互運用性の問題互換性および相互運用性の問題 ......................................................................................................................... 9-16

アプリケーション ......................................................................................................................................... 9-16

v

Page 8: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

起動および停止 ............................................................................................................................................. 9-23

表領域およびデータ・ファイル ................................................................................................................. 9-23

データ・ディクショナリ ............................................................................................................................. 9-25

スキーマ・オブジェクト ............................................................................................................................. 9-26

データ型 ......................................................................................................................................................... 9-26

ユーザー定義データ型 ................................................................................................................................. 9-29

SQLおよび PL/SQL .................................................................................................................................... 9-30

アドバンスト・キューイング(AQ) ........................................................................................................ 9-32

プロシージャおよびパッケージ ................................................................................................................. 9-33

Oracleオプティマイザ ................................................................................................................................ 9-35

Oracle Parallel Server .................................................................................................................................. 9-35

データベース・セキュリティ ..................................................................................................................... 9-38

データベース・バックアップおよびリカバリ ......................................................................................... 9-40

分散データベース ......................................................................................................................................... 9-44

SQL*Netまたは Net8 .................................................................................................................................. 9-46

エクスポート /インポート ........................................................................................................................ 9-48

その他の互換性および相互運用性の問題 ................................................................................................. 9-50

10 アプリケーションのアップグレードアプリケーションのアップグレードアプリケーションのアップグレードアプリケーションのアップグレード

Oracle8iへのアプリケーションのアップグレードの概要へのアプリケーションのアップグレードの概要へのアプリケーションのアップグレードの概要へのアプリケーションのアップグレードの概要 ............................................................................ 10-2

アプリケーションの互換性の問題 ............................................................................................................. 10-2プリコンパイラおよびプリコンパイラおよびプリコンパイラおよびプリコンパイラおよび OCIアプリケーションのアップグレードアプリケーションのアップグレードアプリケーションのアップグレードアプリケーションのアップグレード ............................................................... 10-3

ソフトウェア・アップグレードおよびクライアント /サーバー構成の理解 .................................... 10-4

Oracleソフトウェアをアップグレードする場合のアプリケーションの互換性規則 ........................ 10-5

プリコンパイラおよび OCIアプリケーションのアップグレード選択肢 ........................................... 10-8SQL*Plusスクリプトのアップグレードスクリプトのアップグレードスクリプトのアップグレードスクリプトのアップグレード ........................................................................................................ 10-11

Oracle7 FormsまたはまたはまたはまたはOracle Developerアプリケーションのアップグレードアプリケーションのアップグレードアプリケーションのアップグレードアプリケーションのアップグレード ..................................... 10-12

11 Server Managerからからからから SQL*Plusへの移行への移行への移行への移行

起動の違い起動の違い起動の違い起動の違い ............................................................................................................................................................. 11-2

Server Managerの起動 ................................................................................................................................ 11-2

SQL*Plusの起動 ........................................................................................................................................... 11-2コマンドコマンドコマンドコマンド ................................................................................................................................................................. 11-3

SQL*Plusリリース 8.1の新しいコマンド ................................................................................................ 11-3

Server Managerと SQL*Plusに共通のコマンド ..................................................................................... 11-5

vi

Page 9: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Server Managerコマンドと同等の SQL*Plusコマンド ......................................................................... 11-7

SET TIMINGコマンドの違い .................................................................................................................... 11-8

SQL*Plusで使用できない Server Managerコマンド ............................................................................. 11-8

構文の違い構文の違い構文の違い構文の違い ............................................................................................................................................................. 11-9

コメント ......................................................................................................................................................... 11-9

空白行 ........................................................................................................................................................... 11-12

ハイフン継続文字 ....................................................................................................................................... 11-13

アンパサンド ............................................................................................................................................... 11-15

CREATE TYPEおよび CREATE LIBRARYコマンド .......................................................................... 11-16

COMMITコマンド .................................................................................................................................... 11-17

12 物理物理物理物理 ROWIDの移行についての移行についての移行についての移行について

アプリケーションおよびデータの移行アプリケーションおよびデータの移行アプリケーションおよびデータの移行アプリケーションおよびデータの移行 ............................................................................................................. 12-2

DBMS_ROWIDパッケージパッケージパッケージパッケージ .............................................................................................................................. 12-3

ROWID変換型 ............................................................................................................................................. 12-3

ROWID変換ファンクション ..................................................................................................................... 12-4

変換プロシージャの例 ................................................................................................................................. 12-5スナップショット・リフレッシュスナップショット・リフレッシュスナップショット・リフレッシュスナップショット・リフレッシュ ..................................................................................................................... 12-6バージョンバージョンバージョンバージョン 7クライアントおよびバージョンクライアントおよびバージョンクライアントおよびバージョンクライアントおよびバージョン 6クライアントの互換性の問題クライアントの互換性の問題クライアントの互換性の問題クライアントの互換性の問題 ......................................... 12-7

ROWIDに関する移行および互換性の問題に関する移行および互換性の問題に関する移行および互換性の問題に関する移行および互換性の問題 ..................................................................................................... 12-7

リリース 8.0およびリリース 8.1クライアントからバージョン 7データベースへのアクセス ....... 12-8

バージョン 7クライアントからリリース 8.0およびリリース 8.1データベースへのアクセス ....... 12-8

インポートおよびエクスポート ................................................................................................................. 12-8ROWIDの移行に関するよくある質問とその回答の移行に関するよくある質問とその回答の移行に関するよくある質問とその回答の移行に関するよくある質問とその回答 ......................................................................................... 12-9

13 古いリリース古いリリース古いリリース古いリリース 8.0およびリリースおよびリリースおよびリリースおよびリリース 8.1へのダウングレードへのダウングレードへのダウングレードへのダウングレード

オフライン全体バックアップの実行オフライン全体バックアップの実行オフライン全体バックアップの実行オフライン全体バックアップの実行 ................................................................................................................. 13-2非互換性の削除非互換性の削除非互換性の削除非互換性の削除 ..................................................................................................................................................... 13-2

表領域 ........................................................................................................................................................... 13-10

スキーマ・オブジェクト ........................................................................................................................... 13-13

パーティション化 ....................................................................................................................................... 13-22

データ型 ....................................................................................................................................................... 13-25

ユーザー定義データ型 ............................................................................................................................... 13-29

SQLおよび PL/SQL .................................................................................................................................. 13-33

Java ............................................................................................................................................................... 13-34

vii

Page 10: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

アドバンスト・キューイング(AQ) ...................................................................................................... 13-35

プロシージャおよびパッケージ ............................................................................................................... 13-41

制約およびトリガー ................................................................................................................................... 13-42

Oracleオプティマイザ .............................................................................................................................. 13-44

セキュリティ ............................................................................................................................................... 13-45

データベース・バックアップおよびリカバリ ....................................................................................... 13-46

分散データベース ....................................................................................................................................... 13-47

Net8 .............................................................................................................................................................. 13-50データベース互換性のリセットデータベース互換性のリセットデータベース互換性のリセットデータベース互換性のリセット ....................................................................................................................... 13-51

データベースのダウングレードデータベースのダウングレードデータベースのダウングレードデータベースのダウングレード ....................................................................................................................... 13-52

レプリケーション・サポートの再生成 ................................................................................................... 13-63

リリース 8.0.4での UTL_REFパッケージの再インストール ............................................................. 13-63

リリース 8.0.3での Recovery Managerパッケージの再インストール ............................................. 13-64

14 Oracle7へのダウングレードへのダウングレードへのダウングレードへのダウングレード

Oracle8iからからからからOracle7へのダウングレードの概要へのダウングレードの概要へのダウングレードの概要へのダウングレードの概要 ........................................................................................ 14-2

新規または変更データを含まないデータベースのダウングレード新規または変更データを含まないデータベースのダウングレード新規または変更データを含まないデータベースのダウングレード新規または変更データを含まないデータベースのダウングレード ............................................................. 14-2新規または変更データを含むデータベースのダウングレード新規または変更データを含むデータベースのダウングレード新規または変更データを含むデータベースのダウングレード新規または変更データを含むデータベースのダウングレード ..................................................................... 14-3

ダウングレードの代替方法 ......................................................................................................................... 14-4

A 移行問題のトラブルシューティング移行問題のトラブルシューティング移行問題のトラブルシューティング移行問題のトラブルシューティング

移行ユーティリティおよび移行ユーティリティおよび移行ユーティリティおよび移行ユーティリティおよび Oracle Data Migration Assistantの使用に関する問題の使用に関する問題の使用に関する問題の使用に関する問題 .................................. A-2

一般的な移行問題 ........................................................................................................................................... A-2

移行ユーティリティ・エラー ....................................................................................................................... A-5ALTER DATABASE CONVERT文における問題文における問題文における問題文における問題 ........................................................................................ A-17

Oracle7制御ファイルの存在 ..................................................................................................................... A-17

NOMOUNT以外のモードで起動するデータベース ............................................................................ A-17

変換ファイルが見付からない .................................................................................................................... A-18

REMOTE_LOGIN_PASSWORDFILEから EXCLUSIVEへの初期化パラメータの設定 ................. A-18

データベース名の不一致 ............................................................................................................................ A-19

ALTER DATABASE CONVERT文の再実行 .......................................................................................... A-20

データ・ファイルのバージョン整合性の問題 ........................................................................................ A-20手動の移行スクリプトおよびアップグレード・スクリプトの実行中の問題手動の移行スクリプトおよびアップグレード・スクリプトの実行中の問題手動の移行スクリプトおよびアップグレード・スクリプトの実行中の問題手動の移行スクリプトおよびアップグレード・スクリプトの実行中の問題 ............................................ A-21

極端に時間がかかるスクリプトの実行 .................................................................................................... A-21

viii

Page 11: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

B 初期化パラメータの変更初期化パラメータの変更初期化パラメータの変更初期化パラメータの変更

Oracle8およびおよびおよびおよび Oracle8iで追加された初期化パラメータで追加された初期化パラメータで追加された初期化パラメータで追加された初期化パラメータ .............................................................................. B-2

リリース 8.0で追加された初期化パラメータ ............................................................................................ B-2

リリース 8.1で追加された初期化パラメータ ............................................................................................ B-3

Oracle8およびおよびおよびおよび Oracle8iで改名された初期化パラメータで改名された初期化パラメータで改名された初期化パラメータで改名された初期化パラメータ .............................................................................. B-4

リリース 8.0で改名された初期化パラメータ ............................................................................................ B-4

リリース 8.1.4で改名された初期化パラメータ ......................................................................................... B-5

リリース 8.1.5で改名された初期化パラメータ ......................................................................................... B-5

Oracle8およびおよびおよびおよび Oracle8iで廃止された初期化パラメータで廃止された初期化パラメータで廃止された初期化パラメータで廃止された初期化パラメータ .............................................................................. B-6

リリース 8.0で廃止された初期化パラメータ ............................................................................................ B-6

リリース 8.1で廃止された初期化パラメータ ............................................................................................ B-6

初期化パラメータの互換性の問題初期化パラメータの互換性の問題初期化パラメータの互換性の問題初期化パラメータの互換性の問題 ....................................................................................................................... B-9

SORT_AREA_SIZEおよび SORT_DIRECT_WRITESパラメータ ......................................................... B-9

LOG_CHECKPOINT_TIMEOUTの新規デフォルト値 ........................................................................... B-9

データ・ディクショナリの保護 ................................................................................................................... B-9

DML_LOCKSパラメータ .......................................................................................................................... B-10

DB_DOMAINパラメータ ......................................................................................................................... B-10

ラージ・プールから割り当てられたパラレル実行 ................................................................................ B-11

アーカイブ・ログの宛先のパラメータ .................................................................................................... B-14

ORACLE_TRACE_ENABLEパラメータ ................................................................................................ B-17

C 静的データ・ディクショナリ・ビューの変更静的データ・ディクショナリ・ビューの変更静的データ・ディクショナリ・ビューの変更静的データ・ディクショナリ・ビューの変更

Oracle8およびおよびおよびおよび Oracle8iで追加された静的データ・ディクショナリ・ビューで追加された静的データ・ディクショナリ・ビューで追加された静的データ・ディクショナリ・ビューで追加された静的データ・ディクショナリ・ビュー ......................................... C-2

リリース 8.0で追加された静的データ・ディクショナリ・ビュー ....................................................... C-2

リリース 8.1で追加された静的データ・ディクショナリ・ビュー ....................................................... C-4

Oracle8およびおよびおよびおよび Oracle8iで列が追加された静的データ・ディクショナリ・ビューで列が追加された静的データ・ディクショナリ・ビューで列が追加された静的データ・ディクショナリ・ビューで列が追加された静的データ・ディクショナリ・ビュー ................................. C-7

リリース 8.0で列が追加された静的データ・ディクショナリ・ビュー ............................................... C-7

リリース 8.1で列が追加された静的データ・ディクショナリ・ビュー ............................................... C-9

Oracle8およびおよびおよびおよび Oracle8iで列が削除された静的データ・ディクショナリ・ビューで列が削除された静的データ・ディクショナリ・ビューで列が削除された静的データ・ディクショナリ・ビューで列が削除された静的データ・ディクショナリ・ビュー ............................... C-12

リリース 8.0で列が削除された静的データ・ディクショナリ・ビュー ............................................. C-12

リリース 8.1で列が削除された静的データ・ディクショナリ・ビュー ............................................. C-13

Oracle8およびおよびおよびおよび Oracle8iで列が改名された静的データ・ディクショナリ・ビューで列が改名された静的データ・ディクショナリ・ビューで列が改名された静的データ・ディクショナリ・ビューで列が改名された静的データ・ディクショナリ・ビュー ............................... C-14

リリース 8.0で列が改名された静的データ・ディクショナリ・ビュー ............................................. C-14NULLを戻す可能性のある列を持つ静的データ・ディクショナリ・ビューを戻す可能性のある列を持つ静的データ・ディクショナリ・ビューを戻す可能性のある列を持つ静的データ・ディクショナリ・ビューを戻す可能性のある列を持つ静的データ・ディクショナリ・ビュー ........................................... C-15

Oracle8およびおよびおよびおよび Oracle8iで廃止された静的データ・ディクショナリ・ビューで廃止された静的データ・ディクショナリ・ビューで廃止された静的データ・ディクショナリ・ビューで廃止された静的データ・ディクショナリ・ビュー ....................................... C-17

ix

Page 12: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

リリース 8.0で廃止された静的データ・ディクショナリ・ビュー ..................................................... C-17

リリース 8.1で廃止された静的データ・ディクショナリ・ビュー ..................................................... C-17

D 動的パフォーマンス・ビューの変更動的パフォーマンス・ビューの変更動的パフォーマンス・ビューの変更動的パフォーマンス・ビューの変更

Oracle8およびおよびおよびおよび Oracle8iで追加された動的パフォーマンス・ビューで追加された動的パフォーマンス・ビューで追加された動的パフォーマンス・ビューで追加された動的パフォーマンス・ビュー ......................................................... D-2

リリース 8.0で追加された動的パフォーマンス・ビュー ....................................................................... D-2

リリース 8.1で追加された動的パフォーマンス・ビュー ....................................................................... D-5

Oracle8およびおよびおよびおよび Oracle8iで改名された動的パフォーマンス・ビューで改名された動的パフォーマンス・ビューで改名された動的パフォーマンス・ビューで改名された動的パフォーマンス・ビュー ......................................................... D-7

リリース 8.1で改名された動的パフォーマンス・ビュー ....................................................................... D-7Oracle8およびおよびおよびおよび Oracle8iで列が追加された動的パフォーマンス・ビューで列が追加された動的パフォーマンス・ビューで列が追加された動的パフォーマンス・ビューで列が追加された動的パフォーマンス・ビュー ................................................. D-8

リリース 8.0で列が追加された動的パフォーマンス・ビュー ............................................................... D-8

リリース 8.1で列が追加された動的パフォーマンス・ビュー ............................................................... D-9リリースリリースリリースリリース 8.1で列が削除された動的パフォーマンス・ビューで列が削除された動的パフォーマンス・ビューで列が削除された動的パフォーマンス・ビューで列が削除された動的パフォーマンス・ビュー ..................................................................... D-11

リリース 8.1で列が削除された動的パフォーマンス・ビュー ............................................................. D-11

リリース 8.1.6で列が改名された動的パフォーマンス・ビュー .......................................................... D-12Oracle8およびおよびおよびおよび Oracle8iで廃止された動的パフォーマンス・ビューで廃止された動的パフォーマンス・ビューで廃止された動的パフォーマンス・ビューで廃止された動的パフォーマンス・ビュー ....................................................... D-13

リリース 8.1で廃止された動的パフォーマンス・ビュー ..................................................................... D-13動的パフォーマンス・ビューの日付列動的パフォーマンス・ビューの日付列動的パフォーマンス・ビューの日付列動的パフォーマンス・ビューの日付列 ............................................................................................................ D-13

E 新しい内部データ型と新しい内部データ型と新しい内部データ型と新しい内部データ型と SQL関数関数関数関数

新しいリリースで追加された内部データ型新しいリリースで追加された内部データ型新しいリリースで追加された内部データ型新しいリリースで追加された内部データ型 ....................................................................................................... E-2

リリース 8.0で追加された内部データ型 .................................................................................................... E-2

リリース 8.1で追加された内部データ型 .................................................................................................... E-2

新しいリリースで追加された新しいリリースで追加された新しいリリースで追加された新しいリリースで追加された SQL関数関数関数関数 ............................................................................................................ E-3

リリース 8.0で追加された SQL関数 .......................................................................................................... E-3

リリース 8.1で追加された SQL関数 .......................................................................................................... E-4

F 移行およびアップグレードに関する移行およびアップグレードに関する移行およびアップグレードに関する移行およびアップグレードに関する SQL*Netおよびおよびおよびおよび Net8の考慮点の考慮点の考慮点の考慮点

Net8とととと SQL*Netの違いの違いの違いの違い ...................................................................................................................................... F-2

廃止された SQL*Netパラメータ ................................................................................................................. F-3

クライアントおよびデータベースの共存問題クライアントおよびデータベースの共存問題クライアントおよびデータベースの共存問題クライアントおよびデータベースの共存問題 ................................................................................................... F-4

リリース 8.1クライアントからリリース 8.1データベースへの接続 ..................................................... F-4

リリース 8.0/Oracle7クライアントからリリース 8.1データベースへの接続 ..................................... F-4

リリース 8.1クライアントからリリース 8.0/Oracle7データベースへの接続 ..................................... F-7

Oracle Names .................................................................................................................................................. F-9

x

Page 13: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Net8 Assistantを使用した互換性の問題の処理を使用した互換性の問題の処理を使用した互換性の問題の処理を使用した互換性の問題の処理 ............................................................................................... F-9Net8リリースリリースリリースリリース 8.1への移行およびアップグレードへの移行およびアップグレードへの移行およびアップグレードへの移行およびアップグレード ........................................................................................ F-10

手順 1: サービス名およびインスタンス名の検証 .................................................................................... F-10

手順 2: サーバーのソフトウェアのアップグレードまたは移行の実行 ................................................ F-11

手順 3: クライアントのソフトウェアの移行またはアップグレードの実行 ........................................ F-11

手順 4: 機能のアップグレードおよび移行の実行 .................................................................................... F-11

Oracle Connection Managerリリースリリースリリースリリース 8.1の使用の使用の使用の使用 ......................................................................................... F-14

Oracle Multi-Protocol Interchangeのかわりの Oracle Connection Managerの使用 ....................... F-15Oracle Namesリリースリリースリリースリリース 8.0およびリリースおよびリリースおよびリリースおよびリリース 8.1の使用の使用の使用の使用 ................................................................................ F-15

データベースを使用した Oracle Namesバージョン 2からの移行 ...................................................... F-16

動的検出オプションを使用した Oracle Namesバージョン 2からの移行 .......................................... F-18

ROSFILESからの移行 ................................................................................................................................. F-20

移行チェックリストの確認 ......................................................................................................................... F-23

G レプリケーション環境の移行および互換性レプリケーション環境の移行および互換性レプリケーション環境の移行および互換性レプリケーション環境の移行および互換性

レプリケーションの移行の概要レプリケーションの移行の概要レプリケーションの移行の概要レプリケーションの移行の概要 .......................................................................................................................... G-2

すべてのサイトの同時移行すべてのサイトの同時移行すべてのサイトの同時移行すべてのサイトの同時移行 .................................................................................................................................. G-3段階的移行段階的移行段階的移行段階的移行 .............................................................................................................................................................. G-5

段階的移行のための Oracle7マスター・サイトの準備 .......................................................................... G-5

スナップショット・サイトの段階的移行 .................................................................................................. G-6

マスター・サイトの段階的移行 .................................................................................................................. G-7エクスポートエクスポートエクスポートエクスポート /インポートを使用した移行インポートを使用した移行インポートを使用した移行インポートを使用した移行 .................................................................................................... G-10

主キー・スナップショットへのアップグレード主キー・スナップショットへのアップグレード主キー・スナップショットへのアップグレード主キー・スナップショットへのアップグレード ............................................................................................ G-11

マスター・サイトでの主キー・スナップショットの変換 .................................................................... G-11

スナップショット・サイトでの主キー・スナップショットの変換 .................................................... G-12

Oracleリリースリリースリリースリリース 8.0およびリリースおよびリリースおよびリリースおよびリリース 8.1への移行が必要な機能への移行が必要な機能への移行が必要な機能への移行が必要な機能 ................................................................. G-13廃止されたプロシージャ廃止されたプロシージャ廃止されたプロシージャ廃止されたプロシージャ .................................................................................................................................... G-14

索引索引索引索引

xi

Page 14: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

xii

Page 15: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

はじめにはじめにはじめにはじめに

このマニュアルは、Oracleデータベース・システムの移行、アップグレード、ダウングレードの計画と実行の手引きを示しています。ここでは、移行ユーティリティ、Oracle Data Migration Assistant、エクスポート /インポートおよびデータのコピーを使用した移行について説明します。

また、このマニュアルでは互換性、現行リリースへのアプリケーションのアップグレードおよび初期化パラメータの変更やデータ・ディクショナリの変更などの Oracleの現行リリース内の重要な変更について説明します。

この章では、次の項目について説明します。

� 対象読者と前提条件

� このマニュアルの構成

� このマニュアルで使用する表記規則

このマニュアルでは、Oracle8iおよび Oracle8i Enterprise Edition製品の様々な機能について説明します。Oracle8iおよび Oracle8i Enterprise Editionの基本機能は同じです。ただし、いくつかの拡張機能は Oracle8i Enterprise Editionでのみ使用でき、その一部はオプションです。たとえば、パーティション化を使用するには、Oracle8i Enterprise Editionおよびパーティション化オプションが必要です。

xiii

Page 16: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

対象読者と前提条件対象読者と前提条件対象読者と前提条件対象読者と前提条件このマニュアルは、Oracleデータベースの移行、アップグレードまたはダウングレード操作の計画および実行を担当する、データベース管理者(DBA)、アプリケーション開発者、セキュリティ管理者、システム・オペレータを対象に作成されています。このマニュアルのユーザーが Oracle Sereverの現行リリースおよびそのオペレーティング・システム環境を理解していることが前提です。ユーザーが Oracleデータベース管理システム(DBMS)の概要を理解していることも前提としています。『Oracle8i概要』の最初の章では、このマニュアルで使用する概念および用語について広範囲に紹介しています。

このマニュアルの構成このマニュアルの構成このマニュアルの構成このマニュアルの構成このマニュアルは、次の章と付録で構成されています。

第第第第 1章章章章 : 概要概要概要概要

このマニュアル全体で使用される用語の定義について説明します。また、同一のコンピュータ・システム上で、異なるバージョンまたはリリースの Oracleを実行する方法についても説明します。

第第第第 2章章章章 : 移行の概要移行の概要移行の概要移行の概要

移行の手順およびデータベース管理者とアプリケーション開発者の役割について説明します。

第第第第 3章章章章 : 移行の準備移行の準備移行の準備移行の準備

データベースを移行する前に行う手順について説明します。

第第第第 4章章章章 : 移行ユーティリティによる移行ユーティリティによる移行ユーティリティによる移行ユーティリティによる Oracle7からの移行からの移行からの移行からの移行

移行ユーティリティを使用して Oracle7データベースを Oracle8iに移行する方法について説明します。

第第第第 5章章章章 : Oracle Data Migration Assistantによるによるによるによる Oracle7からの移行からの移行からの移行からの移行

Oracle Data Migration Assistantを使用して、Oracle7データベースを Oracle8iに移行する方法について説明します。

第第第第 6章章章章 : エクスポートエクスポートエクスポートエクスポート /インポートによる移行インポートによる移行インポートによる移行インポートによる移行

エクスポート /インポート・ユーティリティを使用して、Oracle7またはバージョン 6のデータベースを Oracle8iに移行する方法について説明します。

xiv

Page 17: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

第第第第 7章章章章 : 以前の以前の以前の以前の Oracle8から新しいから新しいから新しいから新しい Oracle8iへのアップグレードへのアップグレードへのアップグレードへのアップグレード

次の手順について段階的に説明します。

� リリース 8.0または前回のリリース 8.1から Oracleの新しいリリース 8.1へのアップグレード

� Oracleソフトウェアの固有のコンポーネントの現行リリースへのアップグレード

� ユーザーのデータベースのワード・サイズの変更(32ビットと 64ビットの切換え)

第第第第 8章章章章 : データベースの移行後またはアップグレード後の作業データベースの移行後またはアップグレード後の作業データベースの移行後またはアップグレード後の作業データベースの移行後またはアップグレード後の作業

データベースを、新しい Oracle8iリリースへ移行した後で行う手順について説明します。

第第第第 9章章章章 : 互換性および相互運用性互換性および相互運用性互換性および相互運用性互換性および相互運用性

Oracleの異なるリリース間の互換性および相互運用性について、COMPATIBLE初期化パラメータの詳細も含めて説明します。この章では、リリース 8.1.0以上の互換性レベルを必要とするリリース 8.1の機能も説明します。また、互換性および相互運用性に関連する固有の問題も説明します。

第第第第 10章章章章 : アプリケーションのアップグレードアプリケーションのアップグレードアプリケーションのアップグレードアプリケーションのアップグレード

Oracle7アプリケーションおよび Toolsを Oracle8iで使用できるようにアップグレードする方法の概要を説明します。

第第第第 11章章章章 : Server Managerからからからから SQL*Plusへの移行への移行への移行への移行

SQL*Plusで使用できるように Server Managerラインモードのスクリプトを変更する方法を説明します。Server Managerラインモードではなく、SQL*Plusでスクリプトを実行することをお薦めします。

第第第第 12章章章章 : 物理物理物理物理 ROWIDの移行についての移行についての移行についての移行について

リリース 8.0およびリリース 8.1の ROWIDに関連する問題について、ROWIDを含む列のリリース 8.0およびリリース 8.1への移行など固有の情報も含めて説明します。

第第第第 13章章章章 : 古いリリース古いリリース古いリリース古いリリース 8.0およびリリースおよびリリースおよびリリースおよびリリース 8.1へのへのへのへの ダウングレードダウングレードダウングレードダウングレード

新しいリリース 8.1から前回のリリース 8.1またはリリース 8.0へのダウングレードの方法を説明します。この章では、ダウングレード先のリリースとの非互換性の解消、およびデータベースの互換性レベルの再設定についても説明します。

第第第第 14章章章章 : Oracle7へのダウングレードへのダウングレードへのダウングレードへのダウングレード

Oracle8iから Oracle7へのデータベースのダウングレードについて説明します。

xv

Page 18: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

付録付録付録付録 A: 移行問題のトラブルシューティング移行問題のトラブルシューティング移行問題のトラブルシューティング移行問題のトラブルシューティング

移行に共通の問題およびこれら問題の解決に必要な処置について説明します。また、移行ユーティリティおよび Oracle Data Migration Assistantによって表示されるメッセージをリストで示し、各メッセージについても説明します。エラー・メッセージの場合、考えられる原因および解決のための処置について説明します。

付録付録付録付録 B: 初期化パラメータの変更初期化パラメータの変更初期化パラメータの変更初期化パラメータの変更

移行に重要な Oracle初期化パラメータをリストで示します。特に、この付録ではリリース8.0およびリリース 8.1で追加または改名された初期化パラメータ、あるいは使用されなくなった初期化パラメータについて説明します。また、固有の初期化パラメータに関連する互換性の問題も説明します。

付録付録付録付録 C: 静的データ・ディクショナリ・ビューの変更静的データ・ディクショナリ・ビューの変更静的データ・ディクショナリ・ビューの変更静的データ・ディクショナリ・ビューの変更

追加された静的データ・ディクショナリ・ビューまたは使用されなくなった静的データ・ディクショナリ・ビューをリストで示します。また、列が追加、削除および改名された静的データ・ディクショナリ・ビューもリストで示します。リリース 8.1から NULLを戻すようになった静的データ・ディクショナリ・ビューの列もリストで示します。

付録付録付録付録 D: 動的パフォーマンス・ビューの変更動的パフォーマンス・ビューの変更動的パフォーマンス・ビューの変更動的パフォーマンス・ビューの変更

追加された動的パフォーマンス・ビューまたは使用されなくなった動的パフォーマンス・ビュー(V$ビュー)をリストで示します。列が追加または削除された動的パフォーマンス・ビューもリストで示します。

付録付録付録付録 E: 新しい内部データ型と新しい内部データ型と新しい内部データ型と新しい内部データ型と SQL関数関数関数関数

新しいの内部データ型および SQL関数をリストで示します。

付録付録付録付録 F: 移行およびアップグレードに関する移行およびアップグレードに関する移行およびアップグレードに関する移行およびアップグレードに関する SQL*Netおよびおよびおよびおよび Net8の考慮点の考慮点の考慮点の考慮点

SQL*Netを Oracle7から新しいリリースへ移行する際の考慮事項について説明します。また、SQL*Netまたは Net8を Oracleのリリース 8.0からリリース 8.1へアップグレードする際の考慮点についても説明します。

付録付録付録付録 G: レプリケーション環境の移行および互換性レプリケーション環境の移行および互換性レプリケーション環境の移行および互換性レプリケーション環境の移行および互換性

Oracleレプリケーションを使用したシステムを Oracle7データベースからリリース 8.0およびリリース 8.1へ移行する方法について説明します。また、Oracleレプリケーションのリリース 8.0およびリリース 8.1と以前のバージョンの互換性の問題についても説明します。

このマニュアルでの変更点このマニュアルでの変更点このマニュアルでの変更点このマニュアルでの変更点このマニュアルでの主な変更点を次に示します。

xvi

Page 19: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

� 以前のリリースでは、このマニュアルはWindowsプラットフォームでの移行、アップグレードおよびダウングレードについて詳細に説明していませんでした。今回のリリースでは、Windowsプラットフォームでこれらの操作を実行するための固有の手順について説明しています。

� 付録 F「移行およびアップグレードに関する SQL*Netおよび Net8の考慮点」および付録G「レプリケーション環境の移行および互換性」の 2つの付録が追加されています。

このマニュアルで使用する表記規則このマニュアルで使用する表記規則このマニュアルで使用する表記規則このマニュアルで使用する表記規則このマニュアルでは、次に示す表記規則に従います。

大文字 アルファベットの大文字は、文のキーワード、オブジェクト名、初期化パラメータ、静的データ・ディクショナリ・ビュー名および動的データ・ディクショナリ・ビュー名を示します。次にその例を示します。

「COMPATIBLE初期化パラメータを使用して、データベースの互換性が制御できます。」

イタリック イタリック文字は変数を示します。次にその例を示します。

「アップグレードする前にインストールされていたリリースを old_releaseが参照する場合、uold_release.sqlを実行してください。」

コード例 SQL、Server Managerラインモード、および SQL*Plusのコマンドと文は、次の例のように通常のテキストとは別に固定幅フォントで示します。

SELECT username FROM dba_users WHERE username = 'MIGRATE';

サンプル文には、カンマまたは引用符などの句読点が含まれている場合があります。サンプル文にある句読点は、すべて必須構文です。セミコロンまたはその他の終了文字が文を終了するために必須であるかどうかは、アプリケーションによって異なります。また、文を終了するために次行にスラッシュ(/)が必要なアプリケーションもあります。

サンプル文の大文字は、SQL内のキーワードを示しています。ただし、文を発行するとき、キーワードの大文字と小文字は区別されません。

サンプル文の小文字は、その単語が単なる例として使用されていることを示しています。たとえば、小文字の単語は、場合によって、表、列、ファイルなどの名前を示します。

固定幅フォントが段落内にある場合、それは次の例にあるように、ファイル名、スクリプト名、実行ファイル名またはディレクトリ・パスを意味します。

「リリース 8.1の互換性レベルでユーザー定義型を識別するには、リリース 8.1に付属する utlincmpt.sqlスクリプトを実行します。」

xvii

Page 20: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

xviii

Page 21: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

1

概要概要概要概要

この章では、このマニュアルで使用される用語の定義とデータベースのワード・サイズの変更について説明します。また、同一のコンピュータ・システム上で、異なるバージョンまたはリリースの Oracleを実行する方法についても説明します。さらに、移行、アップグレードおよびダウングレードの操作に関する他の項目について説明します。

この章では、次の項目について説明します。

� 用語

� Oracleの複数バージョンおよびリリースの実行

� Optimal Flexible Architecture(OFA)の使用

� スクリプトの実行

� ワード・サイズの変更

� Oracle Parallel Serverのローリング・アップグレード

� オプションの削除

概要 1-1

Page 22: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

用語

用語用語用語用語次の用語は、このマニュアル全体で使用されます。

バージョンおよびリリースバージョンおよびリリースバージョンおよびリリースバージョンおよびリリースこのドキュメントに記載されている指示は、Oracleの異なるバージョンおよびリリース間での移行について説明しています。図 1-1に、リリース番号の各部分が表す内容を示します。

図図図図 1-1 Oracleリリース番号の例リリース番号の例リリース番号の例リリース番号の例

このマニュアルに記載される Oracleのバージョンは、そのバージョンのすべてのリリースに適用されます。リリース 8.0およびリリース 8.1についての説明は、リリース 8.0および8.1中のすべてのリリースに適用されます。Oracle7についての説明は、7.0、7.1、7.2および7.3を含むバージョン 7のすべてのリリースに適用されます。

同様に、このマニュアルに記載されるメンテナンス・リリースは、そのメンテナンス・リリース内のすべてのパッチ・リリースおよびポート固有のパッチ・リリースに適用されます。したがって、リリース 8.0についての説明は、リリース 8.0.3、8.0.4、8.0.5および 8.0.6を含むリリース 8.0内のすべてのリリースに適用されますが、ベータ版である 8.0.2には適用されません。

同じことが、パッチ・リリースにも適用されます。このマニュアルに記載されるパッチ・リリースは、そのパッチ・リリース内のすべてのポート固有のパッチ・リリースに適用されます。したがって、リリース 8.1.5についての説明は、8.1.5.0、8.1.5.1およびリリース 8.1.5内のその他すべてのポート固有のパッチ・リリースに適用されます。

参照参照参照参照 : Oracleリリース番号の詳細は、『Oracle8i 管理者ガイド』を参照してください。

8.1.5.1.2バージョン番号� プラットフォーム固有の�

パッチ・セット番号�

新しい機能の�リリース番号�

メンテナンス・リリース番号�

ジェネリック・パッチ・セット番号�

1-2 Oracle8i 移行ガイド

Page 23: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

用語

移行、アップグレードおよびダウングレード移行、アップグレードおよびダウングレード移行、アップグレードおよびダウングレード移行、アップグレードおよびダウングレード移行は、Oracleデータベースのインストール済のバージョンを新しいバージョンに変換する処理です。たとえば、バージョン 7のデータベースを Oracle8iに変換することが、データベース・システムの移行です。

アップグレードは、Oracleデータベースを、インストールされているリリースから同じバージョンの新しいリリースに変換する処理です。たとえば、パッチ・リリース 8.0.3をパッチ・リリース 8.0.4に変換することが、アップグレードです。また、8.0のメンテナンス・リリースを 8.1のメンテナンス・リリースへ変換することもアップグレードです。

ダウングレードは、Oracleデータベースのインストール済のバージョンを、新しいリリースから以前のリリースに逆変換する処理です。たとえば、Oracleデータベースをリリース8.1.5からリリース 8.0.5に戻すことがダウングレードであり、Oracle8iからバージョン 7に戻すこともダウングレードです。

ソース・データベースおよびターゲット・データベースソース・データベースおよびターゲット・データベースソース・データベースおよびターゲット・データベースソース・データベースおよびターゲット・データベースソース・データベースは Oracle8iへ移行されるデータベースであり、移行中は、バージョン6や Oracle7などの古いバージョンの Oracleソフトウェアを使用します。ターゲット・データベースはソース・データベースの移行先のデータベースであり、移行中は、新しいOracle8iのソフトウェアを使用します。

参照参照参照参照 : 移行処理の詳細は、第 2章「移行の概要」を参照してください。

参照参照参照参照 : アップグレードの詳細は、第 7章「以前の Oracle8から新しいOracle8iへのアップグレード」を参照してください。

参照参照参照参照 : リリース 8.1データベースを前回のリリース 8.1またはリリース8.0へダウングレードする方法については、第 13章「古いリリース 8.0およびリリース 8.1への ダウングレード」を参照してください。Oracle7へのダウングレードの詳細は、第 14章「Oracle7へのダウングレード」を参照してください。

概要 1-3

Page 24: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracleの複数バージョンおよびリリースの実行

Oracleの複数バージョンおよびリリースの実行の複数バージョンおよびリリースの実行の複数バージョンおよびリリースの実行の複数バージョンおよびリリースの実行同一のコンピュータ・システム上で Oracleの異なるバージョンを同時に実行できます。ただし、それぞれのバージョンはそのバージョンに対応するデータベースにのみアクセスできます。たとえば、バージョン 7、リリース 8.0およびリリース 8.1を同一のコンピュータ・システムにインストールしている場合は、バージョン 7のサーバーはバージョン 7のデータベースにはアクセスできますが、リリース 8.0およびリリース 8.1のデータベースにはアクセスできません。また、リリース 8.0およびリリース 8.1のサーバーはリリース 8.0およびリリース 8.1のデータベースにはアクセスできますが、バージョン 7のデータベースにはアクセスできません。次の項では、Oracleの複数バージョンおよびリリースを実行する際の概要を説明します。

注意注意注意注意 : 既存のリリース 8.0またはバージョン 7の Oracleホームにリリース 8.1製品をインストールすることはできません。この機能は、以前の一部のリリースでのみ可能であり、以後は継続されていません。リリース8.1は、以前のリリースとは別の Oracleホームにインストールする必要があります。また、1つの Oracleホームに複数のリリースをインストールすることはできません。複数の Oracleホームを作成する場合、Optimal Flexible Architecture(OFA)を採用することをお薦めします。詳細は、1-11ページの「Optimal Flexible Architecture(OFA)の使用」を参照してください。

参照参照参照参照 : ご使用のオペレーティング・システムで、Oracleの複数バージョンおよびリリースを実行する方法の詳細は、各オペレーティング・システム固有の Oracleドキュメントを参照してください。オペレーティング・システムによっては制限がある場合があります。

1-4 Oracle8i 移行ガイド

Page 25: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracleの複数バージョンおよびリリースの実行

複数の複数の複数の複数の Oracleホームへのバージョンホームへのバージョンホームへのバージョンホームへのバージョン 7、リリース、リリース、リリース、リリース 8.0およびリリースおよびリリースおよびリリースおよびリリース 8.1データベースのインストールデータベースのインストールデータベースのインストールデータベースのインストール

異なる複数の Oracleホームにバージョン 7、リリース 8.0およびリリース 8.1のデータベースをインストールし、バージョン 7、リリース 8.0およびリリース 8.1の両方のクライアントを両方のデータベースに接続させることができます。図 1-2に、このネットワーク構成の例を示します。

図図図図 1-2 複数の複数の複数の複数の Oracle ホームにあるバージョンホームにあるバージョンホームにあるバージョンホームにあるバージョン 7、リリース、リリース、リリース、リリース 8.0およびリリースおよびリリースおよびリリースおよびリリース 8.1データベースデータベースデータベースデータベース

Oracle8iデータベース�

8.1.7

Oracle7データベース�

7.3.3

リリース 8.0クライアント�

Oracle7クライアント�

Oracle7クライアント�

リリース 8.1クライアント�

リリース 8.0クライアント�

Oracle8データベース�

8.0.6

Oracle ホーム・ディレクトリ�

3つのデータベースは、同一のコンピュータ上の3つの異なるOracleホーム・ディレクトリにある(複数のOracleホーム)��

概要 1-5

Page 26: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracleの複数バージョンおよびリリースの実行

異なるコンピュータへのバージョン異なるコンピュータへのバージョン異なるコンピュータへのバージョン異なるコンピュータへのバージョン 7、リリース、リリース、リリース、リリース 8.0およびリリースおよびリリースおよびリリースおよびリリース 8.1データベースのインストールデータベースのインストールデータベースのインストールデータベースのインストール

異なるコンピュータにバージョン 7、リリース 8.0およびリリース 8.1データベースをインストールし、バージョン 7、リリース 8.0およびリリース 8.1の両方のクライアントを両方のデータベースに接続させることができます。次の図では、2つのコンピュータに多数のバージョン 7、リリース 8.0およびリリース 8.1クライアントが接続します。

図 1-3に、このネットワーク構成を示します。

図図図図 1-3 異なるコンピュータ上のバージョン異なるコンピュータ上のバージョン異なるコンピュータ上のバージョン異なるコンピュータ上のバージョン 7、リリース、リリース、リリース、リリース 8.0およびリリースおよびリリースおよびリリースおよびリリース 8.1データベースデータベースデータベースデータベース

リリース 8.0クライアント�

Oracle7クライアント�

Oracle7クライアント�

リリース 8.1クライアント�

リリース 8.0クライアント�

3つのデータベースは、同一のコンピュータ上の3つのOracleホーム・ディレクトリにある�

Oracle8iデータベース

8.1.5

Oracle8データベース

8.0.4

Oracle8データベース

8.0.5

3つのデータベースは、同一のコンピュータ上の3つのOracleホーム・ディレクトリにある�

Oracle8iデータベース

8.1.7

Oracle7データベース�

7.3.4

Oracle8データベース

8.0.6

Oracle ホーム・ディレクトリ�

Oracle ホーム・ディレクトリ�

1-6 Oracle8i 移行ガイド

Page 27: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracleの複数バージョンおよびリリースの実行

バージョンバージョンバージョンバージョン 7データベースのリリースデータベースのリリースデータベースのリリースデータベースのリリース 8.0およびリリースおよびリリースおよびリリースおよびリリース 8.1データベースデータベースデータベースデータベースへの移行への移行への移行への移行

バージョン 7データベースをリリース 8.0およびリリース 8.1データベースに移行して、バージョン 7、リリース 8.0およびリリース 8.1のクライアントをリリース 8.0およびリリース 8.1データベースに接続させることができます。バージョン 7データベースを、同一のOracleホームにあるリリース 8.0およびリリース 8.1データベースへ移行することはできません。

図 1-4に、このネットワーク構成を示します。

図図図図 1-4 バージョンバージョンバージョンバージョン 7データベースのリリースデータベースのリリースデータベースのリリースデータベースのリリース 8.0およびリリースおよびリリースおよびリリースおよびリリース 8.1データベースへの移行データベースへの移行データベースへの移行データベースへの移行

Oracle7クライアント�

Oracle7クライアント�

リリース 8.0クライアント�

リリース 8.1クライアント�

Oracle8iデータベース

8.1.7

Oracle7データベース

7.3.3

Oracle7データベースを異なるOracleホームにあるOracle8iデータベースに移行�

概要 1-7

Page 28: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracleの複数バージョンおよびリリースの実行

リリースリリースリリースリリース 8.0データベースのリリースデータベースのリリースデータベースのリリースデータベースのリリース 8.1データベースへのアップグレードデータベースへのアップグレードデータベースへのアップグレードデータベースへのアップグレードリリース 8.0.6などのリリース 8.0データベースをリリース 8.1にアップグレードして、バージョン 7およびリリース 8.0の両方のクライアントをリリース 8.1データベースに接続させることができます。リリース 8.0データベースを、同一の Oracleホームにあるリリース 8.1データベースへアップグレードすることはできません。

図 1-5に、このネットワーク構成を示します。

図図図図 1-5 リリースリリースリリースリリース 8.0データベースのリリースデータベースのリリースデータベースのリリースデータベースのリリース 8.1 へのアップグレードへのアップグレードへのアップグレードへのアップグレード

Oracle7クライアント�

Oracle7クライアント�

リリース 8.0クライアント�

リリース 8.1クライアント�

Oracle8iデータベース�

8.1.7

Oracle8データベース

8.0.6

リリース8.0データベースを、異なる複数のOracleホームにある現行のリリース8.1データベースに移行�

1-8 Oracle8i 移行ガイド

Page 29: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracleの複数バージョンおよびリリースの実行

以前のリリース以前のリリース以前のリリース以前のリリース 8.1データベースの今回のリリースへのアップグレードデータベースの今回のリリースへのアップグレードデータベースの今回のリリースへのアップグレードデータベースの今回のリリースへのアップグレードリリース 8.1.5などの以前のリリース 8.1データベースを今回のリリース 8.1にアップグレードして、バージョン 7、リリース 8.0およびリリース 8.1クライアントをリリース 8.1データベースに接続させることができます。以前のリリース 8.1データベースを、同一の Oracleホームにある今回のリリース 8.1データベースへアップグレードすることは可能ですが、お薦めしません。新しいリリース 8.1用には、別の Oracleホーム・ディレクトリを使用することをお薦めします。

図 1-6に、このネットワーク構成を示します。

図図図図 1-6 以前のリリース以前のリリース以前のリリース以前のリリース 8.1データベースの今回のリリースへのアップグレードデータベースの今回のリリースへのアップグレードデータベースの今回のリリースへのアップグレードデータベースの今回のリリースへのアップグレード

Oracle8iデータベース

8.1.7

Oracle8iデータベース

8.1.5

Oracle7クライアント�

Oracle7クライアント�

リリース 8.0クライアント�

リリース 8.1クライアント�

以前のリリース8.1データベースを、異なる複数のOracleホームにある現行のリリース8.1データベースに移行�

概要 1-9

Page 30: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracleの複数バージョンおよびリリースの実行

バージョンバージョンバージョンバージョン 7クライアントのリリースクライアントのリリースクライアントのリリースクライアントのリリース 8.0およびリリースおよびリリースおよびリリースおよびリリース 8.1クライアントクライアントクライアントクライアントへの移行への移行への移行への移行

バージョン 7クライアントの一部またはすべてをリリース 8.1に移行することができます。また、バージョン 7データベースをリリース 8.1データベースへ移行したり、後からリリース 8.0データベースを今回のリリース 8.1データベースへアップグレードできます。

図 1-7に、このネットワーク構成を示します。

図図図図 1-7 バージョンバージョンバージョンバージョン 7クライアントのリリースクライアントのリリースクライアントのリリースクライアントのリリース 8.0およびリリースおよびリリースおよびリリースおよびリリース 8.1クライアントへの移行クライアントへの移行クライアントへの移行クライアントへの移行

SQL*Net Clientリリース2.xで構成したOracle7クライアント�

Net8 Clientで構成したリリース8.1クライアント�

Oracle7クライアント�

リリース 8.0クライアント�

Oracle8iデータベース

8.0.6

Oracle7データベース

7.3.3

Oracle7クライアントをリリース8.1クライアントに移行�

1-10 Oracle8i 移行ガイド

Page 31: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

スクリプトの実行

Optimal Flexible Architecture((((OFA)の使用)の使用)の使用)の使用バージョン 7データベースからの移行、またはリリース 8.0およびリリース 8.1データベースからのアップグレードの場合、オラクル社は Oracle8iのインストール用に Optimal Flexible Architecture(OFA)規格をお薦めします。OFA規格とは、メンテナンスの手間がほとんどない、効率的で信頼性のある Oracleデータベース用の構成ガイドラインです。

OFAには、次の利点があります。

� ディスク上の大量の複雑なソフトウェアおよびデータを、デバイスのボトルネックまたはパフォーマンスの低下を避けながら構成する。

� ソフトウェアまたはデータ・バックアップ機能などのデータ破損の危険性のある日常業務を簡単にする。

� 複数の Oracleデータベース間での切替えを軽減する。

� データベース成長を処理および管理できる。

� データ・ディクショナリにおける空き領域の断片化を除去し、その他の断片化を見極め、リソース競合を最小限に抑える。

現在、OFA規格を使用していない場合、OFA規格への切替えには、ディレクトリ構造の修正とデータベース・ファイルの再配置が伴います。

スクリプトの実行スクリプトの実行スクリプトの実行スクリプトの実行移行、アップグレードおよびダウングレード処理を実行する場合、様々なスクリプトを実行する必要があります。スクリプトを実行するとき、スクリプトが「ORA-」エラーをレポートする場合があります。一般的に、領域が不足していることを警告するエラーまたはスクリプトの実行に失敗したことを警告するエラーは、調査する必要があります。これらのタイプのエラーが発生する場合、スクリプト操作は成功していない場合があります。ただし、存在しないオブジェクトの変更や削除の障害についてのエラーは、通常無視できます。

参照参照参照参照 : OFAの詳細は、Oracleオペレーティング・システム固有のドキュメントを参照してください。また、データベース・ファイルの再配置の詳細は、『Oracle8i 管理者ガイド』を参照してください。

参照参照参照参照 : 「ORA-」エラーの詳細は、『Oracle8i エラー・メッセージ』を参照してください。

概要 1-11

Page 32: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

ワード・サイズの変更

ワード・サイズの変更ワード・サイズの変更ワード・サイズの変更ワード・サイズの変更移行、アップグレード、ダウングレード操作の際、Oracleデータベース・サーバーのワード・サイズを変更することができます。ワード・サイズの変更には、次のような状況が考えられます。

� 64ビット・ハードウェアにインストールされている 32ビット Oracleソフトウェアを、64ビット Oracleソフトウェアへ変更する。

� 64ビット・ハードウェアにインストールされている 64ビット Oracleソフトウェアを、32ビット Oracleソフトウェアへ変更する。

移行、アップグレードまたはダウングレード操作中にワード・サイズを変更する場合、特別な処理は必要ありません。ワード・サイズは、これらの操作中に自動的に変更されます。ただし、同じリリース間でワード・サイズを変更する場合、7-46ページの「現行リリースのワード・サイズの変更」に記載されている指示に従ってください。たとえば、Oracleリリース 8.1.7の 32ビット・バージョンをOracleリリース 8.1.7の 64ビット・バージョンへ変更する場合、この手順を完了する必要があります。

ハードウェアを 32ビットから 64ビットへアップグレードしたり、64ビットから 32ビットへダウングレードする場合は、次の情報が適用されます。

� ハードウェアをアップグレードする場合、32ビット・ハードウェアから 64ビット・ハードウェアへ変換した後でも、問題なく既存の 32ビット Oracleソフトウェアを使用できます。

� ハードウェアを 64ビットから 32ビットへダウングレードする場合は、ハードウェアのダウングレードの前に、まず Oracleソフトウェアを 32ビット・ソフトウェアへダウングレードする必要があります。

データベース・データ、REDO、UNDOのディスク上の形式は、Oracleの 32ビットおよび64ビットのインストールも同様の形式です。32ビットと 64ビット Oracleのインストールで異なるのは、次の内部構造のみです。

� PL/SQLのコンパイルされた形式。PL/SQLの再コンパイルの方法とタイミングに関する情報は、このマニュアルの該当する章で説明します。

� ユーザー定義型の記憶形式。これは、データベースを作成した Oracleのリリースによって決定されます。既存の記憶形式は、必要に応じて、正しい形式へ透過的に変換されます。ユーザー定義型には、オブジェクト型、REF、VARRAYおよびネストした表が含まれます。

1-12 Oracle8i 移行ガイド

Page 33: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

オプションの削除

Oracle Parallel Serverのローリング・アップグレードのローリング・アップグレードのローリング・アップグレードのローリング・アップグレードローリング・アップグレードはサポートされていません。ローリング・アップグレードとは、Oracle Parallel Server内の同じデータベースの異なるインスタンスの 1つが、Oracleの新しいバージョンやリリースへアップグレードされることです。したがって、ローリング・アップグレードは、結果的にアップグレード・プロセス中に同時に異なるリリースが実行されることになります。Oracle Parallel Serverを使用する場合、すべてのインスタンスを同時にアップグレードする必要があります。

オプションの削除オプションの削除オプションの削除オプションの削除新しい Oracleのリリースに移行またはアップグレードする場合に古いオプションを削除するときは、インストーラで削除します。アップグレードまたは移行の前後に削除できますが、削除する項目に対応したインストーラのバージョンを使用する必要があります。

たとえば、Oracle Parallel Serverをインストールした Oracleのリリース 8.0を実行しており、このオプションがリリース 8.1へアップグレードしたときに必要なくなると判断した場合は、次の方法のいずれかで Oracle Parallel Serverを削除する必要があります。

� リリース 8.1へアップグレードする前に、リリース 8.0のインストーラを使用して、Oracle Parallel Serverを削除します。その後、リリース 8.1をインストールするとき、Oracle Parallel Serverをインストールしないでください。

� リリース 8.1へアップグレードするとき、Oracle Parallel Serverをインストールおよびアップグレードします。その後、リリース 8.1のインストーラで Oracle Parallel Serverを削除します。

注意注意注意注意 : ローリング・アップグレードという用語は、Oracle7から Oracle8iへの移行、およびリリース 8.0から 8.1へのアップグレードの両方を意味します。ローリング・アップグレードは、いずれの場合もサポートされていません。

注意注意注意注意 : オプションを削除した後、付加的なデータ・ディクショナリ表が残る場合があります。

参照参照参照参照 : Oracle Universal Installerの使用方法は、ご使用のオペレーティング・システム固有の Oracleインストレーション・ガイドを参照してください。

概要 1-13

Page 34: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

オプションの削除

1-14 Oracle8i 移行ガイド

Page 35: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行の

2

移行の概要移行の概要移行の概要移行の概要

この章では、バージョン 7またはバージョン 6データベースを Oracle8iへ移行するために必要な手順を説明します。これらの移行手順によって、既存のバージョン 7またはバージョン6のデータベース・システム(対応付けられたアプリケーションを含む)を Oracle8iのデータベース・システムへ変換します。Oracle8iは、Oracleの以前のバージョンおよびリリースのすべてと互換性があります。したがって、このマニュアルで説明する移行手順によって変換されたデータベースは、以前のバージョンおよびリリースの場合と同様に機能し、Oracle8iの新機能を任意に活用できます。

現行の本番データベースを移行する前に、いくつかの準備処理を実行する必要があります。データベースを移行した後、移行をテストするために、さらにテスト手順をいくつか実行します。他の複数の手順によって、既存のアプリケーションに Oracle8iの新機能を追加できます。

この章では、次の項目について説明します。

� 移行手順の概要

� 移行におけるデータベース管理者の役割

� 移行におけるアプリケーション開発者の役割

概要 2-1

Page 36: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行手順の概要

移行手順の概要移行手順の概要移行手順の概要移行手順の概要データベースの移行を行う前に、移行処理の主な手順について理解しておく必要があります。これらの手順はすべてのオペレーティング・システムに適用されますが、例外として一部のオペレーティング・システム固有の詳細項目があり、それについてはオペレーティング・システム固有の Oracleマニュアルに示されています。

注意注意注意注意 : この章の後半は、移行について説明します。アップグレードやダウングレードなどの移行以外の操作を実行する場合、その操作に該当する章へ進んでください。

2-2 Oracle8i 移行ガイド

Page 37: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行手順の概要

図図図図 2-1 主な移行手順主な移行手順主な移行手順主な移行手順

手順 1:移行の準備�

手順 2:移行処理のテスト�

手順 3:移行した�

テスト・データベースのテスト�

手順 4:ソース・データベースの�準備および保存�

手順 5:本番データベースの移行�

手順 6:新しいOracle8i 本番データベースの�

チューニングおよび調整�

移行の概要 2-3

Page 38: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行手順の概要

Oracle8i Toolsを慎重に計画して使用することにより、Oracle8iへのデータベースの移行処理を容易に行えます。データベースを移行するには、次のいずれかの方法を実行します。

� Oracle Data Migration Assistantを使用すると、最も簡単にデータベース全体を移行できます。

� 移行ユーティリティを使用すると、少し複雑になりますが、データベース全体を移行する処理をより詳細に制御できます。

� エクスポート /インポート・ユーティリティおよび SQLコピー・ユーティリティを使用すると、データベース各部を部分的に移行できます。

次の項では、図 2-1に示される主な手順の概要について説明します。これらの説明は、移行処理の主な手順を理解することを目的としています。詳細は、このマニュアルの該当する章および項を参照してください。

手順手順手順手順 1: 移行の準備移行の準備移行の準備移行の準備� Oracle8iのデータベースの機能を理解します。

� 現行の本番データベース、移行の目的および使用可能な移行方法の動作と機能に関する考慮点に基づいて、使用する移行方法を決定します。

� 移行に必要なシステム・リソースを見積もり、確保します。

� Oracle8iのテスト・データベースでの移行をテストする計画と、移行した Oracle8iの本番データベースをテストする計画を作成します。

� 予期しない問題や遅れが生じた場合にすぐにリカバリできるように、バックアップ計画を準備します。

2-4 Oracle8i 移行ガイド

Page 39: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行手順の概要

手順手順手順手順 2: 移行処理のテスト移行処理のテスト移行処理のテスト移行処理のテスト� テスト・データベースを使用して、移行のテストを実行します。移行のテストは、移行をテストするために作成した環境で行う必要があり、実際の本番データベースに影響してはいけません。

手順手順手順手順 3: 移行したテスト・データベースのテスト移行したテスト・データベースのテスト移行したテスト・データベースのテスト移行したテスト・データベースのテスト� バージョン 7またはバージョン 6のテスト・データベース、および Oracle8iへ移行されたバージョン 7またはバージョン 6のテスト・データベースに対して、手順 1で計画したテストを実行します。

� 結果を比較して、バージョン 7またはバージョン 6のテスト・データベースに対するテスト結果と、移行された Oracle8iデータベースに対するテスト結果の間の相違点を記録します。

� 発見した相違点を解決する方法を調べて、その解決方法を実装します。

� テスト移行が問題なく完了し必要なアプリケーションで正常に動作するまで、必要に応じて手順 1、手順 2、および手順 3の最初の部分を繰り返します。

第 3章「移行の準備」では、手順 1から手順 3までを詳しく説明します。

手順手順手順手順 4: ソース・データベースの準備および保存ソース・データベースの準備および保存ソース・データベースの準備および保存ソース・データベースの準備および保存� Oracle8iへの移行が正しく行われるように、現行の本番データベースを準備します。

� バージョン 7またはバージョン 6の本番データベースのバックアップ処理と Oracle8iへの移行処理に必要なダウン時間をスケジューリングします。

� 現行の本番データベースの全体バックアップを作成します。この手順は、移行方法として Oracle Data Migration Assistantまたは移行ユーティリティのいずれかを使用する場合のみ必要です。

移行の概要 2-5

Page 40: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行手順の概要

手順手順手順手順 5: 本番データベースの移行本番データベースの移行本番データベースの移行本番データベースの移行� バージョン 7またはバージョン 6の本番データベースを Oracle8iへ移行します。

� 移行の後、本番データベースの全体バックアップおよびその他の移行後の処理を行います。

第 4章では、手順 4および手順 5での移行ユーティリティの使用方法について説明します。第 5章では、手順 4および手順 5での Oracle Data Migration Assistantの使用方法について説明します。第 6章では、手順 4および手順 5でのエクスポート /インポート・ユーティリティの使用方法について説明します。第 8章では、移行後のバックアップ手順およびその他の移行後の処理について説明します。

手順手順手順手順 6: 新しい本番データベースのチューニングおよび調整新しい本番データベースのチューニングおよび調整新しい本番データベースのチューニングおよび調整新しい本番データベースのチューニングおよび調整� 新しい Oracle8iの本番データベースをチューニングします。Oracle8iの本番データベースのパフォーマンスは、移行前の Oracleデータベースと同等以上になる必要があります。第 8章では、これらのチューニング調整について説明します。

� Oracle8iデータベースのどの新機能を使用するかを決定し、それに応じてアプリケーションを更新します。

� 必要に応じて、新しいデータベース管理の手順を作成します。

� すべてのアプリケーションがテストされ、適切に動作するまでは、本番ユーザーをOracle8iのデータベースに移行しないでください。第 10章では、アプリケーションを更新する際の考慮点について説明します。

移行の際、マルチバージョニングは便利な機能です。これによって、同じデータベースの複数のコピーを 1台のコンピュータ・システムに保管できます。新しいバージョンをテストする間、既存のバージョンを本番環境として使用できます。

参照参照参照参照 : Oracleレプリケーションをインストールしたデータベース・システムを移行する場合は、付録 G「レプリケーション環境の移行および互換性」を参照してください。

2-6 Oracle8i 移行ガイド

Page 41: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行におけるアプリケーション開発者の役割

移行におけるデータベース管理者の役割移行におけるデータベース管理者の役割移行におけるデータベース管理者の役割移行におけるデータベース管理者の役割通常、移行処理を確実に成功させる責任は、データベース管理者(DBA)が負います。DBAは、通常、移行処理の各手順に関係しますが、移行したデータベースでのアプリケーションのテストに関連する手順にはかかわりません。

データベース管理者固有の任務は、次のとおりです。

� 移行処理に関連するすべてのスタッフと会合を持ち、移行処理における各スタッフの役割を明確に決定する

� テスト移行を実行する

� テストおよび本番移行処理をスケジューリングする

� バージョン 7またはバージョン 6の本番データベースのバックアップを作成する

� 本番データベースの移行を完了する

� 新規に移行した Oracle8iの本番データベースのバックアップを作成する

移行におけるアプリケーション開発者の役割移行におけるアプリケーション開発者の役割移行におけるアプリケーション開発者の役割移行におけるアプリケーション開発者の役割アプリケーション開発者は、バージョン 7またはバージョン 6のデータベース用に設計されたアプリケーションが、移行された Oracle8iのデータベースでも正しく動作することを保証する責任があります。アプリケーション開発者は、移行された Oracle8iのデータベースに対するアプリケーションのテストを頻繁に行い、使用する Oracle8iの新機能を決定します。

Oracle7の本番データベースを移行する前に、DBAまたはアプリケーション開発者は、Oracle8iのテスト・データベースをインストールする必要があります。それから、アプリケーションが元の機能(または拡張された Oracle8iの機能)で動作するまで、アプリケーション開発者は必要に応じてそのアプリケーションをテストおよび変更できます。

次の参照先には、特定のアプリケーションに影響するような、移行された Oracle8iのデータベースでの相違点を判断するための情報があります。アプリケーション開発者は、これらの相違点を利用して、既存のアプリケーションへの変更を行うことができます。

� 第 9章「互換性および相互運用性」では、Oracleのリリースの違いによって発生する可能性のある互換性および相互運用性の問題について説明しています。

� 第 10章「アプリケーションのアップグレード」では、(Oracle7のデータベースにアクセスする)既存のアプリケーションが Oracle8iのデータベースにアクセスするために必要な変更点について説明します。また、Oracle8iの機能を利用するために Oracle7のアプリケーションをアップグレードする方法についても説明しています。

移行の概要 2-7

Page 42: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行におけるアプリケーション開発者の役割

� 付録 B「初期化パラメータの変更」では、リリース 8.0およびリリース 8.1の新規の初期化パラメータ、変更された初期化パラメータおよび廃止された初期化パラメータをリストしています。

� 付録 C「静的データ・ディクショナリ・ビューの変更」では、リリース 8.0およびリリース 8.1の新規の静的データ・ディクショナリ・ビュー、変更された静的データ・ディクショナリ・ビューおよび廃止された静的データ・ディクショナリ・ビューをリストしています。

� 付録 D「動的パフォーマンス・ビューの変更」では、リリース 8.0およびリリース 8.1の新しい動的パフォーマンス・ビュー、変更された動的パフォーマンス・ビューおよび廃止された動的パフォーマンス・ビュー(V$ビュー)をリストしています。

� 付録 E「新しい内部データ型と SQL関数」では、リリース 8.0およびリリース 8.1で追加された新しいデータ型および SQL関数をリストしています。

� 付録 F「移行およびアップグレードに関する SQL*NetおよびNet8の考慮点」では、SQL*Netおよび Net8への移行とアップグレードについての手順を説明しています。

� 付録 G「レプリケーション環境の移行および互換性」では、Oracleレプリケーションがインストール済のデータベース・システムについて説明しています。

� Oracle8i Parallel Serverドキュメント・セット(『Oracle8i Parallel Server概要』、『Oracle8i Parallel Serverセットアップおよび構成ガイド』、『Oracle8i Parallel Server管理、配置およびパフォーマンス』)および『Oracle8i SQLリファレンス』では、Oracle8iでの変更点と新機能について説明しています。

� 『Oracle8iアプリケーション開発者ガイド 基礎編』、『Oracle8iアプリケーション開発者ガイド ラージ・オブジェクト』および『Oracle8iアプリケーション開発者ガイド アドバンスト・キューイング』では、アプリケーションの計画および実装の情報について説明しています。

Oracle8iでは、既存のアプリケーションを Oracle8iにアップグレードすることを支援するいくつかの機能があります。たとえば、次のような機能です。

� Net8および SQL*Net V2は、Oracleの各バージョン間の通信をサポートしています。

� プログラミング・インタフェースは、Oracleの各バージョン間でも未変更のままです。

� Oracleの下位互換性では、異なるバージョンとリリース間で非互換な部分はわずかしかありません。

2-8 Oracle8i 移行ガイド

Page 43: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行の

3

移行の準備移行の準備移行の準備移行の準備

この章では、本番データベースを移行する前に完了しておく必要がある作業について説明します。また、この章では、移行処理(第 2章で説明済)の手順 1から手順 3までを詳しく説明します。

この章では、次の項目について説明します。

� 移行の準備

� 移行処理のテスト

� 移行したテスト・データベースのテスト

この章の情報は一般的なものであり、Oracle7およびバージョン 6の本番データベース全般に適用されます。

参照参照参照参照 :

� SQL*Netの Net8への移行については、付録 F「移行およびアップグレードに関する SQL*Netおよび Net8の考慮点」を参照してください。

� Oracleレプリケーションをインストールしたデータベース・システムを移行する場合は、付録 G「レプリケーション環境の移行および互換性」を参照してください。

� 移行処理の一部には、オペレーティング・システム固有の部分があります。移行準備の詳細は、ご使用のオペレーティング・システム固有の Oracleマニュアルを参照してください。

準備 3-1

Page 44: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行の準備

移行の準備移行の準備移行の準備移行の準備移行のための準備として、次の作業を行います。

� 新しいデータベースの機能の理解

� 移行方法の選択

� システム要件と使用可能なリソースの見積り

� 新しいリリースに対する Oracleホーム・ディレクトリの選択

� 移行の一般的な問題の回避

� バックアップ計画の準備

� テスト計画の作成

新しいデータベースの機能の理解新しいデータベースの機能の理解新しいデータベースの機能の理解新しいデータベースの機能の理解移行処理を計画する前に、Oracle8iデータベースの新機能を理解する必要があります。あるコンポーネントの新機能の情報を得るには、Oracleドキュメント・ライブラリにある各機能固有のドキュメントを参照してください。たとえば、Oracle Parallel Serverにおける変更は、Oracle8i Parallel Serverドキュメント・セット(『Oracle8i Parallel Server概要』、『Oracle8i Parallel Serverセットアップおよび構成ガイド』、『Oracle8i Parallel Server管理、配置およびパフォーマンス』)を参照してください。

注意注意注意注意 : Oracle8iで使用可能な機能を活用する方法を習得するには、Oracle8iのトレーニング・クラスを受講することが最適です。詳細は、次の webページを参照してください。

http://education.oracle.com

3-2 Oracle8i 移行ガイド

Page 45: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行の準備

移行方法の選択移行方法の選択移行方法の選択移行方法の選択データベースを Oracle8iへ移行するには、次の 3つの方法のいずれかを選択します。

� 移行ユーティリティを使用して、Oracle7データベースを Oracle8iへ移行。ご使用のオペレーティング・システムで移行ユーティリティによって移行できる最初のリリースについては、オペレーティング・システム固有の Oracleマニュアルを参照してください。通常、移行ユーティリティは、ご使用のオペレーティング・システム上にあるリリース7.1の最後のリリースおよびそれ以降のデータベースの移行をサポートします。リリース 7.1の最後のリリースの正確なメンテナンス・リリース番号は、オペレーティング・システムによって異なります。

移行ユーティリティは、Oracle7から Oracle8iへの完全なデータベースの移行のためのコマンドライン・ユーティリティです。データ・ファイル・ヘッダーは変更しますが、実際のデータは未変更のままです。データはコピーしません。

� Oracle Data Migration Assistantを使用して、Oracle7データベースを Oracle8iへ移行。ご使用のオペレーティング・システムで Oracle Data Migration Assistantによって移行できる最初のリリースについては、オペレーティング・システム固有の Oracleマニュアルを参照してください。通常、Oracle Data Migration Assistantがサポートする最初のリリースは、移行ユーティリティがサポートする最初のリリースと同じです。

Oracle Data Migration Assistantには、完全なデータベースの移行のためのグラフィカル・ユーザー・インタフェース(GUI)があります。データ・ファイル・ヘッダーは変更しますが、実際のデータは未変更のままです。データはコピーしません。

� バージョン 7(またはバージョン 6)のソース・データベースの全体または部分エクスポートの実施。その後で、Oracle8iのターゲット・データベースへ全体または部分インポートを行います。

エクスポート /インポートによって、データベースの各部を移行できます。データ・ファイル・ヘッダーと実際のデータは変更せず、データの新しいコピーを作成します。

� COPYコマンドまたは CREATE TABLE文の AS句を使用した、ソース・データベースから Oracle8iのデータベースへのデータのコピー。

データをコピーすると、データベースの各部を移行できます。データをコピーすると、データ・ファイル・ヘッダーと実際のデータは変更せず、データの新しいコピーを作成します。

表 3-1に、これらの方法のそれぞれの長所をまとめます。表 3-2に、これらの方法のそれぞれの短所をまとめます。

移行の準備 3-3

Page 46: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行の準備

表表表表 3-1 各移行方法の長所各移行方法の長所各移行方法の長所各移行方法の長所

移行ユーティリティ移行ユーティリティ移行ユーティリティ移行ユーティリティ Oracle Data Migration Assistant

エクスポートエクスポートエクスポートエクスポート /インポートインポートインポートインポート データのコピーデータのコピーデータのコピーデータのコピー

自動的に実行され、エクスポート /インポートまたはデータのコピーと比較してDBAの介入が最小限で済みます。

変更されるオブジェクトはデータ・ディクショナリ・オブジェクトのみであるため、データベースのサイズに関係なく比較的高速です。

基本的に、移行できるデータベースのサイズには制限がありません。

通常、他の移行方法と比べて、比較的少量のディスク領域しか必要としません。

Oracle Data Migration Assistantよりも、移行処理の制御を強化できます。

GUIのガイドに従って簡単に移行処理を行うことができます。

自動的に実行され、エクスポート /インポートまたはデータのコピーと比較してDBAの介入が最小限で済みます。

変更されるオブジェクトはデータ・ディクショナリ・オブジェクトのみであるため、データベースのサイズに関係なく比較的高速です。

基本的に、移行できるデータベースのサイズには制限がありません。

通常、他の移行方法と比べて、比較的少量のディスク領域しか必要としません。

リリース間でのアップグレード操作、たとえばリリース8.0.5からリリース 8.1.5へのアップグレードを実行できます。

リリース 7.0を含めたすべての製品版 Oracle7データベース同様、バージョン 6のデータベースを Oracle8iへ移行できます。

データベースの特定の部分を移行できます。

Oracleのバージョンおよびリリース間のダウングレード操作、たとえば Oracle8iからOracle7へのダウングレードを実行できます。

リリース間でのアップグレード操作、たとえばリリース8.0.5からリリース 8.1.5へのアップグレードを実行できます。

データ・ファイルの断片化を解消し、データを圧縮して移行できるため、パフォーマンスを向上できます。

変更した表領域または新しい表領域を使用するか、表をパーティション化することでデータベースを再構築できます。

異なるオペレーティング・システムおよびハードウェア・プラットフォームへ移行できます。

データ・ファイルの断片化を解消し、データを圧縮して移行できるため、パフォーマンスを向上できます。

変更した表領域または新しい表領域を使用してデータベースを再構築できます。

リリース 7.0を含めたすべての製品版 Oracle7データベース同様、バージョン 6のデータベースを Oracle8iへ移行できます。

データベースの特定の部分を移行できます。

リリース間でのアップグレード操作またはダウングレード操作、たとえば、リリース8.0.5からリリース 8.1.5へのアップグレードを実行できます。

異なるオペレーティング・システムおよびハードウェア・プラットフォームへ移行できます。

3-4 Oracle8i 移行ガイド

Page 47: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行の準備

次の項ではそれぞれの移行方法について詳しく説明し、それぞれに必要な時間と領域、およびどのような状況にどの方法が適しているかを説明します。

表表表表 3-2 各移行方法の短所各移行方法の短所各移行方法の短所各移行方法の短所

移行ユーティリティ移行ユーティリティ移行ユーティリティ移行ユーティリティ Oracle Data Migration Assistant

エクスポートエクスポートエクスポートエクスポート /インポートインポートインポートインポート データのコピーデータのコピーデータのコピーデータのコピー

Oracle7から Oracle8iへの移行以外は実行できず、Oracle7へのダウングレードはできません。

リリース 7.0データベースや特定のリリース 7.1以前のデータベース上での直接移行は実行できません。特定のリリース 7.1の要件は、オペレーティング・システム固有です。

リリース間でのアップグレード操作、たとえばリリース8.0.5からリリース 8.1.5へのアップグレードを実行できません。

データベースの選択した部分のみを移行することはできません。データベース全体を移行します。

異なるオペレーティング・システムまたはハードウェア・プラットフォームへ移行できません。

移行処理が高度に自動化されているため、その他の方法より汎用性がありません。GUIが最も重要な移行選択肢のみをカバーしています。

他の方法より移行処理の制御を強化できません。

Oracle7へのダウングレードができません。

リリース 7.0データベースや特定のリリース 7.1以前のデータベース上での直接移行は実行できません。特定のリリース 7.1の要件は、オペレーティング・システム固有です。

データベースの選択した部分のみを移行することはできません。データベース全体を移行します。

異なるオペレーティング・システムまたはハードウェア・プラットフォームへ移行できません。

Oracle Parallel Serverをインストールしたシステムを移行できません。

小規模なデータベースを除いて非常に時間がかかります。LONGデータ型の使用とデータの量に応じて所要時間が増します。数 GBもある非常に大規模なデータベースは数時間かかることがあり、TB規模のデータベースは数日かかることもあります。

エクスポート・ファイルへデータをコピーするために大量のディスク領域が必要です。

小規模なデータベースを除いて非常に時間がかかります。LONGデータ型の使用とデータの量に応じて所要時間が増します。数 GBもある非常に大規模なデータベースは数時間かかることがあり、TB規模のデータベースは数日かかることもあります。

コピー操作中にソース・データベースとターゲット・データベースの両方が同時に使用可能である必要があります。

移行の準備 3-5

Page 48: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行の準備

移行ユーティリティ移行ユーティリティ移行ユーティリティ移行ユーティリティ移行ユーティリティは、データ・ファイルのファイル・ヘッダーのみを変更し、また必要に応じてファイル内のデータの定義を変更して、Oracle7のソース・データベースのファイルと構造を Oracle8iの形式に変換するコマンドライン・ユーティリティです。移行ユーティリティがデータ・ファイル内のデータ部分を変更することはなく、その形式や内容を変更することもありません。

図図図図 3-1 移行ユーティリティ移行ユーティリティ移行ユーティリティ移行ユーティリティ

移行ユーティリティの第一の利点は、そのスピードと使いやすさです。移行ユーティリティは、エクスポート /インポートに比べてかなり短時間で実行することができます。また、このユーティリティを使用する移行処理は、標準化された一連の簡単な手順以外必要としません。さらに、移行ユーティリティを使用してデータベースを移行するためにかかる時間は、データベースのサイズではなく、データ・ディクショナリ内のオブジェクト数によって決まります。

移行ユーティリティは、ソース・データベース全体を迅速に移行するときに特に便利です。エクスポート /インポートとは異なり、移行ユーティリティでは特定のデータ・ファイルのみを選択して移行することはできません。ただし、大量のデータ、大きなデータ型、およびその他いくつかの Oracle7の機能を使用するデータベースの場合は、エクスポート /インポート機能は実用的ではなく、唯一の実用的なオプションは移行ユーティリティまたはOracle Data Migration Assistantのみです。

移行ユーティリティが必要とするのは、Oracle7(ソース)と Oracle8i(ターゲット)のデータ・ディクショナリを両方とも同時に保持できる、SYSTEM表領域内の十分な一時領域のみです。

移行�ユーティリティ�

DatabaseDatabaseデータ・�ファイル�

ファイル・�ヘッダー・�ブロック�

DatabaseDatabaseシステム�表領域�

データ・�ディクショナリ�

Oracle7

Oracle8i

Oracle8i

Oracle7

3-6 Oracle8i 移行ガイド

Page 49: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行の準備

移行ユーティリティは、データベース・ファイル、ロールバック・セグメントおよび制御ファイルを含むデータベース全体を変換します。実際に Oracle7のデータベースを移行する前の時点で、いつでも、Oracle7のインスタンスでデータをオープンし、アクセスできます。ただし、移行ユーティリティによって Oracle7のソース・データベースを Oracle8iに移行した後で Oracle7に戻る方法は、Oracle7のソース・データベースの全体バックアップをリストアする以外にありません。

移行ユーティリティは、リリース 7.0データベースまたは特定のリリース 7.1以前のデータベース上での直接移行を実行できません。通常、移行ユーティリティは、ご使用のオペレーティング・システム上にあるリリース 7.1の最後のリリースおよびそれ以降のデータベースの移行をサポートします。リリース 7.1の最後のリリースの正確なメンテナンス・リリース番号は、オペレーティング・システムによって異なります。

使用しているリリースが、ご使用のオペレーティング・システムで移行ユーティリティがサポートするリリースよりも低い場合は、移行ユーティリティを使用して Oracle8iへ移行する前に、まずデータベースがサポートされる Oracle7リリースまでご使用のデータベースをアップグレードまたは移行する必要があります。使用しているオペレーティング・システムで移行ユーティリティによってサポートされている最初のリリースについては、オペレーティング・システム固有の Oracleマニュアルを参照してください。

参照参照参照参照 : 移行ユーティリティの使用方法の詳細は、第 4章「移行ユーティリティによる Oracle7からの移行」を参照してください。

移行の準備 3-7

Page 50: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行の準備

Oracle Data Migration AssistantOracle Data Migration Assistantには、移行処理をガイドするユーザー・フレンドリなグラフィカル・ユーザー・インタフェース(GUI)があります。Oracle Data Migration Assistantは移行ユーティリティをコールし、それをバックグランドで実行します。これによって、移行ユーティリティを手動でコマンドラインから実行する必要がありません。

図図図図 3-2 Oracle Data Migration Assistant

Oracle Data Migration Assistantの長所は、簡単に使用できることです。Oracle Data Migration Assistantは移行ユーティリティをコールするため、移行ユーティリティのほとんどの長所と短所が Oracle Data Migration Assistantにも当てはまります。Oracle Data Migration Assistantと移行ユーティリティとの違いについては、3-9ページの「Oracle Data Migration Assistantと移行ユーティリティの選択」を参照してください。

DatabaseDatabaseデータ・�ファイル�

DatabaseDatabaseシステム�表領域�

データ・�ディクショナリ�

Oracle7

Oracle8i

Oracle8i

Oracle7

ファイル・�ヘッダー・�ブロック�

移行�ユーティリティ�自動的に�起動�

Oracle DataMigrationAssistant

3-8 Oracle8i 移行ガイド

Page 51: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行の準備

Oracle Data Migration Assistantと移行ユーティリティの選択と移行ユーティリティの選択と移行ユーティリティの選択と移行ユーティリティの選択Oracle Data Migration Assistantまたは移行ユーティリティを選択するには、次の違いを考慮してください。

� Oracle Data Migration Assistantには、移行処理をガイドするユーザー・フレンドリなGUIがありますが、移行ユーティリティはコマンドライン・ユーティリティです。Oracle Data Migration Assistantには広範なオンライン・ヘルプもあります。したがって、Oracle Data Migration Assistantは、移行ユーティリティより使いやすいと言えます。

� Oracle Data Migration Assistantは、移行ユーティリティに比べて汎用性がありません。複雑な処理を避けるため、Oracle Data Migration Assistant移行処理の手順の多くを自動化しています。逆に、移行ユーティリティでは、各手順を手動で実行する必要がありますが、移行処理中に必要な調整ができます。移行ユーティリティを使用すると、より多くの手順を手動で実行するため移行処理に必要な時間が長くなり、処理中の選択項目や手順も多くなります。

� Oracle Data Migration Assistantは実行されるたびに、移行処理の全手順を実行します。したがって、移行処理中に何らかの理由で Oracle Data Migration Assistantを終了する必要がある場合、Oracle7データベースのバックアップをリストアし、始めからやり直す必要があります。予期しないエラーを受け取った場合などは、Oracle Data Migration Assistantを終了させる必要があります。逆に、移行ユーティリティでは、処理中に明確に定義されたいくつかの主な手順があります。特定の手順を中止させる場合でも、始めからやり直さずに前の手順の終わりから開始できます。

� Oracle Data Migration Assistantは、廃止された初期化パラメータを初期化パラメータ・ファイルから自動的に削除します。Oracle Data Migration Assistantによって削除される廃止されたパラメータのリストについては、B-6ページの「Oracle8および Oracle8iで廃止された初期化パラメータ」を参照してください。逆に、移行ユーティリティでは、初期化パラメータ・ファイルを変更しないため、移行ユーティリティを使用する場合は、廃止された初期化パラメータを手動で削除する必要があります。

� Oracle Data Migration Assistantは、Oracle Parallel Serverをインストールしたシステムの移行をサポートしません。ただし、移行ユーティリティでは、Oracle Parallel Serverをインストールしたシステムを移行できます。

参照参照参照参照 : Oracle Data Migration Assistantの使用方法の詳細は、第 5章「Oracle Data Migration Assistantによる Oracle7からの移行」を参照してください。

移行の準備 3-9

Page 52: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行の準備

一般的に、コマンドライン・インタフェースよりグラフィカル・ユーザー・インタフェース(GUI)を希望し、ほとんど指定する必要がない非常に自動化された処理を望む場合、Oracle

Data Migration Assistantを使用します。一方、GUIよりコマンドライン・インタフェースを希望し、より強力に移行処理を制御したい場合、移行ユーティリティを使用します。

エクスポートエクスポートエクスポートエクスポート /インポートインポートインポートインポート移行ユーティリティとは異なり、エクスポート /インポート処理はソース・データベース内のデータを新しいデータベースに物理的にコピーします。ソース・データベースのエクスポート・ユーティリティは、ソース・データベースの特定部分をエクスポート・ファイルにコピーします。次に、Oracle8iのインポート・ユーティリティが、このエクスポートされたデータを新しい Oracle8iのデータベースにロードします。ただし、エクスポート・ファイルを移行する前に、新しい Oracle8iのターゲット・データベースを準備しておく必要があります。

図図図図 3-3 エクスポートエクスポートエクスポートエクスポート /インポートインポートインポートインポート

次の項では、データベースの移行にエクスポート /インポートを使用するかどうかを決定する際に有効な、エクスポート /インポートのいくつかの特徴について説明します。

参照参照参照参照 : エクスポート /インポートによる移行方法の詳細は、第 6章「エクスポート /インポートによる移行」および『Oracle8iユーティリティ・ガイド』を参照してください。

エクスポート・�ユーティリティ�

インポート・�ユーティリティ�

DatabaseDatabaseOracle7データ・�ファイル�

ファイル・�コンテンツ�

DatabaseDatabaseOracle8iデータ・�ファイル�

ファイル・�コンテンツ�

エクスポート・�ダンプ・�ファイル�

3-10 Oracle8i 移行ガイド

Page 53: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行の準備

エクスポートエクスポートエクスポートエクスポート /インポートによって移行されたデータベースへの影響インポートによって移行されたデータベースへの影響インポートによって移行されたデータベースへの影響インポートによって移行されたデータベースへの影響 エクスポート /インポートによる移行方法では、ソース・データベースを変更しません。したがって、ソース・データベースは、移行処理を通じて使用可能な状態にあります。ただし、一貫性のあるデータベースのスナップショットが必要な場合(データの整合性保持またはその他の目的のため)、ソース・データベースは、制限モードで実行するか、またはエクスポート実行時に変更禁止にする必要があります。ソース・データベースを使用可能な状態にできるため、たとえば、既存の Oracle7の本番データベースを実行しながら、エクスポート /インポートによる Oracle8iの新規データベースの作成を同時に行うことができます。この移行処理中にデータベースの完全な一貫性を維持するには、Oracle7のデータベースのデータを変更する場合に、Oracle8iのデータベースのデータにも同じ変更を加える必要があります。

エクスポート /インポートは、データベースのアップグレードやダウングレードにも使用できます。たとえば、Oracle8iのデータベースから Oracle7データベースへの逆方向の変換を、エクスポート /インポートによって実現できます。

最も重要なことは、エクスポート /インポート操作の結果として、新しいデータベースが作成されることです。ソース・データベースには最終的に指定したデータのコピーが含まれますが、移行したデータベースは、元のソース・データベースとは異なる方法で運用される場合があります。たとえば、エクスポート /インポート操作によって移行されるデータベースと同一のコピーを作成しても、データのディスク配置およびチューニング・パラメータの解除などその他の要素が、予期しないパフォーマンスの劣化につながることがあります。

DBAによるデータベースの再構成またはデータの断片化解消、および新しい Oracle8iソフトウェアの結果として、次の分野の変更が期待できます。

� パフォーマンス

� データ成長パターン

� 共有リソースの使用

� データ・ディクショナリ・サイズ

� オブジェクトの編成

エクスポート /インポートによってデータベースにもたらされる効果を最大限に利用するには、綿密な計画、熟練者による実装、および厳密なテストが必要です。これを行わない場合には、データベースに変更を加えたときに問題が発生することがあります。移行によってデータベースが再構成された後で、移行したデータベースが異なった動作をする場合は、その違いの原因を判断するのが困難になることがあります。

移行の準備 3-11

Page 54: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行の準備

エクスポートエクスポートエクスポートエクスポート /インポートの利点インポートの利点インポートの利点インポートの利点 エクスポート /インポートによるデータの移行には、次のような利点があります。

� データの断片化を解消できます。インポートされたデータを圧縮することによって、パフォーマンスを向上できます。

� データベースを再構成できます。新しい表領域を作成したり、既存の表や表領域、インポートによってデータがロードされる先のパーティションを変更できます。

� 特定のデータベース・オブジェクトまたはユーザーを移行できます。オブジェクト、ユーザー、およびその他希望する項目のみをインポートできます。

� バックアップ・アーカイブとしての役割を果たします。全データベース・エクスポートをソース・データベースのアーカイブとして使用できます。

エクスポートエクスポートエクスポートエクスポート /インポートの制約インポートの制約インポートの制約インポートの制約 エクスポート /インポートによるデータの移行には、次のようないくつかの制約があります。

� エクスポート /インポートによるデータベースの移行では、熟練したデータベース管理者が必要です。最終的に移行を試みる前に、必要とされる計画と複雑な実行作業には、通常、様々な段階と豊富な経験が必要です。

� 大規模データベースの場合、データベース全体のエクスポート /インポートを行うと、エクスポート・ダンプ・ファイル用に大量の一時記憶域が必要になる場合があります。

� オペレーティング・システムがデータベースと同等のファイル・サイズをサポートしていない場合は、エクスポートを複数のジョブに分割する必要がある場合があります。

� エクスポート /インポートでは、新しいデータベースが作成されます。ソース・データベースの状態を保持し、そのエクスポート・ダンプ・ファイルおよびデータを Oracle8iのターゲット・データベースにインポートするには、インポートを実行する前にシステムにターゲット・データ・ファイルを作成する必要があります。

� Oracle8iへの移行と断片化解消とデータベースの再構築を同時に行うなど、データベースに対して同時に複数の変更を行うと、トラブルシューティングを妨げることがあります。

� 移行作業中にソース・データベースおよびターゲット・データベース内のデータの同期を保つには、ソース内のデータ変更を禁止するか、ターゲット・データベースへ移行されたデータへも同じ変更を加えてミラー化します。

3-12 Oracle8i 移行ガイド

Page 55: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行の準備

エクスポートエクスポートエクスポートエクスポート /インポートの時間要件インポートの時間要件インポートの時間要件インポートの時間要件 エクスポート /インポートを使用する全データベースの移行は、移行ユーティリティまたは Oracle Data Migration Assistantを使用する場合と比較して、時間が長くかかる場合があります。したがって、ピーク時を外して移行するようにスケジュールしたり、移行中にソース・データベースに対して行われた変更を新しいターゲット・データベースに反映させる手配をする必要があります。

エクスポート /インポートによる移行方法に必要な時間とシステム・リソース(特にディスク領域)は、DBAの技術、データベースのサイズ、移行するデータの型、特に再構築しなければならない索引の数、サイズおよび種類によって異なります。

たとえば、6GBの比較的単純な Oracle7のデータベースを Oracle8iに移行するために、移行ユーティリティでは約 1時間かかります。その同じ Oracle7のデータベースをエクスポートする際には、2GBの単一のエクスポート・ダンプ・ファイルが作成されます。そのエクスポート・ダンプ・ファイルをインポートするために、20時間かかります。6-3ページの「エクスポート /インポートを使用したソース・データベースの移行」に示されている各手順を使用して移行を完了すると、2日かかります。

エクスポート /インポートではデータベースの移行に時間がかかるため、次の各要素について考慮する必要があります。

� 移行に必要な時間が、毎日のスケジュールにおいて利用できる非ピーク時または実働時間外の時間を上回ることもあり得ます。場合によっては、移行処理の期間中に、業務にデータベースを使用できないようにする必要が生じます。

� ソース・データベースを読取り専用にしたり、エクスポート実行後にソース・データベースへの変更を禁止した場合、インポートおよび移行手順が完了するまでアプリケーションは利用できません。

� 規模の大きなデータベースについては、時間を削減し、移行の処理を最適化するために、パラレル・エクスポート・ストリームの運用を検討します。

Oracle8iインポートによるデータ定義変換インポートによるデータ定義変換インポートによるデータ定義変換インポートによるデータ定義変換 以前のバージョンからデータをインポートする場合、Oracle8iのインポート・ユーティリティでは、以前のバージョンのエクスポート・ダンプ・ファイルからデータを読み込む際にデータ定義に適切な変更を加えます。つまり、Oracleバージョン 6、バージョン 7、リリース 8.0およびリリース 8.1のエクスポート・ユーティリティによって作成されたダンプ・ファイルが処理されます。エクスポートするソース・データベースがバージョン 6よりも前の場合、エクスポートを実行する前に、ソース・データベースを最低でもバージョン 6までアップグレードする必要があります。

移行の準備 3-13

Page 56: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行の準備

データのコピーデータのコピーデータのコピーデータのコピーデータベース・リンクを使用して、ある Oracleデータベースから別の Oracleデータベースにデータをコピーできます。たとえば、SQL*Plusの COPY文を使用してソース・データベースの表からターゲット・データベースの表にデータをコピーしたり、INSERT INTO文および CREATE TABLE...AS文を使用してターゲット・データベースの中に新しい表を作成し、その表をソース・データベースのデータで埋めることができます。

図図図図 3-4 データのコピーデータのコピーデータのコピーデータのコピー

データのコピーを使用する移行方法には、エクスポート /インポートと同様の利点があります。どちらの移行方法を利用しても、新しい表領域を作成するか既存の表または表領域を変更することによって、データ・ファイルの断片化を解消したりデータベースを再構築できます。また、指定したデータベース・オブジェクトまたはユーザーのみを移行することもできます。

ただし、エクスポート /インポートとは異なり、データのコピーでは、表の特定の行を選択してターゲット・データベースに挿入できます。このため、データベース表の一部分のみを移行する場合には、データのコピーを使用します。逆に、エクスポート /インポートを使用して Oracle7から Oracle8iにデータを移行すると、表全体の移行のみが可能です。

たとえば、既存の表(EMP@V7DB)のデータの一部分(部門 10および 20の従業員のみ)を含む新しい表(NEW_EMP)を作成するには、次のような SQL文を使用します。

CREATE TABLE new_emp AS SELECT empno, ename, job, mgr, hiredate, sal, comm, deptno FROM emp@v7db WHERE deptno IN (10, 20);

SQL*Plus

DatabaseDatabase

Oracle7データベース�

表のコンテンツ�

DatabaseDatabase

Oracle8iデータベース�

表のコンテンツ�

3-14 Oracle8i 移行ガイド

Page 57: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行の準備

データのコピーによる移行方法は、エクスポート /インポートの場合よりも少ないディスク領域とメモリー・バッファ領域で済みます。これは、データのコピーでは、ソース・データベースとターゲット・データベースの両方がオンラインであればよいためです。テンポラリ・ファイルまたはエクスポート・ダンプ・ファイル用に、大量の余分な領域を割り当てる必要はありません。

大きいクラスタ表を扱っているときは、SQL*Plusの COPYコマンドが役立ちます。さらに、SQL*Plusの COPYコマンドを使用すると、Net8(または SQL*Net)を使用してクラスタの様々な部分を並列に移動できます。データベース間でデータをコピーする方法の詳細は、『Oracle8i SQLリファレンス』の「CREATE TABLE」および『Oracle8i SQL*Plusユーザーズ・ガイドおよびリファレンス』の「COPY」を参照してください。

システム要件と使用可能なリソースの見積りシステム要件と使用可能なリソースの見積りシステム要件と使用可能なリソースの見積りシステム要件と使用可能なリソースの見積り移行を成功させるために必要となるシステム・リソースを見積もります。移行方法が異なると、リソース要件も異なることがあります。そのため、使用する方法がよくわからない場合は、既存のデータベースを Oracle8iに移行するための方法ごとに見積りを行います。

見積りに際して、次の各要素について考慮する必要があります。

� オペレーティング・システムとハードウェアの両方の構成要件

� 既存の本番データベースのサイズ

� Oracle8iを実装するときに関連するデータベースに対して可能なサイズ調整

Oracle8iのバイナリ・ファイルは、Oracle7の場合の 3倍のディスク領域を必要とすることがあります。必要な領域サイズが 3倍に増えるということは、大規模なバッチ・システム(数十個または数百個単位の実行可能ファイルを生成する)においては特に注意が必要です。実行可能ファイルに必要な領域は、Oracle8iの環境に組み込むオプションによっても異なります。たとえば、次のようなオプションがあります。

� Oracle Parallel Server(Oracle8i Parallel Serverドキュメント・セット(『Oracle8i Parallel Server概要』、『Oracle8i Parallel Serverセットアップおよび構成ガイド』、『Oracle8i Parallel Server管理、配置およびパフォーマンス』)を参照)

� Net8または SQL*Netの使用(『Oracle8i Net8管理者ガイド』を参照)

Oracle8iデータ・ディクショナリは、SYSTEM表領域内に Oracle7の場合の 2倍のデータ・ディクショナリ領域を必要とすることがあります。移行ユーティリティを使用する場合、SYSTEM表領域の要件は移行ユーティリティを CHECK_ONLYモードで実行して見積もることができます。

移行の準備 3-15

Page 58: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行の準備

また、Oracle8iは Oracle7の 2倍の RAMを必要とすることがあります。必要な RAMの大きさは、Oracle8iの環境に組み込むオプションによっても異なります。

図 3-5に、Oracle7と Oracle8i間でのシステム要件の違いを示します。

図図図図 3-5 移行に関するシステム要件移行に関するシステム要件移行に関するシステム要件移行に関するシステム要件

移行方法を選択して要件を見積もった後、移行を成功させるために必要なリソースを確保します。

参照参照参照参照 : システム要件の詳細は、ご使用のオペレーティング・システム固有の Oracleマニュアルを参照してください。

Oracle8i Oracle7 Oracle8i Oracle7 Oracle8i Oracle7

バイナリ� データ・�ディクショナリ�

RAM

3-16 Oracle8i 移行ガイド

Page 59: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行の準備

同時アクセスのメモリー要件の見積り同時アクセスのメモリー要件の見積り同時アクセスのメモリー要件の見積り同時アクセスのメモリー要件の見積りOracle8iのシステムのメモリー・サイズも、同時アクセスとその実現方法によって決まります。Oracle8iでは、次の接続オプションをサポートしています。

オプションオプションオプションオプション 1は、オプション 2またはオプション 3よりも多くのメモリーを必要とします。オプション 1では、クライアント・アプリケーションとその Oracle Server(またはシャドウ)プロセスの両方が同じコンピュータ上に常駐する場合、その両方のためにメモリーが必要です。たとえば、100個のクライアント・アプリケーション・プロセスを Oracle8iに接続した場合、100個の Oracle Serverプロセスがシステムに追加される結果となり、プロセスは合計 200個になります。

オプションオプションオプションオプション 2の場合、Oracleプロセスのみがシステムに常駐し、クライアント・プロセスはリモートで接続されます。したがって、考慮する必要があるのは、Oracle Serverプロセスのサイズおよび使用可能な共有メモリーのサイズのみです。

オプションオプションオプションオプション 3は、マルチスレッド・サーバー機能を使用し、専用の Oracleシャドウ・プロセスのかわりに、ローカル・クライアントまたはリモート・クライアントの複数のプロセスを単一のディスパッチャ・プロセスに接続できます。マルチスレッド・サーバー構成はパフォーマンス向上を意図したものではありませんが、Oracle8iのサーバー上で多数の同時接続を実現するようになるため、スループットが向上します。複数のクライアントが単一のディスパッチャに接続できるため、同時ユーザー接続のためのメモリー使用量は減少します。

オプションオプションオプションオプション 1: 専用サーバー・アーキテクチャでローカル接続を使用します(「2タスク共通」ともいう)。このオプションを、Oracle7と同じように設定してください。

オプションオプションオプションオプション 2: SQL*Netによるリモート接続を使用します。このオプションを、Oracle7と同じように設定してください。

オプションオプションオプションオプション 3: ローカル接続とリモート接続の両方にマルチスレッド共有サーバーを使用します。移行の後、『Oracle8i管理者ガイド』に示されているとおり、オプションの初期化パラメータを設定してください。

オプションオプションオプションオプション 4: トランザクション・プロセッサ(TP)・モニターを使用します。

参照参照参照参照 : Oracle8iのマルチスレッド・サーバー機能の詳細は、『Oracle8i概要』、『Oracle8i管理者ガイド』および『Oracle8iパフォーマンスのための設計およびチューニング』を参照してください。

移行の準備 3-17

Page 60: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行の準備

オプションオプションオプションオプション 4は、TPモニターを使用し、多数の(数百人を超える)ユーザー全員がOLQP/OLTPタイプのトランザクションを実行する必要があるシステムのための選択肢です。通常、そのようなトランザクションは持続時間が短く、ユーザーはデータベースに直接接続する必要はありません。すべてのトランザクションは、TP(トランザクション・プロセッサ)モニター・サービスを経由したメッセージを使用して実行されます。TPレイヤーは名前付きサービスを提供し、Oracleを含めた多様な DBMSシステムとサービス要求を調整します。

単一システムの場合には、次の要因を考慮すると、システム・メモリー要件を見積もることができます。

� オープン・カーソル、および特定の Oracleアプリケーション・セッションでソートを発生させることのあるカーソルの平均数

� オープン・カーソルおよびソート領域を含む Oracleシャドウ・プロセスの平均サイズ

� システムの同時ユーザーのピーク数

� Oracleフロントエンド・アプリケーションの平均メモリー・サイズ

新しいリリースに対する新しいリリースに対する新しいリリースに対する新しいリリースに対する Oracleホーム・ディレクトリの選択ホーム・ディレクトリの選択ホーム・ディレクトリの選択ホーム・ディレクトリの選択Oracle7の Oracleホーム・ディレクトリから独立した Oracle8iに対して Oracleホーム・ディレクトリを選択する必要があります。Oracle8iは、Oracle7で使用した Oracleホーム・ディレクトリにはインストールできません。

独立したインストール・ディレクトリを使用すると、ご使用の Oracle7ソフトウェアをインストールしたままで、Oracle8iソフトウェアを使用できます。この方法によって、本番環境全体を交換する前に、Oracle7テスト・データベース上で移行処理をテストできます。

注意注意注意注意 : TPモニターを使用するための要件は非常に多様であり、このマニュアルでは説明しません。システム要件については、該当の TPモニターのベンダーに問い合せてください。

3-18 Oracle8i 移行ガイド

Page 61: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行の準備

移行の一般的な問題の回避移行の一般的な問題の回避移行の一般的な問題の回避移行の一般的な問題の回避データベースを移行する前に移行の一般的な問題を排除することで、時間を節約できます。一般的な問題には、次の表に示すような領域があります。

表表表表 3-3 移行の一般的な問題移行の一般的な問題移行の一般的な問題移行の一般的な問題

移行に影響する問題移行に影響する問題移行に影響する問題移行に影響する問題 説明説明説明説明

1. 領域の不足 * Oracle8iのバイナリ・ファイルは、Oracle7の場合の 3倍のディスク領域を必要とする場合があります。これによって、移行処理中にディスク領域がなくなることがあります。移行を行う前に、必ず 3-15ページの「システム要件と使用可能なリソースの見積り」を読んで、要件を理解しておいてください。また、第 4章および第 5章では、より詳細に要件を説明しています。

Oracle8iのデータ・ディクショナリは、Oracle7の場合の 2倍のデータ・ディクショナリ領域を必要とすることがあります。移行ユーティリティを使用する場合、実際の要件は、移行ユーティリティを CHECK_ONLYモードで実行することによって確認できます。

2. 移行の所要時間はデータベース・サイズと関連なし *

移行に必要な時間はデータベース・サイズには依存しませんが、データ・ディクショナリのオブジェクト数に依存します。たとえば、20CPU搭載の Sun E6000にある、25,473オブジェクトと 128KBスライスにストライプ化されたファイル・システムを持つデータ・ファイルを持つ 3.5GBのデータベースの実際の移行は、1時間半かかります。バックアップおよび何か問題が発生した場合のデータベースのリストアにも、時間がかかることを忘れないでください。

3. 問題領域の回避 * ユーザー列およびアプリケーション・コード(トリガーおよびパッケージ・プロシージャを含む)両方の ROWIDの使用方法を確認します。これらはDBMS_ROWIDパッケージを使用して変換する必要がある場合があります。第 12章「物理 ROWIDの移行について」を参照してください。リリース 8.0およびリリース 8.1では ROWIDの形式が異なるため、旧 ROWIDは無効であり、変換する必要があります。

Oracle8iのキーワードまたは予約語を名前に使用している Oracle7データベースのすべてのオブジェクト(たとえば、表および列)の名前を調べます。キーワードまたは予約語の使用は、移行の際、予期しない失敗の原因となります。キーワードおよび予約語のリストについては、『Oracle8i SQLリファレンス』を参照してください。

バージョン 7の初期化パラメータの中には、Oracle8iで廃止されたものもあります。Oracle8iインスタンスを開始する Oracle7初期化パラメータ・ファイルから、廃止されたパラメータをすべて削除します。廃止されたパラメータを Oracle8iデータベースで使用すると、エラーの原因となることがあります。Oracle8iで構文が変更されているパラメータもすべて変更します。新規のパラメータ、変更されたパラメータおよび廃止されたパラメータのリストについては、付録 B「初期化パラメータの変更」を参照してください。

4. 互換性 * すべての Oracle製品、オペレーティング・システム、およびサード・パーティー製ソフトウェアのバージョンおよびリリースが、Oracle8iに対して保証されていることを確認してください。詳細は、ご使用のオペレーティング・システムの Oracleマニュアルを参照してください。

移行の準備 3-19

Page 62: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行の準備

* これらの問題は、移行ユーティリティおよび Oracle Data Migration Assistantにのみ当てはまります。エクスポート /インポートおよびデータのコピーには当てはまりません。

5. 無効オブジェクトとなくなる統計

移行では、表以外のすべてのオブジェクト(パッケージ、トリガー、ビューなど)が無効のままです。その他すべてのオブジェクトは、再コンパイルによって再び有効にする必要があります。これは、手動で行うことも、オブジェクトに最初にアクセスした際に自動的に行うこともできます。自動で行うと、最初のアクセスの際に速度が遅くなります。移行処理中、すべての見積りまたは算出された統計はなくなります。オプティマイザが正常に機能するには、これらが再計算される必要があります。ビットマップ化された索引の中には無効になるものがあります。DBA_INDEXES表内のビットマップ化された索引をすべて調べ、移行後に使用不可能な状態であると表示された索引を再作成します。

6. Windowsレジストリの編集

Windowsプラットフォームのいずれかを使用していて、移行処理中に何らかの理由でレジストリを変更する場合、コンピュータを再起動する必要があります。

7. 読取り専用表領域の問題 *

Oracle7の読取り専用表領域は Oracle8iで読取り可能で、いかなる変換も必要ありません。ただし、表がアクセスされるたびに Oracle8iが ROWID変換することを防ぐために、読取り専用モードの表領域を読取り /書込みモードにする必要があります。表領域のすべての表に対してフル・テーブル・スキャンを実行します。フル・テーブル・スキャンが完了した後、表領域を再び読取り専用モードにします。

8. 元に戻さないためのポイント *

ALTER DATABASE CONVERT文が実行されるまでは、データベースを Oracle7に戻すことができます。ALTER DATABASE CONVERTの実行中(データ・ファイルの物理ファイル・ヘッダーを変換しているとき)に障害が発生した場合、データベースをバックアップからリストアし、移行を再実行する必要があります。移行の実行と ALTER DATABASE CONVERT文の実行の間に、データベースをオープンしないでください。

9. 大量のリストアの回避 *

ALTER DATABASE CONVERTの実行中に発生した障害のためにデータベース全体をリストアしなければならないという事態を回避するため、SYSTEMおよび ROLLBACK以外のすべての表領域を読取り専用または NORMALモードでオフラインにしてください。それによって、ALTER DATABASE CONVERT文は、SYSTEMおよび ROLLBACKのデータ・ファイル・ヘッダーのみを変換します。何らかのエラーが発生した場合は、SYSTEMおよび ROLLBACKのデータ・ファイルのみをリストアして、移行に戻ることができます。移行が正常に完了すると、その他のデータ・ファイルのヘッダーは、それらが読取り /書込みまたはオンラインに変更されたときに変換されます。

10. テスト テスト移行を先に実行しておくと、ほとんどの移行の問題は回避できます。テスト移行を実行すると、発生する可能性のある問題が表面化し、本番データベースの移行に必要なおおよその時間を知ることができます。詳細は、3-25ページの「移行処理のテスト」を参照してください。

表表表表 3-3 移行の一般的な問題移行の一般的な問題移行の一般的な問題移行の一般的な問題(続き)(続き)(続き)(続き)

移行に影響する問題移行に影響する問題移行に影響する問題移行に影響する問題 説明説明説明説明

3-20 Oracle8i 移行ガイド

Page 63: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行の準備

バックアップ計画の準備バックアップ計画の準備バックアップ計画の準備バックアップ計画の準備移行が最終的に成功するかどうかは、適切なバックアップ計画の立案と実行で決まります。バックアップ計画を展開するには、次のような問題について考慮する必要があります。

� 業務上、本番データベースの実行不能状態の許容範囲がどの程度の期間か。

� 可用性要件を満たすには、どのバックアップ計画を使用する必要があるか。

� サイトから離れた安全な場所にバックアップをアーカイブする必要があるか。

� どのくらいの時間でバックアップをリストアできるか(オフサイト記憶域でのバックアップを含む)。

� リカバリ手順は正常にテストされているか。

バックアップ計画は、これらの問題のすべてに答え、データベースを正常にバックアップおよびリカバリするための手順を備えている必要があります。

テスト計画の作成テスト計画の作成テスト計画の作成テスト計画の作成移行処理のすべての段階を検証するために、一連のテストを慎重に設計してください。緻密なテストを実行し、テストが正常に完了した場合、本番データベースの移行処理を十分に理解し、予測できるようになり、移行処理の成功が確実になります。本番データベースを移行する前に、できる限り多くのテストを実行してください。テスト計画は、非常に重要です。

テスト計画の中で、次のようなテストを実行する必要があります。

移行テスト移行テスト移行テスト移行テスト移行テストでは、ソース・データベースから移行されたデータベースへの移行パスを計画およびテストする必要があります。移行ユーティリティ、Oracle Data Migration Assistantまたはエクスポート /インポートを使用するか、データのコピー方法を使用して本番データベースのデータをターゲット・データベースへ移行します。これらの方法については、第 4章「移行ユーティリティによる Oracle7からの移行」、第 5章「Oracle Data Migration Assistantによる Oracle7からの移行」および第 6章「エクスポート /インポートによる移行」を参照してください。

どの移行方法を選択する場合でも、移行計画を確立し、テストして検証することが必要です。

参照参照参照参照 : Oracle7データベースについては、『Oracle7 Server管理者ガイド』を参照してください。Oracle8iデータベースについては、『Oracle8iバックアップおよびリカバリ・ガイド』を参照してください。

注意注意注意注意 : 移行前に緻密なテストを実行しないことは危険であり、予測できない結果を招くことがあります。

移行の準備 3-21

Page 64: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行の準備

最小テスト最小テスト最小テスト最小テスト最小テストでは、ソース・データベースのアプリケーションの全部または一部をターゲット・データベースに移動し、ターゲット・データベースの新機能を使用可能にしないでアプリケーションを実行します。最小テストは非常に限定的なテストであり、現実の本番環境で出現するような潜在的問題は明らかにされません。ただし、アプリケーションの起動または呼出しに関して問題があれば、ただちに明らかになります。

機能テスト機能テスト機能テスト機能テスト機能テストとは、システムの新機能と既存機能を移行後にテストする一連のテストです。機能テストには、RDBMSシステムのすべてのコンポーネント、ネットワーキングおよびアプリケーション・コンポーネントのテストが含まれます。機能テストの目的は、システムの各コンポーネントが移行前と同様に機能し、新機能が正しく動作していることを検証することにあります。

統合テスト統合テスト統合テスト統合テスト統合テストでは、システムの各コンポーネントの相互作用をテストします。統合テストを計画するときは、次の各要素について考慮する必要があります。

� ターゲット・データベースのインスタンスで稼働する Pro*C/C++アプリケーションは、新しいソフトウェアで問題がないことを確認するためにテストする必要があります。

� GUIインタフェースをその他のコンポーネントでテストする必要があります。

� Oracle8iのインスタンスにアプリケーションが直接接続されるかどうかに関係なく、データ型やデータ・ディクショナリのデータの変更(データ・ディクショナリへの行の追加、オブジェクト型の変更)などのターゲット・データベースのわずかな変更でも、フロントエンド・アプリケーションにまで影響することがあります。

� 2つのコンポーネント間の接続に Net8または SQL*Netがかかわるときは、ストレス・テストとともにその接続のテストも行う必要があります。

3-22 Oracle8i 移行ガイド

Page 65: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行の準備

パフォーマンス・テストパフォーマンス・テストパフォーマンス・テストパフォーマンス・テストターゲット・データベースのパフォーマンス・テストでは、ターゲット・データベースでの様々な SQL文のパフォーマンスを、ソース・データベースでの SQL文のパフォーマンスとそれぞれ比較します。移行する前に、ソース・データベースでのアプリケーションのパフォーマンス・プロファイルを理解する必要があります。特に、アプリケーションがデータベース・カーネルに対して実行するコールを理解する必要があります。

たとえば、Oracle Parallel Serverを使用して、新しいリリースへ移行したときにキャッシュ・フュージョンによってもたらされるパフォーマンスの向上を測定する場合、移行の前にご使用のシステムの統計を必ず記録してください。キャッシュ・フュージョンのために、V$SYSSTAT、V$LOCK_ACTIVITYおよび V$LOCK_CLASS_PINGビューからの統計を記録します。それによって、キャッシュ・フュージョン・パフォーマンス統計の前後を比較できます。

最高の結果を得るために、SQLスクリプト utlbstat.sqlおよび utlestat.sqlを実行して、特定の期間の V$SYSSTAT統計を収集します。一貫性のあるトランザクション・アクティビティ・レベルのピーク時の負荷を、最も一貫して反映している収集タイムフレームを使用します。V$LOCK_ACTIVITYおよび V$LOCK_CLASS_PINGからデータを取得するには、統計収集期間の最初と最後で SELECT*文を使用します。キャッシュ・フュージョンを新しいリリースで実行した後にこの処理を繰り返し、Oracle8i Parallel Serverドキュメント・セット(『Oracle8i Parallel Server概要』、『Oracle8i Parallel Serverセットアップおよび構成ガイド』、『Oracle8i Parallel Server管理、配置およびパフォーマンス』)の説明に従って、システムのパフォーマンスを見積もります。

ボリュームボリュームボリュームボリューム /ロード・ストレス・テストロード・ストレス・テストロード・ストレス・テストロード・ストレス・テストボリューム /ロード・ストレス・テストでは、移行したデータベース全体を、大きいボリュームとロードでテストします。ボリュームとは、操作されるデータの量を表します。ロードとは、システム上の同時要求のレベルを表します。ボリューム /ロード・テストの目的は、様々なボリュームとロードでの本番システムの動作をエミュレートすることです。

ボリューム /ロード・ストレス・テストは非常に重要ですが、一般に見過ごされがちです。ユーザーは、どのようなボリューム /ロード・ストレス・テストも実行しないことが多いようです。そのかわりに、ビジネス・アプリケーションを特に考慮しているわけではないベンチマークが広く利用されています。アプリケーションのベンチマークは、機能、パフォーマンスおよび統合に関する問題点を解明するために実行してください。ボリューム /ロード・ストレス・テストのかわりになるものではありません。

ソース・データベースを移行した後、すべてのデータにアクセスできてアプリケーションが正しく機能することを確認するために、データをテストする必要があります。データベース

参照参照参照参照 : チューニングの詳細は、『Oracle8iパフォーマンスのための設計およびチューニング』を参照してください。ソース・データベースでのアプリケーションのパフォーマンス・プロファイルを完全に理解するには、TKPROFで SQLトレース機能およびプロファイルを使用可能にしてください。

移行の準備 3-23

Page 66: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行の準備

の調整が必要かどうか判断する必要もあります。可能な場合は、これらのテスト手続きを自動化してください。

テスト計画は、サイトで実行される作業を反映する必要があります。ソースの本番データベースのすべてのアプリケーションの機能やパフォーマンスをテストする必要があります。通常の使用状況とピーク時の使用状況の両方について、パフォーマンスの統計数値を収集してください。

特定の移行前後のテスト特定の移行前後のテスト特定の移行前後のテスト特定の移行前後のテストテスト計画には、次のようなテスト項目を組み込みます。

� タイミングのテスト

� データ・ディクショナリ成長の監視

� ロールバック、一時セグメントの使用など、データベース・リソース使用率の監視

この情報を収集することによって、ソース・データベースと移行したターゲット・データベースを比較しやすくなります。

Oracleで各 SQL文を実行するための実行計画を決定するには、ソース・データベースとターゲット・データベースの両方で EXPLAIN PLANを使用します。この情報を複数の表に保存するには、INTO句を使用します。

移行後に、移行されたデータベースの実行計画とソース・データベースの実行計画を比較できます。相違点がある場合は、移行されたデータベース上でその文を実行し、そのパフォーマンスを、ソース・データベース上で実行した文のパフォーマンスと比較します。

参照参照参照参照 : EXPLAIN PLANの詳細は、『Oracle8iパフォーマンスのための設計およびチューニング』を参照してください。

3-24 Oracle8i 移行ガイド

Page 67: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行したテスト・データベースのテスト

移行処理のテスト移行処理のテスト移行処理のテスト移行処理のテスト現行の本番データベースに影響しないテスト環境を作成します。テスト環境は、選択した移行方法によって異なります。

� 移行ユーティリティまたは Oracle Data Migration Assistantを使用する場合は、ソース・データベースのテスト・バージョン(通常はサブセット)を作成してテスト移行を行います。

� エクスポート /インポートを使用する場合は、実際の本番ソース・データベースからほんの一部分をテストとしてエクスポート /インポートします。

テスト環境を使用してデータベースの移行を行います。最適な移行テストとは、ダウンサイズしたコピーまたはテスト・データに対してではなく、移行するデータベースの正確なコピーに対して実行することです。

Oracle8iのデータベースで使用する予定の OCIとプリコンパイラ・アプリケーションを、必ずアップグレードしてください。そうすることによって、本番データベースを移行する前に、それらのアプリケーションをサンプルの Oracleデータベースでテストできます。詳細は、10-3ページの「プリコンパイラおよび OCIアプリケーションのアップグレード」を参照してください。

移行したテスト・データベースのテスト移行したテスト・データベースのテスト移行したテスト・データベースのテスト移行したテスト・データベースのテストソース・データベースおよび Oracle8iへ移行したテスト・データベースに対して、計画したテストを実行します。結果を比較し、相違点を記録します。必要に応じて移行を繰り返します。

移行された Oracle8iのデータベースで既存のアプリケーションが正常に動作するか確認するために、この新しく移行された Oracle8iのテスト・データベースをテストします。また、利用可能な Oracle8iの機能を使用するための機能を追加して、機能強化についてもテストします。ただし、アプリケーションがソース・データベースでの動作状況と同様に動作するかを、最初に確認してください。

注意注意注意注意 : このデータベースのテスト・サブセットを正常に移行して、次の手順で説明するアプリケーションでテストするまでは、実際の本番データベースを移行しないでください。

参照参照参照参照 : Oracle8iにおけるアプリケーションの使用方法の詳細は、第 10章「アプリケーションのアップグレード」を参照してください。

移行の準備 3-25

Page 68: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行したテスト・データベースのテスト

3-26 Oracle8i 移行ガイド

Page 69: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行ユーティリティによる Oracle7からの

4

移行ユーティリティによる移行ユーティリティによる移行ユーティリティによる移行ユーティリティによる Oracle7からのからのからのからの

移行移行移行移行

この章では、移行ユーティリティを使用して Oracle7のデータベースを Oracle8iへ移行する処理について説明します。この章では、次の項目について説明します。

� 移行ユーティリティを使用するためのドキュメント・ロードマップ

� 移行ユーティリティを使用した移行の概要

� システムの考慮点と要件

� 移行のための Oracle7ソース・データベースの準備

� リリース 8.1 Oracleソフトウェアのインストール

� 移行ユーティリティ・コマンドライン・オプションの検討

� Oracle7のソース・データベースの移行

� 移行時のエラーのトラブルシューティング

� 移行の中止

参照参照参照参照 : 移行処理の一部には、オペレーティング・システム固有の部分があります。移行の追加情報については、ご使用のオペレーティング・システム固有の Oracleマニュアルを参照してください。

移行 4-1

Page 70: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行ユーティリティを使用するためのドキュメント・ロードマップ

移行ユーティリティを使用するためのドキュメント・ロード移行ユーティリティを使用するためのドキュメント・ロード移行ユーティリティを使用するためのドキュメント・ロード移行ユーティリティを使用するためのドキュメント・ロードマップマップマップマップ

図 4-1に、ご使用の現行リリースの Oracleに基づいて、データベースをリリース 8.1に移行するために使用するドキュメントを示すロードマップを示します。

図図図図 4-1 移行ユーティリティを使用するためのドキュメント・ロードマップ移行ユーティリティを使用するためのドキュメント・ロードマップ移行ユーティリティを使用するためのドキュメント・ロードマップ移行ユーティリティを使用するためのドキュメント・ロードマップ

使用している�現行のデータベース�

リリース 7.2または�

リリース 7.3

はい�

いいえ�

リリース 7.0はい�

いいえ�

バージョン 6はい�

* 使用しているOS固有の� Oracleマニュアルも� 参照する。�

次に�

次に�

次に�

リリース 7.1 はい�

いいえ�

はい�

いいえ�

このマニュアルの第1章を参照して8.1へ移行する。*

ご使用のOS用の最新のリリース7.3にデータベースをアップグレードする。リリース7.3の�『Oracle7 Server移行ガイド』を参照。*

リリース8.1への直接的な移行が、ご使用のOS用のリリース7.1でサポートされているか?詳細は、ご使用のOS用のOracleマニュアルを参照。�

ご使用のOS用の最新のリリース7.3にデータベースをアップグレードする。リリース7.3の『Oracle7 Server移行ガイド』を参照。*

ご使用のOS用の最新のOracle7リリースへ移行する。リリース7.3の『Oracle7 Server移行ガイド』を参照。*

4-2 Oracle8i 移行ガイド

Page 71: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行ユーティリティを使用した移行の概要

移行ユーティリティを使用した移行の概要移行ユーティリティを使用した移行の概要移行ユーティリティを使用した移行の概要移行ユーティリティを使用した移行の概要移行すると、Oracle7データベースのデータ・ディクショナリまたは構造が Oracle8i形式に変換されます。データベースを移行するには、まず Oracle8iソフトウェアをインストールし、Oracle7データベースで移行ユーティリティを実行します。そして、新しい Oracle8iデータベースに対して一連の ALTER DATABASE文を実行し、u0703040.sql変換スクリプトを実行します。

これらの処理の結果として、次のような Oracle7の構造が、Oracle8iで使用できる構造に変換されます。

� データ・ファイル(ファイル・ヘッダーのみ)

� データ・ディクショナリ

� 制御ファイル

� ロールバック・セグメント

移行処理の概要移行処理の概要移行処理の概要移行処理の概要次の項では、移行処理の概要について説明します。

Oracle7環境での移行処理環境での移行処理環境での移行処理環境での移行処理� Oracle8iの移行ユーティリティを実行します。この移行ユーティリティは、Oracle7の

データベースのデータ・ディクショナリに基づいて、新しいデータ・ディクショナリを作成およびデータ移入し、さらに Oracle7のデータベースの制御ファイルに基づいて、1つのバイナリ・ファイルを作成します。このバイナリ・ファイルを、変換ファイルと呼びます。

注意注意注意注意 : Oracle8iでデータベースをオープンしなくても、Oracle8iの移行ユーティリティを複数回実行できます。それでも、Oracle7のデータベースへ戻ることができます。ただし、移行ユーティリティを実行するとOracle7データベースのカタログ・ビューが自動的に削除されます(4-36ページの「移行の中止」を参照)。

移行ユーティリティによる Oracle7からの移行 4-3

Page 72: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行ユーティリティを使用した移行の概要

Oracle8i環境での移行処理環境での移行処理環境での移行処理環境での移行処理� ALTER DATABASE CONVERT文を実行します。この文は、移行ユーティリティが生成

した変換ファイルに基づいて新しい制御ファイルを作成し、すべてのオンライン・データ・ファイル・ヘッダーを Oracle8i形式に変換し、Oracle8iのデータベースをマウントします。

オフライン・データ・ファイルおよび読取り専用表領域のファイル・ヘッダーが、移行処理中に更新されることはありません。オフライン・データ・ファイルのファイル・ヘッダーはファイルがオンラインになったときに変換され、読取り専用表領域のファイル・ヘッダーは、移行後に読取り /書込みになったときに変換されます。ただし、必ず読取り /書込みになるとは限りません。

� ALTER DATABASE OPEN RESETLOGS文を実行します。この文は、新しいディクショナリ内で定義されているすべてのオブジェクトとユーザーを Oracle8iの仕様に自動的に変換し、すべてのロールバック・セグメントを Oracle8i形式に変換します。

Oracle8iのデータベースをオープンするときに、オフライン状態の表領域にソース・データベースのロールバック・セグメントがある場合、そのロールバック・セグメントは Oracle8iのデータベース形式にすぐには変換されません。そのかわり、表領域がOracle8iで最初にオンラインになるときに変換されます。

� データベースの変換スクリプトを実行します。主な変換スクリプトは u0703040.sqlスクリプトです。このスクリプトは、特定のシステム表を作成および変更し、MIGRATEユーザーを削除します。また、システム・カタログ・ビューおよび PL/SQLの使用に必要なすべてのパッケージを作成する、catalog.sqlおよび catproc.sqlを実行します。

その他の変換スクリプトは、特定のコンポーネントを現行のリリースへ変換するために必要な処理を実行します。たとえば、catrep.sqlスクリプトは Oracleレプリケーション用の変換スクリプトの 1つです。

4-4 Oracle8i 移行ガイド

Page 73: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行ユーティリティを使用した移行の概要

移行ユーティリティの使用移行ユーティリティの使用移行ユーティリティの使用移行ユーティリティの使用この項では、移行ユーティリティを使用する際の重要な考慮点について説明します。

移行ユーティリティがサポートする移行ユーティリティがサポートする移行ユーティリティがサポートする移行ユーティリティがサポートする Oracle7データベースからの開始データベースからの開始データベースからの開始データベースからの開始バージョン 6データベースは、Oracle8iへの移行の前に、Oracle7以降のバージョンに移行する必要があります。また、移行ユーティリティはいくつかの Oracle7リリースを移行できません。ご使用のオペレーティング・システムで移行ユーティリティによってサポートされている最初のリリースについては、オペレーティング・システム固有の Oracleマニュアルを参照してください。

通常、移行ユーティリティは、ご使用のオペレーティング・システム上にあるリリース 7.1の最後のリリースおよびそれ以降のデータベースの移行をサポートします。リリース 7.1の最後のリリースの正確なメンテナンス・リリース番号は、オペレーティング・システムによって異なります。

たとえば、移行ユーティリティでは、オペレーティング・システムによってはリリース 7.1.4以降のデータベースは移行できますが、リリース 7.1.4より前のリリース(リリース 7.0、リリース 7.1.3など)を移行できません。データベースのリリース番号が、使用しているオペレーティング・システムで移行ユーティリティがサポートするリリースよりも低い場合は、データベースを必要なリリースまでアップグレードまたは移行してください。

ダウングレードダウングレードダウングレードダウングレードダウングレードとは、既存の Oracleデータベースを以前のバージョンまたはリリースに変換する処理です。移行ユーティリティでは、Oracle8iのデータベースを Oracle7へ戻せません。状況によっては、エクスポート /インポート、バックアップからのリストアおよびその他の機能を使用してダウングレードできます。

参照参照参照参照 : データベースを必要なリリースに移行またはアップグレードする方法については、『Oracle7 Server移行ガイド リリース 7.3』を参照してください。その後で、この『Oracle8i移行ガイド』を参照して Oracle8iへ移行します。

参照参照参照参照 : ダウングレードの詳細は、第 13章および第 14章を参照してください。

移行ユーティリティによる Oracle7からの移行 4-5

Page 74: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

システムの考慮点と要件

システムの考慮点と要件システムの考慮点と要件システムの考慮点と要件システムの考慮点と要件次の項では、移行ユーティリティを使用する際のシステムの考慮点と要件について説明します。

領域要件領域要件領域要件領域要件Oracle8iのバイナリ・ファイルは、Oracle7の場合の 3倍のディスク領域を必要とすることがあります。これによって、移行処理中にディスク領域がなくなることがあります。すでにOracle7がインストールされているコンピュータ・システムに Oracle8iをインストールする場合、両データベースに対して十分なハードディスク領域および RAMがあることを確認してください。Oracle8iサーバー用システム要件と Oracle7サーバー用システム要件の両方を考慮して全体のシステム要件を決定する必要があります。

移行ユーティリティでは、一時領域は比較的少量で済みます。十分な領域を必要とするのは、既存の Oracle7のデータ・ディクショナリと同時に新しい Oracle8iのデータ・ディクショナリを保持するための SYSTEM表領域のみです。

Oracleデータ・ディクショナリを保持するために必要なディスク領域は、データベース内のオブジェクトの数によって異なります。通常、新しい Oracle8iのデータ・ディクショナリは、Oracle7のソース・データ・ディクショナリの 2倍の領域が必要です。必要に応じて、SYSTEM表領域にディスク領域を追加してください。

また、変換スクリプト(u0703040.sqlスクリプトなど)を実行して移行を完了するには、SYSTEM表領域またはロールバック・セグメントにより多くの領域が必要になることがあります。領域が不足していると、変換スクリプトの実行時に「unable to extend」という警告が表示されます。変換スクリプトの実行に必要な領域の実際の量は、データベース内のオブジェクトの数によって異なります。変換スクリプトの実行時に「unable to extend」という警告が表示された場合、SYSTEM表領域またはロールバック・セグメントを拡張した後、スクリプトを再実行します。

ブロック・サイズの考慮点ブロック・サイズの考慮点ブロック・サイズの考慮点ブロック・サイズの考慮点Oracle7データベースおよび移行した Oracle8iデータベース内の DB_BLOCK_SIZE(初期化パラメータ・ファイル内の初期化パラメータ)の値は同じである必要があります。Oracle8iでの最小ブロック・サイズは 2048バイト(2KB)です。この値より大きい場合は、オペレーティング・システムの物理ブロック・サイズの整数倍にします。ただし、2KBの倍数、特に2乗(2KB、4KB、8KB、16KBなど)が最も強力な操作を実現します。

参照参照参照参照 : システム要件の詳細は、ご使用のオペレーティング・システムのインストレーション・ガイドを参照してください。

4-6 Oracle8i 移行ガイド

Page 75: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

システムの考慮点と要件

Oracle8iのブロック・サイズ設定が次の基準を満たすようにしてください。

� Oracle7の設定と一致している。

� 最低でも 2048バイト(2KB)である。Oracle7のブロック・サイズが 2KBより小さい場合は、Oracle8iの移行ユーティリティによってエラー・メッセージが表示される。

� オペレーティング・システムの物理ブロック・サイズの整数倍である。できれば 2KBの倍数にする。

SQL*Netに関する考慮点に関する考慮点に関する考慮点に関する考慮点データベースを Oracle8iへ移行する際に考慮する必要がある SQL*Net関連の問題が数多くあります。Net8へ移行するかどうかの決定もこの問題の 1つです。

レプリケーション環境に関する考慮点レプリケーション環境に関する考慮点レプリケーション環境に関する考慮点レプリケーション環境に関する考慮点Oracle7のレプリケーション環境は、Oracle8iへ移行できます。Oracle7のサイトは、レプリケーション環境内でリリース 8.0およびリリース 8.1のサイトと共存し、正常に実行できます。ただし、各システムに実装されている様々なレプリケーション機能に適応するように、特別の注意を払ってください。

ConTextからからからから interMediaへの移行に関する考慮点への移行に関する考慮点への移行に関する考慮点への移行に関する考慮点ConTextから interMediaへの移行の詳細は、『Oracle8i interMedia Text移行ガイド』を参照してください。

参照参照参照参照 : これらの問題および SQL*NetからNet8への移行の詳細は、付録 F「移行およびアップグレードに関する SQL*NetおよびNet8の考慮点」を参照してください。

参照参照参照参照 : レプリケーション機能によるシステム移行の詳細は、付録 G「レプリケーション環境の移行および互換性」を参照してください。

移行ユーティリティによる Oracle7からの移行 4-7

Page 76: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

システムの考慮点と要件

分散データベースに関する考慮点分散データベースに関する考慮点分散データベースに関する考慮点分散データベースに関する考慮点分散データベース構成の Oracle7から移行する場合は、データベースを移行する前に、DBA_2PC_PENDINGデータ・ディクショナリ・ビューでペンディング・トランザクションがないことを確認してください。これは、移行後に ALTER DATABASE RESET LOGS文を使用してデータベースをオープンしたとき、トランザクションがペンディングになっているとエラーが発生するためです。

ペンディング・トランザクションが存在する場合は、SQLコマンドの COMMIT FORCEまたは ROLLBACK FORCEを使用して移行の前に解決します。

Oracle Parallel Serverをインストールしたシステムの移行をインストールしたシステムの移行をインストールしたシステムの移行をインストールしたシステムの移行Oracle Parallel Serverをインストールしたシステムを移行する場合は、この章で説明されている処理のほとんどをシステムの 1つのノードのみに実行する必要があります。したがって、特定の手順に特に指示のない限り、この章に説明されている処理を 1つのノードのみで実行してください。異なるデータベース・バージョンの共存に関するサポートは、Oracle Parallel Serverのオペレーティング・システムに依存します。

異なるオペレーティング・システムへの移行異なるオペレーティング・システムへの移行異なるオペレーティング・システムへの移行異なるオペレーティング・システムへの移行Oracle8iの移行ユーティリティでは、オペレーティング・システムが異なるコンピュータ・システムにデータベースを移行することはできません。たとえば、Solaris上の Oracle7をWindows NT上の Oracle8iに移行できません。ただし、エクスポート /インポートを使用することによって、異なるオペレーティング・システムのデータベースの移行が可能です。

Windowsプラットフォーム上のプラットフォーム上のプラットフォーム上のプラットフォーム上の Oracle Parallel Serverの移行の移行の移行の移行 :

Windowsプラットフォーム上の Oracle Parallel Serverを移行する場合は、この章の手順に従わないでください。かわりに、『Oracle Parallel Server for Windows NT管理者ガイド』の移行手順に従ってください。

注意注意注意注意 : リリース 8.1以降では、移行処理の際、ワード・サイズの変更がサポートされています。ワード・サイズの変更には、同じオペレーティング・システム内で 32ビットから 64ビット・アーキテクチャへの切替えが伴います。詳細は、1-12ページの「ワード・サイズの変更」を参照してください。

4-8 Oracle8i 移行ガイド

Page 77: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

システムの考慮点と要件

キャラクタ・セットに関する考慮点キャラクタ・セットに関する考慮点キャラクタ・セットに関する考慮点キャラクタ・セットに関する考慮点移行ユーティリティによる移行処理中は、キャラクタ・セットを変更できません。つまり、Oracle7ソース・データベースと移行後の Oracle8iデータベースは同じキャラクタ・セットを持つことになります。Oracle8iのデータベースのすべての文字データは、データベースを作成した CREATE DATABASE文で指定したキャラクタ・セットになっています。

ただし、エクスポート /インポートを完全に実行することによって、キャラクタ・セットを変更できます。また、ALTER DATABASE [NATIONAL] CHARACTER SET文を使用してキャラクタ・セットを変更することができますが、これは、新しいキャラクタ・セットが既存のキャラクタ・セットの真のスーパーセットの場合のみです。

参照参照参照参照 : 各国語サポート(NLS)の詳細、キャラクタ・セットの指定方法および ALTER DATABASE [NATIONAL] CHARACTER SET文で使用できるキャラクタ・セットの全リストは、『Oracle8i NLSガイド』を参照してください。

移行ユーティリティによる Oracle7からの移行 4-9

Page 78: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行のための Oracle7ソース・データベースの準備

移行のための移行のための移行のための移行のための Oracle7ソース・データベースの準備ソース・データベースの準備ソース・データベースの準備ソース・データベースの準備Oracle7データベースを Oracle8iへ移行する前に、次の手順を実行してください。

1. データベースのリリース番号が、ご使用のオペレーティング・システムで移行ユーティリティがサポートするリリースよりも低い場合は、データベースをサポートされるリリースまでアップグレードまたは移行します。

2. プロシージャ・オプションがインストールされていない場合、Oracle7のインストール・メディアを使用してインストールします。詳細は、ご使用のオペレーティング・システム固有の Oracleマニュアルを参照してください。

プロシージャ・オプションがインストールされているかどうかを判断できない場合は、Server Managerまたは SQL*DBAを起動して確認できます。次に、Server Managerを起動したときに表示されるメッセージの例を示します。

Oracle Server Manager Release 2.3.3.0.0 - Production

Copyright (c) Oracle Corporation 1994, 1995. All rights reserved.

Oracle7 Server Release 7.3.4.0.0 - ProductionWith the distributed, replication, parallel query, Parallel Serverand Spatial Data optionsPL/SQL Release 2.3.4.0.0 - Production

表示されるメッセージは、インストールしたオプションおよびリリース番号によって少し異なる場合があります。前述の列の最終行にあるように、メッセージ中に「PL/SQL」が表示される場合は、プロシージャ・オプションがインストールされています。「PL/SQL」が表示されない場合は、インストールされていません。

3. すべてのデータ・ファイルおよび表領域がオンラインまたは正常にオフラインされていることを確認します。

リカバリが必要なデータ・ファイルがあるかどうかを判断するには、次の SQL文を発行します。

SELECT * FROM v$recover_file;

「0 rows selected」というメッセージが表示されます。これは、すべてのデータ・ファイルがオンラインまたは NORMALモードでオフラインのいずれかであることを示しています。データ・ファイルが 1つでも表示される場合は、データベースを移行する前にデータ・ファイルをリストアする必要があります。V$DATAFILE動的パフォーマンス・ビューを使用して、データ・ファイル番号に応じたデータ・ファイル名を検索できます。メディア・リカバリを必要とするデータ・ファイルが存在する場合、Oracle8iの移行ユーティリティは、先へ進まずにエラーを表示します。

参照参照参照参照 : 詳細は、4-5ページの「移行ユーティリティがサポートするOracle7データベースからの開始」を参照してください。

4-10 Oracle8i 移行ガイド

Page 79: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行のための Oracle7ソース・データベースの準備

確実にオフラインにできなかった表領域は、移行前に削除するかオンラインにする必要があります。これは、そうしないと移行後に Oracle8iで表領域を使用できないからです。通常、ALTER TABLESPACE OFFLINE IMMEDIATEまたは ALTER TABLESPACE OFFLINE TEMPORARY文を使用してオフラインにする表領域には、メディア・リカバリが必要です。

移行後、Oracle8iのデータベースをオープンするときにオフラインになっている表領域は、Oracle7のデータベース・ファイル形式のまま残ります。オフラインの表領域は、移行後ならいつでもオンラインにでき、ファイル・ヘッダーはそのときに Oracle8i形式に変換されます。さらに、障害が発生した場合に大規模なリストアを回避するには、SYSTEMと ROLLBACKを除くすべての表領域をオフラインにし、別の移行処理を実行する必要があれば、その後で SYSTEMと ROLLBACKのデータ・ファイルのみをリストアできます。

4. OUTLNという名前のユーザーまたはロールがないことを確認します。これは、Oracle8iをインストールするときにこのスキーマが自動的に作成されるためです。OUTLNという名前のユーザーまたはロールがある場合、そのユーザーまたはロールを削除し、別の名前で再作成する必要があります。

OUTLNという名前のユーザーを確認するには、次の SQL文を発行します。

SELECT username FROM dba_users WHERE username = 'OUTLN';

OUTLNという名前のユーザーがない場合、どの行も選択されません。

OUTLNという名前のロールを確認するには、次の SQL文を発行します。

SELECT role FROM dba_roles WHERE role = 'OUTLN';

OUTLNという名前のロールがない場合、どの行も選択されません。

5. MIGRATEという名前のユーザーまたはロールがないことを確認します。これは、Oracle8iの移行ユーティリティがこのスキーマを作成し、既存のユーザーまたはロールをこの名前で置き換え、最終的にはそれをシステムから削除するからです。

MIGRATEという名前のユーザーを確認するには、次の SQL文を発行します。

SELECT username FROM dba_users WHERE username = 'MIGRATE';

MIGRATEという名前のユーザーがない場合、どの行も選択されません。

MIGRATEという名前のロールを確認するには、次の SQL文を発行します。

SELECT role FROM dba_roles WHERE role = 'MIGRATE';

MIGRATEという名前のロールがない場合、どの行も選択されません。

移行ユーティリティによる Oracle7からの移行 4-11

Page 80: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行のための Oracle7ソース・データベースの準備

6. SYSTEMロールバック・セグメントに OPTIMAL設定がないようにします。移行中、OPTIMAL設定によってエラーになることがあります。

SYSTEMロールバック・セグメントの OPTIMAL設定を確認するには、次の SQL文を発行します。

SELECT a.usn, a.name, b.optsize FROM v$rollname a, v$rollstat b WHERE a.usn = b.usn AND name = 'SYSTEM';

次のように表示されます。

USN NAME OPTSIZE ---------- ------------------------------ ---------- 0 SYSTEM 1 row selected.

OPTSIZE列に値がある場合は、NULLに設定するために次の SQL文を発行します。

ALTER ROLLBACK SEGMENT SYSTEM STORAGE (OPTIMAL NULL);

移行が完了したときに、OPTIMALをリセットできます。

7. ALTER ROLLBACK SEGMENT文の STORAGE句にあるMAXEXTENTSパラメータを変更して、SYSTEMロールバック・セグメントの最大エクステント数を増やします(オプション)。

次に、ALTER ROLLBACK SEGMENT文の例を示します。

ALTER ROLLBACK SEGMENT system STORAGE (MAXEXTENTS 121);

正常に移行するには、SYSTEMロールバック・セグメントにより多くの領域が必要な場合があります。SYSTEMロールバック・セグメントに十分な領域がない場合は、Oracle7環境で移行ユーティリティ実行中にエラーが発生する場合があります。

さらに、リリース 7.1.6以前のデータベースを移行する場合、ロールバック・セグメントを削除または再作成して、エクステントのサイズを増やす必要があります。

参照参照参照参照 : A-4ページの「SYSTEMロールバック・セグメントの OPTIMAL設定」にあるトラブルシューティング情報を参照してください。

4-12 Oracle8i 移行ガイド

Page 81: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行のための Oracle7ソース・データベースの準備

8. SHUTDOWN NORMALまたは SHUTDOWN IMMEDIATE文を使用して、Oracle7のデータベースを完全に停止します。SHUTDOWN ABORTは使用しないでください。

SHUTDOWN IMMEDIATE

Oracle Parallel Serverを使用している場合、すべてのインスタンスを停止します。

Windowsプラットフォーム上での移行の準備プラットフォーム上での移行の準備プラットフォーム上での移行の準備プラットフォーム上での移行の準備Windowsプラットフォーム上でデータベースを移行する場合、前項「移行のための Oracle7ソース・データベースの準備」で説明した手順に加え、次の手順を行ってください。

1. SQL*Netの必要なリリースがインストールされていることを確認します。

SQL*Netの必要なリリースがインストールされていない場合、次の手順でインストールします。

a. オラクル社より、リリース 7.3用西暦 2000年対応 Oracle Installerを取得します。

b. 手順 aで取得した Oracle Installerを起動します。「Software Asset Manager」画面が表示されるまで、Oracle Installerの指示に従います。

c. 「Software Asset Manager」画面が表示されたら、「From」ボタンをクリックします。

d. 現行の Oracleリリース 8.1が入った CD-ROMのあるドライブにナビゲートします。

移行元移行元移行元移行元 必要な必要な必要な必要な SQL*Netリリースリリースリリースリリース

Oracleリリース 7.3.2 SQL*Netリリース 2.3.2.1.12以降

注意注意注意注意 : SQL*Netのリリースが 2.3.2.1.4より前の場合、リリース 2.3.2.1.12へアップグレードする前にまずリリース 2.3.2.1.4をインストールする必要があります。リリース 2.3.2.1.4を含んだパッチを取得するには、オラクル社カスタマ・サポート・センターにお問い合せください。

Oracleリリース 7.3.3 SQL*Netリリース 2.3.3.0.3以降

移行ユーティリティによる Oracle7からの移行 4-13

Page 82: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

リリース 8.1 Oracleソフトウェアのインストール

e. CD-ROM上の該当するディレクトリにナビゲートします。

SQL*Netリリース 2.3.2.1.12をインストールする場合、CD-ROM上の次のディレクトリにナビゲートします。

¥patches¥sqlnet¥232112¥nt_x86¥install

SQL*Netリリース 2.3.3.0.3をインストールする場合、CD-ROM上の次のディレクトリにナビゲートします。

¥patches¥sqlnet¥23303¥nt_x86¥install

f. nt.prdファイルをオープンします。

g. インストールを完了します。

h. Oracle Installerを終了します。

2. Oracle7データベース・インスタンス用サービスを含むすべての Oracle7サービスが停止していることを確認します。

リリースリリースリリースリリース 8.1 Oracleソフトウェアのインストールソフトウェアのインストールソフトウェアのインストールソフトウェアのインストールリリース 8.1ソフトウェアをインストールするには、次の手順を実行します。

1. ご使用のオペレーティング・システム固有の Oracleマニュアルの指示に従って、Oracle Unversal Installerをインストールおよび起動する準備を行います。

Oracle Parallel Serverをインストールしたシステムを移行する場合のインストールの詳細は、『Oracle8i Parallel Serverセットアップおよび構成ガイド』を参照してください。

2. Oracle Universal Installerの「Welcome」画面で、「Next」をクリックします。「File Locations」画面が表示されます。

ある画面でヘルプが必要な場合または Oracle Universal Installerのドキュメントについて知りたい場合は、「Help」ボタンをクリックしてオンライン・ヘルプをオーブンします。

参照参照参照参照 : 必要な SQL*Netリリースの詳細は、『Oracle8i for Windows NTインストレーション・ガイド』を参照してください。

注意注意注意注意 : 必要な SQL*Netリリースがインストールできない場合は、オラクル社カスタマ・サポート・センターへお問い合せください。

参照参照参照参照 : サービスの停止方法については、『Oracle8i管理者ガイド』を参照してください。

4-14 Oracle8i 移行ガイド

Page 83: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

リリース 8.1 Oracleソフトウェアのインストール

3. 「File Locations」画面で、次の手順を実行します。

a. 「Source」フィールドのテキストを変更しないでください。これは、インストールするファイルの場所です。

b. 「Destination Name」フィールドがある場合、このフィールドに新しい Oracleホームの名前を入力します。

c. 「Destination Path」フィールドに、新しいリリースをインストールする Oracleホーム・ディレクトリのフルパスを入力します。「Browse」ボタンをクリックして、ディレクトリにナビゲートします。

d. 「Next」をクリックします。

「Available Products」画面が表示されます。

4. 「Available Products」画面で、Oracle8iサーバーを選択します。Oracle8iサーバーは、ご使用のインストール・メディアによって、Oracle8i Enterprise Editionまたは Oracle8iになります。その後、「Next」をクリックします。

5. 「Installation Types」画面で、「Custom」または「Minimal」を選択します。Oracleソフトウェアと一緒に初期データベースをインストールする場合を除いては、「Typical」を選択しないでください。「Custom」または「Minimal」を選択すると、初期データベースのインストールを回避できます。通常、既存のデータベースを移行する場合は、初期データベースをインストールしないでください。

選択後、「Next」をクリックします。

「Custom」を選択した場合、「Available Product Components」画面が表示されます。次の手順を実行します。

a. インストールする製品コンポーネントを選択します。その後、「Next」をクリックします。

移行ユーティリティをインストールするために Oracleユーティリティをインストールします。「Minimal」を選択すると、移行ユーティリティは自動的にインストールされます。

特定のオプションの使用を中止しない限り、Oracle7データベースにインストールしていたオプションすべてをインストールしてください。たとえば、Oracle7に

注意注意注意注意 : 新しいリリース 8.1を Oracle7リリースとは別の Oracleホームにインストールする必要があります。

注意注意注意注意 : Oracle Parallel Serverに対して、Minimalはサポートされていません。

移行ユーティリティによる Oracle7からの移行 4-15

Page 84: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

リリース 8.1 Oracleソフトウェアのインストール

Oracleレプリケーションをインストールしていた場合は、Oracleレプリケーションを Oracle8iにインストールします。

b. Oracle Parallel Serverをインストールする場合、「Cluster Node Selection」画面で、ソフトウェアをインストールするノードを選択します。その後、「Next」をクリックします。

c. 「Upgrading or Migrating an Existing Database」画面が表示されるまで、画面の指示に従ってカスタム・インストール設定を行います。

6. 「Upgrading or Migrating an Existing Database」画面で、「Upgrade or Migrate an Existing Database」チェック・ボックスをチェックしないでください。その後、「Next」をクリックします。

「Upgrade or Migrate an Existing Database」チェック・ボックスをチェックすると、インストール後、Oracle Data Migration Assistantが自動的に起動します。移行ユーティリティを使用したデータベースの移行の指示に従っているので、Oracle Data Migration Assistantを起動しないでください。

7. 「Create Database」画面で「No」オプションを選択します。それによって、既存のデータベースを移行中であるためデータベースを作成しないことを示します。その後、「Next」をクリックします。

「Summary」画面が表示されるまで、画面の指示に従います。画面に関するヘルプを表示するには、「Help」ボタンをクリックします。

8. 「Summary」画面で、インストールの設定および選択が正しいかどうかを確認します。その後、「Install」をクリックします。これによって、Oracle Universal Installerがインストールを実行します。ある程度時間がかかる場合があります。

インストールが正常に完了したら、「Exit」ボタンをクリックして「Universal Installer」をクローズします。

注意注意注意注意 : Oracle Data Migration Assistantは、Oracle Parallel Serverの移行をサポートしません。

4-16 Oracle8i 移行ガイド

Page 85: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

リリース 8.1 Oracleソフトウェアのインストール

Windowsプラットフォームにプラットフォームにプラットフォームにプラットフォームに Oracle8iをインストールした後をインストールした後をインストールした後をインストールした後Windowsプラットフォームに Oracle8iを正常にインストールした後、次の手順を実行します。オペレーティング・システムが UNIXの場合は、4-18ページの「移行ユーティリティ・コマンドライン・オプションの検討」へ進んでください。

1. コンピュータを再起動します。

2. Windowsで、Oracle7サービス OracleServiceSIDを起動します。SIDはインスタンス名です。たとえば、SIDが ORCLの場合、MS-DOSプロンプトで次のように入力します。

C:¥> NET START OracleServiceORCL

3. 移行するデータベースの SIDを ORACLE_SIDに設定します。たとえば、移行するデータベースの SIDが ORCLの場合、MS-DOSプロンプトで次のように入力します。

C:¥> SET ORACLE_SID=ORCL

注意注意注意注意 : サービスはすでに起動している場合があります。その場合は、画面にメッセージが表示されます。

注意注意注意注意 : 等号(=)の前後に空白を入れないでください。

移行ユーティリティによる Oracle7からの移行 4-17

Page 86: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行ユーティリティ・コマンドライン・オプションの検討

移行ユーティリティ・コマンドライン・オプションの検討移行ユーティリティ・コマンドライン・オプションの検討移行ユーティリティ・コマンドライン・オプションの検討移行ユーティリティ・コマンドライン・オプションの検討移行処理の次の作業は、Oracle8iの移行ユーティリティを実行することです。作業を始める前に、次の移行ユーティリティのコマンドライン・オプションを検討してください。移行処理中にその一部を使用する場合があるからです。移行ユーティリティのコマンドライン・オプションに関する詳細が、オペレーティング・システムに固有の Oracleマニュアルにも記載されている場合があります。

CHECK_ONLY TRUEにすると、移行ユーティリティは、移行を実行せずに領域使用率を計算します。FALSEにすると、移行ユーティリティは領域使用率の計算と移行の両方を実行します。このコマンドライン・オプションは、NO_SPACE_CHECKと相互に排他的です。

DBNAME 移行するデータベース名(初期化パラメータ内の DB_NAME)を指定します。

MULTIPLIER Oracle8iの i_file#_block#索引の初期サイズを、Oracle7の i_file#_block#索引との比例で指定します。たとえば、MULTIPLIER=30とすると、索引が作成されたときの初期サイズが 3倍になります。MULTIPLIERコマンドライン・オプションを指定しない場合、移行ユーティリティはi_file#_block#値 15を使用し、Oracle8i用に作成される i_file#_block#索引は、Oracle7の i_file#_block#索引よりも 1.5倍大きくなります。

NEW_DBNAME 移行したデータベースに新しい名前を指定します。デフォルト名にDEFAULTは使用しないでください。意味のある名前を選択してください。

NLS_NCHAR Oracle8iのデータベースの PROPS$に、W52DECまたは US7ASCIIなどの各国語サポート(NLS)NCHARキャラクタ・セットを指定します。NLS_NCHARオプションを指定しなければ、移行ユーティリティはOracle7のデータベースのキャラクタ・セットを使用します。

NO_SPACE_CHECK

TRUEにすると、移行ユーティリティは移行前に領域使用率の調査を行いません。FALSEにすると、移行ユーティリティは移行前に領域使用率の調査を行います。このコマンドライン・オプションは、CHECK_ONLYと相互に排他的です。

PFILE 初期化パラメータ・ファイルの名前を指定します。PFILEコマンドライン・オプションを指定しない場合、移行ユーティリティはデフォルトの初期化パラメータ・ファイルを使用します。

注意注意注意注意 : UNIX上では、次の例のように \記号でエスケープされた二重引用符でパス名を囲む必要があります。

mig PFILE=\"/tmp/mig/pfile\"

SPOOL 出力をスプールするファイルのファイル名を指定します。

注意注意注意注意 : UNIX上では、次の例のように \記号でエスケープされた二重引用符でパス名を囲む必要があります。

mig SPOOL=\"/tmp/mig/spool\"

4-18 Oracle8i 移行ガイド

Page 87: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle7のソース・データベースの移行

Oracle7のソース・データベースの移行のソース・データベースの移行のソース・データベースの移行のソース・データベースの移行移行ユーティリティを使用して Oracle7のソース・データベースを Oracle8iへ移行するには、次の項に示す手順を実行してください。

UNIXオペレーティング・システムでのオペレーティング・システムでのオペレーティング・システムでのオペレーティング・システムでの Oracle7の移行環境準備の移行環境準備の移行環境準備の移行環境準備UNIXオペレーティング・システム上で Oracleデータベースを移行する場合のみ、この項で説明する手順を実行してください。オペレーティング・システムがWindowsの場合は、4-20ページの「Oracle7環境での移行手順の実行」へ進んでください。

UNIXオペレーティング・システムでは、migprepユーティリティは、必要な移行ファイルを Oracle8i Oracleホームから Oracle7 Oracleホームへコピーして、移行のために Oracle7の環境を整えます。新しいリリース 8.1の Oracleホームを示す環境変数を使用して、次のように入力して migprepを実行します。

migprep new_oracle_home old_oracle_home

new_oracle_homeは、新しいOracle8i Oracleホーム・ディレクトリのフルパスです。old_oracle_homeは、古い Oracle7 Oracleホーム・ディレクトリのフルパスです。

たとえば、新しい Oracle8i Oracleホームが /oracle/product/8.1で、古い Oracle7 Oracleホームが /oracle/product/7.3である場合、次の手順を実行します。

1. コマンド・プロンプトで、リリース 8.1インストールの ORACLE_HOME/binディレクトリへ移動します。

2. 次のように入力して migprepを実行します。

migprep /oracle/product/8.1 /oracle/product/7.3

3. 次の環境変数を、Oracle7のディレクトリを指すように変更します。

� ORACLE_HOME

� PATH

� LD_LIBRARY_PATH

� ORA_NLS

注意注意注意注意 : Oracle Parallel Serverに対して、すべてのノードでこの手順を実行します。

移行ユーティリティによる Oracle7からの移行 4-19

Page 88: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle7のソース・データベースの移行

4. 環境変数 ORA_NLS33を、Oracle7環境の次のディレクトリに設定します。

$ORACLE_HOME/migrate/nls/admin/data

Oracle7環境での移行手順の実行環境での移行手順の実行環境での移行手順の実行環境での移行手順の実行Oracle7環境では、次の移行手順を実行します。これらの手順は、UNIXおよびWindowsの両プラットフォームに共通です。

1. Server Managerを起動します。

2. INTERNALユーザーとして Oracle7データベースへ接続します。

3. Oracle7データベースを起動します。

STARTUP

4. 環境変数 NLS_LANGが、ご使用のデータベースで使用するキャラクタ・セットに設定されていることを確認します。

キャラクタ・セットを確認するには、次の SQL文を発行します。

SELECT * FROM v$nls_parameters WHERE parameter = 'NLS_LANGUAGE' OR parameter = 'NLS_TERRITORY' OR parameter = 'NLS_CHARACTERSET';

この問合せが戻す 3つの値すべてを使用して、NLS_LANGを設定します。たとえば、次の値が問合せによって戻されたとします。

PARAMETER VALUE --------------------- --------------------------- NLS_LANGUAGE AMERICANNLS_TERRITORY AMERICA NLS_CHARACTERSET US7ASCII

この場合、コマンド・プロンプトで NLS_LANGを次のように設定します。

AMERICAN_AMERICA.US7ASCII

参照参照参照参照 : NLS_LANGの詳細は、『Oracle8i NLSガイド』を参照してください。

4-20 Oracle8i 移行ガイド

Page 89: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle7のソース・データベースの移行

5. Oracle8iの移行ユーティリティを実行するために必要な DBA権限を持っていることを確認します。

DBA権限を持っていることを確認するには、DBA_ROLE_PRIVS静的データ・ディクショナリ・ビューを問い合せます。たとえば、ユーザー SYSTEMとして接続している場合、次の SQL文を入力します。

SELECT * FROM dba_role_privs WHERE grantee = 'SYSTEM';

DBAがユーザーの GRANTED_ROLE列にリストされている場合、DBA権限を持っています。DBA権限がない場合、DBA権限を持つユーザーとして接続します。

6. RESTRICTED SESSION権限を持つ他の DBAが、移行ユーティリティの実行中にデータベースへ接続しないようにします。また、通常のユーザーは移行処理中にデータベースへ接続することはできません。

7. 次の SQL文を発行して、手順 9でバックアップを取るファイルを決定します。

SPOOL v7files.log;SELECT member FROM v$logfile;SELECT name FROM v$datafile;SELECT value FROM v$parameter WHERE name = 'control_files';SPOOL OFF;

v7files.logスプール・ファイルには、手順 9でバックアップを取る必要のあるファイルがすべてリストされます。

8. SHUTDOWN NORMALまたは SHUTDOWN IMMEDIATE文を使用して、Oracle7のデータベースを正しく停止します。SHUTDOWN ABORTは使用しないでください。Oracle7のソース・データベースは、正しく停止する必要があります。これによって、REDO情報やコミットされていないトランザクションは残りません。

SHUTDOWN IMMEDIATE

Oracle Parallel Serverを使用している場合、すべてのインスタンスを停止します。

注意注意注意注意 : 移行を開始する前に Oracle7のデータベースを停止していない場合は、移行ユーティリティが停止してエラー・メッセージが表示されます。

移行ユーティリティによる Oracle7からの移行 4-21

Page 90: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle7のソース・データベースの移行

9. Oracle7データベースの完全なバックアップを行います。手順 7で生成したv7files.logスプール・ファイルにリストされたファイルを確実にバックアップしてください。

移行ユーティリティの実行移行ユーティリティの実行移行ユーティリティの実行移行ユーティリティの実行UNIXで移行ユーティリティを実行するための手順は、Windowsプラットフォームで移行ユーティリティを実行するための手順とは異なります。該当する項の手順を実行してください。

� UNIXでの移行ユーティリティの実行

� Windowsプラットフォームでの移行ユーティリティの実行

UNIXでの移行ユーティリティの実行での移行ユーティリティの実行での移行ユーティリティの実行での移行ユーティリティの実行UNIXオペレーティング・システムで移行ユーティリティを実行するには、次の手順を実行します。

1. 環境変数がまだ Oracle7ディレクトリを指していることを確認します。

2. SYSTEM表領域に十分な領域があることを確認します(オプション)。

移行の一般的な問題は、移行中に SYSTEM表領域の領域を使い果たしてしまうことです。十分なディスク領域が SYSTEM表領域に割り当てられていないと、移行ユーティリティは移行処理を完了しません。移行を成功させるために必要なディスク領域を調べるために、CHECK_ONLYコマンドライン・オプションを TRUEに設定して Oracle8iの移行ユーティリティを実行します。そのためには、システム・プロンプトで次のように入力します。

mig CHECK_ONLY=TRUE

注意注意注意注意 : 移行処理中に何らかの問題が発生した場合、このバックアップからデータベースをリストアする必要がある場合があります。そのため、予防措置として、ここでデータベースのバックアップを取ってください。

参照参照参照参照 : Oracle7データベースのバックアップの詳細は、『Oracle7 Server管理者ガイド』を参照してください。

参照参照参照参照 : 確認する環境変数の詳細は、4-19ページの「UNIXオペレーティング・システムでの Oracle7の移行環境準備」の手順 3を参照してください。

4-22 Oracle8i 移行ガイド

Page 91: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle7のソース・データベースの移行

CHECK_ONLYコマンドライン・オプションを指定すると、移行ユーティリティは、移行に必要なディスク領域を算定し、利用可能な領域の大きさを調べて、ディスク領域の要件に関する情報メッセージを発行します。CHECK_ONLYコマンドライン・オプションを TRUEに設定すると、移行ユーティリティは、Oracle8iのデータ・ディクショナリを作成したりその他の移行処理を実行することがありません。

CHECK_ONLYコマンドライン・オプションが SYSTEM表領域に領域を追加するよう示した場合、CHECK_ONLYオプションで示された領域に 25MBを足した領域を追加する必要があります。追加の 25MBは、移行処理で後ほど実行する移行スクリプトに必要なおおよその領域分です。

SYSTEM表領域に領域を追加する必要がある場合は、次のような文を発行して、新しいデータ・ファイルのかわりとなる適切なディレクトリ・パス名および追加する必要のある領域の大きさを指定します。

ALTER TABLESPACE system ADD DATAFILE '/home/user1/mountpoint/oradata/db1/system02.dbf' SIZE 50M;

SYSTEM表領域に領域を追加する場合、終了時にデータベースを停止することを忘れないでください。

3. システム・プロンプトで次の移行ユーティリティ・コマンドを入力して、移行ユーティリティを実行します。

mig

オペレーティング・システム固有の Oracleマニュアルで他のコマンドが指示されていない限り、コマンドは migです。migのみ入力して移行ユーティリティをデフォルト設定のオプションで実行するか、migを入力した後に 1つ以上の選択オプションを続けて入力します。

参照参照参照参照 : コマンドライン・オプションの詳細は、4-18ページの「移行ユーティリティ・コマンドライン・オプションの検討」を参照してください。オラクル社では SPOOLオプションを使用することをお薦めします。SPOOLオプションを使用すると、移行が完了したときに移行の確認が簡単です。

移行ユーティリティによる Oracle7からの移行 4-23

Page 92: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle7のソース・データベースの移行

4. 移行ユーティリティが正常に完了した後、次の環境変数を Oracle8i実行ファイルを指すように変更します。

� ORACLE_HOME

� PATH

� LD_LIBRARY_PATH

� ORA_NLS

ORACLE_HOMEが Oracle7の実行可能ファイルを指している場合は、後で移行処理中に ALTER DATABASE CONVERT文を実行すると、ORA-00223エラー「変換ファイルが無効またはバージョンが正しくありません。」が表示されます。

Windowsプラットフォームでの移行ユーティリティの実行プラットフォームでの移行ユーティリティの実行プラットフォームでの移行ユーティリティの実行プラットフォームでの移行ユーティリティの実行Windowsプラットフォームで移行ユーティリティを実行するには、次の手順を実行します。

1. 新しい Oracle8i Oracleホームで、PFILEオプションを含んだ移行ユーティリティ・コマンドをMS-DOSプロンプトで実行することによって移行ユーティリティを実行します。

C:¥> mig PFILE=ORACLE7_HOME¥DATABASE¥INIT_PARAM_FILE

ORACLE7_HOME変数を Oracle7 Oracleホーム・ディレクトリへのフルパスで置き換えます。また、INIT_PARAM_FILE変数を、Oracle7データベース用の初期化パラメータ・ファイルの完全な名前で置き換えます。

たとえば、ORALCE7_HOMEが C:¥ORANTで、INIT_PARAM_FILEが INITORCL.ORAの場合は、次のように入力します。

C:¥> mig PFILE=C:¥ORANT¥DATABASE¥INITORCL.ORA

migのみ入力して移行ユーティリティをデフォルト設定のオプションで実行するか、migを入力した後に 1つ以上の選択オプションを続けて入力します。

注意注意注意注意 : Oracle Parallel Serverに対して、すべてのノードでこの手順を実行します。

参照参照参照参照 : ご使用のオペレーティング・システムでのその他の重要な環境変数の設定は、オペレーティング・システム固有の Oracle8iインストレーション・ガイドを参照してください。

4-24 Oracle8i 移行ガイド

Page 93: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle7のソース・データベースの移行

2. 移行ユーティリティを実行した際に「Oracle7 Password」が表示された場合、Oracle7データベースの INTERNALユーザー用のパスワードを入力します。このプロンプトは、DBA_AUTHORIZATIONレジストリ・パラメータが正常に設定されていないか、設定されていない場合に表示されます。

3. Oracle7サービス OracleServiceSIDを停止します。SIDはインスタンス名です。たとえば、SIDが ORCLの場合、MS-DOSプロンプトで次のように入力します。

C:¥> NET STOP OracleServiceORCL

4. 移行ユーティリティが正常に起動した後、MS-DOSコマンド・プロンプトでORADIM7xを使用して Oracle7サービスを削除します。次の表に、各Oracle7リリースに対して実行するMS-DOSコマンドを示します。

たとえば、ご使用の Oracle7リリースが 7.3.4で SIDが ORCLの場合、MS-DOSコマンドで次のように入力します。

C:¥> ORADIM73 -DELETE -SID ORCL

5. コンピュータを再起動します。

参照参照参照参照 : コマンドライン・オプションの詳細は、4-18ページの「移行ユーティリティ・コマンドライン・オプションの検討」を参照してください。オラクル社では、SPOOLオプションを使用することをお薦めします。SPOOLオプションを使用すると、移行が完了したときに移行の確認が簡単です。

Oracle7 リリースリリースリリースリリース MS-DOSコマンド・プロンプトで入力するコマンドコマンド・プロンプトで入力するコマンドコマンド・プロンプトで入力するコマンドコマンド・プロンプトで入力するコマンド

7.1 C:¥> ORADIM71 -DELETE -SID SID

7.2 C:¥> ORADIM72 -DELETE -SID SID

7.3 C:¥> ORADIM73 -DELETE -SID SID

移行ユーティリティによる Oracle7からの移行 4-25

Page 94: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle7のソース・データベースの移行

6. MS-DOSコマンド・プロンプトで Oracle8iデータベース・サービスを作成します。

C:¥> ORADIM -NEW -SID SID -INTPWD PASSWORD -MAXUSERS USERS -STARTMODE AUTO -PFILE ORACLE_HOME¥DATABASE¥INITSID.ORA

この構文には次の変数が含まれます。

たとえば、SIDが ORCL、PASSWORDが TWxy579、USERSの最大数が 10およびORACLE_HOMEディレクトリが C:¥ORA81の場合、次のコマンドを入力します。

C:¥> ORADIM -NEW -SID ORCL -INTPWD TWxy579 -MAXUSERS 10 -STARTMODE AUTO -PFILE C:¥ORA81¥DATABASE¥INITORCL.ORA

移行結果の確認移行結果の確認移行結果の確認移行結果の確認移行ユーティリティの実行後に結果を確認します。移行ユーティリティは情報メッセージを生成し、migrate.bsqスクリプトの実行時にその進行状況をエコーします。移行ユーティリティが ORA-エラーで終了する場合、エラーおよび問題を解決する処置の詳細は、付録 A「移行問題のトラブルシューティング」を参照してください。

移行ユーティリティは、Oracle7の制御ファイルの情報を含む変換ファイルを作成します。後に移行処理中で、この変換ファイルは Oracle8iの新しい制御ファイルを作成するときにALTER DATABASE CONVERTによって使用されます。

変換ファイルの名前と位置は、オペレーティング・システムによって異なります。たとえば、UNIXオペレーティング・システムでは、デフォルト位置は Oracle7環境のORACLE_HOME/dbsであり、このディレクトリ内のデフォルト・ファイル名はconvsid.dbfです。この sidは、Oracle7のインスタンス IDです。Windows NTでは、デフォルト位置は Oracle8i環境の ORACLE_HOME¥rdbmsであり、このディレクトリ内のデフォルト・ファイル名は convert.oraです。

SID 移行したバージョン 7データベースの SIDと同じ SID名

PASSWORD 新しいリリース 8.1データベース・インスタンスのパスワード。これはINTERNALユーザー用のパスワードです。-INTPWDオプションは不要です。これを指定しない場合、オペレーティング・システムの認証が使用され、パスワードは不要です。

USERS SYSDBA権限および SYSOPER権限を付与できるユーザーの最大数。

ORACLE_HOME リリース 8.1の Oracleホーム・ディレクトリ。-PFILEオプションを使用して、(Oracleホーム・ディレクトリのドライブを含む)フルパス名を指定する必要があります。

4-26 Oracle8i 移行ガイド

Page 95: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle7のソース・データベースの移行

Oracle7のソース・データベースの保存のソース・データベースの保存のソース・データベースの保存のソース・データベースの保存移行ユーティリティが正常に終了したら、Oracle7のデータベースのコールド・バックアップを取ってください。このバックアップは、次の目的で使用します。

� Oracle8iでALTER DATABASE CONVERT文を実行後にOracle7のデータベースに戻る必要が発生した場合は、バックアップをリストアして Oracle7のデータベースを起動し、4-36ページの「移行の中止」の手順を実行します。

� Oracle8iをリカバリするための最初の Oracle8iバックアップとして使用します。

� Oracle8iのデータベースの変換時(ALTER DATABASE CONVERTまたは ALTER DATABASE OPEN RESETLOGS)にエラーが発生した場合は、このバックアップをリストアし、問題を修正して変換処理を継続することができます。ただし、移行ユーティリティの実行前に取ったバックアップをリストアする場合は、移行ユーティリティを再実行する必要があります。

注意注意注意注意 : Oracle8iの移行ユーティリティによって停止された Oracle7のデータベースはオープンしないでください。データ・ファイルのバージョンを確実に統合するには、データベースを Oracle8iへ変換するときに、ディクショナリ内の SCN、変換ファイルおよびファイル・ヘッダーのすべてに一貫性がある必要があります。移行ユーティリティの実行後にOracle7のデータベースをオープンすると、データベースを Oracle8iへ変換するとき SCNの判別に失敗し、「Oracle7データ・ファイルは Oracle8に移行していません。」という ORA-01211エラーが表示されます。したがって、Oracle7のデータベースをオープンする場合は、移行ユーティリティを再実行し、手順 8から開始する必要があります。

参照参照参照参照 : Oracle7データベースでのバックアップの実行およびリカバリ操作の詳細は、『Oracle7 Server管理者ガイド』を参照してください。

移行ユーティリティによる Oracle7からの移行 4-27

Page 96: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle7のソース・データベースの移行

さらに、Oracle7のホーム・ディレクトリを含む、Oracle7で配布されるソフトウェア全体のバックアップを作成します。そのバックアップには、次のファイルが必ず含まれるようにしてください。

� すべてのサブディレクトリ

� 制御ファイル

� データ・ファイルとオンライン REDOログ・ファイル(Oracle7のデータベースのデータ・ファイルがなくなるか読み取れない場合に備えて)。ただし、これらのファイルには未処理の REDO情報は含まれません。

� パラメータ・ファイル

� 変換ファイル

� Oracle7のデータベースにオブジェクトを作成するスクリプト

� 必要に応じて元のデータベースをリストアできるスクリプト

Oracle8i環境での移行手順の実行環境での移行手順の実行環境での移行手順の実行環境での移行手順の実行Oracle8iの環境では、次の移行手順を実行してください。

1. データベースの制御ファイルを削除または改名するか、CONTROL_FILES初期化パラメータを使用して、新しい制御ファイル名を指定します。CONTROL_FILES初期化パラメータは、通常、初期化パラメータ・ファイルで設定されますが、Oracle Parallel Serverを使用している場合、かわりに initdb_name.oraファイルで設定される場合があります。

手順 10で ALTER DATABASE CONVERT文を発行します。この文は、新しい制御ファイルを自動的に作成します。CONTROL_FILESパラメータを使用しない場合、この文は移行前のデータベースの(CONVERTファイルから派生した)制御ファイルの名前を使用し、その制御ファイルがすでに存在していたらエラーを戻します。したがって、エラーが出た場合、制御ファイルを削除または改名する必要があります。

ただし、CONTROL_FILES初期化パラメータを使用して新しい制御ファイルを指定する場合は、指定した名前を持つ新しい制御ファイルが ALTER DATABASE CONVERT文によって作成されるので、古い制御ファイルを削除する必要はありません。既存の制御ファイルの完全なリストは、4-22ページの手順 9で作成した v7files.logスプール・ファイルで確認できます。

制御ファイルは、Oracle7よりも Oracle8iの方がかなり大きくなります。たとえば、Oracle7の数百 KBの制御ファイルが、Oracle8iでは数十MBのサイズに増大する場合があります。Oracle8iにおいてサイズが大きくなるのは、バックアップや表領域レコードなど、より多くの情報が制御ファイル内に記憶されるからです。制御ファイルがロー・デバイス上にある場合、または使用可能なディスク領域が制限されている場合は、このサイズの増大が重要になります。

4-28 Oracle8i 移行ガイド

Page 97: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle7のソース・データベースの移行

2. 移行に重要なファイルを Oracle7 Oracleホーム以外の場所にコピーします。

a. オペレーティング・システムが UNIXの場合、変換ファイルを Oracle7 Oracleホーム・ディレクトリから Oracle8i Oracleホーム・ディレクトリに移動またはコピーします。ほとんどの UNIXオペレーティング・システムでは、変換ファイルconvsid.dbf(sidは Oracle8iデータベース名)は、Oracle7および Oracle8i環境ともに ORACLE_HOME/dbsに常駐させる必要があります。

Windowsプラットフォームでは、変換ファイル convert.oraは、Oracle7およびOracle8i環境ともに ORACLE_HOME¥rdbmsに常駐させる必要があります。ただし、移行ユーティリティによってこのディレクトリの中に自動的に配置されるので、移動する必要はありません。

b. Oracle7 Oracleホーム内に常駐するパスワード・ファイルがある場合、そのパスワード・ファイルを Oracle8i Oracleホーム・ディレクトリに移動またはコピーします。

パスワード・ファイルの名前および位置は、オペレーティング・システムによって異なります。たとえば、UNIXオペレーティング・システムでは、デフォルトのパスワード・ファイルは ORACLE_HOME/dbs/orapwsidですが、Windows NTでは、デフォルトのパスワード・ファイルはORACLE_HOME¥database¥pwdsid.oraです。両方の場合とも、sidはご使用のOracleインスタンス IDです。

c. 初期化パラメータ・ファイルが Oracle7 Oracleホーム内に常駐する場合、Oracle7 Oracleホーム以外の場所へ移動またはコピーします。デフォルトでは、Oracleは初期化パラメータ・ファイルを UNIXの場合は ORACLE_HOME/dbsへ、Windowsプラットフォームの場合は ORACLE_HOME¥databaseで検索します。初期化パラメータ・ファイルはどの場所にも置くことができます。ただし、Oracle8iに移行した後は Oracle7 Oracleホーム内に置くことができません。

注意注意注意注意 : CONTROL_FILES初期化パラメータは、1つ以上の制御ファイルの名前をカンマで区切って指定します。オラクル社では、異なる複数のデバイスで複数のファイルを使用するか、オペレーティング・システム・レベルでファイルをミラー化することをお薦めします。詳細は、『Oracle8i管理者ガイド』を参照してください。

注意注意注意注意 : Oracle Parallel Serverに対して、すべてのノードでこの手順を実行します。

移行ユーティリティによる Oracle7からの移行 4-29

Page 98: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle7のソース・データベースの移行

d. 初期化パラメータ・ファイルが IFILE(インクルード・ファイル)エントリを含み、Oracle7 Oracleホーム内に常駐する場合、IFILEエントリで指定されているファイルを Oracle7 Oracleホーム以外の場所へ移動またはコピーします。

e. Oracle Parallel Serverを使用し、ご使用の initdb_name.oraファイルが Oracle7 Oracleホーム内に常駐する場合、initdb_name.oraファイルを Oracleホーム以外の場所へ移動またはコピーします。

3. Oracle8i環境の初期化パラメータ・ファイルを Oracle8iで使用できるように調整します。具体的には、次の手順を実行します。

a. 初期化パラメータ・ファイル内の COMPATIBLE初期化パラメータをリリース 8.0.6またはリリース 8.1.7などの有効なリリース 8.0およびリリース 8.1設定にします。COMPATIBLEパラメータが Oracle7のリリースに設定されていないことを確認してください。Oracle7のリリースに設定されていると、Oracle8iデータベースを開始できず、移行が失敗します。詳細は、9-6ページの「COMPATIBLE初期化パラメータの設定」を参照してください。

b. 廃止されたパラメータを削除して、変更されたパラメータを調整します。Oracle7の特定の初期化パラメータは、リリース 8.0およびリリース 8.1では廃止されています。廃止されたパラメータは、Oracle8iのインスタンスを開始するすべての初期化パラメータ・ファイルからすべて削除してください。廃止されたパラメータはOracle8iでエラーの原因となることがあります。また、リリース 8.0およびリリース 8.1で構文が変更されているパラメータを変更することも必要です。新しいパラメータ、改名されたパラメータおよび廃止されたパラメータのリストは、付録 B「初期化パラメータの変更」を参照してください。

また、Oracle Parallel Serverを使用する場合、廃止された Oracle Parallel Server初期化パラメータの詳細は、Oracle8i Parallel Serverドキュメント・セット(『Oracle8i Parallel Server概要』、『Oracle8i Parallel Serverセットアップおよび構成ガイド』、『Oracle8i Parallel Server管理、配置およびパフォーマンス』)を参照してください。

c. JOB_QUEUE_PROCESSES初期化パラメータを使用してスナップショットを自動的に更新する場合、初期化パラメータ・ファイル内のこのパラメータに 0(ゼロ)を設定します。データベースをアップグレードした後で、これらのパラメータの設定を通常の設定に戻します。

d. OPTIMIZER_MODE初期化パラメータに CHOOSEが設定されていることを確認します。データベースをアップグレードした後で、これらのパラメータの設定を通常の設定に戻します。

注意注意注意注意 : Oracle Parallel Serverに対して、すべてのノードでこの手順を実行します。

4-30 Oracle8i 移行ガイド

Page 99: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle7のソース・データベースの移行

e. Oracle Parallel Serverを使用する場合、PARALLEL_SERVER初期化パラメータをFALSEに設定します。移行が完了した後に、それを TRUEに戻します。

f. UNIXオペレーティング・システムで分散ロック・マネージャ(DLM)を使用する場合、LM_PROCS初期化パラメータを、Oracle7で使用される DLMのロック、リソースおよびプロセス・パラメータに等しく設定してあることを確認します。

g. DB_DOMAIN初期化パラメータが正しく設定されていることを確認します。

h. Windowsプラットフォームで、RDBMS71、RDBMS72または RDBMS73を指すBACKGROUND_DUMP_DESTおよび USER_DUMP_DEST初期化パラメータを、次のディレクトリを指すように変更します(オプション)。

設定では、ORACLE_BASEには ORACLE_BASEのフルパスを、DB_NAMEにはデータベース名をそれぞれ入力します。

i. 初期化パラメータ・ファイルのすべてのパス名が完全に指定されていることを確認します。初期化パラメータ・ファイルには相対パス名を使用しないでください。

j. 初期化パラメータ・ファイルに IFILEエントリがある場合、手順 2のコピー先の新しい場所を指すように初期化パラメータ・ファイルの IFILEエントリを変更します。次に、IFILEエントリに指定されているファイルを、サブ手順 a~ iで初期化パラメータ・ファイルを編集した方法と同じように編集します。

k. Oracle Parallel Serverを使用している場合、initdb_name.oraファイルを、サブ手順 a~ hで初期化パラメータ・ファイルを変更した方法と同じように変更します。

これらの調整後、変更したすべてのファイルを保存します。

参照参照参照参照 : この初期化パラメータの設定方法の詳細は、B-10ページの「DB_DOMAINパラメータ」を参照してください。

初期化パラメータ初期化パラメータ初期化パラメータ初期化パラメータ 変更先変更先変更先変更先

BACKGROUND_DUMP_DEST ORACLE_BASE¥oradata¥DB_NAME

USER_DUMP_DEST ORACLE_BASE¥oradata¥DB_NAME¥archive

移行ユーティリティによる Oracle7からの移行 4-31

Page 100: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle7のソース・データベースの移行

4. Oracle8i DB_NAMEが Oracle7 DB_NAMEと異なる場合は、次の手順を実行してください。同じ場合は、手順 5へ進みます。

a. UNIXオペレーティング・システムで、convsid.dbfファイルを改名して、Oracle8i DB_NAMEと一致させます。たとえば、Oracle7 DB_NAMEが DBMS7で、Oracle8i DB_NAMEが DBMS8である場合は、変換ファイルをconvDBMS7.dbsから convDBMS8.dbsへ改名します。Windowsプラットフォームでは、この処理は不要です。

b. 初期化パラメータ・ファイルの DB_NAME初期化パラメータを、Oracle8iデータベース名に設定します。

5. すべてのオンライン・データ・ファイルがアクセス可能で、正しいディレクトリに入っていることを確認します。ロー・ディスクを使用する場合は、ログ・ファイルもアクセス可能でなければなりません。

6. ORACLE_HOME/rdbms/adminディレクトリへ変更します。現在の位置は Oracle8i Oracleホームである必要があります。

7. Server Managerを起動します。ほとんどのオペレーティング・システムでは、Oracle8iの Server Managerを起動するには、コマンド・プロンプトで svrmgrlを入力します。

8. INTERNALユーザーとしてデータベース・インスタンスに接続します。

9. Oracle8iの新しいデータベースをマウントせずに、Oracle8iのデータベースのインスタンスを起動します。

SVRMGR> STARTUP NOMOUNT

PFILEオプションを使用して、初期化パラメータ・ファイルの場所を指定する必要がある場合があります。

廃止された初期化パラメータをリストするエラー・メッセージが表示される場合があります。そのような場合は、廃止された初期化パラメータを書き留め、移行を通常どおり継続します。次にデータベースを停止するときに、廃止された初期化パラメータを削除します(手順 18)。

注意注意注意注意 : Oracle Parallel Serverに対して、すべてのノードでこの手順を実行します。

注意注意注意注意 : データベースのインスタンスを他のモードで起動すると、そのデータベースを破損する可能性があります。

4-32 Oracle8i 移行ガイド

Page 101: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle7のソース・データベースの移行

10. Oracle8iのデータベースの新しい制御ファイルを作成し、すべてのオンライン表領域のファイル・ヘッダーを Oracle8i形式に変換します。そのためには、次のコマンドを発行します。

SVRMGR> ALTER DATABASE CONVERT;

この文の実行が成功すると、このデータベースについては Oracle7に戻せなくなります。ただし、必要に応じてバックアップから Oracle7のデータベースをリストアすることはできます。

この手順でエラーが発生した場合は、エラーの原因となっている状態を解決し、移行ユーティリティを再実行してください。4-20ページの手順から再度開始します。そうでない場合は、移行ユーティリティを実行した後に実行したバックアップをリストアします。

11. 次の文で Oracle8iデータベースをオープンします。

SVRMGR> ALTER DATABASE OPEN RESETLOGS;

Oracle8iのデータベースがオープンされているときは、オンライン状態のロールバック・セグメントもすべて新しい Oracle8i形式に変換されます。

この文を発行するときエラーが発生する場合は、始めから移行処理をやり直し、移行ユーティリティ実行後にデータベースが Oracle7環境でオープンしていないことを確認してください。この章の最初から開始してください。ただし、第 3章で説明されている移行前の手順を完了していることを確認してください。

12. 成功したかどうかを後で確認するために、結果をログ・ファイルにスプールするようにシステムを設定します。

SVRMGR> SPOOL catoutm.log

実行したスクリプトの出力を画面上で確認する場合は、SET ECHO ON文の発行でも確認できます。

SVRMGR> SET ECHO ON

13. Oracle8iのデータベースの変換スクリプト u0703040.sqlを実行します。

SVRMGR> @u0703040.sql

u0703040.sqlスクリプトは、使用するオペレーティング・システムの移行ユーティリティでサポートするリリース 7.1、7.2および 7.3すべてのデータベースの変換スクリプトです。u0703040.sqlスクリプトは、特定のシステム表を作成および変更し、MIGRATEユーザーを削除します。また、システム・カタログ・ビューおよび PL/SQL

参照参照参照参照 : この手順で発生するエラーと問題解決のために実行する処置の詳細は、A-17ページの「ALTER DATABASE CONVERT文における問題」を参照してください。

移行ユーティリティによる Oracle7からの移行 4-33

Page 102: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle7のソース・データベースの移行

の使用に必要なすべてのパッケージを作成する、catalog.sqlおよび catproc.sqlを実行します。

このスクリプトか、残りの手順のスクリプトのいずれかを実行中に何らかの問題が発生した場合は、問題を解決してスクリプトを再実行してください。必要に応じて、この章で説明されているスクリプトのいずれかを実行できます。

14. Oracleシステムに Oracleレプリケーションをインストールしている場合は、次の手順を実行します。

a. catrep.sqlを実行します。

SVRMGR> @catrep.sql

b. r0703040.sqlを実行します。

SVRMGR> @r0703040.sql

この r0703040.sqlスクリプトは、catrep.sql後の Oracleレプリケーションに関連するアップグレードを実行します。

15. Oracleシステムに Oracle Parallel Serverをインストールしている場合は、catparr.sqlを実行します。

SVRMGR> @catparr.sql

16. utlrp.sqlを実行します(オプション)。

SVRMGR> @utlrp.sql

utlrp.sqlスクリプトは、以前 INVALID状態だったパッケージ、プロシージャ、型などの既存の PL/SQLモジュールを、すべて再コンパイルします。これらの処置はオプションですが、これらの処理を行うと、再コンパイルはインストール後ではなくインストール中に発生します。

オラクル社では、このオプションの手順を実行することをお薦めします。

参照参照参照参照 : スクリプトの実行中のエラーのタイプを判断するには、1-11ページの「スクリプトの実行」を参照してください。

4-34 Oracle8i 移行ガイド

Page 103: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle7のソース・データベースの移行

17. スクリプト結果のログ・ファイルへのスプーリングをオフにします。

SVRMGR> SPOOL OFF

次に、スプール・ファイルを確認して、すべてのパッケージおよびプロシージャのコンパイルが成功したかどうかを検証します。手順 12でスプール・ファイルに名前を付けましたが、その名前は catoutm.logでした。

領域が不足していることを警告するエラーやスクリプトの実行に失敗したことを警告するエラーは、調査する必要があります。これらのタイプのエラーが発生する場合、移行は成功していない場合があります。ただし、存在しないオブジェクトの変更や削除の障害についてのエラーは、通常無視できます。

SET ECHO ONを指定した場合は、ここで SET ECHO OFFを行うことができます。

SVRMGR> SET ECHO OFF

18. Oracle8iのデータベース上で、SHUTDOWNを実行します。

SVRMGR> SHUTDOWN IMMEDIATE

この正しい停止を実行すると、すべてのキャッシュをフラッシュし、バッファを消去し、その他の内部的な不整合の解消を行います。これらの手段は、新規に移行したOracle8iのデータベースの整合性と一貫性を保証するための重要な最終ステップです。

COMPATIBLE初期化パラメータは、ご使用のデータベースの互換レベルを制御します。初期化パラメータ・ファイルの COMPATIBLE初期化パラメータを、移行したデータベース用の互換レベルに基づいて設定します。

また、手順 9でデータベースを開始したときに、廃止された初期化パラメータをリストしたメッセージが表示された場合、ここで初期化パラメータ・ファイルから廃止された初期化パラメータを削除します。

注意注意注意注意 : SHUTDOWN NORMALまたは SHUTDOWN IMMEDIATEを使用してください。SHUTDOWN ABORTは使用しないでください。

参照参照参照参照 : 詳細は、9-6ページの「COMPATIBLE初期化パラメータの設定」を参照してください。

移行ユーティリティによる Oracle7からの移行 4-35

Page 104: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行時のエラーのトラブルシューティング

19. 第 8章「データベースの移行後またはアップグレード後の作業」に記載されている手順を実行します。

移行時のエラーのトラブルシューティング移行時のエラーのトラブルシューティング移行時のエラーのトラブルシューティング移行時のエラーのトラブルシューティングエラーが発生する原因としては、次のような操作が行われたか、または省略されたことが考えられます。

� 誤った順序で移行手順を実行する

� 移行の前提条件を満たしていない

� 変換の例外を検出する

移行の中止移行の中止移行の中止移行の中止移行ユーティリティを実行する前に使用する Oracle7データベースのバックアップを行った場合、移行を中止する最も簡単な方法は、バックアップをリストアすることです。ただし、バックアップを取っていない場合、または移行ユーティリティ実行後にバックアップを行った場合には、移行を中止するためにこの項に説明されている手順を実行する必要があります。

Oracle8iの移行ユーティリティは複数回実行できますが、まだ Oracle7のデータベースへ戻ることはできます。ただし、移行ユーティリティを実行すると、Oracle7のデータベースのカタログ・ビューが自動的に削除されます。したがって、移行ユーティリティの実行後にOracle7のデータベースに戻るには、Oracle7の catalog.sqlスクリプトを実行して、Oracle7のデータベースのカタログ・ビューをリストアする必要があります。

注意注意注意注意 : Oracle7ソフトウェアを保持している場合、Oracle7ソフトウェアで移行済データベースを起動しないでください。新しい Oracle8iインストールの実行可能ファイル以外で、データベースを起動しないでください。また、Oracle7環境を削除する前に、Oracle7環境のデータ・ファイルをすべて Oracle8i環境に再配置してください。データ・ファイルの再配置の詳細は、『Oracle8i管理者ガイド』を参照してください。

参照参照参照参照 : 移行中に発生する可能性のあるエラーと処置については、付録 A「移行問題のトラブルシューティング」および『Oracle8i エラー・メッセージ』を参照してください。

4-36 Oracle8i 移行ガイド

Page 105: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行の中止

移行を中止するには、一般的に Oracle7環境下で次の手順を実行して Oracle7データベースをリストアする必要があります。

1. Server Managerを使用して Oracle7のデータベースを起動します。

2. ユーザーMIGRATEを削除します。

SVRMGR> DROP USER MIGRATE CASCADE;

3. catalog.sqlおよび catproc.sqlを再実行します。

SVRMGR> @catalog.sqlSVRMGR> @catproc.sql

4. Server Managerがインストールされている場合は、catsvrmg.sqlを実行します。

SVRMGR> @catsvrmg.sql

5. Parallel Serverがインストールされている場合は、catparr.sqlを実行します。

SVRMGR> @catparr.sql

6. Oracleレプリケーションがインストールされている場合は、catrep.sqlを実行します。

SVRMGR> @catrep.sql

注意注意注意注意 : すでに ALTER DATABASE CONVERT文を実行している場合は、移行を中止するために次の手順は使用できません。この文を実行しOracle7へ戻るには、第 14章「Oracle7へのダウングレード」の手順を実行してください。

注意注意注意注意 : Oracle8iの移行ユーティリティは、リリース 7.1およびリリース7.2のデータベースをリリース 7.3にアップグレードします。元の Oracle7の本番データベースがリリース 7.1または 7.2であり、移行が実行されても Oracle8iへの変換前に中止された場合、Oracle7のデータベースはディクショナリがリリース 7.3のままになります。ただし、そのような場合、リリース 7.3からリリース 7.1または 7.2へダウングレードする必要はありません。7.1または 7.2ソフトウェアは、それ以上の操作なしでも、そのデータ・ディクショナリ上で動作します。

移行ユーティリティによる Oracle7からの移行 4-37

Page 106: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行の中止

4-38 Oracle8i 移行ガイド

Page 107: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle Data Migration Assistantによる Oracle7からの

5

Oracle Data Migration Assistantによるによるによるによる

Oracle7からの移行からの移行からの移行からの移行

この章では、Oracle Data Migration Assistantを使用して Oracle7データベースを Oracle8iへ移行する処理について説明します。この章では、次の項目について説明します。

� Oracle Data Migration Assistantを使用するためのドキュメント・ロードマップ

� Oracle Data Migration Assistantを使用した移行の概要

� システムの考慮点と要件

� 移行のための Oracle7ソース・データベースの準備

� リリース 8.1の Oracleソフトウェアのインストールおよびそのデータベースの移行

� 移行時のエラーのトラブルシューティング

� 移行の中止

参照参照参照参照 : 移行処理の一部には、オペレーティング・システム固有の部分があります。移行の追加情報については、ご使用のオペレーティング・システム固有の Oracleマニュアルを参照してください。

移行 5-1

Page 108: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle Data Migration Assistantを使用するためのドキュメント・ロードマップ

Oracle Data Migration Assistantを使用するためのドキュメント・を使用するためのドキュメント・を使用するためのドキュメント・を使用するためのドキュメント・ロードマップロードマップロードマップロードマップ

図 5-1に、ご使用の現行リリースの Oracleに基づいて、データベースをリリース 8.1に移行するために使用するドキュメントを示すロードマップを示します。

図図図図 5-1 Oracle Data Migration Assistantを使用するためのドキュメント・ロードマップを使用するためのドキュメント・ロードマップを使用するためのドキュメント・ロードマップを使用するためのドキュメント・ロードマップ

使用している�現行のデータベース�

リリース 7.2または�

リリース 7.3

はい�

いいえ�

リリース 7.0はい�

いいえ�

バージョン 6はい�

* 使用しているOS固有の� Oracleマニュアルも� 参照する。�

次に�

次に�

次に�

リリース 7.1 はい�

いいえ�

はい�

いいえ�

このマニュアルの第1章を参照して8.1へ移行する。*

ご使用のOS用の最新のリリース7.3にデータベースをアップグレードする。リリース7.3の�『Oracle7 Server移行ガイド』を参照。*

リリース8.1への直接的な移行が、ご使用のOS用のリリース7.1でサポートされているか?詳細は、ご使用のOS用のOracleマニュアルを参照。�

ご使用のOS用の最新のリリース7.3にデータベースをアップグレードする。リリース7.3の『Oracle7 Server移行ガイド』を参照。*

ご使用のOS用の最新のOracle7リリースへ移行する。リリース7.3の『Oracle7 Server移行ガイド』を参照。*

5-2 Oracle8i 移行ガイド

Page 109: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle Data Migration Assistantを使用した移行の概要

Oracle Data Migration Assistantを使用した移行の概要を使用した移行の概要を使用した移行の概要を使用した移行の概要この項では、Oracle Data Migration Assistantを使用する際の重要な考慮点について説明します。

Oracle Data Migration Assistantに関する制限事項に関する制限事項に関する制限事項に関する制限事項Oracle Data Migration Assistantには次の制限事項があります。

� Oracle Data Migration Assistantでは、Oracle Parallel Serverがインストールされているシステムの移行はサポートしません。Oracle Parallel Serverがインストールされている場合、移行ユーティリティまたはインポート /エクスポートなどの別の移行方法を使用してデータベースを移行してください。

� Oracle Data Migration Assistantでは、ロー・デバイスを使用したシステムの移行をサポートしません。ロー・デバイスを使用している場合、移行ユーティリティまたはインポート /エクスポートなどの別の移行方法を使用してデータベースを移行してください。

Oracle Data Migration Assistantがサポートするがサポートするがサポートするがサポートする Oracle7データベースからのデータベースからのデータベースからのデータベースからの開始開始開始開始

バージョン 6のデータベースは、Oracle8iに移行する前に、Oracle7以降のバージョンに移行する必要があります。また、Oracle7のリリースには、Oracle Data Migration Assistantでは移行できないものがあります。ご使用のオペレーティング・システムで Oracle Data Migration Assistantがサポートする最初のリリースについての情報は、オペレーティング・システム固有の Oracleマニュアルを参照してください。

通常、移行ユーティリティは、ご使用のオペレーティング・システム上にあるリリース 7.1の最後のリリースおよびそれ以降のデータベースの移行をサポートします。リリース 7.1の最後のリリースの正確なメンテナンス・リリース番号は、オペレーティング・システムによって異なります。

Windowsプラットフォーム上のプラットフォーム上のプラットフォーム上のプラットフォーム上の Oracle Parallel Serverの移行の移行の移行の移行 :

Windowsプラットフォーム上で Oracle Parallel Serverを移行するには、『Oracle Parallel Server for Windows NT管理者ガイド』の移行手順に従ってください。

Oracle Data Migration Assistantによる Oracle7からの移行 5-3

Page 110: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

システムの考慮点と要件

たとえば、オペレーティング・システムによっては、Oracle Data Migration Assistantはリリース 7.1.4以降のデータベースのみ移行できますが、リリース 7.1.4より前のリリース(リリース 7.0またはリリース 7.1.3など)は移行できません。データベースのリリース番号が、使用しているオペレーティング・システムにある Oracle Data Migration Assistantがサポートするリリースよりも低い場合は、データベースを必要なリリースまでアップグレードまたは移行してください。

ダウングレードダウングレードダウングレードダウングレードダウングレードとは、既存の Oracleデータベースを以前のバージョンまたはリリースに変換する処理です。Oracle Data Migration Assistantでは、Oracle8iデータベースを Oracle7へ戻せません。状況によっては、エクスポート /インポート、バックアップからのリストアおよびその他の機能を使用してダウングレードできます。

システムの考慮点と要件システムの考慮点と要件システムの考慮点と要件システムの考慮点と要件次の項では、Oracle Data Migration Assistantを使用する際のシステムの考慮点と要件について説明します。

領域要件領域要件領域要件領域要件Oracle8iのバイナリ・ファイルは、Oracle7の場合の 3倍のディスク領域を必要とすることがあります。これによって、移行処理中にディスク領域がなくなることがあります。ただし、Oracle Data Migration Assistantでは、一時領域は比較的少量で済みます。十分な領域を必要とするのは、既存の Oracle7のデータ・ディクショナリと同時に新しい Oracle8iのデータ・ディクショナリを保持するための SYSTEM表領域のみです。

Oracleデータ・ディクショナリを保持するために必要なディスク領域は、データベース内のオブジェクトの数によって異なります。通常、新しい Oracle8iのデータ・ディクショナリは、Oracle7のソース・データ・ディクショナリの 2倍の領域が必要です。必要に応じて、SYSTEM表領域にディスク領域を追加してください。十分な領域が SYSTEM表領域に割り当てられていないと、Oracle Data Migration Assistantは移行処理を完了しません。

参照参照参照参照 : データベースを必要なリリースに移行またはアップグレードする方法については、『Oracle7 Server移行ガイド リリース 7.3』を参照してください。その後で、この『Oracle8i移行ガイド』を参照して Oracle8iへ移行します。

参照参照参照参照 : ダウングレードの詳細は、第 13章および第 14章を参照してください。

5-4 Oracle8i 移行ガイド

Page 111: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

システムの考慮点と要件

SYSTEM表領域に領域を追加する必要がある場合は、次のような文を発行して、新しいデータ・ファイルのディレクトリ・パスと名前、および追加する必要のある領域サイズを指定します。

ALTER TABLESPACE system ADD DATAFILE '/home/user1/mountpoint/oradata/db1/system02.dbf' SIZE 50M;

制御ファイルは、Oracle7よりも Oracle8iの方がかなり大きくなります。たとえば、Oracle7の数百 KBの制御ファイルが、Oracle8iでは数十MBのサイズに増大する場合があります。Oracle8iにおいてサイズが大きくなるのは、バックアップや表領域レコードなど、より多くの情報が制御ファイル内に記憶されるからです。使用可能なディスク領域が制限されているファイル・システムに制御ファイルがある場合は、このサイズの増大が重要になります。

ブロック・サイズの考慮点ブロック・サイズの考慮点ブロック・サイズの考慮点ブロック・サイズの考慮点Oracle7データベースおよび移行した Oracle8iデータベース内の DB_BLOCK_SIZE(初期化パラメータ・ファイル内の初期化パラメータ)の値は同じである必要があります。Oracle8iでの最小ブロック・サイズは 2048バイト(2KB)です。この値より大きい場合は、オペレーティング・システムの物理ブロック・サイズの整数倍にします。ただし、2KBの倍数、特に2乗(2KB、4KB、8KB、16KBなど)が最も強力な操作を実現します。

Oracle8iのブロック・サイズ設定が次の基準を満たすようにしてください。

� Oracle7の設定と一致している。

� 最低でも 2048バイト(2KB)である。Oracle7のブロック・サイズが 2KBより小さい場合は、Oracle Data Migration Assistantによってエラー・メッセージが表示される。

� オペレーティング・システムの物理ブロック・サイズの整数倍である。できれば 2KBの倍数にする。

SQL*Netに関する考慮点に関する考慮点に関する考慮点に関する考慮点データベースを Oracle8iへ移行する際に考慮する必要がある SQL*Net関連の問題が数多くあります。Net8へ移行するかどうかの決定もこの問題の 1つです。

参照参照参照参照 : これらの問題および SQL*NetからNet8への移行の詳細は、付録F「移行およびアップグレードに関する SQL*Netおよび Net8の考慮点」を参照してください。

Oracle Data Migration Assistantによる Oracle7からの移行 5-5

Page 112: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

システムの考慮点と要件

レプリケーション環境に関する考慮点レプリケーション環境に関する考慮点レプリケーション環境に関する考慮点レプリケーション環境に関する考慮点Oracle7のレプリケーション環境は、Oracle8iへ移行できます。Oracle7のサイトは、レプリケーション環境内でリリース 8.0およびリリース 8.1のサイトと共存し、正常に実行できます。ただし、各システムに実装されている様々なレプリケーション機能に適応するように、特別の注意を払ってください。

ConTextからからからから interMediaへの移行に関する考慮点への移行に関する考慮点への移行に関する考慮点への移行に関する考慮点ConTextから interMediaへの移行の詳細は、『Oracle8i interMedia Text移行ガイド』を参照してください。

分散データベースに関する考慮点分散データベースに関する考慮点分散データベースに関する考慮点分散データベースに関する考慮点分散データベース構成の Oracle7から移行する場合は、データベースを移行する前に、DBA_2PC_PENDINGデータ・ディクショナリ・ビューでペンディング・トランザクションがないことを確認してください。これは、移行後に ALTER DATABASE RESET LOGS文を使用してデータベースをオープンしたとき、トランザクションがペンディングになっているとエラーが発生するためです。

ペンディング・トランザクションが存在する場合は、SQLコマンドの COMMIT FORCEまたは ROLLBACK FORCEを使用して移行の前に解決します。

異なるオペレーティング・システムへの移行異なるオペレーティング・システムへの移行異なるオペレーティング・システムへの移行異なるオペレーティング・システムへの移行Oracle Data Migration Assistantでは、オペレーティング・システムが異なるコンピュータ・システムにデータベースを移行することはできません。たとえば、Solaris上の Oracle7をWindows NT上の Oracle8iに移行できません。ただし、エクスポート /インポートを使用することによって、異なるオペレーティング・システムのデータベースの移行が可能です。

参照参照参照参照 : レプリケーション機能によるシステム移行の詳細は、付録 G「レプリケーション環境の移行および互換性」を参照してください。

注意注意注意注意 : リリース 8.1以降では、移行処理の際、ワード・サイズの変更がサポートされています。ワード・サイズの変更には、同じオペレーティング・システム内で 32ビットから 64ビット・アーキテクチャへの切替えが伴います。詳細は、1-12ページの「ワード・サイズの変更」を参照してください。

5-6 Oracle8i 移行ガイド

Page 113: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行のための Oracle7ソース・データベースの準備

キャラクタ・セットに関する考慮点キャラクタ・セットに関する考慮点キャラクタ・セットに関する考慮点キャラクタ・セットに関する考慮点Oracle Data Migration Assistantを使用して移行している間は、キャラクタ・セットを変更できません。つまり、Oracle7ソース・データベースおよび移行した Oracle8iデータベースのキャラクタ・セットは同じになります。Oracle8iのデータベースのすべての文字データは、データベースを作成した CREATE DATABASE文で指定したキャラクタ・セットになっています。

ただし、エクスポート /インポートを完全に実行することによって、キャラクタ・セットを変更できます。また、ALTER DATABASE [NATIONAL] CHARACTER SET文を使用してキャラクタ・セットを変更することができますが、これは、新しいキャラクタ・セットが既存のキャラクタ・セットの真のスーパーセットの場合のみです。

移行のための移行のための移行のための移行のための Oracle7ソース・データベースの準備ソース・データベースの準備ソース・データベースの準備ソース・データベースの準備Oracle7データベースを Oracle8iへ移行する前に、次の手順を実行してください。

1. データベースのリリース番号が、使用しているオペレーティング・システムで Oracle Data Migration Assistantがサポートするリリースよりも低い場合は、データベースを、サポートされるリリースまでアップグレードまたは移行します。

2. Oracle7データベースの完全なバックアップを取ります。次の SQL文を発行して、バックアップを取るファイルを決定します。

SPOOL v7files.log;SELECT member FROM v$logfile;SELECT name FROM v$datafile;SELECT value FROM v$parameter WHERE name = 'control_files';SPOOL OFF;

v7files.logスプール・ファイルには、バックアップを取る必要のあるファイルがすべてリストされます。

参照参照参照参照 : 各国語サポート(NLS)の詳細、キャラクタ・セットの指定方法および ALTER DATABASE [NATIONAL] CHARACTER SET文で使用できるキャラクタ・セットの全リストは、『Oracle8i NLSガイド』を参照してください。

参照参照参照参照 : 詳細は、5-3ページの「Oracle Data Migration Assistantがサポートする Oracle7データベースからの開始」を参照してください。

Oracle Data Migration Assistantによる Oracle7からの移行 5-7

Page 114: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行のための Oracle7ソース・データベースの準備

3. プロシージャ・オプションがインストールされていない場合、Oracle7のインストール・メディアを使用してインストールします。詳細は、ご使用のオペレーティング・システム固有の Oracleマニュアルを参照してください。

プロシージャ・オプションがインストールされているかどうかを判断できない場合は、Server Managerまたは SQL*DBAを起動して確認できます。次に、Server Managerを起動したときに表示されるメッセージの例を示します。

Oracle Server Manager Release 2.3.3.0.0 - Production

Copyright (c) Oracle Corporation 1994, 1995. All rights reserved.

Oracle7 Server Release 7.3.4.0.0 - ProductionWith the distributed, replication, and Spatial Data optionsPL/SQL Release 2.3.4.0.0 - Production

表示されるメッセージは、インストールしたオプションおよびリリース番号によって少し異なる場合があります。前述の列の最終行にあるように、メッセージ中に「PL/SQL」が表示される場合は、プロシージャ・オプションがインストールされています。「PL/SQL」が表示されない場合は、インストールされていません。

4. すべてのデータ・ファイルおよび表領域がオンラインまたは正常にオフラインされていることを確認します。

リカバリが必要なデータ・ファイルがあるかどうかを判断するには、次の SQL文を発行します。

SELECT * FROM v$recover_file;

「0 rows selected」というメッセージが表示されます。これは、すべてのデータ・ファイルがオンラインまたは NORMALモードでオフラインのいずれかであることを示しています。データ・ファイルが 1つでも表示される場合は、データベースを移行する前にデータ・ファイルをリストアする必要があります。V$DATAFILE動的パフォーマンス・ビューを使用して、データ・ファイル番号に応じたデータ・ファイル名を検索できます。メディア・リカバリを必要とするデータ・ファイルが存在する場合は、移行中にエラーが表示されます。

確実にオフラインにできなかった表領域は、移行前に削除するかオンラインにする必要があります。これは、そうしないと移行後に Oracle8iで表領域を使用できないからで

注意注意注意注意 : 移行処理中に何らかの問題が発生した場合、このバックアップからデータベースをリストアする必要がある場合があります。そのため、予防措置として、ここでデータベースのバックアップを取ってください。

参照参照参照参照 : Oracle7データベースのバックアップの詳細は、『Oracle7 Server管理者ガイド』を参照してください。

5-8 Oracle8i 移行ガイド

Page 115: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行のための Oracle7ソース・データベースの準備

す。通常、ALTER TABLESPACE OFFLINE IMMEDIATEまたは ALTER TABLESPACE OFFLINE TEMPORARY文を使用してオフラインにする表領域には、メディア・リカバリが必要です。

移行後、Oracle8iのデータベースをオープンするときにオフラインになっている表領域は、Oracle7のデータベース・ファイル形式のまま残ります。オフラインの表領域は、移行後ならいつでもオンラインにでき、ファイル・ヘッダーはそのときに Oracle8i形式に変換されます。さらに、障害が発生した場合に大規模なリストアを回避するには、SYSTEMと ROLLBACKを除くすべての表領域をオフラインにし、別の移行処理を実行する必要があれば、その後で SYSTEMと ROLLBACKのデータ・ファイルのみをリストアできます。

5. OUTLNという名前のユーザーまたはロールがないことを確認します。これは、Oracle8iをインストールするときにこのスキーマが自動的に作成されるためです。OUTLNという名前のユーザーまたはロールがある場合、そのユーザーまたはロールを削除し、別の名前で再作成する必要があります。

OUTLNという名前のユーザーを確認するには、次の SQL文を発行します。

SELECT USERNAME FROM dba_users WHERE USERNAME = 'OUTLN';

OUTLNという名前のユーザーがない場合、どの行も選択されません。

OUTLNという名前のロールを確認するには、次の SQL文を発行します。

SELECT ROLE FROM dba_roles WHERE ROLE = 'OUTLN';

OUTLNという名前のロールがない場合、どの行も選択されません。

6. MIGRATEという名前のユーザーまたはロールがないようにします。これは、Oracle Data Migration Assistantがこのスキーマを作成し、既存のユーザーまたはロールをこの名前で置き換え、最終的にはそれをシステムから削除するからです。

MIGRATEという名前のユーザーを確認するには、次の SQL文を発行します。

SELECT USERNAME FROM dba_users WHERE USERNAME = 'MIGRATE';

MIGRATEという名前のユーザーがない場合、どの行も選択されません。

MIGRATEという名前のロールを確認するには、次の SQL文を発行します。

SELECT ROLE FROM dba_roles WHERE ROLE = 'MIGRATE';

MIGRATEという名前のロールがない場合、どの行も選択されません。

Oracle Data Migration Assistantによる Oracle7からの移行 5-9

Page 116: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行のための Oracle7ソース・データベースの準備

7. SYSTEMロールバック・セグメントに OPTIMAL設定がないようにします。移行中、OPTIMAL設定によってエラーになることがあります。

SYSTEMロールバック・セグメントの OPTIMAL設定を確認するには、次の SQL文を発行します。

SELECT a.usn, a.name, b.optsize FROM v$rollname a, v$rollstat b WHERE a.usn = b.usn AND name='SYSTEM';

次のように表示されます。

USN NAME OPTSIZE---------- ------------------------------ ---------- 0 SYSTEM1 row selected.

OPTSIZE列に値がある場合は、NULLに設定するために次の SQL文を発行します。

ALTER ROLLBACK SEGMENT SYSTEM STORAGE (OPTIMAL NULL);

移行が完了したときに、OPTIMALをリセットできます。

8. ALTER ROLLBACK SEGMENT文の STORAGE句にあるMAXEXTENTSパラメータを変更して、SYSTEMロールバック・セグメントの最大エクステント数を増やします(オプション)。

次に、ALTER ROLLBACK SEGMENT文の例を示します。

ALTER ROLLBACK SEGMENT system STORAGE (MAXEXTENTS 121);

正常に移行するには、SYSTEMロールバック・セグメントにより多くの領域が必要な場合があります。SYSTEMロールバック・セグメントに十分な領域がない場合は、Oracle Data Migration Assistant実行中にエラーが発生する場合があります。

さらに、リリース 7.1.6以前のデータベースを移行する場合、ロールバック・セグメントを削除または再作成して、エクステントのサイズを増やす必要があります。

参照参照参照参照 : A-4ページの「SYSTEMロールバック・セグメントの OPTIMAL設定」にあるトラブルシューティング情報を参照してください。

5-10 Oracle8i 移行ガイド

Page 117: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行のための Oracle7ソース・データベースの準備

9. SYSTEM表領域に十分な空き領域を確保して、Oracle8iのデータ・ディクショナリおよび既存の Oracle7のデータ・ディクショナリを同時に保持します。

SYSTEM表領域の空き領域を確認するには、次の SQL文を発行します。

SELECT sum(bytes) FROM dba_free_space WHERE tablespace_name='SYSTEM';

この文はシステム表領域の空きバイト数を表示します。

10. すべてのオンライン・データ・ファイルがアクセス可能で、正しいディレクトリに入っていることを確認します。

11. Oracle8iで使用できるように初期化パラメータ・ファイルを調整します。初期化パラメータ・ファイルが Oracle7環境内にまだ常駐している場合があります。Oracle Data Migration Assistantは、実行時にそのファイルを Oracle8i環境にコピーします。

具体的には、次の手順を実行します。

a. JOB_QUEUE_PROCESSES初期化パラメータを使用してスナップショットを自動的に更新する場合、初期化パラメータ・ファイル内のこのパラメータに 0(ゼロ)を設定します。データベースをアップグレードした後で、これらのパラメータの設定を通常の設定に戻します。

b. OPTIMIZER_MODE初期化パラメータに CHOOSEが設定されていることを確認します。データベースをアップグレードした後で、これらのパラメータの設定を通常の設定に戻します。

c. DB_DOMAIN初期化パラメータが正しく設定されていることを確認します。

参照参照参照参照 : 詳細は、5-4ページの「領域要件」および 3-15ページの「システム要件と使用可能なリソースの見積り」を参照してください。

参照参照参照参照 : この初期化パラメータの設定方法の詳細は、B-10ページの「DB_DOMAINパラメータ」を参照してください。

Oracle Data Migration Assistantによる Oracle7からの移行 5-11

Page 118: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行のための Oracle7ソース・データベースの準備

d. Windowsプラットフォームで、RDBMS71、RDBMS72または RDBMS73を指すBACKGROUND_DUMP_DESTおよび USER_DUMP_DEST初期化パラメータを、次のディレクトリを指すように変更します(オプション)。

設定では、ORACLE_BASEには ORACLE_BASEのフルパスを、DB_NAMEにはデータベース名をそれぞれ入力します。

e. 初期化パラメータ・ファイルに IFILE(インクルード・ファイル)エントリがある場合、IFILEエントリで指定されているファイルを編集します。編集方法はサブ手順 aおよび dで初期化パラメータ・ファイルを編集した場合と同様です。

これらの調整後、初期化パラメータ・ファイルおよび IFILEエントリで指定されたファイル(存在する場合)を保存してください。

Windowsプラットフォーム上での移行の準備プラットフォーム上での移行の準備プラットフォーム上での移行の準備プラットフォーム上での移行の準備Windowsプラットフォーム上でデータベースを移行する場合、前項「移行のための Oracle7ソース・データベースの準備」で説明した手順に加え、次の手順を行ってください。

1. SQL*Netの必要なリリースがインストールされていることを確認します。

初期化パラメータ初期化パラメータ初期化パラメータ初期化パラメータ 変更先変更先変更先変更先

BACKGROUND_DUMP_DEST ORACLE_BASE¥oradata¥DB_NAME

USER_DUMP_DEST ORACLE_BASE¥oradata¥DB_NAME¥archive

移行元移行元移行元移行元 必要な必要な必要な必要な SQL*Netリリースリリースリリースリリース

Oracleリリース 7.3.2 SQL*Netリリース 2.3.2.1.12以降

注意注意注意注意 : SQL*Netのリリースが 2.3.2.1.4より前の場合、リリース 2.3.2.1.12へアップグレードする前にまずリリース 2.3.2.1.4をインストールする必要があります。リリース 2.3.2.1.4を含んだパッチを取得するには、オラクル社カスタマ・サポート・センターにお問い合せください。

Oracleリリース 7.3.3 SQL*Netリリース 2.3.3.0.3以降

5-12 Oracle8i 移行ガイド

Page 119: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行のための Oracle7ソース・データベースの準備

SQL*Netの必要なリリースがインストールされていない場合、次の手順でインストールします。

a. オラクル社より、リリース 7.3用西暦 2000年対応 Oracle Installerを取得します。

b. 手順 aで取得した Oracle Installerを起動します。「Software Asset Manager」画面が表示されるまで、Oracle Installerの指示に従います。

c. 「Software Asset Manager」画面が表示されたら、「From」ボタンをクリックします。

d. 現行の Oracleリリース 8.1が入った CD-ROMのあるドライブにナビゲートします。

e. CD-ROM上の該当するディレクトリにナビゲートします。

SQL*Netリリース 2.3.2.1.12をインストールする場合、CD-ROM上の次のディレクトリにナビゲートします。

¥patches¥sqlnet¥232112¥nt_x86¥install

SQL*Netリリース 2.3.3.0.3をインストールする場合、CD-ROM上の次のディレクトリにナビゲートします。

¥patches¥sqlnet¥23303¥nt_x86¥install

f. nt.prdファイルをオープンします。

g. インストールを完了します。

h. Oracle Installerを終了します。

2. Oracle7データベース・インスタンス用サービスを含むすべての Oracle7サービスが停止していることを確認します。

参照参照参照参照 : 必要な SQL*Netリリースの詳細は、『Oracle8i for Windows NTインストレーション・ガイド』を参照してください。

注意注意注意注意 : 必要な SQL*Netリリースがインストールできない場合は、オラクル社カスタマ・サポート・センターへお問い合せください。

参照参照参照参照 : サービスの停止方法については、『Oracle8i管理者ガイド』を参照してください。

Oracle Data Migration Assistantによる Oracle7からの移行 5-13

Page 120: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

リリース 8.1の Oracleソフトウェアのインストールおよびそのデータベースの移行

リリースリリースリリースリリース 8.1のののの Oracleソフトウェアのインストールおよびそのソフトウェアのインストールおよびそのソフトウェアのインストールおよびそのソフトウェアのインストールおよびそのデータベースの移行データベースの移行データベースの移行データベースの移行

リリース 8.1ソフトウェアをインストールし、データベースを移行するには、次の手順を実行します。

1. UNIXオペレーティング・システムを使用している場合は、ORACLE_HOMEディレクトリおよびその配下のすべてのサブディレクトリに対する書込み権限を持つユーザーとしてログインしていることを確認します。

2. オペレーティング・システム固有の Oracleマニュアルを参照して、Oracle Universal Installerをインストールおよび起動する準備を行います。

3. Oracle Universal Installerの「Welcome」画面で、「Next」をクリックします。「File Locations」画面が表示されます。

ある画面でヘルプが必要な場合または Oracle Universal Installerのドキュメントについて知りたい場合は、「Help」ボタンをクリックしてオンライン・ヘルプをオーブンします。

4. 「File Locations」画面で、次の手順を実行します。

a. 「Source」フィールドのテキストを変更しないでください。これは、インストールするファイルの場所です。

b. 「Destination Name」フィールドがある場合、このフィールドに新しい Oracleホームの名前を入力します。

c. 「Destination Path」フィールドに、新しいリリースをインストールする Oracleホーム・ディレクトリのフルパスを入力します。「Browse」ボタンをクリックして、ディレクトリにナビゲートします。

d. 「Next」をクリックします。

「Available Products」画面が表示されます。

5. 「Available Products」画面で、Oracle8iサーバーを選択します。Oracle8iサーバーは、ご使用のインストール・メディアによって、Oracle8i Enterprise Editionまたは Oracle8iになります。その後、「Next」をクリックします。

6. 「Installation Types」画面で、インストールのタイプを選択します。その後、「Next」をクリックします。

注意注意注意注意 : リリース 8.0からアップグレードする場合、新しいリリース 8.1をリリース 8.0とは別の Oracleホームにインストールする必要があります。

5-14 Oracle8i 移行ガイド

Page 121: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

リリース 8.1の Oracleソフトウェアのインストールおよびそのデータベースの移行

「Custom」を選択すると、「Available Product Components」画面が表示されます。次の手順を実行します。

a. インストールする製品コンポーネントを選択します。その後、「Next」をクリックします。

特定のオプションの使用を中止しない限り、Oracle7データベースにインストールしていたオプションすべてをインストールしてください。たとえば、Oracle7にOracleアドバンスト・レプリケーションをインストールしていた場合は、それをOracle8iにインストールします。

b. 「Upgrading or Migrating an Existing Database」画面が表示されるまで、画面の指示に従ってカスタム・インストール設定を行います。

7. 「Upgrading or Migrating an Existing Database」画面で、次の手順を実行します。

a. 「Upgrade or Migrate an Existing Database」チェック・ボックスを選択します。

b. 移行する Oracle7データベースを選択します。

c. 「Next」をクリックします。

8. 「Summary」画面で、インストールの設定および選択が正しいかどうかを確認します。その後、「Install」をクリックします。これによって、Oracle Universal Installerがインストールを実行します。ある程度時間がかかる場合があります。

インストールが終了したら、1つ以上のアシスタントが起動する場合があります。Oracle Data Migration Assistantが起動すると、移行を続行できます。

9. Oracle Data Migration Assistantの「Before You Migrate or Upgrade」画面(図 5-2を参照)で、移行している Oracle7データベースが指定した条件を満たすことを確認します。その後、「Next」をクリックします。

注意注意注意注意 : Oracle Data Migration Assistantは、SHUTDOWN IMMEDIATE文を使用してデータベースを停止します。したがって、Oracle Data Migration Assistantが起動するときはどのユーザーもログインすることは避けてください。ログイン済のユーザーは接続を切断されます。

Oracle Data Migration Assistantによる Oracle7からの移行 5-15

Page 122: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

リリース 8.1の Oracleソフトウェアのインストールおよびそのデータベースの移行

図図図図 5-2「「「「Before You Migrate or Upgrade」画面」画面」画面」画面

画面でヘルプが必要な場合、または Oracle Data Migration Assistantの詳細が知りたい場合は、「Help」ボタンをクリックしてオンライン・ヘルプをオープンします。

10.「Select a Database Instance」画面で、移行中の Oracle7データベースのデータベース・インスタンスを選択します。その後、「Next」をクリックします。

11.「Database Password and INIT.ORA File」画面で、次の手順を実行します。

a. 指定された Oracleホームが正しいことを確認します。

b. 指定された初期化パラメータ・ファイルの場所が、移行中の Oracle7データベースの初期化パラメータ・ファイルへのフルパスであることを確認します。場所が不適切な場合、「Browse」ボタンをクリックして正しいディレクトリにナビゲートします。

c. 指定された古い Oracleホームが、移行中の Oracle7データベースの Oracleホームへのフルパスであることを確認します。

d. 「Next」をクリックします。「Choose Migration or Upgrade Type」画面が表示されます。

5-16 Oracle8i 移行ガイド

Page 123: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

リリース 8.1の Oracleソフトウェアのインストールおよびそのデータベースの移行

12. 移行のタイプを選択します。その後、「Next」をクリックします。

「Custom」を選択した場合、「Backup Your Database」画面が表示されるまで、画面の指示に従ってカスタム移行設定を指定します。カスタム設定の画面のいずれかでヘルプが必要な場合、「Help」をクリックします。

13.「Backup Your Database」画面には、次の 2つのオプションがあります。

� Oracle Data Migration Assistantを実行する前にバックアップを取った場合は、「I have already backed up my database」を選択します。

� バックアップを取っていない場合は、「I would like this tool to back up the database」を選択します。このオプションを選択した場合、「Browse」ボタンをクリックしてバックアップ・ディレクトリを選択できます。

選択後、「Next」をクリックします。

14.「Start the Migration or Upgrade」画面で、すべての設定が正しいことを確認します。不適切な設定がある場合、その設定が訂正されるまで「Back」をクリックします。すべて正しい場合は、「Next」をクリックします。

「Next」をクリックすると、「Status」画面が表示され、Oracle Data Migration Assistantが移行を開始します。ステータス・バーには処理過程が表示されます。移行が完了すると、「Listener.ora Migration Confirmation」画面が表示されます。

15. アシスタントによって listener.oraファイルを自動的に修正する場合、「Listener.ora Migration Confirmation」画面で、「Yes」ボタンをクリックします。また、アシスタントによって listener.oraファイルを修正しない場合、「No」をクリックします。

データベースを Oracle Enterprise Managerで正常に動作させるためには、listener.oraファイルに特定の変更を加える必要があります。Oracle Enterprise Managerを使用する場合、listener.oraファイルを自動的に変更するには「Yes」ボタンをクリックします。Oracle Enterprise Managerを使用しない場合は、「No」ボタンをクリックします。

Oracle Data Migration Assistantによる Oracle7からの移行 5-17

Page 124: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

リリース 8.1の Oracleソフトウェアのインストールおよびそのデータベースの移行

「Yes」ボタンをクリックした場合、次の方法で、Oracle Data Migration Assistantはlistener.oraファイルを変更します。

a. アシスタントは、次の方法のいずれかで、Oracle8i listener.oraの移行されたデータベースに対して、SID_DESCエントリを変更します。

簡単な場合簡単な場合簡単な場合簡単な場合 :古い listener.oraに、次の SID_DESCエントリがあるとします。

... (SID_DESC = (SID_NAME = ORCL) ) ...

データベース名が SAL、ドメイン名が COMおよび Oracleホームが/oracle/product/8.1の場合、アシスタントは次のエントリを追加します。

... (SID_DESC = (GLOBAL_DBNAME = sal.com) (ORACLE_HOME = /oracle/product/8.1) (SID_NAME = SAL) ) ...

複雑な場合複雑な場合複雑な場合複雑な場合 :古い listener.oraに、次の SID_DESCエントリがあるとします。

... (SID_DESC = (GLOBAL_DBNAME = an_entry) (SID_NAME = ORCL) ) ...

5-18 Oracle8i 移行ガイド

Page 125: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

リリース 8.1の Oracleソフトウェアのインストールおよびそのデータベースの移行

an_entryが移行したデータベースの GLOBAL_DBNAMEと一致しないとき、データベース名が SAL、ドメイン名が COMおよび Oracleホームが/oracle/product/8.1の場合、アシスタントは次のエントリを追加します。

... (SID_DESC = (GLOBAL_DBNAME = sal.com) (ORACLE_HOME = /oracle/product/8.1) (SID_NAME = SAL) ) ...

このエントリは簡単な場合のエントリと同じですが、アシスタントはエントリan_entryを SERVICE_NAMESパラメータに追加します。したがって、アシスタントは次のように SERVICE_NAMESパラメータを変更します。

SERVICE_NAMES = sal.com, an_entry

b. アシスタントは移行したデータベースのエントリを、古い listener.oraファイルから削除します。

c. アシスタントは Oracle8iリスナーを起動します。

d. アシスタントは、Oracle7および Oracle8iの両方の環境で listener.oraファイルを再起動します。

Oracle Data Migration Assistantが終了した後の追加の移行手順の詳細は、5-21ページの「移行の終了」を参照してください。

Oracle Data Migration Assistantによる Oracle7からの移行 5-19

Page 126: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

リリース 8.1の Oracleソフトウェアのインストールおよびそのデータベースの移行

Oracle Data Migration Assistantの単独での実行の単独での実行の単独での実行の単独での実行既存のデータベースの移行を指定しないで Oracle8iをインストールした場合、Oracle8iのインストール終了後、Oracle Data Migration Assistantを単独で実行できます。

Oracle Data Migration Assistantを単独で実行するには、次の手順を実行します。

1. Oracle Data Migration Assistantの起動

UNIXの場合の場合の場合の場合、システム・プロンプトに次のコマンドを入力します。

odma

Windowsプラットフォームプラットフォームプラットフォームプラットフォームの場合、次のように選択します。

Start > Programs > Oracle - HOME_NAME > Migration Utilities > Oracle Data Migration Assistant

Oracle Data Migration Assistantを起動すると、「Before You Migrate or Upgrade」画面が表示されます(5-16ページの図 5-2を参照)。

2. Oracle Data Migration Assistantの各ウィンドウの質問に答え、次のウィンドウへ移動する準備ができたら「Next」をクリックします。最後のウィンドウが表示されたら、「Next」ボタンをクリックしてデータベースの移行を開始します。Oracle Data

Migration Assistantの使用方法の詳細は、各ウィンドウの「Help」ボタンをクリックすると表示されます。

参照参照参照参照 : Oracle Data Migration Assistantに表示されるウィンドウの詳細は、5-14ページの「リリース 8.1の Oracleソフトウェアのインストールおよびそのデータベースの移行」の手順 9~ 15を参照してください。

5-20 Oracle8i 移行ガイド

Page 127: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行の終了

移行の終了移行の終了移行の終了移行の終了Oracle Data Migration Assistantが正常に終了したら、次の手順を実行します。

1. Oracle8i Oracleホームの ORACLE_HOME/rdbms/adminへディレクトリを変更します。

2. Server Managerを起動します。ほとんどのオペレーティング・システムでは、Oracle8iの Server Managerを起動するには、コマンド・プロンプトで svrmgrlを入力します。

3. INTERNALユーザーとしてデータベース・インスタンスに接続します。

4. STARTUP RESTRICTを実行します。

SVRMGR> STARTUP RESTRICT

PFILEオプションを使用して、初期化パラメータ・ファイルの場所を指定する必要がある場合があります。

5. 成功したかどうかを後で確認するために、結果をログ・ファイルにスプールするようにシステムを設定します。

SVRMGR> SPOOL catoutma.log

実行したスクリプトの出力を画面上で確認する場合は、SET ECHO ON文の発行でも確認できます。

SVRMGR> SET ECHO ON

6. Oracleシステムに Oracleレプリケーションをインストールしている場合は、次の手順を実行します。

a. catrep.sqlを実行します。

SVRMGR> @catrep.sql

b. r0703040.sqlを実行します。

SVRMGR> @r0703040.sql

この r0703040.sqlスクリプトは、catrep.sql後の Oracleレプリケーションに関連するアップグレードを実行します。

注意注意注意注意 : データベースはすでに起動している場合があります。その場合、再起動の必要はありません。

Oracle Data Migration Assistantによる Oracle7からの移行 5-21

Page 128: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行の終了

これらのスクリプトを実行中、または残りの手順でスクリプトを実行中に問題が発生した場合は、問題の原因を修正してスクリプトを再実行します。必要に応じて、この章で説明されているスクリプトのいずれかを実行できます。

7. Oracle Data Migration Assistantで実行しなかった場合、utlrp.sqlを実行します(オプション)。

SVRMGR> @utlrp.sql

utlrp.sqlスクリプトは、以前 INVALID状態だったパッケージ、プロシージャ、型などの既存の PL/SQLモジュールを、すべて再コンパイルします。これらの処置はオプションですが、これらの処理を行うと、再コンパイルはインストール後ではなくインストール中に発生します。

オラクル社では、このオプションの手順を実行することをお薦めします。

8. スクリプト結果のログ・ファイルへのスプーリングをオフにします。

SVRMGR> SPOOL OFF

次に、スプール・ファイルを確認して、すべてのパッケージおよびプロシージャのコンパイルが成功したかどうかを検証します。手順 5でスプール・ファイルに名前を付けましたが、名前は catoutma.logでした。

領域が不足していることを警告するエラーやスクリプトの実行に失敗したことを警告するエラーは、調査する必要があります。これらのタイプのエラーが発生する場合、移行は成功していない場合があります。ただし、存在しないオブジェクトの変更や削除の障害についてのエラーは、通常無視できます。

SET ECHO ONを指定した場合は、ここで SET ECHO OFFを行うことができます。

SVRMGR> SET ECHO OFF

9. Oracle8iのデータベース上で、SHUTDOWNを実行します。

SVRMGR> SHUTDOWN IMMEDIATE

この正しい停止を実行すると、すべてのキャッシュをフラッシュし、バッファを消去し、その他の内部的な不整合の解消を行います。これらの手段は、新規に移行したOracle8iのデータベースの整合性と一貫性を保証するための重要な最終ステップです。

注意注意注意注意 : SHUTDOWN NORMALまたは SHUTDOWN IMMEDIATEを使用してください。SHUTDOWN ABORTは使用しないでください。

5-22 Oracle8i 移行ガイド

Page 129: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行の終了

10. 初期化パラメータ・ファイルを Oracle8iで使用できるように調整します。

リリース 8.0およびリリース 8.1で構文が変更されているパラメータを変更することも必要です。新しいパラメータ、改名されたパラメータおよび廃止されたパラメータのリストは、付録 B「初期化パラメータの変更」を参照してください。

また、付録 B「初期化パラメータの変更」に示す新しいパラメータを理解し、新しく移行したデータベースで使用するパラメータを決定してください。

また、Oracle Data Migration Assistantは COMPATIBLE初期化パラメータを 8.0.5に設定します。COMPATIBLE初期化パラメータのリセットの詳細は、第 9章「互換性および相互運用性」を参照してください。

11. オペレーティング・システムがWindowsの場合、コンピュータを再起動してください。

12. 第 8章「データベースの移行後またはアップグレード後の作業」に記載されている手順を実行します。

参照参照参照参照 : 初期化パラメータの詳細は、『Oracle8iリファレンス・マニュアル』を参照してください。

注意注意注意注意 : Oracle7を保持している場合、移行済データベースを Oracle7ソフトウェアで起動しないでください。新しい Oracle8iインストール・ディレクトリにある実行ファイルでのみ、データベースを起動してください。また、Oracle7環境を削除する前に、Oracle7環境のデータ・ファイルをすべて Oracle8i環境に再配置してください。データ・ファイルの再配置の詳細は、『Oracle8i管理者ガイド』を参照してください。

Oracle Data Migration Assistantによる Oracle7からの移行 5-23

Page 130: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行時のエラーのトラブルシューティング

移行時のエラーのトラブルシューティング移行時のエラーのトラブルシューティング移行時のエラーのトラブルシューティング移行時のエラーのトラブルシューティングエラーが発生する原因としては、次のような操作が行われたか、または省略されたことが考えられます。

� 誤った順序で移行手順を実行する

� 移行の前提条件を満たしていない

� 変換の例外を検出する

移行の中止移行の中止移行の中止移行の中止移行を中止する最も簡単な方法は、Oracle Data Migration Assistantを実行する前に取っておいた Oracle7データベースのバックアップからリストアする方法です。

参照参照参照参照 : 移行中に発生する可能性のあるエラーと処置については、付録 A「移行問題のトラブルシューティング」および『Oracle8i エラー・メッセージ』を参照してください。

5-24 Oracle8i 移行ガイド

Page 131: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

エクスポート /インポートによる

6

エクスポートエクスポートエクスポートエクスポート /インポートによる移行インポートによる移行インポートによる移行インポートによる移行

この章では、エクスポート /インポートを使用してデータベースを Oracle7から Oracle8iへ移行する方法について説明します。

この章では、次の項目について説明します。

� エクスポート /インポートの基本

� エクスポート /インポートを使用したソース・データベースの移行

参照参照参照参照 : インポートおよびエクスポート・ユーティリティの使用方法の詳細は、『Oracle8iユーティリティ・ガイド』を参照してください。

移行 6-1

Page 132: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

エクスポート /インポートの基本

エクスポートエクスポートエクスポートエクスポート /インポートの基本インポートの基本インポートの基本インポートの基本エクスポート /インポートを使用してデータベースを移行するには、次の 3つの基本手順を行います。

1. 移行元のデータベース(ソース・データベース)からデータをエクスポートします。このエクスポートでは、データを物理的にエクスポート・ダンプ・ファイルへコピーします。

2. エクスポートしたデータをインポートする Oracle8iのデータベース(ターゲット・データベース)を作成します。

3. エクスポートしたデータを新しい Oracle8iのターゲット・データベースにインポートします。

エクスポート・ユーティリティ要件エクスポート・ユーティリティ要件エクスポート・ユーティリティ要件エクスポート・ユーティリティ要件データベースを移行またはアップグレードするには、ソース・データベースのリリースに付属のエクスポート・ユーティリティを使用します。エクスポートの後、インポート・ユーティリティを使用して、エクスポート・ダンプ・ファイルのデータをターゲット・データベースにコピーします。エクスポートしたデータをインポート・ユーティリティでターゲット・データベースに移行する前に、ターゲット・データベースが作成済ですでに操作可能な状態にある必要があります。

たとえば、リリース 7.3からリリース 8.1へ移行する場合、エクスポート・ユーティリティのリリース 7.3を使用してください。

インポート要件インポート要件インポート要件インポート要件データベースを移行、アップグレードまたはダウングレードするには、ターゲット・データベースのリリースに付属のインポート・ユーティリティを使用します。たとえば、リリース7.3からリリース 8.1へ移行する場合、リリース 8.1のインポート・ユーティリティを使用してください。

参照参照参照参照 : エクスポート /インポートによる移行方法の評価については、3-3ページの「移行方法の選択」および『Oracle8iユーティリティ・ガイド』を参照してください。

注意注意注意注意 : ソースとなる Oracleデータベースがバージョン 6より前である場合は、エクスポートを行う前に、ソース・データベースをバージョン 6以上に移行してください。

6-2 Oracle8i 移行ガイド

Page 133: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

エクスポート /インポートを使用したソース・データベースの移行

その他のオプションその他のオプションその他のオプションその他のオプションその他のオプションをインストールしている場合は、次の関連情報を参照してください。

� Trusted Oracleデータベースから機能をエクスポートする場合や、Trusted Oracleデータベースへ機能をインポートする場合、Trusted Oracleデータベースの機能の移行の詳細は、Trusted Oracleのドキュメントを参照してください。

� Oracleレプリケーションをインストールしたデータベース・システムを移行する場合は、付録 G「レプリケーション環境の移行および互換性」を参照してください。

エクスポートエクスポートエクスポートエクスポート /インポートを使用したソース・データベースのインポートを使用したソース・データベースのインポートを使用したソース・データベースのインポートを使用したソース・データベースの移行移行移行移行

エクスポート /インポート・ユーティリティを使用してバージョン 6またはバージョン 7データベースを移行するには、次の手順を実行します。

1. ソース・データベースに付属のエクスポート・ユーティリティを使用してソース・データベースをエクスポートします。ソース・データベースでのエクスポート・ユーティリティの使用方法については、ソース・データベースのサーバー・ユーティリティのドキュメントを参照してください。Oracle7のデータベースおよびバージョン 6のデータベースのエクスポートは両方とも、Oracle8iにインポートできます。

一貫性のあるエクスポート結果を得るには、エクスポートの実行中と実行後はソース・データベースが更新不可である必要があります。エクスポート実行後にユーザーがソース・データベースを更新できるようにする場合は、インポート完了後にソース・データベースに対する変更を Oracle8iのターゲット・データベースにコピーする手順を実行し、その後でソース・データベースを使用可能にします。

2. Oracle8iソフトウェアをインストールします。インストールは、オペレーティング・システム固有の作業です。Oracle8iのインストール手順は、ご使用のオペレーティング・システム固有の Oracle8iマニュアルを参照してください。

3. 新しい Oracle8iのデータベースに既存のソース・データベースと同じ名前を付ける場合は、新しい Oracle8iのデータベースを作成する前に既存のデータベースを停止する必要があります。

4. Oracle8iターゲット・データベースを作成します。

5. SQL*Plusを Oracle8i環境で起動します。

6. データベース・インスタンスに接続します。

SQL> CONNECT INTERNAL

参照参照参照参照 : Oracle8iデータベース作成の詳細は、『Oracle8i管理者ガイド』を参照してください。

エクスポート /インポートによる移行 6-3

Page 134: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

エクスポート /インポートを使用したソース・データベースの移行

7. STARTUPを使用して、Oracle8iデータベース・インスタンスを開始します。

8. 記憶領域パラメータを変更して、ディスク領域の使用状況を改善するなどの目的のために、ターゲット・データベースに表領域、ユーザーおよび表を事前に作成しておきます。SQL*Plusや Server Managerを使用して表を事前に作成する場合は、元のデータベースとの互換モードで実行するか、またはインポート中に発生する特定のデータ定義の変換について特に配慮する必要があります。

9. Oracle8iのインポート・ユーティリティを使用して、ソース・データベースからエクスポートしたオブジェクトをインポートします。インポート・セッションからファイルに情報メッセージやエラー・メッセージを保存するには、LOGパラメータを組み込んでください。

10. 移行作業が完了したら、どのオブジェクトのどのインポートが正常に終了してどれが失敗したか(失敗したものがある場合)を、インポート・ログ・ファイルを見てチェックします。

11. その他のインポート方法(『Oracle8iユーティリティ・ガイド』を参照)を使用するか、またはソース・オブジェクトを作成する SQLスクリプトを使用して、インポートに失敗したオブジェクトを作成し直します(または完全に新規のインポートを開始します)。

12. エクスポートの実行後にソース・データベースに変更を加えた場合は、そのデータベースを使用可能にする前に、それらの変更が Oracle8iのデータベースに反映されていることを確認します。詳細は、6-3ページの手順 1を参照してください。

13. 第 8章「データベースの移行後またはアップグレード後の作業」に記載されている手順を実行します。

注意注意注意注意 : 新しい Oracle8iのデータベースをソース・データベースと同じコンピュータ上に作成し、ソース・データベースのデータ・ファイルを上書きしない場合は、事前に表領域を作成し、インポート時に IGNORE=Yおよび DESTROY=Nを指定する必要があります。

参照参照参照参照 : インポート・ユーティリティの詳細は、『Oracle8iユーティリティ・ガイド』を参照してください。

参照参照参照参照 : エラー処理情報については、『Oracle8iユーティリティ・ガイド』および Oracle8i Serverの README.docファイルを参照してください。

6-4 Oracle8i 移行ガイド

Page 135: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

以前の Oracle8から新しい Oracle8iへのアップグレ

7

以前の以前の以前の以前の Oracle8から新しいから新しいから新しいから新しい Oracle8iへのへのへのへの

アップグレードアップグレードアップグレードアップグレード

この章では、Oracleの現行のリリースから Oracle8iの新しいリリースへのアップグレードについて説明します。この章で説明する内容は、リリース 8.0以降のインストール環境にのみ適用されます。現行のリリースがバージョン 7またはバージョン 6で、そこから Oracle8iへ移行する場合は、このマニュアルの最初に記載されている指示に従って、第 2章「移行の概要」から始めてください。

この章では、次の項目について説明します。

� アップグレード・パス

� Oracle8iの新しいリリースへのデータベースのアップグレード

� 特定のコンポーネントのアップグレード

� 現行リリースのワード・サイズの変更

参照参照参照参照 : アップグレード処理の一部は、オペレーティング・システム固有のものです。ご使用のオペレーティング・システムでのアップグレードに関するその他の指示は、オペレーティング・システム固有の Oracleマニュアルを参照してください。

注意注意注意注意 : Oracle8i Enterprise Editionから Oracle8i Workgroup Serverへアップグレードする場合は、アップグレードの実行前に、Oracle8i Enterprise Editionの拡張機能を使用するアプリケーションを変更し、それらの拡張機能を使用できないようにしてください。

ード 7-1

Page 136: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

アップグレード・パス

アップグレード・パスアップグレード・パスアップグレード・パスアップグレード・パス新しいリリースへデータベースをアップグレードするために必要なパスは、ご使用のリリースに依存します。表 7-1に、リリースごとに必要なアップグレード・パスを示します。現在ご使用のリリースに固有のアップグレード・パスおよびドキュメントを使用してください。

表表表表 7-1 アップグレード・パスアップグレード・パスアップグレード・パスアップグレード・パス

リリースリリースリリースリリース アップグレード・パスアップグレード・パスアップグレード・パスアップグレード・パス

8.0.1ベータ 直接のアップグレードはサポートされていません。新しいリリースへアップグレードするには、次の手順を実行します。

1. リリース 8.0.2の README.docファイルの指示に従って、リリース 8.0.2へアップグレードします。

2. リリース 8.0.5の README.docファイルの指示に従って、リリース 8.0.2データベースをリリース 8.0.5へアップグレードします。

3. 7-3ページの「Oracle8iの新しいリリースへのデータベースのアップグレード」の指示に従って、リリース 8.0.5データベースを新しいリリースへアップグレードします。

8.0.2ベータ

8.0.4S

直接のアップグレードはサポートされていません。新しいリリースへアップグレードするには、次の手順を実行します。

1. リリース 8.0.5の README.docファイルの指示に従って、リリース 8.0.2データベースをリリース 8.0.5へアップグレードします。

2. 7-3ページの「Oracle8iの新しいリリースへのデータベースのアップグレード」の指示に従って、リリース 8.0.5データベースを新しいリリースへアップグレードします。

8.0.3

8.0.4

8.0.5

8.0.6

8.1.5

8.1.6

直接のアップグレードがサポートされています。7-3ページの「Oracle8iの新しいリリースへのデータベースのアップグレード」の指示に従って、新しいリリースへアップグレードします。

8.1.1ベータ

8.1.2ベータ

新しいリリースへのアップグレードは、サポートされていません。

8.1.3ベータ

8.1.4ベータ

直接のアップグレードはサポートされていません。新しいリリースへアップグレードするには、次の手順を実行します。

1. リリース 8.1.5の『Oracle8i移行ガイド』の指示に従って、リリース 8.1.5へアップグレードします。

2. 7-3ページの「Oracle8iの新しいリリースへのデータベースのアップグレード」の指示に従って、リリース 8.1.5データベースを新しいリリースへアップグレードします。

7-2 Oracle8i 移行ガイド

Page 137: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8iの新しいリリースへのデータベースのアップグレード

Oracle8iの新しいリリースへのデータベースのアップグレードの新しいリリースへのデータベースのアップグレードの新しいリリースへのデータベースのアップグレードの新しいリリースへのデータベースのアップグレードこの項では、データベースを Oracle8iの新しいリリースへアップグレードする処理について説明します。

アップグレードの準備アップグレードの準備アップグレードの準備アップグレードの準備アップグレード処理を開始するには、次の手順を実行します。

1. SQL*Netおよび Net8に関するアップグレードの問題を確認します。

2. DB_DOMAIN初期化パラメータが正しく設定されていることを確認します。

3. 初期化パラメータ・ファイル内の _SYSTEM_TRIG_ENABLED初期化パラメータがFALSEに設定されていることを確認します。現在、この初期化パラメータが設定されていない場合は、明示的に FALSEを設定してください。

_SYSTEM_TRIG_ENABLED = FALSE

4. Server Managerを起動します。

5. INTERNALユーザーとしてデータベース・インスタンスに接続します。

Oracle Parallel Serverのアップグレードのアップグレードのアップグレードのアップグレード : UNIXオペレーティング・システム上に Oracle Parallel Serverをインストールしたシステムをアップグレードする場合は、この章で説明されている処理のほとんどはシステムのノードの 1つのみで実行されます。したがって、特定の手順に特に指示のない限り、この章に説明されている処理を 1つのノードのみで実行してください。

Windowsプラットフォームで Oracle Parallel Serverをアップグレードする場合、この章の指示に従わないでください。その場合、『Oracle Parallel Server for Windows NT管理者ガイド』にあるアップグレードの指示に従ってください。

参照参照参照参照 : 詳細は、付録 F「移行およびアップグレードに関する SQL*Netおよび Net8の考慮点」を参照してください。

参照参照参照参照 : この初期化パラメータの設定方法の詳細は、B-10ページの「DB_DOMAINパラメータ」を参照してください。

以前の Oracle8から新しい Oracle8iへのアップグレード 7-3

Page 138: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8iの新しいリリースへのデータベースのアップグレード

6. リリース 8.0からアップグレードする場合は、OUTLNという名前のユーザーまたはロールがないことを確認します。これは、Oracle8iのインストール時に、このスキーマが自動的に作成されるためです。OUTLNという名前のユーザーまたはロールがある場合、そのユーザーまたはロールを削除し、別の名前で再作成する必要があります。

OUTLNという名前のユーザーを確認するには、次の SQL文を入力します。

SELECT username FROM dba_users WHERE username = 'OUTLN';

OUTLNという名前のユーザーがない場合、どの行も選択されません。

OUTLNという名前のロールを確認するには、次の SQL文を入力します。

SELECT role FROM dba_roles WHERE role = 'OUTLN';

OUTLNという名前のロールがない場合、どの行も選択されません。

7. 必要に応じて、SYSTEM表領域、およびロールバック・セグメントを保存している表領域に空き領域を追加します。

新しいリリースへアップグレードするには、SYSTEM表領域およびロールバック・セグメントを保存している表領域により大きな空き領域が必要です。システムに十分な空き領域がある場合は、これらの表領域へより大きな領域を追加することを考慮してください。一般的に、アップグレードには SYSTEM表領域に 20MB以上の空き領域が必要です。アップグレード中に領域が不足した場合は、アップグレードを再実行する必要があります。

次の SQL文は、より多くの領域を表領域へ追加する方法を説明しています。

ALTER TABLESPACE system ADD DATAFILE '/home/user1/mountpoint/oradata/db1/system02.dbf' SIZE 20M;

注意注意注意注意 : リリース 8.1からアップグレードする場合は、この確認を行う必要はありません。これは、以前のリリース 8.1をインストールするときにOUTLNユーザーが作成されているためです。したがって、リリース 8.1からアップグレードする場合は、手順 7へ進んでください。以前のリリース 8.1からアップグレードする場合は、OUTLNユーザーを削除しないでください。

7-4 Oracle8i 移行ガイド

Page 139: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8iの新しいリリースへのデータベースのアップグレード

8. 次の SQL文を発行して、手順 11でバックアップを取るファイルを決定します。

SPOOL v8files.log;SELECT member FROM v$logfile;SELECT name FROM v$datafile;SELECT value FROM v$parameter WHERE name = 'control_files';SPOOL OFF;

v8files.logスプール・ファイルには、手順 11でバックアップを取る必要があるすべてのファイルがリストで示されています。

9. データベース上で、SHUTDOWN IMMEDIATEを実行します。

SVRMGR> SHUTDOWN IMMEDIATE

Oracle Parallel Serverを使用している場合、すべてのインスタンスを停止します。

10. ご使用のオペレーティング・システムがWindowsの場合、すべての Oracleサービスが停止していることを確認します。

11. データベースのオフライン全体バックアップを実行します。手順 8で生成した、v8files.logスプール・ファイルにリストされているファイルのバックアップを取っていることを確認してください。

12. Server Managerを終了します。

参照参照参照参照 : サービスの停止方法については、『Oracle8i管理者ガイド』を参照してください。

注意注意注意注意 : アップグレード中に問題が発生した場合、このバックアップからデータベースをリストアする必要があります。そのため、予防措置として、ここでデータベースのバックアップを取ってください。

参照参照参照参照 : リリース 8.1データベースのバックアップの詳細は、『Oracle8iバックアップおよびリカバリ・ガイド』を参照してください。また、リリース 8.0データベースのバックアップの詳細は、『Oracle8 Serverバックアップおよびリカバリ・ガイド』を参照してください。

以前の Oracle8から新しい Oracle8iへのアップグレード 7-5

Page 140: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8iの新しいリリースへのデータベースのアップグレード

13. 次の両方の条件に該当する場合、現行リリースの Oracleを削除します。

� 以前のリリース 8.1からアップグレードする。

� 現行リリースとアップグレードする新しいリリースに、同じ Oracleホームを使用する。

現行リリースとアップグレードする新しいリリースに異なる Oracleホーム・ディレクトリを使用する場合は、現行リリースを削除する必要はありません。

データベースのアップグレードデータベースのアップグレードデータベースのアップグレードデータベースのアップグレードアップグレード方法を選択し、その指示に従ってアップグレードします。

アップグレード方法の選択アップグレード方法の選択アップグレード方法の選択アップグレード方法の選択ご使用のデータベースをリリース 8.1へアップグレードするには、2つの方法があります。Oracle Data Migration Assistantを使用してアップグレードを完了するか、手動でアップグレードを実行できます。

Oracle Data Migration Assistantによって、データベースの完全に自動化されたアップグレードができます。処理の各手順をガイドするグラフィカル・ユーザー・インタフェース(GUI)を使用します。また、Oracle Data Migration Assistantには、広範なオンライン・ヘルプがあります。Oracle Data Migration Assistantは現行リリースに適切なスクリプトを実行し、廃止された初期化パラメータを初期化パラメータ・ファイルから削除し、任意でlistener.oraファイルを設定します。廃止された初期化パラメータのリストは、付録 B「初期化パラメータの変更」を参照してください。

注意注意注意注意 : リリース 8.0からアップグレードする場合、新しいリリース 8.1をリリース 8.0とは別の Oracleホームにインストールする必要があります。ただし、以前のリリース 8.1からアップグレードする場合、この制限は適用されません。新しいリリースを以前のリリースと同じ Oracleホームにインストールできます。

参照参照参照参照 : アップグレード処理の一部は、オペレーティング・システム固有のものです。移行の追加情報については、ご使用のオペレーティング・システム固有の Oracleマニュアルを参照してください。

7-6 Oracle8i 移行ガイド

Page 141: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8iの新しいリリースへのデータベースのアップグレード

一方、Oracle Data Migration Assistantを使用すると、ある程度汎用性や制御が失われます。特に初期化パラメータの設定などに関して、アップグレード処理を完全に制御する場合は、アップグレードを手動で行います。

どの方法を使用してデータベースをアップグレードするかを決定し、その方法に合った次の項の手順を実行します。

� Oracle Data Migration Assistantを使用したデータベースのアップグレード(7-7ページ)

� データベースの手動でのアップグレード(7-14ページ)

Oracle Data Migration Assistantを使用したデータベースのアップグレードを使用したデータベースのアップグレードを使用したデータベースのアップグレードを使用したデータベースのアップグレードOracle Data Migration Assistantを使用してデータベースをアップグレードするには、次の手順を実行します。

1. UNIXオペレーティング・システムを使用している場合は、ORACLE_HOMEディレクトリおよびその配下のすべてのサブディレクトリに対する書込み権限を持つユーザーとしてログインしていることを確認します。

2. オペレーティング・システム固有の Oracleマニュアルを参照して、Oracle Universal Installerをインストールおよび起動する準備を行います。

ある画面でヘルプが必要な場合、または Oracle Universal Installerのドキュメントについて知りたい場合は、「Help」ボタンをクリックしてオンライン・ヘルプをオーブンします。

3. Oracle Universal Installerの「Welcome」画面で、「Next」をクリックします。「File Locations」画面が表示されます。

4. 「File Locations」画面で、次の手順を実行します。

a. 「Source」フィールドのテキストを変更しないでください。これは、インストールするファイルの場所です。

b. 「Destination Name」フィールドがある場合、このフィールドに新しい Oracleホームの名前を入力します。

注意注意注意注意 : Oracle Data Migration Assistantは、Oracle Parallel Serverがインストールされているシステムをアップグレードできません。Oracle Parallel Serverがインストールされている場合は、データベースを手動でアップグレードする必要があります。

以前の Oracle8から新しい Oracle8iへのアップグレード 7-7

Page 142: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8iの新しいリリースへのデータベースのアップグレード

c. 「Destination Path」フィールドに、新しいリリースをインストールする Oracleホーム・ディレクトリのフルパスを入力します。「Browse」ボタンをクリックして、ディレクトリにナビゲートします。

d. 「Next」をクリックします。

「Available Products」画面が表示されます。

5. 「Available Products」画面で、Oracle8iサーバーを選択します。Oracle8iサーバーは、ご使用のインストール・メディアによって、Oracle8i Enterprise Editionまたは Oracle8iになります。その後、「Next」をクリックします。

6. 「Installation Types」画面で、インストールのタイプを選択します。その後、「Next」をクリックします。

「Custom」を選択した場合、「Available Product Components」画面が表示されます。次の手順を実行します。

a. インストールする製品コンポーネントを選択します。その後、「Next」をクリックします。

特定のオプションの使用を中止しない限り、以前のデータベースにインストール済のすべてのオプションをインストールします。たとえば、以前のデータベースにOracleレプリケーションをインストールしていた場合、新しい Oracle8iデータベースにも Oracleレプリケーションをインストールします。

b. 「Upgrading or Migrating an Existing Database」画面が表示されるまで、画面の指示に従ってカスタム・インストール設定を行います。

7. 「Upgrading or Migrating an Existing Database」画面で、次の手順を実行します。

a. 「Upgrade or Migrate an Existing Database」チェック・ボックスを選択します。

b. アップグレードするデータベースを選択します。

c. 「Next」をクリックします。

8. 「Create Database」画面で、「No」オプションを選択します。これは、既存のデータベースをアップグレード中であるため、データベースを作成しないことを示します。その後、「Next」をクリックします。

注意注意注意注意 : リリース 8.0からアップグレードする場合、新しいリリース 8.1をリリース 8.0とは別の Oracleホームにインストールする必要があります。

7-8 Oracle8i 移行ガイド

Page 143: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8iの新しいリリースへのデータベースのアップグレード

9. 「Summary」画面で、インストールの設定および選択が正しいかどうかを確認します。その後、「Install」をクリックします。これによって、Oracle Universal Installerがインストールを実行します。ある程度時間がかかる場合があります。

インストールが終了したら、1つ以上のアシスタントが起動する場合があります。Oracle Data Migration Assistantが起動すると、アップグレードを続行できます。

10. Oracle Data Migration Assistantの「Before You Migrate or Upgrade」画面(図 7-1を参照)で、アップグレードしているデータベースが指定した条件を満たすことを確認します。その後、「Next」をクリックします。

図図図図 7-1「「「「Before You Migrate or Upgrade」画面」画面」画面」画面

画面でヘルプが必要な場合、または Oracle Data Migration Assistantの詳細が知りたい場合は、「Help」ボタンをクリックしてオンライン・ヘルプをオープンします。

以前の Oracle8から新しい Oracle8iへのアップグレード 7-9

Page 144: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8iの新しいリリースへのデータベースのアップグレード

11.「Select a Database Instance」画面で、アップグレード中のデータベースのデータベース・インスタンスを選択します。その後、「Next」をクリックします。

12.「Database Password and INIT.ORA File」画面で、次の手順を実行します。

a. 指定された Oracleホームが正しいことを確認します。

b. 指定された初期化パラメータ・ファイルの場所が、アップグレード中のデータベースの初期化パラメータ・ファイルへのフルパスであることを確認します。場所が不適切な場合、「Browse」ボタンをクリックして正しいディレクトリにナビゲートします。

c. 指定された古い Oracleホームが、アップグレード中のデータベースの Oracleホームへのフルパスであることを確認します。

d. 「Next」をクリックします。「Choose Migration or Upgrade Type」画面が表示されます。

13. アップグレードのタイプを選択します。その後、「Next」をクリックします。

「Custom」を選択した場合、「Backup Your Database」画面が表示されるまで、画面の指示に従ってカスタム移行設定を指定します。カスタム画面のいずれかでヘルプが必要な場合、「Help」ボタンをクリックします。

14.「Backup Your Database」画面には、次の 2つのオプションがあります。

� Oracle Data Migration Assistantを実行する前にバックアップを取った場合は、「I have already backed up my database」を選択します。

� バックアップを取っていない場合は、「I would like this tool to back up the database」を選択します。このオプションを選択した場合、「Browse」ボタンをクリックしてバックアップ・ディレクトリを選択できます。

選択後、「Next」をクリックします。

15.「Start the Migration or Upgrade」画面で、すべての設定が正しいことを確認します。不適切な設定がある場合、その設定が訂正されるまで「Back」をクリックします。すべて正しい場合は、「Next」をクリックします。

注意注意注意注意 : 選択するデータベースはリリース 8.0以上にしてください。データベースが Oracle7以前のデータベースの場合、アップグレードではなく、データベースの移行を実行する必要があります。データベースが Oracle7の場合は、Oracle Data Migration Assistantを終了して、第 2章を参照して移行処理を開始してください。

7-10 Oracle8i 移行ガイド

Page 145: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8iの新しいリリースへのデータベースのアップグレード

Oracle Data Migration Assistantがアップグレードを実行します。COMPATIBLE初期化パラメータがアップグレード前に設定されていなかった場合は、アシスタントによってCOMPATIBLEは 8.0.5へ設定されます。ただし、COMPATIBLEがアップグレードより前に設定された場合は、元の設定が移行の後に設定されます。COMPATIBLE初期化パラメータの再設定は、第 9章「互換性および相互運用性」を参照してください。

次のエラー・メッセージが表示される場合があります。

An error occured while upgrading your Oracle database. Check the log files to determine if the upgrade was successful.

このメッセージが表示された場合、次の手順を実行します。

a. 「OK」ボタンをクリックします。

b. 続いて表示されるボックスの「View Summary」をクリックします。エラー・メッセージが次のような場合、そのメッセージを無視できます。

ORA-00604: 再帰SQLレベル1でエラーが発生しました。ORA-00001: 一意制約(SYSTEM.AQ$_QUEUES_CHECK)に反しています。ORA-06512: 2023行 "SYS.DBMS_AQADM"ORA-06512: 2行

その他のエラー・メッセージが表示された場合、それに応じて問題を解決する必要があります。

16. アシスタントによって listener.oraファイルを自動的に修正する場合、「Listener.ora Migration Confirmation」画面で、「Yes」ボタンをクリックします。また、アシスタントによって listener.oraファイルを修正しない場合、「No」をクリックします。

データベースを Oracle Enterprise Managerで正常に動作させるためには、listener.oraファイルに特定の変更を加える必要があります。Oracle Enterprise Managerを使用する場合、listener.oraファイルを自動的に変更するには「Yes」ボタンをクリックします。Oracle Enterprise Managerを使用しない場合は、「No」ボタンをクリックします。

「Yes」ボタンをクリックした場合、次の方法で、Oracle Data Migration Assistantはlistener.oraファイルを変更します。

a. アシスタントは、古いリスナーおよび新しい Oracle8iリスナーを停止します。

注意注意注意注意 : 古い Oracleソフトウェアを保持している場合、古いソフトウェアを使用してアップグレードしたデータベースを絶対にオープンしないでください。新しいリリース 8.1インストール・ディレクトリの実行可能ファイル以外で、データベースをオープンしないでください。

以前の Oracle8から新しい Oracle8iへのアップグレード 7-11

Page 146: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8iの新しいリリースへのデータベースのアップグレード

b. アシスタントは、次のいずれかの方法で、Oracle8i listener.oraファイルの移行されたデータベースに対する SID_DESCエントリを変更します。

簡単な場合簡単な場合簡単な場合簡単な場合 :古い listener.oraに、次の SID_DESCエントリがあるとします。

... (SID_DESC = (SID_NAME = ORCL) ) ...

データベース名が SAL、ドメイン名が COMおよび Oracleホームが/oracle/product/8.1の場合、アシスタントは次のエントリを追加します。

... (SID_DESC = (GLOBAL_DBNAME = sal.com) (ORACLE_HOME = /oracle/product/8.1) (SID_NAME = SAL) ) ...

複雑な場合複雑な場合複雑な場合複雑な場合 :古い listener.oraに、次の SID_DESCエントリがあるとします。

... (SID_DESC = (GLOBAL_DBNAME = an_entry) (SID_NAME = ORCL) ) ...

an_entryが移行したデータベースの GLOBAL_DBNAMEと一致せず、データベース名が SAL、ドメイン名が COMおよび Dドライブ上の Oracleホームが¥oracle¥product¥8.1の場合、アシスタントは次のエントリを追加します。

... (SID_DESC = (GLOBAL_DBNAME = sal.com) (ORACLE_HOME = d:¥oracle¥product¥8.1) (SID_NAME = SAL) ) ...

7-12 Oracle8i 移行ガイド

Page 147: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8iの新しいリリースへのデータベースのアップグレード

このエントリは簡単な場合のエントリと同じですが、アシスタントはエントリan_entryの listener.oraファイルにある SERVICE_NAMESパラメータへの追加も行います。したがって、アシスタントは次のように SERVICE_NAMESパラメータを変更します。

SERVICE_NAMES = sal.com, an_entry

c. Windowsプラットフォームでは、アシスタントは移行されたデータベースのエントリを古い listener.oraファイルから削除します。UNIXオペレーティング・システムでは、アシスタントはこの処理を行いません。

d. アシスタントは Oracle8iリスナーを起動します。

17. 7-24ページの「特定のコンポーネントのアップグレード」および第 8章「データベースの移行後またはアップグレード後の作業」に記述されている手順を実行します。

Oracle Data Migration Assistantの単独での実行の単独での実行の単独での実行の単独での実行 既存のデータベースを移行するかアップグレードするかを指定しないで、Oracle8iをインストールした場合は、Oracle8iのインストール終了後に Oracle Data Migration Assistantを単独で実行できます。

Oracle Data Migration Assistantを単独で実行するには、次の手順を実行します。

1. Oracle Data Migration Assistantを起動します。

UNIXの場合、システム・プロンプトに次のコマンドを入力します。

odma

Windowsの場合、次のように選択します。

Start > Programs > Oracle - HOME_NAME > Migration Utilities > Oracle Data Migration Assistant

注意注意注意注意 : 古い Oracleソフトウェアを保持している場合、古いソフトウェアを使用してアップグレードしたデータベースを起動しないでください。新しい Oracle8iインストールの実行可能ファイル以外で、データベースを起動しないでください。また、古い Oracle環境を削除する前に、その環境のすべてのデータ・ファイルを新しい Oracle8i環境に再配置してください。データ・ファイルの再配置の詳細は、『Oracle8i管理者ガイド』を参照してください。

以前の Oracle8から新しい Oracle8iへのアップグレード 7-13

Page 148: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8iの新しいリリースへのデータベースのアップグレード

Oracle Data Migration Assistantを起動すると、「Before You Migrate or Upgrade」画面が表示されます(7-9ページの図 7-1を参照)。

2. Oracle Data Migration Assistantの各ウィンドウの質問に答え、次のウィンドウへ移動する準備ができたら「Next」をクリックします。

データベースの手動でのアップグレードデータベースの手動でのアップグレードデータベースの手動でのアップグレードデータベースの手動でのアップグレードSQLスクリプトを使用してデータベースを手動でアップグレードするには、次の手順を実行します。

1. オペレーティング・システム固有の Oracleマニュアルを参照して、Oracle Universal Installerをインストールおよび起動する準備を行います。

Oracle Parallel Serverをインストールしたシステムをアップグレードする場合、インストールの詳細は、『Oracle8i Parallel Server セットアップおよび構成ガイド』を参照してください。

2. Oracle Universal Installerの「Welcome」画面で、「Next」をクリックします。「File Locations」画面が表示されます。

3. 「File Locations」画面で、次の手順を実行します。

a. 「Source」フィールドのテキストを変更しないでください。これは、インストールするファイルの場所です。

b. 「Destination Name」フィールドがある場合、このフィールドに新しい Oracleホームの名前を入力します。

c. 「Destination Path」フィールドに、新しいリリースをインストールする Oracleホーム・ディレクトリのフルパスを入力します。「Browse」ボタンをクリックして、ディレクトリにナビゲートします。

d. 「Next」をクリックします。

「Available Products」画面が表示されます。

4. 「Available Products」画面で、Oracle8iサーバーを選択します。Oracle8iサーバーは、ご使用のインストール・メディアによって、Oracle8i Enterprise Editionまたは Oracle8iになります。その後、「Next」をクリックします。

5. 「Installation Types」画面で、「Custom」または「Minimal」を選択します。Oracleソフトウェアと一緒に初期データベースをインストールする場合を除いては、「Typical」を

参照参照参照参照 : 詳細は、7-7ページの「Oracle Data Migration Assistantを使用したデータベースのアップグレード」の手順 10~ 17を参照してください。

注意注意注意注意 : リリース 8.0からアップグレードする場合、新しいリリース 8.1をリリース 8.0とは別の Oracleホームにインストールする必要があります。

7-14 Oracle8i 移行ガイド

Page 149: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8iの新しいリリースへのデータベースのアップグレード

選択しないでください。「Custom」または「Minimal」を選択すると、初期データベースのインストールを回避できます。通常、既存のデータベースをアップグレードする場合は、初期データベースをインストールしないでください。

選択後、「Next」をクリックします。

「Custom」を選択した場合、「Available Product Components」画面が表示されます。次の手順を実行します。

a. インストールする製品コンポーネントを選択します。その後、「Next」をクリックします。

特定のオプションの使用を中止しない限り、以前のデータベースにインストール済のすべてのオプションをインストールします。たとえば、以前のデータベースにOracleレプリケーションをインストールしていた場合、新しい Oracle8iデータベースにも Oracleレプリケーションをインストールします。

b. Oracle Parallel Serverをインストールする場合、「Cluster Node Selection」画面で、ソフトウェアをインストールするノードを選択します。その後、「Next」をクリックします。

c. 「Upgrading or Migrating an Existing Database」画面が表示されるまで、画面の指示に従ってカスタム・インストール設定を行います。

6. 「Upgrading or Migrating an Existing Database」画面で、「Upgrade or Migrate an Existing Database」チェック・ボックスをチェックしないでください。その後、「Next」をクリックします。

「Upgrade or Migrate an Existing Database」チェック・ボックスをチェックすると、インストール後、Oracle Data Migration Assistantが自動的に起動します。手動によるデータベースのアップグレードの指示に従っているため、Oracle Data Migration Assistantを起動しないでください。

注意注意注意注意 : Oracle Parallel Serverインストールに対して、Minimalはサポートされていません。

注意注意注意注意 : Oracle Data Migration Assistantは、Oracle Parallel Serverの移行をサポートしません。

以前の Oracle8から新しい Oracle8iへのアップグレード 7-15

Page 150: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8iの新しいリリースへのデータベースのアップグレード

7. 「Summary」画面で、インストールの設定および選択が正しいかどうかを確認します。その後、「Install」をクリックします。これによって、Oracle Universal Installerがインストールを実行します。ある程度時間がかかる場合があります。

インストールが正常に完了したら、「Exit」ボタンをクリックして「Universal Installer」をクローズします。

8. ご使用のオペレーティング・システムがWindowsの場合、次の手順を実行します。

a. コンピュータを停止し、再起動します。

b. アップグレードするデータベースの Oracleサービス OracleServiceSIDを停止します。SIDはインスタンスの名前です。たとえば、SIDが ORCLの場合、MS-DOSプロンプトで次のように入力します。

C:¥> NET STOP OracleServiceORCL

c. ORADIMを使用して、MS-DOSコマンド・プロンプトで Oracleサービスを削除します。次の表に、各 Oracle8リリースに対して実行するMS-DOSコマンドを示します。

たとえば、Oracleリリースがリリース 8.0.6で SIDが ORCLの場合、次のMS-DOSコマンドを入力します。

C:¥> ORADIM80 -DELETE -SID ORCL

Oracleリリースがリリース 8.1.5で SIDが ORCLの場合、次のMS-DOSコマンドを入力します。

C:¥> ORADIM -DELETE -SID ORCL

Oracleリリースリリースリリースリリース MS-DOSコマンド・プロンプトで入力するコマンドコマンド・プロンプトで入力するコマンドコマンド・プロンプトで入力するコマンドコマンド・プロンプトで入力するコマンド

8.0 C:¥> ORADIM80 -DELETE -SID SID

8.1 C:¥> ORADIM -DELETE -SID SID

7-16 Oracle8i 移行ガイド

Page 151: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8iの新しいリリースへのデータベースのアップグレード

d. ご使用のオペレーティング・システムがWindowsの場合、MS-DOSコマンド・プロンプトで次のように Oracle8iデータベース・サービスを作成します。

C:¥> ORADIM -NEW -SID SID -INTPWD PASSWORD -MAXUSERS USERS -STARTMODE AUTO -PFILE ORACLE_HOME¥DATABASE¥INITSID.ORA

この構文には次の変数が含まれます。

たとえば、SIDが ORCL、PASSWORDが TWxy579、USERSの最大数が 10およびORACLE_HOMEディレクトリが C:¥ORA81の場合、次のコマンドを入力します。

C:¥> ORADIM -NEW -SID ORCL -INTPWD TWxy579 -MAXUSERS 10 -STARTMODE AUTO -PFILE C:¥ORA81¥DATABASE¥INITORCL.ORA

9. 構成ファイルを古い Oracleホーム以外の場所へコピーします。

a. 初期化パラメータ・ファイルが古い環境の Oracleホーム内に常駐する場合、古い環境の Oracleホーム以外の場所へ移動またはコピーします。デフォルトでは、Oracleは初期化パラメータ・ファイルを UNIXの場合は ORACLE_HOME/dbsへ、Windowsプラットフォームの場合は ORACLE_HOME¥databaseで検索します。初期化パラメータ・ファイルはどの場所にも置くことができます。ただし、新しいリリースへのアップグレード後は、古い環境の Oracleホーム内に置くことができません。

b. 初期化パラメータ・ファイルが IFILE(インクルード・ファイル)エントリを含み、IFILE内に指定されたファイルが古い環境の Oracleホーム内に常駐する場合、IFILEエントリで指定されているファイルを古い環境の Oracleホーム以外の場所へコピーします。IFILEエントリ内に指定されたファイルは、追加の初期化パラメータを持っています。このファイルをコピーした後で、次の手順に記述されているように、初期化パラメータ・ファイルを編集したときと同じ方法で編集します。

SID アップグレードするデータベースの SIDと同じ SID名。

PASSWORD 新しいリリース 8.1データベース・インスタンスのパスワード。これは INTERNALユーザー用のパスワードです。-INTPWDオプションは不要です。これを指定しない場合、オペレーティング・システムの認証が使用され、パスワードは不要です。

USERS SYSDBA権限および SYSOPER権限を付与できるユーザーの最大数。

ORACLE_HOME リリース 8.1の Oracleホーム・ディレクトリ。-PFILEオプションを使用して、(Oracleホーム・ディレクトリのドライブを含む)フルパス名を指定する必要があります。

以前の Oracle8から新しい Oracle8iへのアップグレード 7-17

Page 152: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8iの新しいリリースへのデータベースのアップグレード

c. 古い Oracleホーム内に常駐するパスワード・ファイルがある場合、そのパスワード・ファイルを Oracle8i Oracleホームに移動またはコピーします。パスワード・ファイルの名前および位置は、オペレーティング・システムによって異なります。ほとんどの UNIXオペレーティング・システムでは、デフォルトのパスワード・ファイルは ORACLE_HOME/dbs/orapwsidです。Windowsプラットフォームでは、デフォルトのパスワード・ファイルはORACLE_HOME¥database¥pwdsid.oraです。UNIXおよびWindowsプラットフォームの両方で、sidは Oracleインスタンスの IDです。

10. 初期化パラメータ・ファイルを調整して、新しいリリースで使用できるようにします。

a. 廃止されたパラメータを削除して、変更されたパラメータを調整します。特定の初期化パラメータは、新しいリリース 8.1では廃止されています。廃止されたパラメータは、新しいリリース 8.1を開始する初期化パラメータ・ファイルからすべて削除します。廃止されたパラメータはエラーの原因となることがあります。また、新しいリリース 8.1で構文が変更されているパラメータを変更することも必要です。新規のパラメータ、改名されたパラメータおよび廃止されたパラメータのリストは、付録 B「初期化パラメータの変更」を参照してください。

また、Oracle Parallel Serverを使用する場合、廃止された Oracle Parallel Server初期化パラメータの詳細は、Oracle8i Parallel Serverドキュメント・セット(『Oracle8i Parallel Server概要』、『Oracle8i Parallel Serverセットアップおよび構成ガイド』、『Oracle8i Parallel Server管理、配置およびパフォーマンス』)を参照してください。

b. JOB_QUEUE_PROCESSES初期化パラメータを使用してスナップショットを自動的に更新する場合、初期化パラメータ・ファイル内のこのパラメータに 0(ゼロ)を設定します。また、アドバンスト・キューイングを使用し、伝播スケジュールがある場合は、JOB_QUEUE_PROCESSESおよび AQ_TM_PROCESSES初期化パラメータの両方に 0(ゼロ)を設定します。

c. OPTIMIZER_MODE初期化パラメータに CHOOSEが設定されていることを確認します。データベースをアップグレードした後で、これらのパラメータの設定を通常の設定に戻します。

d. 初期化パラメータ・ファイルに IFILEエントリがある場合、初期化パラメータ・ファイルの IFILEエントリを変更して、手順 9.bのコピー先の新しい場所を指定するようにします。コピー先のファイルは、サブ手順 a~ cの初期化パラメータ・ファイルを編集したときと同じ方法で編集します。

注意注意注意注意 : Oracle Parallel Serverに対して、すべてのノードでこの手順を実行します。また、ご使用の initdb_name.oraファイルが古い環境のOracleホーム内に存在する場合、initdb_name.oraファイルを古い環境の Oracleホーム以外の場所へ移動またはコピーします。

7-18 Oracle8i 移行ガイド

Page 153: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8iの新しいリリースへのデータベースのアップグレード

e. Oracle Parallel Serverを使用している場合、initdb_name.oraファイルを初期化パラメータ・ファイルを変更したときと同じ方法で変更します。

これらの調整後、変更したすべてのファイルを保存します。

11. ご使用のオペレーティング・システムが UNIXの場合、次の環境変数が、新しいリリース 8.1のディレクトリを指定していることを確認します。

� ORACLE_HOME

� PATH

� ORA_NLS

� LD_LIBRARY_PATH

12. システム・プロンプトで、ORACLE_HOME/rdbms/adminディレクトリへ移動します。

13. Server Managerを起動します。ほとんどのオペレーティング・システムでは、Oracle8iの Server Managerを起動するには、コマンド・プロンプトで svrmgrlを入力します。

14. INTERNALユーザーとしてデータベース・インスタンスに接続します。

注意注意注意注意 : Oracle Parallel Serverに対して、すべてのノードでこの手順を実行します。また、PARALLEL_SERVER初期化パラメータを FALSEに設定します。アップグレード処理が完了した後に、それを TRUEに戻すことができます。

注意注意注意注意 : Oracle Parallel Serverに対して、すべてのノードでこの手順を実行します。

参照参照参照参照 : ご使用のオペレーティング・システムでのその他の重要な環境変数の設定は、オペレーティング・システム固有の Oracle8iインストレーション・ガイドを参照してください。

以前の Oracle8から新しい Oracle8iへのアップグレード 7-19

Page 154: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8iの新しいリリースへのデータベースのアップグレード

15. STARTUP RESTRICTを実行します。

SVRMGR> STARTUP RESTRICT

PFILEオプションを使用して、初期化パラメータ・ファイルの場所を指定する必要がある場合があります。

廃止された初期化パラメータをリストするエラー・メッセージが表示される場合があります。その場合、廃止された初期化パラメータを書き留め、通常のアップグレードを継続します。次にデータベースを停止するときに、廃止された初期化パラメータを削除します(手順 19)。

16. 成功したかどうかを後で確認するために、結果をログ・ファイルにスプールするようにシステムを設定します。

SVRMGR> SPOOL catoutu.log

実行するスクリプトを参照する場合は、SET ECHO ON文も発行できます。

SVRMGR> SET ECHO ON

17. uold_release.sqlを実行します。ここで、old_releaseとはアップグレード前にインストールしたリリースを指します。適切なスクリプトの選択は、表 7-2を参照してください。各スクリプトで、Old Release列に指定されたリリースからの直接のアップグレードが行えます。Old Releaseはアップグレード元のリリースです。

7-20 Oracle8i 移行ガイド

Page 155: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8iの新しいリリースへのデータベースのアップグレード

スクリプトを実行するには、次のように入力します。

SVRMGR> @uold_release.sql

表表表表 7-2 アップグレード・スクリプトアップグレード・スクリプトアップグレード・スクリプトアップグレード・スクリプト

古いリリース古いリリース古いリリース古いリリース 実行スクリプト実行スクリプト実行スクリプト実行スクリプト

8.0.1 直接のアップグレードはサポートされていません。詳細は、7-2ページの「アップグレード・パス」を参照してください。

8.0.2 直接のアップグレードはサポートされていません。詳細は、7-2ページの「アップグレード・パス」を参照してください。

8.0.3 u0800030.sql

8.0.4 u0800040.sql

8.0.4S 直接のアップグレードはサポートされていません。詳細は、7-2ページの「アップグレード・パス」を参照してください。

8.0.5 u0800050.sql

8.0.6 u0800060.sql

8.1.1 新しいリリースへのアップグレードは、サポートされていません。

8.1.2 新しいリリースへのアップグレードは、サポートされていません。

8.1.3 直接のアップグレードはサポートされていません。詳細は、7-2ページの「アップグレード・パス」を参照してください。

8.1.4 直接のアップグレードはサポートされていません。詳細は、7-2ページの「アップグレード・パス」を参照してください。

8.1.5 u0801050.sql

8.1.6 u0801060.sql

注意注意注意注意 : アップグレードの前にインストールした古いリリースが表 7-2にリストされていない場合は、新しいインストールの readmeファイルを参照して、適切なアップグレード・スクリプトを実行してください。

以前の Oracle8から新しい Oracle8iへのアップグレード 7-21

Page 156: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8iの新しいリリースへのデータベースのアップグレード

スクリプトを実行する場合、次のガイドラインに従ってください。

� 新しいリリース 8.1インストールで提供されるスクリプトのバージョンを使用する必要があります。

� 新しいリリースの 8.1環境でスクリプトを実行する必要があります。

� アップグレードがいくつかのリリースにわたる場合でも、1つのスクリプトのみを実行する必要があります。たとえば、古いリリースが 8.0.4であった場合、u0800040.sqlのみを実行します。

実行するスクリプトは、一定のディクショナリ表を作成および変更します。また、アップグレード先のリリースに付属する catalog.sqlおよび catproc.sqlスクリプトを実行します。これらのスクリプトは、システム・カタログ・ビューおよび PL/SQLの使用に必要なすべてのパッケージを作成します。

このスクリプトまたは残りの手順のスクリプトのいずれかを実行中に何らかの問題が発生した場合は、問題を解決してスクリプトを再実行します。必要に応じて、この章で説明されているスクリプトのいずれかを実行できます。

アップグレード中に次のような一連のメッセージが表示される場合があります。

ORA-00604: 再帰SQLレベル1でエラーが発生しました。ORA-00001: 一意制約(SYSTEM.AQ$_QUEUES_CHECK)に反しています。ORA-06512: 2023行 "SYS.DBMS_AQADM"ORA-06512: 2行

これらのメッセージは無視できます。

18. スクリプト結果のログ・ファイルへのスプーリングをオフにします。

SVRMGR> SPOOL OFF

次に、スプール・ファイルを確認して、すべてのパッケージおよびプロシージャのコンパイルが成功したかどうかを検証します。手順 16でスプール・ファイルに名前を付けましたが、その名前は catoutm.logでした。このファイルに問題を見つけた場合、それを解決します。

SET ECHO ONを指定した場合は、ここで SET ECHO OFFを行うことができます。

SVRMGR> SET ECHO OFF

参照参照参照参照 : スクリプトの実行中のエラーのタイプを判断するには、1-11ページの「スクリプトの実行」を参照してください。

7-22 Oracle8i 移行ガイド

Page 157: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8iの新しいリリースへのデータベースのアップグレード

19. Oracle8iのデータベース上で、SHUTDOWNを実行します。

SVRMGR> SHUTDOWN IMMEDIATE

この正しい停止を実行すると、すべてのキャッシュをフラッシュし、バッファを消去し、その他の内部的な不整合の解消を行います。これらの手段は、新規にアップグレードした Oracle8iのデータベースの整合性と一貫性を保証するための重要な最終ステップです。

また、手順 15でデータベースを起動したときに、廃止された初期化パラメータをリストしたメッセージが表示された場合、ここで初期化パラメータ・ファイルから廃止された初期化パラメータを削除します。

これで、ご使用のデータベースが新しいリリース 8.1へアップグレードされました。

20. 7-24ページの「特定のコンポーネントのアップグレード」および第 8章「データベースの移行後またはアップグレード後の作業」に記載されている手順を実行します。

注意注意注意注意 : SHUTDOWN NORMALまたは SHUTDOWN IMMEDIATEを使用してください。SHUTDOWN ABORTは使用しないでください。

注意注意注意注意 : 古い Oracleソフトウェアを保持している場合、古いソフトウェアを使用してアップグレードしたデータベースを起動しないでください。新しいリリース 8.1インストール・ディレクトリの実行可能ファイル以外で、データベースを起動しないでください。また、古い Oracle環境を削除する前に、その環境のすべてのデータ・ファイルを新しい Oracle8i環境に再配置してください。データ・ファイルの再配置の詳細は、『Oracle8i管理者ガイド』を参照してください。

以前の Oracle8から新しい Oracle8iへのアップグレード 7-23

Page 158: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

特定のコンポーネントのアップグレード

特定のコンポーネントのアップグレード特定のコンポーネントのアップグレード特定のコンポーネントのアップグレード特定のコンポーネントのアップグレードOracleデータベース・サーバーのいくつかのコンポーネントには、通常のデータベースのアップグレード処理とは異なるアップグレード処理が必要です。この項では、特定のコンポーネントのアップグレードについて説明します。7-3ページの「Oracle8iの新しいリリースへのデータベースのアップグレード」の指示に従ってデータベースをアップグレードした後に、これらの項で説明されている処理を実行します。

次のアップグレード手順には、エクスポート /インポートが関係するものがあります。エクスポート /インポートについては、『Oracle8iユーティリティ・ガイド』を参照してください。

interMedia Textの以前のリリースの以前のリリースの以前のリリースの以前のリリース 8.1からのアップグレードからのアップグレードからのアップグレードからのアップグレードinterMedia Textの今回のリリースでの新機能については、『Oracle8i リリース 8.1.7追加情報 』の第 1章を参照してください。この項の手順を実行するときは、他のデータベース管理者によるデータベースの変更、およびユーザーからのデータベースへの問合せが行われないように注意してください。

interMedia Textを、リリース 8.1.5またはリリース 8.1.6からリリース 8.1.7にアップグレードするには、次の手順を実行します。

1. データベースを実行している場合は、停止します。

SQL> SHUTDOWN IMMEDIATE

2. システム・プロンプトで、ORACLE_HOMEディレクトリへ移動します。

3. SQL*Plusを起動します。

sqlplus /nolog

注意注意注意注意 : Oracle Data Migration Assistantを使用してデータベースをアップグレードする場合、interMedia Text リリース 8.1がインストールされていると、Assistantは、アップグレードの終了時に interMedia Textを手動でアップグレードする必要があることを示すメッセージを表示します。この場合、データベースはすでにアップグレードされているため、次に示す手順によって手動で interMedia Textをアップグレードする必要があります。

注意注意注意注意 : SQL*Plusを使用します。Server Managerは使用しないでください。

7-24 Oracle8i 移行ガイド

Page 159: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

特定のコンポーネントのアップグレード

4. SYSDBA権限を持つユーザーとしてデータベース・インスタンスに接続します。

SQL> connect sys/change_on_install as sysdba

5. STARTUP RESTRICTを実行します。

SQL> STARTUP RESTRICT

PFILEオプションを使用して、初期化パラメータ・ファイルの場所を指定する必要がある場合があります。

6. 成功したかどうかを後で確認するために、結果をログ・ファイルにスプールするようにシステムを設定します。

SQL> SPOOL catoutint.log

実行するスクリプトの出力を参照する場合は、SET ECHO ON文も発行できます。

SQL> SET ECHO ON

7. リリース 8.1.5からアップグレードする場合は、次の手順を実行します。リリース 8.1.6からアップグレードする場合は、手順 8へ進みます。

a. ORACLE_HOME/ctx/admin/upgradeにある s0801060.sqlスクリプトを実行します。

SQL> @ctx/admin/upgrade/s0801060.sql

b. CTXSYSユーザーとしてデータベース・インスタンスに接続します。

c. ORACLE_HOME/ctx/admin/upgradeにある u0801060.sqlスクリプトを実行します。

SQL> @ctx/admin/upgrade/u0801060.sql

d. SYSDBA権限を持つユーザーとしてデータベース・インスタンスに接続します。

SQL> connect sys/change_on_install as sysdba

8. ORACLE_HOME/ctx/admin/upgradeディレクトリにある s0801070.sqlスクリプトを実行します。

SQL> @ctx/admin/upgrade/s0801070.sql

このスクリプトは、データベースに必要な新しい権限を CTXSYSユーザーに付与します。

9. CTXSYSユーザーとしてデータベース・インスタンスに接続します。

以前の Oracle8から新しい Oracle8iへのアップグレード 7-25

Page 160: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

特定のコンポーネントのアップグレード

10. ORACLE_HOME/ctx/admin/upgradeディレクトリにある u0801070.sqlスクリプトを実行します。

SQL> @ctx/admin/upgrade/u0801070.sql

このスクリプトは、CTXSYSスキーマをリリース 8.1.7にアップグレードします。

11. ORACLE_HOME/ctx/adminディレクトリにある dr0typec.pkhスクリプトを実行します。

SQL> @ctx/admin/dr0typec.pkh

このスクリプトは、CTXCAT索引タイプを作成します。これはリリース 8.1.7の新機能です。

12. ORACLE_HOME/ctx/adminディレクトリにある dr0pkh.sqlスクリプトを実行します。

SQL> @ctx/admin/dr0pkh.sql

このスクリプトは、パブリック・パッケージおよびプライベート・パッケージのすべてのヘッダーを再作成します。

13. ORACLE_HOME/ctx/adminディレクトリにある dr0plb.sqlスクリプトを実行します。

SQL> @ctx/admin/dr0plb.sql

このスクリプトは、パブリック・パッケージおよびプライベート・パッケージのすべての本体を再作成します。

14. ORACLE_HOME/ctx/adminディレクトリにある dr0type.plbスクリプトを実行します。

SQL> @ctx/admin/dr0type.plb

このスクリプトは、CONTEXT索引タイプの本体を再作成します。

15. ORACLE_HOME/ctx/adminディレクトリにある dr0typec.plbスクリプトを実行します。

SQL> @ctx/admin/dr0typec.plb

このスクリプトは、CTXCAT索引タイプの本体を作成します。これはリリース 8.1.7の新機能です。

16. ORACLE_HOME/ctx/adminディレクトリにある dr0itypc.sqlスクリプトを実行します。

SQL> @ctx/admin/dr0itypc.sql

7-26 Oracle8i 移行ガイド

Page 161: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

特定のコンポーネントのアップグレード

このスクリプトは、CTXCATのバインディングと索引タイプを作成します。これはリリース 8.1.7の新機能です。

17. 無効になった CTXSYSオブジェクトを調べて、必要に応じてコンパイルし直します。

18. スクリプト結果のログ・ファイルへのスプーリングをオフにします。

SQL> SPOOL OFF

次に、スプール・ファイルを確認して、すべてのパッケージおよびプロシージャのコンパイルが成功したかどうかを検証します。手順 6でスプール・ファイルに名前を付けましたが、その名前は catoutint.logでした。このファイルに問題を見つけた場合、それを解決します。

SET ECHO ONを指定した場合は、ここで SET ECHO OFFを行うことができます。

SQL> SET ECHO OFF

19. ALTER SYSTEM DISABLE RESTRICTED SESSIONを実行します。

SQL> ALTER SYSTEM DISABLE RESTRICTED SESSION

これで、interMedia Textは新しいリリースへアップグレードされました。

以前の Oracle8から新しい Oracle8iへのアップグレード 7-27

Page 162: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

特定のコンポーネントのアップグレード

OracleレプリケーションのアップグレードレプリケーションのアップグレードレプリケーションのアップグレードレプリケーションのアップグレードOracleシステムに Oracleレプリケーションをインストールしている場合は、次の手順を実行します。

1. データベースを実行している場合は、停止します。

SVRMGR> SHUTDOWN IMMEDIATE

2. システム・プロンプトで、ORACLE_HOME/rdbms/adminディレクトリへ移動します。

3. Server Managerを起動します。ほとんどのオペレーティング・システムでは、Oracle8iの Server Managerを起動するには、コマンド・プロンプトで svrmgrlを入力します。

4. INTERNALユーザーとしてデータベース・インスタンスに接続します。

5. STARTUP RESTRICTを実行します。

SVRMGR> STARTUP RESTRICT

PFILEオプションを使用して、初期化パラメータ・ファイルの場所を指定する必要がある場合があります。

6. 成功したかどうかを後で確認するために、結果をログ・ファイルにスプールするようにシステムを設定します。

SVRMGR> SPOOL catoutrep.log

実行するスクリプトを参照する場合は、SET ECHO ON文も発行できます。

SVRMGR> SET ECHO ON

7. catrep.sqlを実行します。

SVRMGR> @catrep.sql

注意注意注意注意 : Oracle Parallel Serverに対して、PARALLEL_SERVER初期化パラメータを FALSEに設定します。アップグレード処理が完了した後に、それを TRUEに戻すことができます。

7-28 Oracle8i 移行ガイド

Page 163: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

特定のコンポーネントのアップグレード

8. rold_release.sqlを実行します。ここで、old_releaseとはアップグレード前にインストールしたリリースを指します。適切なスクリプトの選択は、表 7-3を参照してください。各スクリプトで、Old Release列に指定されたリリースからの Oracleレプリケーション用の直接のアップグレードが行えます。Old Releaseはアップグレード元のリリースです。

スクリプトを実行するには、次のように入力します。

SVRMGR> @rold_release.sql

表表表表 7-3 Oracleレプリケーションのアップグレード・スクリプトレプリケーションのアップグレード・スクリプトレプリケーションのアップグレード・スクリプトレプリケーションのアップグレード・スクリプト

リリースリリースリリースリリース 実行スクリプト実行スクリプト実行スクリプト実行スクリプト

8.0.1 直接のアップグレードはサポートされていません。詳細は、7-2ページの「アップグレード・パス」を参照してください。

8.0.2 直接のアップグレードはサポートされていません。詳細は、7-2ページの「アップグレード・パス」を参照してください。

8.0.3 r0800030.sql

8.0.4 r0800040.sql

8.0.4S 直接のアップグレードはサポートされていません。詳細は、7-2ページの「アップグレード・パス」を参照してください。

8.0.5 r0800050.sql

8.0.6 r0800050.sql(8.0.5と同じ)

8.1.1 新しいリリースへのアップグレードは、サポートされていません。

8.1.2 新しいリリースへのアップグレードは、サポートされていません。

8.1.3 直接のアップグレードはサポートされていません。詳細は、7-2ページの「アップグレード・パス」を参照してください。

8.1.4 直接のアップグレードはサポートされていません。詳細は、7-2ページの「アップグレード・パス」を参照してください。

8.1.5 アップグレード・スクリプトは不要です。Oracleレプリケーションは、新しいリリース 8.1データベースで動作します。

8.1.6 アップグレード・スクリプトは不要です。Oracleレプリケーションは、新しいリリース 8.1データベースで動作します。

以前の Oracle8から新しい Oracle8iへのアップグレード 7-29

Page 164: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

特定のコンポーネントのアップグレード

スクリプトを実行する場合、次のガイドラインに従ってください。

� 新しいリリース 8.1インストールで提供されるスクリプトのバージョンを使用する必要があります。

� 新しいリリースの 8.1環境でスクリプトを実行する必要があります。

� アップグレードがいくつかのリリースにわたる場合でも、1つのスクリプトのみを実行する必要があります。たとえば、古いリリースが 8.0.4であった場合、r0800040.sqlのみを実行します。

9. スクリプト結果のログ・ファイルへのスプーリングをオフにします。

SVRMGR> SPOOL OFF

次に、スプール・ファイルを確認して、すべてのパッケージおよびプロシージャのコンパイルが成功したかどうかを検証します。手順 6でスプール・ファイルに名前を付けましたが、その名前は catoutrep.logでした。このファイルに問題を見つけた場合、それを解決します。

SET ECHO ONを指定した場合は、ここで SET ECHO OFFを行うことができます。

SVRMGR> SET ECHO OFF

10. ALTER SYSTEM DISABLE RESTRICTED SESSIONを実行します。

SVRMGR> ALTER SYSTEM DISABLE RESTRICTED SESSION

これで、Oracleレプリケーションは新しいリリースへアップグレードされました。

注意注意注意注意 : アップグレードの前にインストールした古いリリースが表 7-3にリストされていない場合は、新しいインストールの readmeファイルを参照して、Oracleレプリケーションに適切なアップグレード・スクリプトを実行してください。

7-30 Oracle8i 移行ガイド

Page 165: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

特定のコンポーネントのアップグレード

JServerのアップグレードのアップグレードのアップグレードのアップグレードOracleシステムに JServerをインストールしている場合は、次の手順を実行します。

1. 初期化パラメータ・ファイル内の _SYSTEM_TRIG_ENABLED初期化パラメータがTRUEに設定されていることを確認します。現在、この初期化パラメータが設定されていない場合は、明示的に TRUEを設定してください。

_SYSTEM_TRIG_ENABLED = TRUE

2. SHUTDOWN IMMEDIATEを使用して、すべてのインスタンスを停止します。

SVRMGR> SHUTDOWN IMMEDIATE

3. システム・プロンプトで、ORACLE_HOME/javavm/installディレクトリへ移動します。

4. Server Managerを起動します。ほとんどのオペレーティング・システムでは、Oracle8iの Server Managerを起動するには、コマンド・プロンプトで svrmgrlを入力します。

5. INTERNALユーザーとしてデータベース・インスタンスに接続します。

6. STARTUP RESTRICTを実行します。

SVRMGR> STARTUP RESTRICT

PFILEオプションを使用して、初期化パラメータ・ファイルの場所を指定する必要がある場合があります。

7. 成功したかどうかを後で確認するために、結果をログ・ファイルにスプールするようにシステムを設定します。

SVRMGR> SPOOL catoutjava.log

実行するスクリプトを参照する場合は、SET ECHO ON文も発行できます。

SVRMGR> SET ECHO ON

注意注意注意注意 : Oracle Parallel Serverに対して、PARALLEL_SERVER初期化パラメータを FALSEに設定します。アップグレード処理が完了した後に、それを TRUEに戻すことができます。

以前の Oracle8から新しい Oracle8iへのアップグレード 7-31

Page 166: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

特定のコンポーネントのアップグレード

8. アップグレード元のリリースに対応する適切なスクリプトを実行します。

リリース 8.1.6からアップグレードする場合は、jvmu816.sqlを実行します。

SVRMGR> @jvmu816.sql

リリース 8.1.5からアップグレードする場合は、jvmu815.sqlを実行します。

SVRMGR> @jvmu815.sql

これらのスクリプトのいずれかを実行すると、アップグレード前のユーザー・クラスはそのまま残りますが、通常の場合無効になります。これらのクラスは、使用時に暗黙的に再検証されます。明示的に再検証するには、ALTER ANY CLASS文を発行します。たとえば、MyClassという名前のクラスを再検証するには、次の文を発行します。

ALTER JAVA CLASS MyClass RESOLVE;

9. ORACLE_HOME/rdbms/adminディレクトリにある catxsu.sqlスクリプトを実行します。

SVRMGR> @ORACLE_HOME/rdbms/admin/catxsu.sql

ORACLE_HOMEを、ご使用の Oracleホーム・ディレクトリのフルパスに置き換えます。

10. スクリプト結果のログ・ファイルへのスプーリングをオフにします。

SVRMGR> SPOOL OFF

次に、スプール・ファイルを確認して、すべてのパッケージおよびプロシージャのコンパイルが成功したかどうかを検証します。手順 7でスプール・ファイルに名前を付けましたが、その名前は catoutjava.logでした。このファイルに問題を見つけた場合、それを解決します。

SET ECHO ONを指定した場合は、ここで SET ECHO OFFを行うことができます。

SVRMGR> SET ECHO OFF

11. ALTER SYSTEM DISABLE RESTRICTED SESSIONを実行します。

SVRMGR> ALTER SYSTEM DISABLE RESTRICTED SESSION

12. SHUTDOWN IMMEDIATEを使用して、すべてのインスタンスを停止します。

SVRMGR> SHUTDOWN IMMEDIATE

注意注意注意注意 : Oracle Parallel Serverに対して、PARALLEL_SERVER初期化パラメータを FALSEに設定します。アップグレード処理が完了した後に、それを TRUEに戻すことができます。

7-32 Oracle8i 移行ガイド

Page 167: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

特定のコンポーネントのアップグレード

13. Server Managerを終了します。

14. Oracle Servlet Engine(OSE)が正しく構成されていることを確認するために、初期化パラメータ・ファイルを次のように変更します。

a. ファイルの中にMTS_SERVICE初期化パラメータが存在する場合は、これをコメント行にします。行の先頭に #記号を付けると、初期化パラメータをコメント行にできます。これらの記号は、アップグレードが完了した後に削除できます。

b. 次の初期化パラメータが、ここに示すとおりに設定されていることを確認します。

MTS_DISPATCHERS="(PROTOCOL=tcp)"MTS_DISPATCHERS="(PROTOCOL=tcps)"MTS_SERVERS=5 LOCAL_LISTENER=inst1

MST_SERVERSには 5以上の値を設定できますが、5未満にはできません。

15. OSEが正しく構成されていることを確認するために、tnsnames.oraファイルに設定された情報が正しいことを確認します。たとえば、ご使用の環境に次のものが含まれているとします。

� hq_serverという名前のホスト・サーバー

� rdbms_hq.mycompany.comというサービス名のデータベース・インスタンス

この場合、tnsnames.oraファイルには次のエントリが含まれている必要があります。

inst1_http = (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=hq_server)(PORT=5521)) (CONNECT_DATA= (SERVICE_NAME=rdbms_hq.mycompany.com) (SERVER=shared) (PRESENTATION=http://admin)))

inst1_https = (DESCRIPTION= (ADDRESS=(PROTOCOL=tcps)(HOST=hq_server)(PORT=5524)) (CONNECT_DATA= (SERVICE_NAME=rdbms_hq.mycompany.com) (SERVER=shared) (PRESENTATION=http://admin)))

参照参照参照参照 : OSEの構成の詳細は、ORACLE_HOME/javavmディレクトリにある readme.txtファイルを参照してください。

参照参照参照参照 : OSEの構成の詳細は、ORACLE_HOME/javavmディレクトリにある readme.txtファイルを参照してください。

以前の Oracle8から新しい Oracle8iへのアップグレード 7-33

Page 168: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

特定のコンポーネントのアップグレード

16. OSEが正しく構成されていることを確認するために、listener.oraファイルに設定された情報が正しいことを確認します。たとえば、ご使用の環境のWalletディレクトリが /home/walletであるとします。この場合、listener.oraファイルには次のエントリが含まれている必要があります。

oss.source.my_wallet= (SOURCE= (METHOD=FILE) (METHOD_DATA= (DIRECTORY=/home/wallet)))

17. 現在のディレクトリが ORACLE_HOME/javavm/installではない場合、システム・プロンプトでこのディレクトリへ移動します。

18. SQL*Plusを起動します。

sqlplus /nolog

19. SYSDBA権限を持つユーザーとしてデータベース・インスタンスに接続します。

SQL> connect sys/change_on_install as sysdba

20. STARTUPを実行します。

SQL> STARTUP

PFILEオプションを使用して、初期化パラメータ・ファイルの場所を指定する必要がある場合があります。

21. jisaepスクリプトを実行して管理 OSEを起動します。

SQL> @jisaep admin http_port https_port -register

http_portに 8080、https_portに 9090を使用します(これらのポートが使用可能である場合)。

参照参照参照参照 : OSEの構成の詳細は、ORACLE_HOME/javavmディレクトリにある readme.txtファイルを参照してください。

注意注意注意注意 : SQL*Plusを使用します。Server Managerは使用しないでください。

7-34 Oracle8i 移行ガイド

Page 169: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

特定のコンポーネントのアップグレード

22. Java Acceleratorを起動するには、次の手順を実行します。

a. ロールバック・セグメント領域に 100MB以上の空き領域があることを確認します。

b. SYSに JAVA_DEPLOY権限を付与します。

SQL> GRANT JAVA_DEPLOY TO SYS;

c. jisja.sqlスクリプトを実行します。

SQL> @jisja.sql

d. jspja.sqlスクリプトを実行します。

SQL> @jspja.sql

これで、JServerコンポーネントは新しいリリースへアップグレードされました。

XML Parser for PL/SQLおよび XML Class Generator for Javaは、アップグレード中にロードされません。

XML Parser for PL/SQLを使用するには、次のファイルをロードします。

ORACLE_HOME/lib/xmlplsql.jar

次に、次のスクリプトを実行します。

ORACLE_HOME/xdk/plsql/parser/bin/load.sql

XML Class Generator for Javaを使用するには、次のファイルをロードします。

ORACLE_HOME/lib/classgen.jar

参照参照参照参照 : ロールバック・セグメントの管理の詳細は、『Oracle8i管理者ガイド』を参照してください。

参照参照参照参照 : XML Parser for PL/SQLおよび XML Class Generator for Javaの詳細については、『Oracle8iアプリケーション開発者ガイド - XML』を参照してください。

注意注意注意注意 : Enterprise JavaBeansのアップグレードはサポートされていません。以前のリリースで Enterprise JavaBeansを配置している場合は、リリース 8.1.7用に再配置する必要があります。詳細については、『Oracle8i Enterprise JavaBeans開発者ガイドおよびリファレンス』を参照してください。

以前の Oracle8から新しい Oracle8iへのアップグレード 7-35

Page 170: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

特定のコンポーネントのアップグレード

Oracle Parallel ServerのアップグレードのアップグレードのアップグレードのアップグレードOracleシステムに Oracle Parallel Serverをインストールしている場合は、次の手順を実行します。

1. SHUTDOWN IMMEDIATEを使用して、すべてのインスタンスを停止します。

SVRMGR> SHUTDOWN IMMEDIATE

2. システム・プロンプトで、ORACLE_HOME/rdbms/adminディレクトリへ移動します。

3. Server Managerを起動します。ほとんどのオペレーティング・システムでは、Oracle8iの Server Managerを起動するには、コマンド・プロンプトで svrmgrlを入力します。

4. INTERNALユーザーとしてデータベース・インスタンスに接続します。

5. STARTUP RESTRICTを実行します。

SVRMGR> STARTUP RESTRICT

PFILEオプションを使用して、初期化パラメータ・ファイルの場所を指定する必要がある場合があります。

6. 成功したかどうかを後で確認するために、結果をログ・ファイルにスプールするようにシステムを設定します。

SVRMGR> SPOOL catoutpar.log

実行するスクリプトを参照する場合は、SET ECHO ON文も発行できます。

SVRMGR> SET ECHO ON

7. catparr.sqlを実行します。

SVRMGR> @catparr.sql

8. スクリプト結果のログ・ファイルへのスプーリングをオフにします。

SVRMGR> SPOOL OFF

次に、スプール・ファイルを確認して、すべてのパッケージおよびプロシージャのコンパイルが成功したかどうかを検証します。手順 7でスプール・ファイルに名前を付けましたが、その名前は catoutpar.logでした。このファイルに問題を見つけた場合、それを解決します。

注意注意注意注意 : Oracle Parallel Serverに対して、PARALLEL_SERVER初期化パラメータを FALSEに設定します。アップグレード処理が完了した後に、それを TRUEに戻すことができます。

7-36 Oracle8i 移行ガイド

Page 171: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

特定のコンポーネントのアップグレード

SET ECHO ONを指定した場合は、ここで SET ECHO OFFを行うことができます。

SVRMGR> SET ECHO OFF

9. ALTER SYSTEM DISABLE RESTRICTED SESSIONを実行します。

SVRMGR> ALTER SYSTEM DISABLE RESTRICTED SESSION

これで、Oracle Parallel Serverは新しいリリースへアップグレードされました。

以前の Oracle8から新しい Oracle8iへのアップグレード 7-37

Page 172: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

特定のコンポーネントのアップグレード

スナップショットのアップグレードスナップショットのアップグレードスナップショットのアップグレードスナップショットのアップグレード

リリース 8.0からアップグレードされたスナップショット、またはリリース 8.0データベースからインポートされたスナップショットは、リリース 8.1で利用できる新しいサマリー管理機能を使用できません。これらの新しい機能を使用する場合は、アップグレードされたスナップショットおよびリリース 8.0からインポートされたスナップショットのそれぞれに次の手順を実行します。

1. 問合せリライト権限をスナップショットの所有者に付与します。問合せ再書込みに対しては、ローカルのスナップショットのみ利用できます。

スナップショットが、所有者のスキーマ以外のスキーマ・オブジェクトを参照する場合、GRANT GLOBAL QUERY REWRITE文を発行する必要があります。

2. アップグレードするスナップショットに ALTER SNAPSHOT ... ENABLE QUERY REWRITE文を発行します。

たとえば、SSORDERSという名前のスナップショットには、次の文を発行します。

ALTER SNAPSHOT ssorders ENABLE QUERY REWRITE;

また、スナップショットに問合せリライトを使用可能にしない場合、スナップショットにALTER SNAPSHOT ... COMPILE文を発行しない限り、DBMS_SNAPSHOT.REFRESHプロシージャの ATOMIC=FALSEオプションは無効になります。たとえば、SSCUSTという名前のスナップショットには、次の文を発行します。

ALTER SNAPSHOT sscust COMPILE;

スナップショットに ALTER SNAPSHOT ... ENABLE QUERY REWRITE文などの別のALTER SNAPSHOT文を発行した場合、この文を発行する必要はありません。

注意注意注意注意 : スナップショットとマテリアライズド・ビューは同義語です。

7-38 Oracle8i 移行ガイド

Page 173: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

特定のコンポーネントのアップグレード

アドバンスト・キューイング・オプションのアップグレードアドバンスト・キューイング・オプションのアップグレードアドバンスト・キューイング・オプションのアップグレードアドバンスト・キューイング・オプションのアップグレードこの項では、アドバンスト・キューイング(AQ)オプションをアップグレードするために必要な処理について説明します。

拡張アドレス・フィールドの使用拡張アドレス・フィールドの使用拡張アドレス・フィールドの使用拡張アドレス・フィールドの使用

リリース 8.0.4では、AQ$_AGENTデータ型の拡張アドレス・フィールドが導入されました。アドレス・フィールドは 1024バイトに拡張されています。リリース 8.0.3をインストールしている場合、この項の手順を実行して、拡張アドレス・フィールドを使用できるようにします。

また、リリース 8.0.3をインストールしていたが、リリース 8.0.4などの以前のリリースへアップグレードしたときに、この項で説明されている手順を実行してアドレス・フィールドを拡張した場合、次の手順を実行する必要はありません。また、AQを使用しない場合は、これらの手順を実行する必要はありません。

ただし、リリース 8.0.3をインストール済で、以前のリリースでこれらの手順を実行せず、拡張アドレス・フィールドを使用する場合は、ここで、この手順を実行する必要があります。オラクル社では、拡張アドレス・フィールドを使用することをお薦めします。

拡張アドレス・フィールドを使用するには、次の手順を実行してください。

1. データベースを停止します。

SVRMGR> SHUTDOWN IMMEDIATE

2. 初期化パラメータ・ファイルで、JOB_QUEUE_PROCESSESおよびAQ_TM_PROCESSES初期化パラメータに 0(ゼロ)を設定します。この手順が完了した後で、これらのパラメータの設定を通常の値に戻します。

注意注意注意注意 : この項は、Oracleのリリース 8.0.3からアップグレードしたシステムにのみ適用されます。Oracleのリリース 8.0.3をご使用のシステムで一度も使用したことがない場合は、この項の手順を実行する必要はありません。7-42ページの「キュー表のアップグレード」へ進んでください。

注意注意注意注意 : Oracle Parallel Serverに対して、PARALLEL_SERVER初期化パラメータを FALSEに設定します。アップグレード処理が完了した後に、それを TRUEに戻すことができます。

以前の Oracle8から新しい Oracle8iへのアップグレード 7-39

Page 174: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

特定のコンポーネントのアップグレード

3. システム・プロンプトで、ORACLE_HOME/rdbms/adminディレクトリへ移動します。

4. Server Managerを起動します。ほとんどのオペレーティング・システムでは、Oracle8iの Server Managerを起動するには、コマンド・プロンプトで svrmgrlを入力します。

5. INTERNALユーザーとしてデータベース・インスタンスに接続します。

6. STARTUP RESTRICTを実行します。

SVRMGR> STARTUP RESTRICT

PFILEオプションを使用して、初期化パラメータ・ファイルの場所を指定する必要がある場合があります。

7. 成功したかどうかを後で確認するために、結果をログ・ファイルにスプールするようにシステムを設定します。

SVRMGR> SPOOL catoutaq.log

実行するスクリプトを参照する場合は、SET ECHO ON文も発行できます。

SVRMGR> SET ECHO ON

8. 次の SQL文を発行して、データベースにキュー表が存在するかどうかを判断します。

SELECT owner, queue_table FROM dba_queue_tables;

9. 新しいコマンド・ウィンドウでエクスポート・ユーティリティをオープンします。

10. エクスポート・ユーティリティを使用して、すべての既存のキュー表の内容をエクスポートします。

SYSTEM.DEF$_AQCALLおよび SYSTEM.DEF$_AQERRORキュー表もエクスポートし、手順 15でインポートする必要があります。これらのデフォルト・キュー表はOracleレプリケーションによって使用されます。

参照参照参照参照 : キュー表のエクスポートに必要な手順の詳細は、『Oracle8iアプリケーション開発者ガイド アドバンスト・キューイング』を参照してください。また、エクスポート・ユーティリティの使用方法の詳細は、『Oracle8iユーティリティ・ガイド』を参照してください。

7-40 Oracle8i 移行ガイド

Page 175: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

特定のコンポーネントのアップグレード

11. DBMS_AQADM.DROP_QUEUE_TABLEプロシージャを使用して、すべてのキュー表を削除します。SYSTEM.DEF$_AQCALLおよび SYSTEM.DEF$_AQERRORキュー表が削除されたことを確認します。

12. catnoque.sqlを実行して、既存の AQディクショナリ表を削除します。

@catnoque.sql

13. catqueue.sqlを実行して、新しい型およびディクショナリ表を再定義します。

@catqueue.sql

14. エクスポート・ユーティリティを実行したコマンド・ウィンドウで、エクスポート・ユーティリティをクローズし、インポート・ユーティリティをオープンします。

15. インポート・ユーティリティを使用して、手順 10でエクスポートしたキュー表をインポートします。

16. SYSTEM.DEF$_AQCALLおよび SYSTEM.DEF$_AQERRORキュー表を含む手順 10でエクスポートしたすべてのキュー表が、手順 15で正しくインポートされたことを次のSQL文を発行して確認します。

SELECT owner, queue_table FROM dba_queue_tables;

次の例は、この SQL文を発行したときに表示される出力です。

OWNER QUEUE_TABLE------------------------------ ------------------------------ SYSTEM DEF$_AQCALLSYSTEM DEF$_AQERRORAQUSER1 QUEUE_TABLE1AQUSER2 QUEUE_TABLE2

17. スクリプト結果のログ・ファイルへのスプーリングをオフにします。

SVRMGR> SPOOL OFF

参照参照参照参照 : DBMS_AQADM.DROP_QUEUE_TABLEプロシージャの詳細は、『Oracle8iアプリケーション開発者ガイド アドバンスト・キューイング』を参照してください。

参照参照参照参照 : インポート・ユーティリティの使用方法の詳細は、『Oracle8iユーティリティ・ガイド』を参照してください。

以前の Oracle8から新しい Oracle8iへのアップグレード 7-41

Page 176: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

特定のコンポーネントのアップグレード

次に、スプール・ファイルを確認して、すべてのパッケージおよびプロシージャのコンパイルが成功したかどうかを検証します。手順 7でスプール・ファイルに名前を付けましたが、その名前は catoutaq.logでした。このファイルに問題を見つけた場合、それを解決します。

SET ECHO ONを指定した場合は、ここで SET ECHO OFFを行うことができます。

SVRMGR> SET ECHO OFF

18. ALTER SYSTEM DISABLE RESTRICTED SESSIONを実行します。

SVRMGR> ALTER SYSTEM DISABLE RESTRICTED SESSION;

これで、拡張アドレス・フィールドを使用できます。

キュー表のアップグレードキュー表のアップグレードキュー表のアップグレードキュー表のアップグレード既存のキュー表をアップグレードした場合のみ、次のリリース 8.1の AQ拡張機能が利用できます。

� 伝播されたメッセージの元のメッセージ ID列の追加

� 送信者の ID列の追加

� キューおよびシステム・レベル権限

� ルール・ベースのサブスクリプション

� リリース 8.0の VARRAYに格納された履歴管理情報の個別の記憶域

既存のキュー表をアップグレードするには、DBMS_AQADM.MIGRATE_QUEUE_TABLEプロシージャを実行して、オプションに 8.1を指定します。たとえば、ユーザー SCOTTが所有する TB_QUEUEというキュー表の場合は、次のコマンドを発行します。

EXECUTE dbms_aqadm.migrate_queue_table ( queue_table => ’scott.tb_queue’, compatible => ’8.1’);

7-42 Oracle8i 移行ガイド

Page 177: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

特定のコンポーネントのアップグレード

リリース 8.1互換である新しいキュー表を作成するには、キュー表の所有者として接続し、DBMS_AQADM.CREATE_QUEUE_TABLEプロシージャを実行し、次の例のようにCOMPATIBLEオプションに 8.1を指定します。

EXECUTE dbms_aqadm.create_queue_table( queue_table => ’scott.tkaqqtpeqt’, queue_payload_type =>’message’, sort_list => ’priority,enq_time’, multiple_consumers => true, comment => ’Creating queue with priority and enq_time sort order’, compatible => ’8.1’);

ユーザー定義データ型のアップグレードユーザー定義データ型のアップグレードユーザー定義データ型のアップグレードユーザー定義データ型のアップグレードリリース 8.0からリリース 8.1へデータベースをアップグレードするときに、既存のユーザー定義データ型(オブジェクト型、ネストした表、VARRAY型など)はリリース 8.0の表現形式のままです。表現形式はリリース 8.1では変更され、パフォーマンスを向上するために、ディスク領域使用を最適化します。

リリース 8.1でもリリース 8.0の形式を使用できますが、改善された表現形式のメリットを得ることができません。したがって、既存のユーザー定義データ型をアップグレードすることをお薦めします(必須ではありません)。

既存のユーザー定義データ型に新しい形式を使用するには、次の手順を実行します。

1. エクスポート・ユーティリティを使用して、リリース 8.0のユーザー定義オブジェクト型、ネストした表、VARRAY型を含むすべての表(キュー表を含む)をエクスポートします。

2. エクスポートした表を削除します。

3. COMPATIBLE初期化パラメータを設定して、データベースの互換レベルを 8.1.0以上であることを確認します。

4. インポート・ユーティリティを使用して、手順 1でエクスポートした表をインポートします。

注意注意注意注意 : キュー表をアップグレードし、新しいリリース 8.1互換キュー表を作成するために、COMPATIBLE初期化パラメータを 8.1.0以上に設定する必要があります。

以前の Oracle8から新しい Oracle8iへのアップグレード 7-43

Page 178: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

特定のコンポーネントのアップグレード

リカバリ・カタログのアップグレードリカバリ・カタログのアップグレードリカバリ・カタログのアップグレードリカバリ・カタログのアップグレードアップグレードされたデータベースのリカバリ・カタログ・スキーマが、アップグレードしたデータベースとは別のデータベースに存在する場合があります。Recovery Manager実行可能ファイルをリリース 8.1へアップグレードした場合は、リカバリ・カタログもリリース8.1へアップグレードする必要があります。

また、単一のリカバリ・カタログによって管理される異なるリリースの複数のデータベースがある場合は、特定の Recovery Managerリリースとリカバリ・カタログ・リリース間での互換性の問題を考慮する必要があります。たとえば、Recovery Managerのリリース 8.1.3と8.1.4は、リリース 8.1.5以上のリカバリ・カタログにアクセスできません。したがって、この場合は、リリース 8.1.5以上へのリカバリ・カタログによって管理されるデータベースのすべてをアップグレードする必要があります。Recovery Managerとリカバリ・カタログの互換性の詳細は、9-40ページの「Recovery Manager」を参照してください。

リカバリ・カタログを手動でアップグレードするには、次の手順を実行します。

1. Recovery Managerにログインして、リカバリ・カタログに接続します。

たとえば、RCAT/RCATがリカバリ・カタログ所有者のユーザー名およびパスワードで、RECDBがネットワーク・サービス名の場合、次のように入力します。

rman rcvcat rcat/rcat@recdb

Recovery Managerのリリース 8.1を使用して古いリカバリ・カタログへ最初に接続するときは、メッセージ RMAN-06186が表示されます。これは、リカバリ・カタログをアップグレードする必要があることを表します。

7-44 Oracle8i 移行ガイド

Page 179: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

特定のコンポーネントのアップグレード

2. UPGRADE CATALOGコマンドを使用して、リカバリ・カタログを最新のリリースへアップグレードします。Recovery Managerによって、カタログ・アップグレードの確認のためにコマンドを 2回入力するように指示されます。アップグレード中にエラーが発生した場合は、Recovery Managerログ内に表示されます。

次に、リリース 8.0.4からリカバリ・カタログをアップグレードするセッションのログを示します。

Recovery Manager: Release 8.1.7.0.0

RMAN-06008: カタログ・データベースに接続されました。RMAN-06186: PL/SQLパッケージrcat.DBMS_RCVCATバージョン8.0.4(RCVCATデータベース内)は旧式です。

RMAN> upgrade catalog

RMAN-06435: リカバリ・カタログの所有者はrcatです。RMAN-06442: UPGRADE CATALOGコマンドを再入力して、カタログの更新を確認してください。

RMAN> upgrade catalog

RMAN-06408: リカバリ・カタログがバージョン8.1.7にアップグレードされました。

DBMS_STATSパッケージで作成された統計表のアップグレードパッケージで作成された統計表のアップグレードパッケージで作成された統計表のアップグレードパッケージで作成された統計表のアップグレードDBMS_STATS.CREATE_STAT_TABLEプロシージャを使用して統計表を作成した場合、次のプロシージャを実行してこれらの表をアップグレードします。

EXECUTE DBMS_STATS.UPGRADE_STAT_TABLE('scott', 'stat_table');

ここで、SCOTTは統計表の所有者で、STAT_TABLEは統計表の名前です。各統計表にこのプロシージャを実行します。

以前の Oracle8から新しい Oracle8iへのアップグレード 7-45

Page 180: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

現行リリースのワード・サイズの変更

無効な無効な無効な無効な PL/SQLモジュールの再コンパイルモジュールの再コンパイルモジュールの再コンパイルモジュールの再コンパイルutlrp.sqlスクリプトは、以前 INVALID状態であったすべての既存の PL/SQLモジュール(パッケージ、プロシージャ、型など)を再コンパイルします。これらの処理はオプションです。ただし、これらの処理を行うと、再コンパイルはインストール後ではなく、インストール中に発生します。

utlrp.sqlスクリプトを実行するには、次の手順を実行します。

1. システム・プロンプトで、ORACLE_HOME/rdbms/adminディレクトリへ移動します。

2. Server Managerを起動します。ほとんどのオペレーティング・システムでは、Oracle8iの Server Managerを起動するには、コマンド・プロンプトで svrmgrlを入力します。

3. INTERNALユーザーとしてデータベース・インスタンスに接続します。

4. utlrp.sqlを実行します。

SVRMGR> @utlrp.sql

オラクル社では、この utlrp.sqlオプションを実行することをお薦めします。

現行リリースのワード・サイズの変更現行リリースのワード・サイズの変更現行リリースのワード・サイズの変更現行リリースのワード・サイズの変更この項では、現行リリースのワード・サイズを変更する手順について説明します(32ビット・ソフトウェアから 64ビット・ソフトウェア、または 64ビット・ソフトウェアから 32ビット・ソフトウェア)。

現在のリリースのワード・サイズを変更するには、次の手順を実行します。

1. Server Managerを起動します。ほとんどのオペレーティング・システムでは、Oracle8iの Server Managerを起動するには、コマンド・プロンプトで svrmgrlを入力します。

2. INTERNALユーザーとしてデータベース・インスタンスに接続します。

3. データベース上で、SHUTDOWN IMMEDIATEを実行します。

SVRMGR> SHUTDOWN IMMEDIATE

参照参照参照参照 : ワード・サイズ変更の詳細は、1-12ページの「ワード・サイズの変更」を参照してください

注意注意注意注意 : Oracle Parallel Serverに対して、すべてのインスタンスにこの文を発行します。また、PARALLEL_SERVER初期化パラメータを FALSEに設定します。アップグレード処理が完了した後に、それを TRUEに戻すことができます。

7-46 Oracle8i 移行ガイド

Page 181: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

現行リリースのワード・サイズの変更

4. データベースのオフライン全体バックアップを実行します。

5. 現行リリースと切り替えるリリースに同じ Oracleホームを使用している場合、Oracle Installerを使用して現行リリースを削除します。異なる Oracleホーム・ディレクトリを使用している場合は、現行リリースを削除する必要はありません。

6. 現在 32ビット・インストールが存在する場合は、同じリリースの 64ビット・バージョンをインストールします。または、現在 64ビット・インストールが存在する場合は、同じリリースの 32ビット・バージョンをインストールします。

7. 構成ファイルを古い Oracleホーム以外の場所へコピーします。

a. 使用する初期化パラメータ・ファイルが古い環境の Oracleホーム内に常駐する場合、古い環境の Oracleホーム以外の場所へ移動またはコピーします。初期化パラメータ・ファイルはどの場所にも置くことができます。ただし、新しいリリースへの切替え後は、古い環境の Oracleホーム内に置くことができません。

b. 初期化パラメータ・ファイルが IFILE(インクルード・ファイル)エントリを含み、IFILE内に指定されたファイルが古い環境の Oracleホーム内に存在する場合、IFILEエントリで指定されているファイルを古い環境の Oracleホーム以外の場所へコピーします。IFILEエントリ内に指定されたファイルは、追加の初期化パラメータを持っています。このファイルをコピーしたら、初期化パラメータ・ファイルのIFILEエントリを編集して新しい場所を指定します。

参照参照参照参照 : 詳細は、『Oracle8iバックアップおよびリカバリ・ガイド』を参照してください。

注意注意注意注意 : インストールおよび削除は、オペレーティング・システム固有の作業です。インストールおよび削除の詳細は、オペレーティング・システム固有の Oracle8iのインストレーション・ガイドおよびオペレーティング・システムの Oracle8iの READMEファイルを参照してください。

以前の Oracle8から新しい Oracle8iへのアップグレード 7-47

Page 182: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

現行リリースのワード・サイズの変更

c. 古い Oracleホーム内に常駐するパスワード・ファイルがある場合、そのパスワード・ファイルを Oracle8i Oracleホームに移動またはコピーします。パスワード・ファイルの名前および位置は、オペレーティング・システムによって異なります。ほとんどの UNIXオペレーティング・システムでは、デフォルトのパスワード・ファイルは ORACLE_HOME/dbs/orapwsidです。Windowsプラットフォームでは、デフォルトのパスワード・ファイルはORACLE_HOME¥database¥pwdsid.oraです。UNIXおよびWindowsプラットフォームの両方で、sidは Oracleインスタンスの IDです。

8. システム・プロンプトで、ORACLE_HOME/rdbms/adminディレクトリへ移動します。

9. Server Managerを起動します。ほとんどのオペレーティング・システムでは、Oracle8iの Server Managerを起動するには、コマンド・プロンプトで svrmgrlを入力します。

10. INTERNALユーザーとしてデータベース・インスタンスに接続します。

11. STARTUP RESTRICTを実行します。

SVRMGR> STARTUP RESTRICT

PFILEオプションを使用して、初期化パラメータ・ファイルの場所を指定する必要がある場合があります。

12. 成功したかどうかを後で確認するために、結果をログ・ファイルにスプールするようにシステムを設定します。

SVRMGR> SPOOL catoutw.log

実行するスクリプトを参照する場合は、SET ECHO ON文も発行できます。

SVRMGR> SET ECHO ON

注意注意注意注意 : Oracle Parallel Serverに対して、すべてのノードでこの手順を実行します。また、ご使用の initdb_name.oraファイルが古い環境のOracleホーム内に存在する場合、initdb_name.oraファイルを古い環境の Oracleホーム以外の場所へ移動またはコピーします。

7-48 Oracle8i 移行ガイド

Page 183: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

現行リリースのワード・サイズの変更

13. utlirp.sqlを実行します。

SVRMGR> @utlirp.sql

utlirp.sqlスクリプトは新しいデータベースが必要な形式で既存の PL/SQLモジュールを再コンパイルします。このスクリプトは、最初に特定のディクショナリ表を変更します。次に、パッケージ STANDARDと DBMS_STANDARDを再ロードします。これは、PL/SQLを使用するために必要です。最後に、パッケージ、プロシージャ、型などのすべての PL/SQLモジュールの再コンパイルをトリガーします。

14. スクリプト結果のログ・ファイルへのスプーリングをオフにします。

SVRMGR> SPOOL OFF

次に、スプール・ファイルを確認して、すべてのパッケージおよびプロシージャのコンパイルが成功したかどうかを検証します。手順 10でスプール・ファイルに名前を付けましたが、その名前は catoutw.logでした。このファイルに問題を見つけた場合、それを解決します。

SET ECHO ONを指定した場合は、ここで SET ECHO OFFを行うことができます。

SVRMGR> SET ECHO OFF

15. ALTER SYSTEM DISABLE RESTRICTED SESSIONを実行します。

SVRMGR> ALTER SYSTEM DISABLE RESTRICTED SESSION

これで、ご使用のデータベースのワード・サイズが変更されました。データベースをオープンして通常どおり使用できます。

以前の Oracle8から新しい Oracle8iへのアップグレード 7-49

Page 184: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

現行リリースのワード・サイズの変更

7-50 Oracle8i 移行ガイド

Page 185: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

データベースの移行

8

データベースの移行後またはデータベースの移行後またはデータベースの移行後またはデータベースの移行後または

アップグレード後の作業アップグレード後の作業アップグレード後の作業アップグレード後の作業

この章では、データベースの移行またはアップグレード後に行う手順について説明します。データベースを移行した場合は、使用した方法(移行ユーティリティ、Oracle Data Migration Assistant、エクスポート /インポート、データのコピーなど)に関係なく、これらの作業を行ってください。同様に、データベースをアップグレードした場合も、使用した方法(Oracle Data Migration Assistant、手動アップグレードなど)に関係なく、これらの作業を行ってください。

この章では、次の項目について説明します。

� データベースの移行またはアップグレード後に行う作業

� データベースの移行後のみ行う作業

� データベースのアップグレード後のみ行う作業

後またはアップグレード後の作業 8-1

Page 186: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

データベースの移行またはアップグレード後に行う作業

データベースの移行またはアップグレード後に行う作業データベースの移行またはアップグレード後に行う作業データベースの移行またはアップグレード後に行う作業データベースの移行またはアップグレード後に行う作業データベースを移行またはアップグレードした後に、次の作業を行います。

データベースのバックアップデータベースのバックアップデータベースのバックアップデータベースのバックアップ本番データベースの完全なバックアップを、必ず作成してください。このバックアップは、データ・ファイル、制御ファイル、オンライン REDOログ・ファイル、パラメータ・ファイル、新しいデータベース内のオブジェクトを作成するための SQLスクリプトなどのすべてを含む完全なバックアップである必要があります。ホット・バックアップは完全なリカバリ能力を提供できないため、完全なバックアップを作成するには全データベース・エクスポートまたはコールド・バックアップが必要です。後続の手順で、データベースに悪い影響が出るような場合は、必要に応じて、このバックアップを使用して、この時点まで戻すことができます。

OUTLNユーザーのパスワードの変更ユーザーのパスワードの変更ユーザーのパスワードの変更ユーザーのパスワードの変更OUTLNユーザーは Oracle8iのインストール中に自動的に作成されます。このユーザーにはDBA権限が付与されています。ALTER USER文を使用して、このユーザーのパスワードを変更します。Oracle8iは、OUTLNユーザー・スキーマを追加して、プラン・スタビリティをサポートします。OUTLNユーザーは、ストアド・アウトラインに関連付けられたメタデータを中枢的に管理する場所として機能します。

LONGからからからから LOBへのコピーへのコピーへのコピーへのコピーLOBデータ型(BFILE、BLOB、CLOBおよびNCLOB)は LONGデータ型よりも多くの長所があります。LOBデータ型と LONGデータ型の違いの詳細は、『Oracle8i概要』を参照してください。

リリース 8.1では、新しい SQL関数 TO_LOBは、表の LONG列から LOB列へデータをコピーします。コピーを正常に行うには、LONGデータ型および LOBデータ型は同じである必要があります。たとえば、LONG RAWデータは BLOBデータに、LONGデータは CLOBデータにコピーされる必要があります。

参照参照参照参照 : データベースのバックアップの詳細は、『Oracle8iバックアップおよびリカバリ・ガイド』を参照してください。

注意注意注意注意 : 移行ユーティリティを使用すると、ソース・データベースが変換されます。したがって、移行後は 4-27ページの「Oracle7のソース・データベースの保存」で作成したバックアップ以外は、ソース・データベースがなくなります。このバックアップは、新規に移行したデータベースをリカバリするための最初の Oracle8iのバックアップとしても使用できます。

8-2 Oracle8i 移行ガイド

Page 187: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

データベースの移行またはアップグレード後に行う作業

次のプロシージャの例では、LONG_TAB表の LONG_COLという LONG列が、LOB_TAB表の LOB_COLという LOB列にコピーされます。これらの表には、表の各行の識別番号を持つ ID列があります。

LONG列から LOB列にデータをコピーするには、次の手順を実行してください。

1. LONG列を含む表と同じ定義を持つ新規の表を作成します。ただし、LONGデータ型のかわりに LOBデータ型を使用します。

たとえば、次の定義の表があるとします。

CREATE TABLE long_tab ( id NUMBER, long_col LONG);

次の SQL文を使用して新規の表を作成します。

CREATE TABLE lob_tab ( id NUMBER, clob_col CLOB);

2. TO_LOB関数を使用して INSERT文を発行し、LONGデータ型のある表から LOBデータ型のある表にデータを挿入します。

たとえば、次の SQL文を発行します。

INSERT INTO lob_tab SELECT id, TO_LOB(long_col) FROM long_tab;

3. コピーが正常に行われたことを確認し、LONG列の表を削除します。

たとえば、次の SQL文を発行して、LONG_TAB表を削除します。

DROP TABLE long_tab;

注意注意注意注意 : 新規の表を作成するときに、整合性制約、トリガー、権限付与、索引など、表のスキーマを保存してください。TO_LOB関数はデータをコピーするのみで、表のスキーマは保存しません。

データベースの移行後またはアップグレード後の作業 8-3

Page 188: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

データベースの移行またはアップグレード後に行う作業

4. LONGデータがある表の名前を使用して、新規の表のシノニムを作成します。そのシノニムによって、使用しているデータベースおよびアプリケーションが適切に機能していることを確認できます。

たとえば、次の SQL文を発行します。

CREATE SYNONYM long_tab FOR lob_tab;

コピーが完了したら、LOBデータを使用するために、表を使用するすべてのアプリケーションを変更する必要があります。

無効な日付制約のチェック無効な日付制約のチェック無効な日付制約のチェック無効な日付制約のチェック無効な日付制約は、無効な日付操作を含みます。無効な日付操作は、日付の中の世紀を暗黙的に想定するものであり、西暦 2000年問題が発生します。utlconst.sqlスクリプトは、データベース内のすべてのチェック制約で実行されるもので、無効な日付操作を組み込んでいる制約を無効とマークします。このスクリプトは、最後にすべての無効な制約を選択します。Oracle7では、年号桁が 2桁の日付定数を持つ制約を作成できます。ただし、Oracleリリース 8.0およびリリース 8.1では、チェック制約の日付定数に 4桁の年号がない場合、エラーを戻します。

utlconst.sqlスクリプトを実行するには、次の手順を実行します。

1. システム・プロンプトで、ORACLE_HOME/rdbms/adminディレクトリへ移動します。

2. Server Managerを起動します。ほとんどのオペレーティング・システムでは、Oracle8iの Server Managerを起動するには、コマンド・プロンプトで svrmgrlを入力します。

3. データベース・インスタンスに接続します。

SVRMGR> CONNECT INTERNAL

4. 次のように入力します。

SVRMGR> SPOOL utlresult.logSVRMGR> @utlconst.sqlSVRMGR> SPOOL OFF

スクリプトを実行した後、utlresult.logログ・ファイルには、無効な日付制約を持つすべての制約が入っています。

参照参照参照参照 : LOBデータを使用するためのアプリケーション変更の詳細は、『Oracle8iアプリケーション開発者ガイド ラージ・オブジェクト』を参照してください。

注意注意注意注意 : utlconst.sqlスクリプトは無効な制約を訂正せずに、使用禁止にします。必要な変更を加えた後に、無効な制約を削除または再作成する必要があります。

8-4 Oracle8i 移行ガイド

Page 189: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

データベースの移行またはアップグレード後に行う作業

パラレル実行での問題の回避パラレル実行での問題の回避パラレル実行での問題の回避パラレル実行での問題の回避リリース 8.1以降では、パラレル実行のメッセージ・バッファはラージ・プールから割り当てられます。以前のリリースでは、共有プールから割り当てられていました。この変更の結果として発生する問題を避けるために、初期化パラメータ・ファイルの次のパラメータを調整する必要があります。

� SHARED_POOL_SIZE

� LARGE_POOL_SIZE

ODCI.jarおよびおよびおよびおよび CartridgeServices.jarファイルのインストールファイルのインストールファイルのインストールファイルのインストールJavaオプションをインストールしている場合は、ODCI.jarおよびCartridgeServices.jarファイルをインストールする必要があります。Javaオプションをインストールしていない場合は、この作業は必要ありません。

ODCI.jarおよび CartridgeServices.jarファイルをインストールするには、コマンドラインから次のコマンドを実行します。

loadjava -user sys/PASSWORD -resolve -synonym -grant public-verbose ORACLE_HOME/rdbms/jlib/ODCI.jar

loadjava -user sys/PASSWORD -resolve -synonym -grant public -verbose ORACLE_HOME/rdbms/jlib/CartridgeServices.jar

PASSWORDには SYSパスワード、ORACLE_HOMEには Oracleホーム・ディレクトリを入力してください。これらのコマンドによって、SYSスキーマにクラスがインストールされ、シノニムが作成されます。

参照参照参照参照 : これらのパラメータの調整の詳細は、B-11ページの「ラージ・プールから割り当てられたパラレル実行」を参照してください。

参照参照参照参照 : これらのクラスおよびシノニムは、SYSスキーマの下に作成される必要があります。

データベースの移行後またはアップグレード後の作業 8-5

Page 190: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

データベースの移行またはアップグレード後に行う作業

listener.oraファイルの変更ファイルの変更ファイルの変更ファイルの変更次のいずれかに該当する場合のみ、listener.oraファイルを変更する必要があります。

� Oracle Data Migration Assistantを使用しないで、データベースを移行またはアップグレードした場合。

� データベースの移行またはアップグレードに Oracle Data Migration Assistantを使用したが、listener.oraファイルが自動的に更新されるように選択しなかった場合。

これらのいずれにも該当しない場合は、この項は省略してください。これらのいずれかに該当する場合は、listener.oraファイルを変更する必要があります。

スタンバイ・データベースのスタンバイ・データベースのスタンバイ・データベースのスタンバイ・データベースの Oracleリリースリリースリリースリリース 8.1への移行またはアップグへの移行またはアップグへの移行またはアップグへの移行またはアップグレードレードレードレード

スタンバイ・データベースを使用している場合、プライマリ・データベースおよびスタンバイ・データベースは Oracleの同じメンテナンス・リリースを実行する必要があり、COMPATIBLE初期化パラメータの設定が同じである必要があります。

たとえば、初期化パラメータ COMPATIBLEを 8.1.0に設定してプライマリ・データベースがリリース 8.1.7を実行している場合、スタンバイ・データベースは COMPATIBLEを 8.1.0に設定していれば、リリース 8.1.5、8.1.6または 8.1.7などのリリース 8.1の製品をすべて実行できます。ただし、この場合、スタンバイ・データベースは Oracle7またはリリース 8.0を実行できません。また、スタンバイ・データベースに対して、COMPATIBLEに 8.1.0以外の値を設定できません。

スタンバイ・データベースを Oracle7からリリース 8.1に移行、またはスタンバイ・データベースをリリース 8.0からリリース 8.1にアップグレードするには、次の手順を実行します。

1. Oracle7またはリリース 8.0で作成された REDOログをすべて、スタンバイ・データベースに適用します。

2. プライマリ・データベースが Oracle8iで正常にオープンすることを確認します。

参照参照参照参照 : listener.oraファイルの変更については、F-13ページの「listener.ora」を参照してください。

8-6 Oracle8i 移行ガイド

Page 191: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

データベースの移行またはアップグレード後に行う作業

3. リリース 8.1の Oracleソフトウェアを、スタンバイ・データベースを実行しているコンピュータにインストールします。

� Oracleの古いリリースとは異なる Oracleホーム・ディレクトリに、新しい Oracleソフトウェアをインストールします。

� Oracle Universal Installerの「Installation Types」画面で、「Custom」を選択します。Oracleソフトウェアと一緒に初期データベースをインストールする場合を除いては、「Typical」を選択しないでください。「Custom」を選択すると、初期データベースのインストールを回避できます。

� Oracle Universal Installerの「Upgrading or Migrating an Existing Database」画面で、「Upgrade or Migrate an Existing Database」ボックスをチェックしないでください。

� Oracle Universal Installerが、初期データベースを作成するかどうかを尋ねてきた場合、初期データベースを作成しないように選択します。

4. Oracle7から移行した場合は、次の手順を実行してください。リリース 8.0からアップグレードした場合は、これらの手順は必要ありません。

a. プライマリ・データベースの制御ファイルの変更ファイルを作成する ALTER DATABASE CREATE STANDBY CONTROLFILE AS file_nameコマンドを発行して、スタンバイ・データベースの制御ファイルを作成します。

b. 手順 4で作成した制御ファイルをスタンバイ・データベース・サイトに転送します。

c. オペレーティング・システムを使用して、プライマリ・データベースの初期データ・ファイルのコピーを作成します。初期データ・ファイルがわからない場合、次の SQL文を使用して参照します。

SELECT file_name, file_id FROM dba_data_files WHERE file_id = 1;

d. 手順 cで作成した初期データ・ファイルのコピーを、プライマリ・データベースからスタンバイ・データベースへ転送します。

e. スタンバイ・データベースのコンピュータにある古い Oracleソフトウェアを削除します(オプション)。

参照参照参照参照 : Oracleのインストールに関する詳細は、ご使用のオペレーティング・システム固有の Oracleインストレーション・ガイドを参照してください。

参照参照参照参照 : スタンバイ・データベースの詳細は、『Oracle8i スタンバイ・データベース 概要および管理』 を参照してください。

データベースの移行後またはアップグレード後の作業 8-7

Page 192: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

データベースの移行またはアップグレード後に行う作業

新機能の適宜追加新機能の適宜追加新機能の適宜追加新機能の適宜追加どの新機能がデータベースおよびアプリケーションに有効かを判断して、これらの機能を使用する計画を立ててください。

Oracle8iのデータベースを使用するためにすぐに変更する必要はありません。データベースおよびそれに対応するアプリケーションに、これらの拡張機能を徐々に取り入れることもできます。

第 10章「アプリケーションのアップグレード」では、Oracle8iの新機能を利用するためにアプリケーションを拡張する方法について説明します。ただし、Oracle8iの新機能を実装する前にアプリケーションをテストし、移行またはアップグレードしたデータベース上でそれらを正常に動作させる必要があります。

必要な新しい管理手順の作成必要な新しい管理手順の作成必要な新しい管理手順の作成必要な新しい管理手順の作成Oracle8iの機能に慣れてきたら、データベース管理用のスクリプトおよび手順を見直し、変更が必要かどうかを判断します。

それぞれのアプリケーションに必要な変更を、データベースにも行う必要があります。たとえば、データベースで整合性制約を使用可能にした場合、アプリケーションでのこのデータ整合機能のいくつかを取り除けます。

新しいリリース用の初期化パラメータ・ファイルの調整新しいリリース用の初期化パラメータ・ファイルの調整新しいリリース用の初期化パラメータ・ファイルの調整新しいリリース用の初期化パラメータ・ファイルの調整Oracleの新しいリリースごとに新しい初期化パラメータが導入され、いくつかのパラメータが変更または廃止されます。ご使用のシステムに有効な新しい初期化パラメータを使用するために、これらの変更に対して初期化パラメータ・ファイルを調整する必要があります。

COMPATIBLE初期化パラメータは、ご使用のデータベースの互換レベルを制御します。アップグレードしたデータベースの互換レベルに基づいて、COMPATIBLE初期化パラメータを初期化パラメータ・ファイルに設定します。

参照参照参照参照 : リリース 8.1の新しい初期化パラメータ、変更された初期化パラメータおよび廃止された初期化パラメータのリストは、付録 B「初期化パラメータの変更」を参照してください。パラメータごとの詳細は、『Oracle8iリファレンス・マニュアル』を参照してください。

参照参照参照参照 : 詳細は、9-6ページの「COMPATIBLE初期化パラメータの設定」を参照してください。

8-8 Oracle8i 移行ガイド

Page 193: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

データベースの移行またはアップグレード後に行う作業

Windowsプラットフォームでのファイル名の正規化プラットフォームでのファイル名の正規化プラットフォームでのファイル名の正規化プラットフォームでのファイル名の正規化OracleをWindowsプラットフォームで実行している場合のみ、ファイル名の正規化が必要です。UNIXオペレーティング・システムでは、これらの手順を実行する必要はありません。

制御ファイルおよびリカバリ・カタログは、データベースが必要とする次のようなファイルにアクセスするためにファイル名を格納しています。

� データ・ファイル

� 制御ファイル

� Oracleが使用するオンラインおよびアーカイブ REDOログ

� Recovery Managerが使用するデータ・ファイルのコピーおよびディスク上のバックアップ・ピース

Windowsプラットフォームのリリース 8.1.6より前のリリースでは、ファイル名の正規化メカニズムの欠陥によって、異なる 2つのファイル名が同じ物理ファイルを参照することができました。このため、たとえば、Oracleはファイルのフルパス名を制御ファイルに記録しない場合があります。つまり、Oracleは、c:¥oracle¥oradata¥dbfile1.dbfではなくdbfile1.dbfのみを記録する場合があります。この場合、c:¥oracle¥oradata¥dbfile1.dbfを変更する後続の文で、Oracleはこのファイルをdbfile1.dbfとは異なるファイルであると認識します。

同様にこの動作によって、既存のファイルを参照する SQL文および Recovery Managerのコマンドは入力されたとおりに指定されるか、または認識されません。既存のファイルを参照する SQL文の例は、ALTER DATABASE RENAME FILE文です。

リリース 8.1.6以降では、このファイル名の正規化メカニズムの欠陥が修正されています。ただし、制御ファイルおよびリカバリ・カタログの既存のファイル名は、新しいファイル名の正規化メカニズムで正規化する必要があります。

これらのファイル名を正規化するには、次の手順を行います。

1. SQL*Plusを使用して、SYSDBAとしてデータベースに接続します。

SQL> connect sys/password as sysdba

2. SHUTDOWN NORMALまたは SHUTDOWN IMMEDIATEを使用して、データベースを停止します。

SQL> SHUTDOWN IMMEDIATE;

注意注意注意注意 : リリース 8.1.6より前の Oracleリリースでは、次の手順は行わないでください。

データベースの移行後またはアップグレード後の作業 8-9

Page 194: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

データベースの移行またはアップグレード後に行う作業

3. 制御ファイルのオペレーティング・システム・バックアップを作成します。

4. STARTUP MOUNTを実行して、データベースをオープンせずにマウントします。

SQL> STARTUP MOUNT

5. DBMS_BACKUP_RESTORE.RENORMALIZEALLFILENAMESプロシージャを実行して、制御ファイルのファイル名を正規化します。

SQL> EXECUTE DBMS_BACKUP_RESTORE.RENORMALIZEALLFILENAMES;

6. DBMS_BACKUP_RESTORE.RENORMALIZEALLFILENAMESプロシージャが正常に終了したら、データベースをオープンします。

SQL> ALTER DATABASE OPEN;

7. SQL*Plusを終了します。

8. Recovery Managerにログインして、ターゲット・データベースおよびリカバリ・カタログに接続します。

たとえば、ターゲット・データベースのネットワーク・サービス名が TGT_DBで、リカバリ・カタログ・データベースのネットワーク・サービス名が CAT_DBの場合、適切なスキーマ名およびパスワードで次のように入力します。

rman target sys/password@tgt_db catalog rcat_schema/rcat_password@cat_db

9. renormalize catalogコマンドを発行して、このターゲット・データベースのリカバリ・カタログのファイル名を正規化します。

RMAN> renormalize catalog;

参照参照参照参照 : オペレーティング・システム・バックアップの詳細は、『Oracle8iバックアップおよびリカバリ・ガイド』を参照してください。

注意注意注意注意 : renormalize catalogコマンドは Recovery Manager構文の一部ではないため、『Oracle8i Recovery Manager ユーザーズ・ガイドおよびリファレンス』には記述されていません。このコマンドは、Windowsプラットフォームのリリース 8.1.6より前のリリースから移行またはアップグレードされたデータベースのみで使用されるものです。

8-10 Oracle8i 移行ガイド

Page 195: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

データベースの移行またはアップグレード後に行う作業

10. このリカバリ・カタログに登録されたリリース 8.1.6以降の各ターゲット・データベースで、手順 8および 9を繰り返します。

これで、ファイル名が正規化されました。

注意注意注意注意 : 前述のファイル名を正規化する手順を行う前に作成したバックアップから Point-in-Timeリカバリのために制御ファイルをリストアする必要がある場合は、最初にバックアップ制御ファイルをリストアし、次に手順 1~ 7を実行し、最後にリカバリを実行します。

データベースの移行後またはアップグレード後の作業 8-11

Page 196: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

データベースの移行後のみ行う作業

データベースの移行後のみ行う作業データベースの移行後のみ行う作業データベースの移行後のみ行う作業データベースの移行後のみ行う作業次の作業は、データベースをバージョン 7またはバージョン 6から移行した場合のみ行います。データベースをリリース 8.0またはリリース 8.1からアップグレードした場合は、これらの作業は必要ありません。

使用不可となったビットマップ索引の再構築使用不可となったビットマップ索引の再構築使用不可となったビットマップ索引の再構築使用不可となったビットマップ索引の再構築移行中に、一部のビットマップ索引が使用不可になることがあります。これらの索引を検索するには、次の SQL文を発行します。

SELECT index_name, index_type, table_owner, status FROM dba_indexes WHERE index_type = 'BITMAP' AND status = 'UNUSABLE';

リストされた使用不可のビットマップ索引を再構築します。

パーティション・ビューからパーティション表への移行パーティション・ビューからパーティション表への移行パーティション・ビューからパーティション表への移行パーティション・ビューからパーティション表への移行Oracle8iの新しいアプリケーションで、パーティション・ビューの使用はお薦めしません。また、既存のパーティション・ビューはパーティション表へ変換する必要があります。ALTER TABLE文の EXCHANGE PARTITIONオプションを使用して、Oracle7データベース用に作成されたパーティション・ビューをパーティション表へ変換できます。

参照参照参照参照 : ビットマップ索引の使用方法の詳細は、『Oracle8iパフォーマンスのための設計およびチューニング』および『Oracle8i概要』を参照してください。

参照参照参照参照 : パーティション・ビューのパーティション表への変換方法の詳細は、『Oracle8i管理者ガイド』を参照してください。パーティション・ビューおよびパーティション表のバックグランド情報は、『Oracle8i概要』を参照してください。

8-12 Oracle8i 移行ガイド

Page 197: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

データベースの移行後のみ行う作業

Net8の新しいリリースへの移行またはアップグレード(オプション)の新しいリリースへの移行またはアップグレード(オプション)の新しいリリースへの移行またはアップグレード(オプション)の新しいリリースへの移行またはアップグレード(オプション)Net8の新しいリリースへの移行またはアップグレードは必須ではありません。ただし、Net8には SQL*Net V2に比べて非常に便利で、簡素化された構成および拡張された機能があります。また、Net8の新しいリリースは、次の点で以前のリリースの Net8および SQL*Netよりも優れています。

� サービス・ネーミングサービス・ネーミングサービス・ネーミングサービス・ネーミングによって、クライアントは特定のデータベースのインスタンスではなく、サービス名を使用して、全体としてサービスにアクセスできます。サービス・ネーミングはサービス名を論理的に特定なインスタンス名と区別し、SIDパラメータを交換して、1つのインスタンスが複数のサービスで利用できるようにします。個々のインスタンスも複数のサービスの一部になることができます。

� インスタンス登録インスタンス登録インスタンス登録インスタンス登録は、自動で行われます。インスタンスは開始されるときそれ自体をリスナーに登録します。以前のリリースでは、インスタンスの情報は手動でlistener.oraファイルに設定されていました。

� フェイルオーバーフェイルオーバーフェイルオーバーフェイルオーバーは、自動で行われます。インスタンスが停止した場合は、クライアント接続要求は自動的に別のリスナーへ送信されます。

� ロード・バランスによって、リスナーへ接続を分散します。

データベースのテストと結果の比較データベースのテストと結果の比較データベースのテストと結果の比較データベースのテストと結果の比較3-21ページの「テスト計画の作成」で作成したテスト計画を使用して、Oracle8iのデータベースをテストします。テスト結果を元のデータベースで得られたテスト結果と比較し、同じ結果が得られているかまたは改善しているかを確認します。

一般的に、移行した Oracle8iのデータベースでのパフォーマンスは、ソース・データベースでのパフォーマンスより向上します。Oracle8iでデータベースのパフォーマンス低下が見られる場合は、初期化パラメータが正しく設定されているかを確認してください。初期化パラメータが不正に設定されていると、パフォーマンスに影響することがあります。

参照参照参照参照 : Net8のメリットの詳細は、『Oracle8i Net8 管理者ガイド』を参照してください。Net8の新しいリリースへの移行またはアップグレード方法の詳細は、付録 F「移行およびアップグレードに関する SQL*NetおよびNet8の考慮点」を参照してください。

データベースの移行後またはアップグレード後の作業 8-13

Page 198: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

データベースのアップグレード後のみ行う作業

移行されたデータベースのチューニング移行されたデータベースのチューニング移行されたデータベースのチューニング移行されたデータベースのチューニング移行したデータベースのパフォーマンスを改善するには、データベースをチューニングします。Oracle7のデータベースおよび関連アプリケーションのチューニングで行った処理のほとんどは、Oracle8iのデータベースにも効果があるか、または必要ありません。したがって、ソース・データベースおよびアプリケーションをチューニングするために行った処理が原因で、移行した Oracle8iのデータベースのパフォーマンスが低下することはありません。

データベースのアップグレード後のみ行う作業データベースのアップグレード後のみ行う作業データベースのアップグレード後のみ行う作業データベースのアップグレード後のみ行う作業データベースをリリース 8.0またはリリース 8.1からアップグレードした場合のみ、次の作業を行います。バージョン 7またはバージョン 6からデータベースを移行した場合は、この作業は必要ありません。

使用禁止のファンクション索引の再構築使用禁止のファンクション索引の再構築使用禁止のファンクション索引の再構築使用禁止のファンクション索引の再構築アップグレード中に、一部のファンクション索引が使用禁止になることがあります。これらの索引を検索するには、次の SQL文を発行します。

SELECT owner, index_name, funcidx_status FROM dba_indexes WHERE funcidx_status = 'DISABLED';

リストされた使用禁止のファンクション索引を再構築します。

参照参照参照参照 : チューニングの詳細は、『Oracle8iパフォーマンスのための設計およびチューニング』を参照してください。

8-14 Oracle8i 移行ガイド

Page 199: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運

9

互換性および相互運用性互換性および相互運用性互換性および相互運用性互換性および相互運用性

この章では、Oracleの異なるリリース間で発生する可能性のある互換性の問題、および相互運用性の問題について説明します。これらの違いは、一般的なデータベース管理および既存のアプリケーションに影響する可能性があります。

この章では、次の項目について説明します。

� 互換性の概要

� 8.1.0以上の互換性レベルを必要とする機能

� 相互運用性の概要

� 互換性および相互運用性の問題

用性 9-1

Page 200: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性の概要

互換性の概要互換性の概要互換性の概要互換性の概要Oracleの新しいリリースにアップグレードする場合、特定の新機能によって、以前のリリースとの互換性がなくなることがあります。次の機能については、アップグレードした Oracleデータベースは以前のリリースと互換性がなくなります。

� 以前のリリースでは処理できないデータ形式をディスクに格納する新機能(データ・ディクショナリの変更を含む)。

� 以前のリリースと新しいリリースを比較すると、異なる動作をする既存の機能。この種の非互換性は言語的非互換性として分類されます。

COMPATIBLE初期化パラメータ初期化パラメータ初期化パラメータ初期化パラメータOracleでは、COMPATIBLE初期化パラメータを使用して、データベースの互換性を制御できます。COMPATIBLE初期化パラメータが初期化パラメータ・ファイルに設定されない場合、最も低いリリース値(リリース 8.0および 8.1では 8.0.0)をデフォルトで設定します。COMPATIBLE初期化パラメータをより高い値にリセットしない限り、ご使用のデータベースがリリース 8.0.0との互換性に問題を起こすような新機能は使用できません。

このデフォルトの動作には、次のようなメリットがあります。

� デフォルトによって前回のリリースとの互換性が維持されるため、ダウングレードしやすくなります。

� 複数のデータベースを使用する環境で操作する場合、アップグレードされたデータベースは、アップグレードされていないデータベースとの互換性を保ちます。

ただし、デフォルト設定では、COMPATIBLE初期化パラメータを設定しない場合、新しいリリースの機能の多くが使用できません。

Oracle8iのリリース 8.1のインストール中にインストールする製品によって、Oracle Universal Installerは COMPATIBLE初期化パラメータをより高い値(8.1.0など)に設定することがあります。現行の COMPATIBLE初期化パラメータの設定に確信がない場合、初期化パラメータ・ファイルを確認してください。

参照参照参照参照 : 新しいリリースの前述のような機能の詳細は、9-9ページの「8.1.0以上の互換性レベルを必要とする機能」を参照してください。

9-2 Oracle8i 移行ガイド

Page 201: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性の概要

図 9-1に、Oracleのリリース 8.0およびリリース 8.1のデフォルト設定およびその他の可能な設定を示します。

図図図図 9-1 COMPATIBLE初期化パラメータ初期化パラメータ初期化パラメータ初期化パラメータ

COMPATIBLE初期化パラメータの動作初期化パラメータの動作初期化パラメータの動作初期化パラメータの動作COMPATIBLE初期化パラメータは、次のように動作します。

� Oracleデータベースの動作を制御します。たとえば、COMPATIBLE初期化パラメータを 8.0.0に設定したリリース 8.1データベースを実行する場合、リリース 8.1のデータベースはリリース 8.0と互換性のあるデータベース構造をディスクに生成します。つまり、COMPATIBLEの設定によって、新機能を使用可能または使用禁止にできます。データベースと COMPATIBLE初期化パラメータに設定されたリリースとの間の互換性を損う新機能を使用しようとすると、エラーが戻ります。ただし、互換性を損う変更をディスクに行わない新機能はすべて使用できます。

リリース�8.0

8.0.xにのみ�設定可能�

リリース8.1

8.1.yまたは8.0.xに設定可能�

デフォルトは 8.0.0 デフォルトは 8.0.0

最小設定値:�8.0.0

最小設定値:�8.0.0

最大設定値:�ご使用の現行リリース�

最大設定値:�ご使用の現行リリース�

設定不可能な値:�・Oracle7以前のリリース�・現行リリース以降の�リリース(8.1.0以上を�含む)�

設定不可能な値:�・Oracle7以前のリリース�・現行リリース以降の�リリース(8.2.0以上を�含む)�

互換性および相互運用性 9-3

Page 202: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性の概要

� データベースが、そのデータベースの COMPATIBLEの設定と互換性があることを確認します。データベースがその設定と互換性がない場合、データベースは起動せず、エラーを戻して終了します。この場合、初期化パラメータ・ファイルにあるCOMPATIBLE初期化パラメータを、データベースに対する適切な値に設定する必要があります。

図図図図 9-2 COMPATIBLE設定によるデータベース構造設定によるデータベース構造設定によるデータベース構造設定によるデータベース構造

参照参照参照参照 : データベース構造の詳細は、『Oracle8i概要』を参照してください。

リリース�8.1

8.0 COMPATIBLE設定�

リリース�8.1

8.1 COMPATIBLE設定�

8.0データベース構造�

8.1データベース構造�

9-4 Oracle8i 移行ガイド

Page 203: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性の概要

ダウングレードおよび互換性ダウングレードおよび互換性ダウングレードおよび互換性ダウングレードおよび互換性新しいリリースへアップグレードまたは移行すると、COMPATIBLE初期化パラメータを新しいリリースと一致するように設定できます。これによって、新しいリリースのすべての機能を使用できますが、前回のリリースにダウングレードすることがより難しくなることがあります。ダウングレードする場合、ダウングレード先のリリースとの非互換性をすべて削除する必要があります。その処理には時間と手間がかかります。

互換性のレベル互換性のレベル互換性のレベル互換性のレベルご使用のデータベースの互換性レベルは、COMPATIBLE初期化パラメータの設定に従います。たとえば、COMPATIBLE初期化パラメータを 8.1.7に設定すると、データベースは8.1.7の互換性レベルで実行されます。

現行の現行の現行の現行の COMPATIBLE初期化パラメータ設定の確認初期化パラメータ設定の確認初期化パラメータ設定の確認初期化パラメータ設定の確認現行の COMPATIBLE初期化パラメータの設定を確認するには、次の SQL文を発行します。

SELECT name, value, description FROM v$parameter WHERE name='compatible';

特定の機能の互換性レベルの確認特定の機能の互換性レベルの確認特定の機能の互換性レベルの確認特定の機能の互換性レベルの確認特定の機能の互換性レベルを確認するには、次の SQL文を発行します。

SELECT * FROM v$compatibility;

互換性レベルが 0.0.0.0.0の機能は現在使用されていません。

COMPATIBLE初期化パラメータ設定のタイミング初期化パラメータ設定のタイミング初期化パラメータ設定のタイミング初期化パラメータ設定のタイミングCOMPATIBLE初期化パラメータは、移行、アップグレードまたはダウングレード処理の特定の時点で設定する必要があります。適切な章の手順に従い、設定を指示された場合のみ、COMPATIBLE初期化パラメータを設定してください。

参照参照参照参照 : ダウングレードの詳細は、第 13章「古いリリース 8.0およびリリース 8.1への ダウングレード」を参照してください。

互換性および相互運用性 9-5

Page 204: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性の概要

COMPATIBLE初期化パラメータの設定初期化パラメータの設定初期化パラメータの設定初期化パラメータの設定COMPATIBLE初期化パラメータを設定するには、次の手順を実行します。

1. COMPATIBLE初期化パラメータを設定する前に、データベースのバックアップを取ります(オプション)。

COMPATIBLE初期化パラメータの設定によって、データベースと Oracleの以前のリリースとの間の互換性が損われることがあります。バックアップを取っておくと、必要に応じて以前のリリースに戻すことができます。

2. COMPATIBLE初期化パラメータを低い値に変更する場合、データベースがその設定と互換性があることを確認します。COMPATIBLE初期化パラメータを高い値に変更する場合、手順 4へ進みます。

COMPATIBLE初期化パラメータを低くして 8.0.xに設定する場合、13-2ページの「非互換性の削除」を参照して、リリース 8.0との非互換性の削除に関するサブセクションにある指示に従ってください。

また、データベースを 8.1.0以上の互換性レベルで作成した場合、Oracleは、リリース8.0と互換性のない特定のシステム定義型を作成します。これらの非互換性を削除するには、リリース 8.1に付属する utldst.sqlスクリプトを実行します。

@utldst.sql

注意注意注意注意 : 移行、アップグレードまたはダウングレード処理が完了した後は、必要に応じて COMPATIBLE初期化パラメータを設定できます。

参照参照参照参照 : バックアップの詳細は、『Oracle8iバックアップおよびリカバリ・ガイド』を参照してください。

9-6 Oracle8i 移行ガイド

Page 205: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性の概要

3. COMPATIBLE初期化パラメータを低い値に変更する場合、ALTER DATABASE RESET COMPATIBILITYを実行します。

ALTER DATABASE RESET COMPATIBILITY;

COMPATIBLE初期化パラメータを高い値に変更する場合、手順 4へ進みます。

4. データベースを停止します。

SHUTDOWN IMMEDIATE

5. 初期化パラメータ・ファイルを編集して、COMPATIBLE設定を入力または変更します。

たとえば、COMPATIBLE初期化パラメータを 8.1.0に設定するには、初期化パラメータ・ファイルに次のように入力します。

COMPATIBLE=8.1.0

6. STARTUPを使用してデータベースを起動します。

参照参照参照参照 : 詳細は、9-8ページの「ALTER DATABASE RESET COMPATIBILITYについて」を参照してください。

注意注意注意注意 : 8.0以降のリリースへ移行した場合、COMPATIBLE初期化パラメータに Oracle7のリリースのどの値も設定できません。また、現行のリリースより後の値にすることもできません。

互換性および相互運用性 9-7

Page 206: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性の概要

ALTER DATABASE RESET COMPATIBILITYについてについてについてについて互換性レベルを下位のリリースへ変更するように Oracleに指示するには、ALTER DATABASE RESET COMPATIBILITY文を使用します。たとえば、一時表のような一部のOracleの機能は 8.1.0以上の互換性レベルを必要とします。COMPATIBLE初期化パラメータを 8.1.0以上に設定して一時表を作成すると、その一時表は、データベース中で互換レベル 8.1.0のオブジェクトになります。

ALTER DATABASE RESET COMPATIBILITYは、考えられる最低の互換性レベル(8.0.0)とは互換性のないオブジェクトを作成する各機能を調査します。特定の機能に対して互換性のないオブジェクトが存在しないことが確認されると、その機能の互換性レベルは 0.0.0に設定されます。これは、その機能が使用されていないことを意味します。ただし、特定の機能によって作成された互換性のないオブジェクトが確認されると、その機能に対する互換性レベルは、必要とされる互換性レベルに設定されます。

たとえば、1つ以上の一時表領域が存在する場合、8.1.0がその一時表領域の機能に必要とされる互換性レベルであるとき、互換性レベルは 8.1.0に設定されます。ただし、ALTER DATABASE RESET COMPATIBILITYでは、データベースの互換性レベルを上げることができないことに注意してください。8.1.0の互換性レベルを必要とするデータベース・オブジェクトを作成する前には、まず COMPATIBLE初期化パラメータをより高い値(8.1.0など)に設定する必要があります。

データベースをクローズし、COMPATIBLE初期化パラメータを低い値に変更してからデータベースをオープンすると、Oracleは各機能の互換性レベルを調査します。初期化パラメータ・ファイル内で、COMPATIBLE初期化パラメータが指定した互換性レベルより上の互換性レベルの機能がある場合、データベースはオープンできず、互換性のない機能であることを示すエラー・メッセージを表示します。

ご使用のデータベースの非互換性をすべて削除したとしても、データベースを停止する前にALTER DATABASE RESET COMPATIBILITY文を実行しないと、非互換性が無いにもかかわらず、データベースをオープンすることはできません。これは、各機能の互換性レベルの調査が、データベース内の各オブジェクトに対して行われるわけではないためです。Oracleは、互換性を持たないオブジェクトが、過去に作成されたことがあるという情報のみを記録しており、これらの機能の互換性レベルは、リセットされない限り、下がることはありません。ALTER DATABASE RESET COMPATIBILITY文を実行すると、互換性を持たないオブジェクトが明示的に確認され、互換性を持たないオブジェクトがない場合、互換性レベルはリセットされます。

9-8 Oracle8i 移行ガイド

Page 207: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

8.1.0以上の互換性レベルを必要とする機能

8.1.0以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能次の表に示す機能を使用するには、特に記述がない限り、COMPATIBLE初期化パラメータを 8.1.0以上に設定する必要があります。

リストに示す機能は、リリース 8.1で導入される新機能のすべてではありません。リストに示す機能は、8.1.0以上の互換性レベルを必要とするリリース 8.1の新機能のみです。つまり、一部の新機能は 8.1.0以上の互換性レベルを必要としません。

アプリケーションアプリケーションアプリケーションアプリケーション

表領域表領域表領域表領域

参照参照参照参照 : 次に示す新機能に関するエントリについては、『Oracle8i Generic Documentation Master Index』を参照してください。

表表表表 9-1 アプリケーションアプリケーションアプリケーションアプリケーション : 8.1.0以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能

機能領域機能領域機能領域機能領域 8.1.0 以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能

Java Enterprise JavaBeans

ストアド・プロシージャの Javaコード

SQLJトランスレータ

Oracleコール・インタフェース(Oracle Call Interface: OCI)

クライアントへの通知サポート

表表表表 9-2 表領域表領域表領域表領域 : 8.1.0以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能

機能領域機能領域機能領域機能領域 8.1.0 以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能

表領域 ローカルで管理される表領域

オンライン読取り専用表領域

表領域の移行(COMPATIBLEを 8.1.6以上に設定する必要があります)

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

互換性および相互運用性 9-9

Page 208: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

8.1.0以上の互換性レベルを必要とする機能

スキーマ・オブジェクトスキーマ・オブジェクトスキーマ・オブジェクトスキーマ・オブジェクト

パーティション化パーティション化パーティション化パーティション化

表表表表 9-3 スキーマ・オブジェクトスキーマ・オブジェクトスキーマ・オブジェクトスキーマ・オブジェクト : 8.1.0 以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能

機能領域機能領域機能領域機能領域 8.1.0 以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能

表 列削除のサポート

一時表

索引構成表 索引構成表のキー圧縮サポート

索引構成表の 2次索引

索引構成表の LOB

索引構成表のパーティション化

索引 ビットマップ索引の保護(ビットマップ索引が ALTER TABLE文によって無効になりません)

拡張索引作成機能

ファンクション索引

索引セグメントの結合

索引のキー圧縮サポート

オンライン索引(再)構築

ハッシュ・クラスタ 単一表ハッシュ・クラスタ

表表表表 9-4 パーティション化パーティション化パーティション化パーティション化 : 8.1.0以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能

機能領域機能領域機能領域機能領域 8.1.0 以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能

表のパーティション化 索引構成表のパーティション化

LOBがある表のパーティション化

オブジェクト表のパーティション化

オブジェクト、REF、VARRAYおよびネストした表の列を含む、ユーザー定義型がある表のパーティション化

コンポジット・メソッドおよびハッシュ・メソッドを使用しての表のパーティション化

ハッシュ・クラスタのパーティション化

ハッシュ・パーティション化のサポート

9-10 Oracle8i 移行ガイド

Page 209: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

8.1.0以上の互換性レベルを必要とする機能

組込みデータ型組込みデータ型組込みデータ型組込みデータ型

ユーザー定義データ型ユーザー定義データ型ユーザー定義データ型ユーザー定義データ型

表表表表 9-5 組込みデータ型組込みデータ型組込みデータ型組込みデータ型 : 8.1.0以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能

機能領域機能領域機能領域機能領域 8.1.0 以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能

LOB(ラージ・オブジェクト) LOBに対するキャッシュ読取りモード(COMPATIBLEを 8.1.6以上に設定する必要があります)

LOBがある表のパーティション化

テンポラリ LOB

CLOBおよび NCLOBの可変幅キャラクタ・セット

ROWID UROWID(ユニバーサル ROWID)

注意注意注意注意 : 新しい UROWIDデータ型を表などのデータベース・オブジェクトの一部として使用するには、8.1.0の互換性レベルが必要です。ただし、UROWID変数は、互換性レベルが 8.0のリリース 8.1データベースについては PL/SQLコードで使用できます。

表表表表 9-6 ユーザー定義データ型ユーザー定義データ型ユーザー定義データ型ユーザー定義データ型 : 8.1.0以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能

機能領域機能領域機能領域機能領域 8.1.0 以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能

ネストした表 コレクション・ロケータ

索引構成表のネストした表のデータ

ネストした表のビュー列のトリガー

ネストした表のユーザー指定記憶域句

オブジェクト識別子 ユーザー定義のオブジェクト識別子

REF REF列の参照整合性制約

VARRAY VARRAYを LOBとして格納する記憶領域パラメータ

索引構成表の VARRAYデータ

互換性および相互運用性 9-11

Page 210: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

8.1.0以上の互換性レベルを必要とする機能

Oracle Parallel Server

データの保護データの保護データの保護データの保護

分散データベース分散データベース分散データベース分散データベース

表表表表 9-7 Oracle Parallel Server: 8.1.0以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能

機能領域機能領域機能領域機能領域 8.1.0 以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能

Oracle Parallel Server ジョブのインスタンス親和性

表表表表 9-8 データの保護データの保護データの保護データの保護 : 8.1.0以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能

機能領域機能領域機能領域機能領域 8.1.0 以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能

セキュリティ アプリケーション・コンテキスト

ファイン・グレイン・アクセス・コントロール

N-Tierの認証および認可

データベース・バックアップおよびリカバリ

ファスト・スタート・オンデマンド・ロールバック

Oracle Media Management APIのプロキシ・コピー・サポート

表表表表 9-9 分散データベース分散データベース分散データベース分散データベース : 8.1.0以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能

機能領域機能領域機能領域機能領域 8.1.0 以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能

Oracleレプリケーション 更新可能スナップショットのための列レベル・スナップショット・サブセッティング

異機種間サービス エージェント自動登録

9-12 Oracle8i 移行ガイド

Page 211: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

8.1.0以上の互換性レベルを必要とする機能

データ・アクセスデータ・アクセスデータ・アクセスデータ・アクセス

表表表表 9-10 データ・アクセスデータ・アクセスデータ・アクセスデータ・アクセス : 8.1.0以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能

機能領域機能領域機能領域機能領域 8.1.0 以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能

SQLおよび PL/SQL 自律型トランザクション

バルク・バインド

Cのコール仕様

CALL文

ALTER文の FREELIST仕様の変更(8.1.6以上に設定する必要があります)

システム固有の動的 SQL

NOCOPYパラメータ引渡しモード

utlchn1.sqlおよび utlexpt1.sqlスクリプト

アドバンスト・キューイング 伝播されたメッセージのためのオリジナル・メッセージ ID列の追加

送信者 ID列の追加

データベース・イベント・パブリッシュ

キュー表のインスタンス親和性

非永続キュー

キュー・レベル権限およびシステム・レベル権限

ルールベースのサブスクリプション

履歴管理情報の個別記憶域

注意注意注意注意 : 伝播には 8.0.4以上の互換性レベルが必要です。

パッケージ DBMS_REPAIRパッケージ

制約 DISABLE VALIDATE制約状態

トリガー トリガーの拡張 DDLサポート(COMPATIBLEを 8.1.6以上に設定する必要があります)

トリガーにおけるオブジェクト・アウトバインド

ネストした表のビュー列のトリガー

DATABASEおよび SCHEMAのトリガー

トリガー本体として、プロシージャへの CALLを使用したトリガー

オプティマイザ 拡張可能オプティマイザ

オプティマイザのプラン・スタビリティ

データベース・リソース データベース・リソース・マネージャ

互換性および相互運用性 9-13

Page 212: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

8.1.0以上の互換性レベルを必要とする機能

データ・ウェアハウスデータ・ウェアハウスデータ・ウェアハウスデータ・ウェアハウス

Spatial情報および情報および情報および情報および Visual情報情報情報情報

表表表表 9-11 データ・ウェアハウスデータ・ウェアハウスデータ・ウェアハウスデータ・ウェアハウス : 8.1.0以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能

機能領域機能領域機能領域機能領域 8.1.0 以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能

マテリアライズド・ビューを使用したサマリー管理

デート・フォールディング

ディメンション・スキーマ・オブジェクト

問合せのリライト

問合せのリライトの再書込み権限

表表表表 9-12 Spatial情報および情報および情報および情報および Visual情報情報情報情報 :8.1.0以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能

機能領域機能領域機能領域機能領域 8.1.0 以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能以上の互換性レベルを必要とする機能

Spatial Spatial索引タイプ

Spatial演算子

Visual Information Retrieval(VIR)

VIR索引タイプ

VIR演算子

注意注意注意注意 : Spatialおよび VIRには、インストールする前に COMPATIBLE初期化パラメータを 8.1.0以上に設定する必要があります。

9-14 Oracle8i 移行ガイド

Page 213: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

相互運用性の概要

相互運用性の概要相互運用性の概要相互運用性の概要相互運用性の概要相互運用性とは、Oracleの異なるバージョンおよびリリース間で、分散された環境において相互に通信および動作する能力を示します。Oracleの分散データベース・システムは、異なるバージョンおよびリリースの Oracleデータベースを持つことができます。サポートされるすべての Oracleのリリースは、分散データベース・システムで実行できます。ただし、分散データベースとともに動作するアプリケーションは、システムの各ノードで使用できる機能を認識する必要があります。

たとえば、分散データベースのアプリケーションは、Oracle7データベースが、リリース 8.0以降でのみ利用可能なオブジェクト SQL拡張子を認識することを予測できません。

注意注意注意注意 : 相互運用性の定義は、この『Oracle8i移行ガイド』に特有のものです。このマニュアルでは、Oracleの異なるバージョン間やリリース間で実行される移行、アップグレードおよびダウングレードについて説明しています。ただし、その他の Oracleマニュアルは、相互運用性という用語をより幅広い定義で使用する場合があります。たとえば、相互運用性は、異なるハードウェア・プラットフォームとオペレーティング・システム間の通信を示すこともあります。

互換性および相互運用性 9-15

Page 214: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

互換性および相互運用性の問題互換性および相互運用性の問題互換性および相互運用性の問題互換性および相互運用性の問題次の項では、互換性の問題および相互運用性の問題を示し、その問題によって発生する問題を防ぐ処置について説明します。これらの項で説明する問題は、Oracleのリリースの違いによって発生します。

アプリケーションアプリケーションアプリケーションアプリケーションリリース 8.1の新機能を使用しない既存の(Oracle7およびリリース 8.0)アプリケーションを変更する必要はありません。既存のアプリケーションは、同じまたは拡張された機能をリリース 8.1で実行できます。リリース 8.0へダウングレードしても、リリース 8.1のデータベースに対して動作しているアプリケーションが継続して動作できるようにするには、COMPATIBLE初期化パラメータを 8.0.6以下に設定します。

ただし、COMPATIBLE初期化パラメータは、ディスクのフォーマットを変更するリリース8.1の機能の使用を制限するだけで、その他のリリース 8.1の機能の使用は制限しません。したがって、データベースがリリース 8.0へダウングレードされる場合、COMPATIBLE初期化パラメータを 8.0.5以下に設定しても、リリース 8.1で開発されたアプリケーションが正しく動作するという保証はありません。

アプリケーションの一般的な互換性の問題および相互運用性の問題アプリケーションの一般的な互換性の問題および相互運用性の問題アプリケーションの一般的な互換性の問題および相互運用性の問題アプリケーションの一般的な互換性の問題および相互運用性の問題この項では、アプリケーションの一般的な互換性の問題および相互運用性の問題について説明します。

VARCHAR2、、、、CHARおよびおよびおよびおよび RAWの最大サイズの変更の最大サイズの変更の最大サイズの変更の最大サイズの変更

VARCHAR2、CHARまたは RAWデータ型を使用しているバージョン 7のクライアントでは、アプリケーションでバッファのオーバーフロー・エラーが発生する場合があります。これは、これらのデータ型の最大サイズが、バージョン 7での 2000からリリース 8.0およびリリース 8.1での 4000に増えたためです。

この問題が発生したクライアントでは、アプリケーションが大きいバッファ・サイズを受け入れることができるように修正するか、または問題のある問合せに SUBSTR()演算子を使用して、バッファの戻りサイズをアプリケーションが処理できる長さに制限することができます。

参照参照参照参照 : アプリケーションのアップグレードの詳細は、第 10章「アプリケーションのアップグレード」を参照してください。

9-16 Oracle8i 移行ガイド

Page 215: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

次の例では、SIZE_TAB.SIZE_COL列は VARCHAR(80)です。

SQL> CREATE VIEW v1 AS SELECT LPAD(' ',40-length(size_tab.size_col)/2,' ') size_col FROM size_tab;Statement processed.

SQL> DESC v1

Column Name Null? Type------------------------------ -------- ----SIZE_COL VARCHAR2(4000)

SQL> DROP VIEW v1;View dropped.

SQL> CREATE VIEW v1 AS SELECT SUBSTR(lpad(' ',40-length(size_tab.size_col)/2,' '), 2000) size_col FROM size_tab;

SQL> DESC v1;

Column Name Null? Type------------------------------ -------- ----SIZE_COL VARCHAR2(2001)

アプリケーションにアクセスされる索引構成表アプリケーションにアクセスされる索引構成表アプリケーションにアクセスされる索引構成表アプリケーションにアクセスされる索引構成表 アプリケーションにアクセスされる表が、通常の表から索引構成表に変更された場合、アプリケーションも変更を必要とすることがあります。この変更が必要であるかどうかは、アプリケーションが物理 ROWIDまたはユニバーサル ROWID(UROWID)のどちらを使用するかによって決定されます。

アプリケーションが変更を必要とするかどうかは、ROWID値をバインドまたは定義するためにアプリケーションが使用しているホスト変数の種類によって異なります。

� アプリケーションがリリース 8.0以降の OCI ROWID記述子(Pro*Cの OCIROWIDおよび Pro*COBOLの SQL-ROWID)を使用する場合、アプリケーションは変更しなくても正常に機能します。

� アプリケーションがホスト変数について DESCRIBEを常に実行する場合、アプリケーションは変更しなくても正しく機能します。アプリケーションは SQLT_RDDという新しいデータ型に対応できることを確認してください。

� アプリケーションが SQLT_RIDホスト変数を使用する場合、VARCHARホスト変数または ROWID記述子を使用するようにアプリケーションを書き直す必要があります。書き直す場合、ROWID記述子の方が適切です。

互換性および相互運用性 9-17

Page 216: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

� アプリケーションが CHARACTERホスト変数を使用する場合、動作はそのホスト変数のサイズによって異なります。そのサイズによって主キーを保持でき、変数が可変長文字列である場合、アプリケーションは変更しなくても正常に機能します。ただし、アプリケーションが、固定サイズで 18文字列を使用する場合、より長い可変文字列またはOCI記述子を使用するようにアプリケーションを変更する必要があります。

UROWIDを使用するアプリケーションでは、VARCHARホスト変数が ROWIDを保持できるほど大きくない場合があります。その場合、変数の最大サイズを増やすか、または OCI ROWID記述子を使用するようにアプリケーションを変更します。OCI ROWID記述子は不透明であり、自動的にサイズを変更するため、OCI ROWID記述子を使用する方が適切です。

ANALYZE TABLE VALIDATE STRUCTURE文の動作の変更文の動作の変更文の動作の変更文の動作の変更 リリース 8.1以降では、ANALYZE TABLE VALIDATE STRUCTURE文は最初に発見されたエラーで実行を停止しません。この変更を考慮して、この動作に基づくアプリケーションを変更します。

リリースリリースリリースリリース 7.1 XAコールとの非互換性コールとの非互換性コールとの非互換性コールとの非互換性 Oracle8iデータベースでは、リリース 7.1 XAコールはサポートしていませんが、リリース 7.2および 7.3コールはサポートしています。したがって、リリース 7.1データベースを Oracle8iへ移行した後に、対応付けられた Tuxedoアプリケーション(および XAコールを使用するその他の対応アプリケーション)を Oracle8iのXAライブラリに再リンクします。リリース 7.2またはリリース 7.3のデータベースを移行する場合、再リンクする必要はありません。

OCIアプリケーションアプリケーションアプリケーションアプリケーションこの項では、OCIアプリケーションに関する互換性の問題および相互運用性の問題について説明します。

共有構造および相互運用性共有構造および相互運用性共有構造および相互運用性共有構造および相互運用性 共有構造は、リリース 8.1のライブラリとリンクした Oracle7クライアントではサポートされていません。共有構造のメリットを利用するには、アプリケーションをリリース 8.1以降の OCIで作成する必要があります。また、リリース 8.1以降のOracleデータベース・サーバーと通信している必要があります。

リリース 8.0の Oracleデータベース・サーバーにアクセスしているリリース 8.1の OCIクライアントは、共有構造のメリットの一部のみを利用できます。クライアントおよび Oracleデータベース・サーバーの両方がリリース 8.0以前の場合、共有構造はサポートされません。

参照参照参照参照 : 詳細は、『Oracle8iコール・インタフェース・プログラマーズ・ガイド』を参照してください。

9-18 Oracle8i 移行ガイド

Page 217: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

スレッド・セーフティスレッド・セーフティスレッド・セーフティスレッド・セーフティ ORLONコールおよび OLONコールは、リリース 8.0およびリリース 8.1ではサポートされていません。ただし、シングル・スレッド・アプリケーションの場合でも、OLOGを使用してください。

OCIアプリケーションのリンク・ラインアプリケーションのリンク・ラインアプリケーションのリンク・ラインアプリケーションのリンク・ライン OCIアプリケーションの場合、Oracle8iのリンク・ラインは Oracle7のリンク・ラインとは異なります。Oracle8iの OCIアプリケーションがコンパイルされる場合の Oracle8iのリンク・ラインの使用例については、ORACLE_HOME/rdbms/demo/demo_rdbms.mkファイルを参照してください。

Oracle7クライアントクライアントクライアントクライアント Oracle7クライアントは、Oracle7と Oracle8iのコールを組み合せて、Oracle8i OCIの使用を選択できます。どちらのコールを使用するかによって機能性の程度が異なります。暗号化 APIおよびパスワード・リセット・コールも同様に、単独で使用できます。次の機能を使用可能にするには、処理された文のすべてのフェーズに Oracle8iの OCIを使用します。

� フェイルオーバー

� プリフェッチ

� ピギーバック方式のコミットまたは取消し

� クライアント側の変換

Oracle7コードと Oracle8iのコードを組み合せる場合、Oracle7クライアントは Oracle8iコールを使用してログインする必要があります。

文の実行に対するバッチ・エラー・モードの使用文の実行に対するバッチ・エラー・モードの使用文の実行に対するバッチ・エラー・モードの使用文の実行に対するバッチ・エラー・モードの使用 リリース 8.1以降では、OCIアプリケーションは、OCIStmtExecuteを使用して DML配列を実行するときにバッチ・エラー・モードを使用できます。バッチ・エラー・モードを使用するには、OCIライブラリおよびサーバー・ライブラリがリリース 8.1以上である必要があります。

OCI_BATCH_ERRORSにモード・パラメータを設定し、この機能に必要な新規コードを追加することによって、既存のアプリケーションを変更してバッチ・エラー・モードを使用できます。その後、リリース 8.1クライアント・ライブラリに、変更したアプリケーションを再コンパイルおよび再リンクします。

クライアントへの通知サポートクライアントへの通知サポートクライアントへの通知サポートクライアントへの通知サポート リリース 8.1以降では、パブリッシュ /サブスクライブ・インタフェースを使用する OCIアプリケーションでクライアント通知がサポートされます。クライアント通知によって、アプリケーションがデータベース・イベント・パブリッシュおよびアドバンスト・キューイング機能を利用できます。クライアント通知機能を使用するには、クライアント・アプリケーションがリリース 8.1以上のクライアント・ライブラリとリンクしている必要があります。

注意注意注意注意 : マルチスレッド・アプリケーションの場合は OLOGコールが必要になります。

互換性および相互運用性 9-19

Page 218: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

アドバンスト・キューイング・オプションでのアドバンスト・キューイング・オプションでのアドバンスト・キューイング・オプションでのアドバンスト・キューイング・オプションでの LISTENコール・サポートコール・サポートコール・サポートコール・サポート リリース 8.1以降では、OCIアプリケーションで LISTENコールがサポートされます。LISTENコールはアドバンスト・キューイング・オプションで使用でき、一連のキューに対してメッセージがないか監視するために使用されます。LISTENコールを使用するには、クライアント・アプリケーションがリリース 8.1以上のクライアント・ライブラリとリンクしている必要があります。

プリコンパイラ・アプリケーションプリコンパイラ・アプリケーションプリコンパイラ・アプリケーションプリコンパイラ・アプリケーションこの項では、プリコンパイラ・アプリケーションに関する互換性の問題および相互運用性の問題について説明します。

Pro*C/C++でのでのでのでの SYSDBAの権限による接続の権限による接続の権限による接続の権限による接続 Pro*C/C++で CONNECT文を発行する場合、SYSDBA権限はデフォルトに使用されなくなりました。リリース 8.0では、次の CONNECT文を使用して Pro*C/C++の SYSDBA権限と接続しました。

EXEC SQL CONNECT :sys IDENTIFIED BY :sys_passwd;

リリース 8.1では、次の CONNECT文を発行して Pro*C/C++で SYSDBAの権限と接続します。

EXEC SQL CONNECT :sys IDENTIFIED BY :sys_passwd IN SYSDBA MODE;

Pro*COBOLでのでのでのでの SYSDBA権限による接続権限による接続権限による接続権限による接続 Pro*COBOLで CONNECT文を発行する場合、SYSDBA権限が、デフォルトに使用されなくなりました。リリース 8.0では、次のCONNECT文を使用して SYSDBA権限と接続しました。

EXEC SQL CONNECT :sys IDENTIFIED BY :SYS-PASSWD END-EXEC.

リリース 8.1では、次の CONNECT文を発行して SYSDBA権限と接続します。

EXEC SQL CONNECT :sys IDENTIFIED BY :SYS-PASSWD IN SYSDBA MODE END-EXEC.

リリースリリースリリースリリース 8.0およびリリースおよびリリースおよびリリースおよびリリース 8.1におけるにおけるにおけるにおける Adaのサポートのサポートのサポートのサポート リリース 7.3では、OracleはPro*ADA製品を公的にはサポートしませんでした。Pro*ADAを SQL*Module for Ada 8.1の最新リリースにアップグレードできます。ただし、SQL*Module for Ada 8.1は、オブジェクトをサポートしていません。

参照参照参照参照 : 詳細は、『Oracle8i Pro*C/C++プリコンパイラ・プログラマーズ・ガイド』および『Oracle8i Pro*COBOLプリコンパイラ・プログラマーズ・ガイド』を参照してください。

9-20 Oracle8i 移行ガイド

Page 219: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

PL/SQLの下位互換性およびプリコンパイラの下位互換性およびプリコンパイラの下位互換性およびプリコンパイラの下位互換性およびプリコンパイラ PLSQL_V2_COMPATIBILITY下位互換性動作(9-21ページの「PL/SQLアプリケーション」を参照)は、次のようにDBMSプリコンパイラ・コマンドライン・オプションを設定することによって、プリコンパイラ環境で使用できます。

... DBMS=Oracle7

PL/SQLアプリケーションアプリケーションアプリケーションアプリケーションこの項では、PL/SQLのアプリケーションの互換性の問題および相互運用性の問題について説明します。

PL/SQL V2互換モード互換モード互換モード互換モード PL/SQL V2互換モードは、リリース 8.0以降の PL/SQLで使用できます。このモードは、PLSQL_V2_COMPATIBILITY初期化パラメータによって使用可能になります。

PL/SQL V2互換モードは、次のいずれかの方法で設定します。

� 次の行を初期化パラメータ・ファイルに追加します。

PLSQL_V2_COMPATIBILITY = TRUE

� 次の SQL文を発行します。

ALTER SYSTEM SET PLSQL_V2_COMPATIBILITY = TRUE;

� 次の SQL文を発行します。

ALTER SESSION SET PLSQL_V2_COMPATIBILITY = TRUE;

PLSQL_V2_COMPATIBILITY初期化パラメータによって、次のような状況でリリース 8.0以降の PL/SQLと PL/SQL V2の間に互換性が得られます。

� PL/SQL V2コンパイラを使用すると、ソース内での定義を行う前にソース内でレコード型や索引表の型を参照できます。リリース 8.0以降の PL/SQLでは、ソース内で型を参照する前に必ず型の定義を行っておく必要があります。ただし、PL/SQL V2の互換モードを使用可能にすると、リリース 8.0以降の PL/SQLは PL/SQL V2と同様に動作します。

� PL/SQL V2コンパイラは、次のような不正な構文を許可します。

return variable-expression

この構文は誤っており、次の形式に変更する必要があります。

return variable-type

参照参照参照参照 : 詳細は、『Oracle8i PL/SQLユーザーズ・ガイドおよびリファレンス』を参照してください。

互換性および相互運用性 9-21

Page 220: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

このような不正な構文が見つかると、リリース 8.0以降の PL/SQLのコンパイラはエラーを表示します。ただし、PL/SQL V2の互換モードを使用可能にすると、リリース8.0以降の PL/SQLは PL/SQL V2と同様に動作し、エラーは表示しません。

� PL/SQL V2では、INパラメータとして渡された索引表の要素を変更または削除できます。次にその例を示します。

function foo (x IN table_t) isbeginx.delete(2);end;

この INパラメータの使用方法は誤っています。リリース 8.0以降の PL/SQLでは、INパラメータの読取り専用方法を正しく施行し、INパラメータとして渡された索引表を索引表方式から変更することはありません。ただし、PL/SQL V2の互換モードを使用可能にすると、リリース 8.0の PL/SQLは PL/SQL V2と同様に動作し、そのパラメータを認めます。

� PL/SQL V2では、レコードである INパラメータのフィールドを(OUTパラメータとして)引き渡すことができますが、リリース 8.0以降の PL/SQLでは、そのような引渡しは許可しません。ただし、PL/SQL V2の互換モードを使用可能にすると、リリース 8.0以降の PL/SQLは PL/SQL V2と同様に動作し、このような引渡しを許可します。

� PL/SQL V2コンパイラでは、レコード変数である OUTパラメータのフィールドが式のコンテキスト中で使用されることを許可します(たとえば、割当て文の右側にあるドット修飾名など)。

このような OUTパラメータの使用は許可しないでください。リリース 8.0以降のPL/SQLでは、OUTパラメータを式のコンテキストに使用できません。ただし、PL/SQL V2の互換モードを使用可能にすると、リリース 8.0以降の PL/SQLはPL/SQL V2と同様に動作します。

� PL/SQL V2では、SELECTリストの FROM句の中で OUTパラメータを使用できます。リリース 8.0以降の PL/SQLでは、OUTパラメータのそのような使用方法は許可されません。ただし、PL/SQL V2の互換モードを使用可能にすると、リリース 8.0以降のPL/SQLは PL/SQL V2と同様に動作します。

9-22 Oracle8i 移行ガイド

Page 221: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

キーワード動作の違いキーワード動作の違いキーワード動作の違いキーワード動作の違い : バージョンバージョンバージョンバージョン 7、リリース、リリース、リリース、リリース 8.0およびリリースおよびリリースおよびリリースおよびリリース 8.1 バージョン 7、リリース 8.0およびリリース 8.1のいずれにも含まれる様々なキーワードや型は、SELECTリスト内のファンクション名として使用されたとき、バージョン 7、リリース 8.0およびリリース 8.1では次のようにわずかに異なるエラー・メッセージ識別子を出力します。

起動および停止起動および停止起動および停止起動および停止リリース 8.0.4以降では、SHUTDOWN IMMEDIATEとなっている間、使用されてないサーバーのプロセスは停止します。したがって、ユーザーに戻されるエラーは、過去のリリースのエラーと異なります。

表領域およびデータ・ファイル表領域およびデータ・ファイル表領域およびデータ・ファイル表領域およびデータ・ファイルこの項では、表領域およびデータ・ファイルに関する互換性の問題および相互運用性の問題について説明します。

トランスポータブル表領域トランスポータブル表領域トランスポータブル表領域トランスポータブル表領域2つのデータベース間で表領域を移動させる場合、互換性の問題が発生します。

表表表表 9-13 キーワード動作の違いキーワード動作の違いキーワード動作の違いキーワード動作の違い

キーワードキーワードキーワードキーワード リリースリリースリリースリリース 8.0 およびおよびおよびおよびリリースリリースリリースリリース 8.1 の動作の動作の動作の動作

バージョンバージョンバージョンバージョン 7の動作の動作の動作の動作

CHARACTER、COMMIT、DEC、FALSE、INT、NUMERIC、REAL、SAVEPOINT、TRUE

エラーの生成(ORA-06550および PLS-00222)

エラーの生成(ORA-06552および PLS-00222)

参照参照参照参照 : 新規のパラメータ、変更されたパラメータおよび廃止されたパラメータについては、付録 B「初期化パラメータの変更」を参照してください。また、特定の初期化パラメータに関する互換性の問題の詳細は、B-9ページの「初期化パラメータの互換性の問題」を参照してください。

参照参照参照参照 : 互換性の問題の詳細は、『Oracle8i管理者ガイド』を参照してください。

互換性および相互運用性 9-23

Page 222: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

テンポラリ・ファイルテンポラリ・ファイルテンポラリ・ファイルテンポラリ・ファイルリリース 8.1では、テンポラリ・ファイルを導入します。テンポラリ・ファイルの情報は、データ・ファイルの情報とは異なり、静的データ・ディクショナリ・ビューおよび動的パフォーマンス・ビューにあります。テンポラリ・ファイルの情報については、DBA_TEMP_FILES静的データ・ディクショナリ・ビューおよび次に示す動的パフォーマンス・ビューを参照してください。

� V$TEMPFILE

� V$TEMP_EXTENT_MAP

� V$TEMP_EXTENT_POOL

� V$TEMP_SPACE_HEADER

� V$TEMPSTAT

� V$TEMP_PING

Oracleは、データ・ファイルとテンポラリ・ファイルの両方に自動的に番号を割り当てます。2つのデータ・ファイル間では同じ番号を共有できません。同様に、テンポラリ・ファイル間でも同じ番号は共有できません。ただし、テンポラリ・ファイルとデータ・ファイルの間では同じ番号を共有できます。

読取り専用表領域へのアクティブ・トランザクション制限読取り専用表領域へのアクティブ・トランザクション制限読取り専用表領域へのアクティブ・トランザクション制限読取り専用表領域へのアクティブ・トランザクション制限リリース 8.1より前のリリースでは、データベースにアクティブ・トランザクションがある状態では表領域を読取り専用にすることはできませんでした。リリース 8.1では、COMPATIBLEパラメータを 8.1.0以上に設定すると、この制限がなくなります。8.1.0以上の互換性レベルでデータベースを使用すると、ALTER TABLESPACE ... READ ONLY文はアクティブ・トランザクションが完了するまで待ってから、表領域を読取り専用に変更します。ただし、COMPATIBLE初期化パラメータを 8.1.0より低く設定すると、制限が適応されます。

参照参照参照参照 : テンポラリ・ファイルの詳細は、『Oracle8i SQLリファレンス』を参照してください。

9-24 Oracle8i 移行ガイド

Page 223: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

データ・ディクショナリデータ・ディクショナリデータ・ディクショナリデータ・ディクショナリこの項では、データ・ディクショナリの変更によって発生する互換性の問題および相互運用性の問題について説明します。

データ・ディクショナリの保護データ・ディクショナリの保護データ・ディクショナリの保護データ・ディクショナリの保護新しい Oracle8iデータ・ディクショナリの保護のメカニズムによって、SYSスキーマにユーザー表を作成し、'ANY'権限を使用してその表にアクセスするアプリケーションに問題が発生する場合があります。たとえば、ユーザーは、AUD$表内の監査レコードを消去するDELETE文を使用するためにDELETE CATALOG ROLEを所有する必要があります。

SYSスキーマでユーザー表を作成し、それらにアクセスすることは安全性の面で保証できません。したがって、アプリケーション側ではオブジェクトを別のスキーマに移動することが要求されます。一時的な互換性を確保するために O7_DICTIONARY_ACCESSIBILITYという初期化パラメータを使用しますが、このスイッチは暫定的に使用するものです。

アプリケーションから SYSDBAオプションなしでユーザー SYSに接続することは避けてください。ユーザー SYSに接続してパスワードを共有するのではなく、一般ユーザーに DBA権限を付与し、ユーザーが SYSDBAとしてデータベース接続して SYSスキーマに接続します。

廃止されたデータ・ディクショナリ・ビュー廃止されたデータ・ディクショナリ・ビュー廃止されたデータ・ディクショナリ・ビュー廃止されたデータ・ディクショナリ・ビューcatalog5.sqlファイルおよび catalog6.sqlファイルで作成され、Oracleバージョン 5およびバージョン 6に対する下位互換性のためにバージョン 7で保持されていた特定のデータ・ディクショナリ・ビューは、リリース 8.0およびリリース 8.1では廃止されています。これらのデータ・ディクショナリ・ビューに対する参照元は、データベース・ツールとアプリケーションから削除します。

参照参照参照参照 : 廃止されたビューのリストおよび詳細は、付録 C「静的データ・ディクショナリ・ビューの変更」および付録 D「動的パフォーマンス・ビューの変更」を参照してください。

互換性および相互運用性 9-25

Page 224: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

スキーマ・オブジェクトスキーマ・オブジェクトスキーマ・オブジェクトスキーマ・オブジェクトこの項では、スキーマ・オブジェクトに関する互換性の問題および相互運用性の問題について説明します。

ビットマップ索引の保護ビットマップ索引の保護ビットマップ索引の保護ビットマップ索引の保護リリース 8.1より前のリリースでは、特定の SQL文を発行することによって、ビットマップ索引が無効になることがありました。ビットマップ索引が無効になる最も一般的な原因は、次に示すタイプの文によるものです。

� あらかじめ主キーを持たない既存の表に主キーを設定する ALTER TABLE文

� あらかじめ NOT NULL制約を持たない列に NOT NULLを設定する ALTER TABLE文

COMPATIBLE初期化パラメータが 8.1.0以上に設定される場合、リリース 8.1ではこれらの意図しない無効化が行われないようにします。ただし、COMPATIBLE初期化パラメータが8.1.0より低く設定されている場合、ビットマップ索引は保護されず、前述の特定の SQL文は、ビットマップ索引を無効にする可能性があります。

データ型データ型データ型データ型この項では、データ型に関する互換性の問題および相互運用性の問題について説明します。

ラージ・オブジェクト(ラージ・オブジェクト(ラージ・オブジェクト(ラージ・オブジェクト(LOB))))この項では、LOBに関する互換性の問題および相互運用性の問題について説明します。

CLOBおよびおよびおよびおよび NCLOBの可変幅キャラクタ・セットの可変幅キャラクタ・セットの可変幅キャラクタ・セットの可変幅キャラクタ・セット リリース 8.0では、データベース・キャラクタ・セットが可変幅の場合、SYSTEM以外のユーザーは CLOBまたは NCLOBのデータ型がある表を作成できませんでした。リリース 8.1では、可変幅キャラクタ・セットを持つ表で CLOBおよび NCLOBデータ型をサポートします。データは UCS2(2バイトの固定値ユニコード)として格納されます。

COMPATIBLE初期化パラメータを 8.1.0より低く設定する場合、この機能は次のように制限されます。

� データベース・キャラクタ・セットが可変幅の場合、SYSTEMユーザーでないユーザーは CLOBまたは NCLOBデータ型を含む表を作成できません。

� SYSTEMユーザーは CLOBまたは NCLOBデータ型を含む表を作成できますが、CLOBまたは NCLOB列にデータを格納できません。

COMPATIBLE初期化パラメータを 8.1.0以上に設定すると、これらの制限は適用されません。

9-26 Oracle8i 移行ガイド

Page 225: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

LOB索引句索引句索引句索引句 LOB格納用の表領域から離れた表領域で、LOB索引データを格納するためにLOB索引句を使用した場合、索引データは、LOBと同じ表領域に属するように再配置されます。これには、リリース 8.1で次の操作のいずれかを実行する必要があります。

� LOBについてエクスポート /インポートを実行します。

� LOBをパーティション表へ移動します。

Oracle7から Oracle8iへ移行するために、エクスポート /インポートを使用した場合、索引データは移行の間に自動的に再配置されます。ただし、移行ユーティリティまたは Oracle Data Migration Assistantを使用した場合、索引データは再配置されません。

また、リリース 8.1で新しい表を作成し、非パーティション表の LOB索引のために表領域を指定する場合、表領域の指定は無視され、LOB索引は LOBと同じ表領域に配置されます。

LOB索引の格納を確認するには、SYSDBAとして接続し、次の SQL文を発行します。

SELECT index_name, index_type, tablespace_name FROM dba_indexes WHERE index_type = 'LOB';

Oracle ROWIDこの項では、ROWIDに関する互換性の問題および相互運用性の問題について説明します。

新規の物理新規の物理新規の物理新規の物理 ROWIDデータ型書式データ型書式データ型書式データ型書式 リリース 8.0およびリリース 8.1では、物理的 ROWIDの書式が変更されました。列またはアプリケーション・コードに格納された物理的 ROWIDを使用する場合、以前の物理的 ROWIDは無効であるため、変換する必要があります。

UROWIDデータ型データ型データ型データ型 UROWID(ユニバーサル ROWID)のデータ型はリリース 8.1で導入された新機能です。リリース 8.1より前のクライアントは、キャラクタ・ホスト変数のみを使用して UROWIDデータ型の列にアクセスできます。つまり、他の変数の型はサポートされません。

参照参照参照参照 : 新規の物理 ROWID書式の詳細は、第 12章「物理 ROWIDの移行について」を参照してください。

互換性および相互運用性 9-27

Page 226: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

NCHARおよびおよびおよびおよび NLSの使用の使用の使用の使用リリース 8.0およびリリース 8.1では、特定の列、属性、PL/SQL変数、パラメータおよび戻り値に各国語キャラクタ・セット(NCHAR)を使用することを宣言できます。そのような明示的な宣言がない限り、NCHARおよびNLSの使用はほとんどが透過的に処理され、リリース 8.0およびリリース 8.1の他の機能には影響しません。例外としては、PROPS$または VALUE$ディクショナリ・ビューにある SELECT文で、CHARACTER_SET_NAME列またはNLS_NCHAR_CHARACTERSET行を戻す場合があります。

NCHARおよびおよびおよびおよび NLSに伴う移行問題に伴う移行問題に伴う移行問題に伴う移行問題 PROPS$ディクショナリ表には、CREATE DATABASE文で指定されたキャラクタ・セットを記述する 2つの行があります。NAME='NLS_CHARACTERSET'を含む行では、VALUE$列にデータベース・キャラクタ・セットの名前があります。NAME='NLS_NCHAR_CHARACTERSET'を含む行では、VALUE$列に各国語キャラクタ・セットの名前があります。

リリース 7.3と比較すると、様々なビューに、次の値を持つ新規列CHARACTER_SET_NAMEが含まれます。

DECODE(x$.CHARSETFORM, 1, 'CHAR_CS', 2, 'NCHAR_CS',

ここで、x$はベース表の 1つを表します。ビューの DATA_TYPEまたは COLTYPE列値は、キャラクタ・セットの選択項目を表示するようには変更されません。

NCHARとととと NLS環境変数および互換性環境変数および互換性環境変数および互換性環境変数および互換性 次のように、使用環境に NLS_LANGを設定する必要があります。

� リリース 7.3.xの環境に環境変数 ORA_NLS32を設定します。

� リリース 8.0およびリリース 8.1の環境に環境変数 ORA_NLS33を設定します。

クライアントに正しい NLSキャラクタ・セットの環境変数があることを確認します。リリース 7.3の NLSコードがリリース 8.0およびリリース 8.1のキャラクタ・セットをロードしようとすると、エラーが発生します。

9-28 Oracle8i 移行ガイド

Page 227: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

ユーザー定義データ型ユーザー定義データ型ユーザー定義データ型ユーザー定義データ型リリース 8.1では、ユーザー定義データ型に新しい書式を導入しています。新しい書式では、リリース 8.0で使用されていた書式よりもパフォーマンスが著しく向上します。新しいユーザー定義データ型書式を使用するには、COMPATIBLE初期化パラメータを 8.1.0以上に設定する必要があります。

リリース 8.0のユーザー定義データ型をリリース 8.1のデータベースで使用しても互換性の問題はありません。ただし、データベースは、新しい書式によるパフォーマンスの向上は得られません。

リリースリリースリリースリリース 8.0ユーザー定義データ型へアクセスするリリースユーザー定義データ型へアクセスするリリースユーザー定義データ型へアクセスするリリースユーザー定義データ型へアクセスするリリース 8.1クライクライクライクライアントアントアントアントユーザー定義データ型書式は、クライアントおよびサーバー間の互換性のやりとりの一部として交渉されます。リリース 8.0データベース・サーバー、または COMPATIBLE初期化パラメータを 8.0.xに設定したリリース 8.1データベース・サーバーを使用している場合、リリース 8.1クライアントはデータベースにアクセスできますが、そのクライアントはリリース 8.0に設定されます。

リリースリリースリリースリリース 8.1ユーザー定義データ型へアクセスするリリースユーザー定義データ型へアクセスするリリースユーザー定義データ型へアクセスするリリースユーザー定義データ型へアクセスするリリース 8.0クライクライクライクライアントアントアントアントリリース 8.0クライアントがリリース 8.1ユーザー定義データ型のあるサーバーにアクセスする場合は、データベースがユーザー定義データ型をリリース 8.0書式に変換します。したがって、リリース 8.0クライアントはデータにアクセスできますが、パフォーマンスの向上は得られないことがあります。

ネストした表ネストした表ネストした表ネストした表リリース 8.0クライアントは、リリース 8.1のネストした表の次の機能はサポートしません。

� コレクション・ロケータ

� 索引構成表にあるネストした表データの記憶域を含む、コレクション列のユーザー指定記憶域

したがって、リリース 8.0のクライアントがリリース 8.1のサーバーにアクセスしようとし、ネストした表がロケータとして戻されるように指定されている場合、またはネストした表の記憶域がユーザー指定の場合、非互換エラーとなりアクセスできません。

LOBとして格納されるとして格納されるとして格納されるとして格納される VARRAYリリース 8.0のクライアントは、VARRAYを LOBとして格納する記憶領域パラメータの指定をサポートしません。したがって、リリース 8.0のクライアントが、VARRAYを LOBとして格納する記憶領域パラメータ指定のあるリリース 8.1のサーバーにアクセスしようとすると、非互換エラーとなりアクセスできません。

互換性および相互運用性 9-29

Page 228: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

SQLおよびおよびおよびおよび PL/SQLこの項では、SQLおよび PL/SQLに関する、互換性の問題および相互運用性の問題について説明します。

GREATEST_LB、、、、LEAST_UBおよびおよびおよびおよび TO_LABELファンクションのデサポートファンクションのデサポートファンクションのデサポートファンクションのデサポートリリース 8.1.5以降の Oracle8iでは、Trusted Oracleラベルで動作する組込み PL/SQLファンクション GREATEST_LB、LEAST_UBおよび TO_LABELはサポートされません。

PL/SQLのシステム固有の動的のシステム固有の動的のシステム固有の動的のシステム固有の動的 SQL次の項では、PL/SQLのシステム固有の動的 SQLに関する相互運用性の問題について説明します。

サーバー側のサーバー側のサーバー側のサーバー側の PL/SQL リリース 8.1.0以降の互換性レベルを持つ Oracleデータベース・サーバーでは、リモート・サーバーのオブジェクトへの参照を含むシステム固有の動的 SQL文を、どの互換性レベルでも実行できます。

たとえば、次のプロシージャはシステム固有の動的 SQL文を持ち、リモートの Oracleデータベース・サーバーにリンクします。

PROCEDURE dyn1 isBEGIN EXECUTE IMMEDIATE 'insert into tab@remote_link values ('a', 10)';END;

前述の例の remote_linkは、リリース 7.3、8.0または 8.1などのすべての Oracleバージョンへのリンクとして使用できます。

システム固有の動的システム固有の動的システム固有の動的システム固有の動的 SQLおよびおよびおよびおよび RPCコールコールコールコール RPCコールを作成するクライアントのリリースにかかわらず、RPCコールのターゲットである PL/SQLプログラムはシステム固有の動的SQLを使用できます。たとえば、リリース 7.3または 8.0のクライアントは、リリース 8.1.0以上の互換性レベルで Oracleデータベース・サーバに RPCコールを発行することができます。

参照参照参照参照 : SQLおよび PL/SQLの詳細は、『Oracle8i SQLリファレンス』および『Oracle8i PL/SQLユーザーズ・ガイドおよびリファレンス』を参照してください。

9-30 Oracle8i 移行ガイド

Page 229: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

SQLスクリプト(スクリプト(スクリプト(スクリプト(utlchain.sqlおよびおよびおよびおよび utlchn1.sql))))リリース 8.1では、移行された行および連鎖された行を格納する表を作成するスクリプトとして、utlchain.sqlおよび utlchn1.sqlの 2つが提供されます。utlchn1.sqlスクリプトは通常の表および索引構成表の両方で実行できますが、utlchain.sqlスクリプトは通常の表でのみ実行でき、索引構成表では実行できません。

正しい実行スクリプトは、ご使用のデータベースの互換性レベルによって異なります。

� 互換性レベルが 8.1.0未満の場合、utlchain.sqlを実行します。

� 互換性レベルが 8.1.0以上の場合、utlchn1.sqlを実行します。

SQLスクリプト(スクリプト(スクリプト(スクリプト(utlexcpt.sqlおよびおよびおよびおよび utlexpt1.sql))))リリース 8.1のインストールでは、使用可能にする制約の例外を格納する表を、utlexcpt.sqlおよび utlexpt1.sqlを使用して作成します。utlexpt1.sqlスクリプトは通常の表および索引構成表の両方で実行できますが、utlexcpt.sqlスクリプトは通常の表でのみ実行でき、索引構成表では実行できません。

正しい実行スクリプトは、ご使用のデータベースの互換性レベルによって異なります。

� 互換性レベルが 8.1.0未満の場合、utlexcpt.sqlを実行します。

� 互換性レベルが 8.1.0以上の場合、utlexpt1.sqlを実行します。

AS副問合せを持つパラレル副問合せを持つパラレル副問合せを持つパラレル副問合せを持つパラレル CREATE TABLE文の動作変更文の動作変更文の動作変更文の動作変更8.0以降のリリースで、AS副問合せを持つ CREATE TABLE文に PARALLEL句を使用すると、INITIAL記憶領域パラメータは無視され、NEXT記憶領域パラメータが使用されます。Oracle7では、INITIAL記憶領域パラメータは無視されません。

次に、SQL文の例を示します。

CREATE TABLE tb_2 STORAGE (INITIAL 1M NEXT 500K) PARALLEL (DEGREE 2) AS SELECT * FROM tb_1;

8.0以降のリリースでは、INITIALの値は 500Kとなりますが、Oracle7では 1Mとなります。

互換性および相互運用性 9-31

Page 230: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

アドバンスト・キューイング(アドバンスト・キューイング(アドバンスト・キューイング(アドバンスト・キューイング(AQ))))この項では、AQの互換性の問題および相互運用性の問題について説明します。.

キュー・レベル権限およびシステム・レベル権限キュー・レベル権限およびシステム・レベル権限キュー・レベル権限およびシステム・レベル権限キュー・レベル権限およびシステム・レベル権限キュー・レベル権限およびシステム・レベル権限を使用するには、キュー表が 8.1.0以上の互換性レベルである必要があります。特に、DBMS_AQADMパッケージにある次のプロシージャを使用してキュー・レベル権限を付与するには、キュー表の互換性レベルが 8.1.0以上である必要があります。

� GRANT_QUEUE_PRIVILEGE

� REVOKE_QUEUE_PRIVILEGE

相互運用性および送信者の相互運用性および送信者の相互運用性および送信者の相互運用性および送信者の ID列列列列リリース 8.1では、送信者の IDは付加的な属性としてメッセージ・プロパティにマップされます。リリース 8.0およびリリース 8.1データベース間で通信する場合は、新しい属性は無視されます。

OCIのアプリケーション用に、メッセージ・プロパティの記述子の新しい属性として送信者の ID属性を利用できます。リリース 8.1の OCIクライアントは、メッセージ・プロパティをサーバーへ送信またはサーバーから受信するために新しい RPCコードを使用します。

ルールベースのサブスクリプションルールベースのサブスクリプションルールベースのサブスクリプションルールベースのサブスクリプションDBMS_AQADM.MIGRATE_QUEUE_TABLEプロシージャを使用してリリース 8.0からリリース 8.1へキュー表を移行する場合は、既存のサブスクライバは NULLルールを持つサブスクライバに自動的にアップグレードされます。

メッセージ・ストリーミングメッセージ・ストリーミングメッセージ・ストリーミングメッセージ・ストリーミングメッセージ・ストリーミングは、ソース・データベースおよび接続先データベースがともにリリース 8.1以降である場合にのみサポートされます。メッセージ・ストリーミングを使用するために、COMPATIBLE初期化パラメータを 8.1.0に設定する必要はありません。リリース 8.1データベースで COMPATIBLEが 8.0.5以下に設定されていても、メッセージ・ストリーミングはサポートされます。

参照参照参照参照 : AQの詳細は、『Oracle8iアプリケーション開発者ガイド アドバンスト・キューイング』を参照してください。次の項では、新しい AQ機能の互換性および相互運用性のみ説明します。使用方法の詳細は、『Oracle8iアプリケーション開発者ガイド アドバンスト・キューイング』を参照してください。

9-32 Oracle8i 移行ガイド

Page 231: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

プロシージャおよびパッケージプロシージャおよびパッケージプロシージャおよびパッケージプロシージャおよびパッケージこの項では、プロシージャおよびパッケージに関する互換性の問題および相互運用性の問題について説明します。

OWAパッケージパッケージパッケージパッケージリリース 8.1.7にアップグレード済で、それ以前に Oracle Application Server(OAS)を実行済の場合、アップグレード・スクリプトによって SYSスキーマに新しい OWAパッケージがインストールされ、この新しいパッケージを参照するように OWAパブリック・シノニムが再作成されています。OASの PL/SQLカートリッジに問題がある場合は、OWAパッケージのパブリック・シノニムを再作成する必要があります。

パブリック・シノニムを再作成するには、次の手順を実行します。

1. システム・プロンプトで、ORACLE_HOME/rdbms/adminディレクトリへ移動します。

2. SQL*Plusを起動します。

3. SYSユーザーとして接続します。

4. owadsyn.sqlスクリプトを実行します。

SQL> @owadsyn.sql

このスクリプトは、アップグレード・プロセス中に作成された OWAパブリック・シノニムをすべて削除します。

5. 以前の OWAパッケージのインストール・スキーマ(通常、OAS_PUBLICまたはOWA_PUBLIC)としてインスタンスに接続します。

6. owacsyn.sqlスクリプトを実行します。

SQL> @owacsyn.sql

このスクリプトは、アップグレード・プロセス中に変更された OWAパブリック・シノニムを、以前の OWAパッケージ・インストールを参照するように再作成します。

参照参照参照参照 : パッケージの詳細は、『Oracle8i PL/SQLパッケージ・プロシージャ リファレンス』を参照してください。

注意注意注意注意 : このスキーマは、CREATE PUBLIC SYNONYM権限を持っている必要があります。

互換性および相互運用性 9-33

Page 232: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

iASまたはWebDBリスナーの 2.5以前のリリースを実行済の場合は、以前の OWAパッケージがインストールされているスキーマを削除する必要があります。デフォルトで SYSにインストールされるパッケージが動作し、OWAパッケージが複数の場所にインストールされていると問題が発生します。削除する前に、そのスキーマに(OWAパッケージ以外の)ユーザー・データがないことを確認してください。ORACLE_HOME/rdbms/adminディレクトリにある owadins.sqlスクリプトは、OWAパッケージのみを削除するもので、スキーマ全体を削除するかわりにこのスクリプトを使用することもできます。

DBMS_LOBパッケージおよびパッケージおよびパッケージおよびパッケージおよび NOCOPYCOMPATIBLE初期化パラメータが 8.1.0以上に設定されている場合、DBMS_LOBパッケージは LOBパラメータ用の新しい NOCOPY構文を使用します。また、DBMS_LOBパッケージに渡された LOBロケータは、新しい NOCOPYの意味に従います。

COMPATIBLE初期化パラメータが 8.1.0より低く設定されている場合は、NOCOPY構文はサポートされません。したがって、互換性レベルが 8.0.xである場合は、次の操作は行わないでください。

� DBMS_LOBパッケージでの新しい NOCOPY構文の使用

� 新しい dbmslob.sqlスクリプトの実行

DBMS_REPAIRパッケージパッケージパッケージパッケージDBMS_REPAIRパッケージを使用するには、COMPATIBLE初期化パラメータを 8.1.0以上に設定する必要があります。互換性レベルが 8.1.0未満の場合は、DBMS_REPAIRパッケージを実行できません。

SET_SESSION_LONGOPSプロシージャの構文変更プロシージャの構文変更プロシージャの構文変更プロシージャの構文変更リリース 8.0およびリリース 8.1では、DBMS_APPLICATION_INFO.SET_SESSION_LONGOPSプロシージャを変更しています。新しい構文の詳細は、dbmsapin.sqlファイルを参照してください。ご使用のアプリケーションがこのプロシージャを使用している場合は、それに応じてアプリケーションを変更します。

9-34 Oracle8i 移行ガイド

Page 233: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

OracleオプティマイザオプティマイザオプティマイザオプティマイザCOMPATIBLE初期化パラメータを 8.1.0以上に設定すると、オプティマイザの実行計画の選択が向上することがあります。互換性レベルが 8.1.0の場合、オプティマイザはHIST_HEAD$データ・ディクショナリ表の新しい AVGCLN列を使用して実行計画を選択できます。

Oracle Parallel Server1つの Oracle Parallel Server環境で複数の Oracleリリースを使用する場合、リリースのサポートはオペレーティング・システムによって異なります。ご使用のオペレーティング・システムが、単一の Oracle Parallel Server環境で異なるリリースの共存をサポートするかどうかについては、ご使用のオペレーティング・システム固有の Oracleマニュアルを参照してください。

リリース 8.0以降では、データベースに属し、ハードウェア・クラスタで実行されるParallel Serverモードでリンクされたすべての Oracleインスタンスは、GMS実行可能ファイルのワード・サイズに一致している必要があります。したがって、すべてのインスタンスは、32ビットまたは 64ビットの実行可能ファイルを実行できる必要があります。

また、リリース 8.0では、ワード・サイズの異なる Oracle Parallel Server実行可能ファイルを複数のデータベースで併用することはできませんが、Oracle Prallel Serverモードでリンクされていない Oracle実行可能ファイルでは可能です。リリース 8.1では、GMSプロセスが排除されており、したがってこの制限も緩和されています。複数のデータベースに属するOracleインスタンスは、リリース 8.1では異なるワード・サイズで実行可能な場合があります。

互換性および相互運用性 9-35

Page 234: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

PARALLEL句の句の句の句の INSTANCESキーワードキーワードキーワードキーワードリリース 8.1で INSTANCESキーワードを使用することはできますが、旧リリースとは異なって解釈されます。Oracle7およびリリース 8.0では、次のような文の PARALLEL句でINSTANCESキーワードを使用することができました。

� ALTER CLUSTER

� ALTER DATABASE ... RECOVER

� ALTER INDEX ... REBUILD

� ALTER TABLE

� CREATE CLUSTER

� CREATE INDEX

� CREATE TABLE

また、ヒントでも使用することができました。INSTANCESキーワードは、パラレル操作で使用される Oracle Parallel Serverインスタンスの数を指定するために使用されました。

またリリース 8.1以降では、PARALLEL句に並列度を指定する構文が変更されています。次の例のように、PARALLELの後ろに数値を置くことで簡単に並列度を指定できます。

ALTER TABLE emp PARALLEL 5;

ただし、使用できるように選択した場合、キーワードである DEGREEは有効なままです。前述の構文は次の文と同等です。

ALTER TABLE emp PARALLEL (DEGREE 5 INSTANCES 1);

構文にかかわらず、パラレル操作で使用される問合せスレッドの数と同じ数値を指定します。いずれの構文も、問合せを実行するために必要なインスタンスの数に影響することはありません。いくつのインスタンスを使用するかは、使用可能なインスタンスの数および各インスタンスのロードに基づいてシステムが決定します。したがって、どの構文でも結果は同じとなります。

9-36 Oracle8i 移行ガイド

Page 235: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

リリースリリースリリースリリース 8.1でのでのでのでの INSTANCESキーワードの使用キーワードの使用キーワードの使用キーワードの使用 リリース 8.1では、旧構文を引き続き使用して INSTANCESおよび DEGREEを指定することができますが、並列度を指定する単一のキーワードとして解釈されます。したがって、リリース 8.1では廃止されたコマンド構文は引き続き受け入れられますが、これまでのリリースとは解釈が異なる場合があります。表9-14に、廃止された構文を引き続き使用した場合に、可能な INSTANCESおよび DEGREEの設定を Oracleが解釈する方法を示します。表 9-14の各列は、次のことを示します。

� 並列度並列度並列度並列度は、PARALLEL句の DEGREEキーワードの設定を示します。

� インスタンスインスタンスインスタンスインスタンスは、PARALLEL句の INSTANCESキーワードの設定を示します。

� 8.1並列度並列度並列度並列度は、DEGREEおよび INSTANCESに基づいてリリース 8.1でのOracleの並列度の解釈を示します。

表中の xおよび yは整数を表す変数です。

解除されたキーワードには、1をその値として使用します。

表表表表 9-14 リリースリリースリリースリリース 8.1でのでのでのでの INSTANCESキーワードの変換キーワードの変換キーワードの変換キーワードの変換

並列度並列度並列度並列度 インスタンスインスタンスインスタンスインスタンス 8.1 並列度並列度並列度並列度

解除または 1 解除または 1 1

x DEFAULT x

x 解除または 1 x

解除または 1 DEFAULT DEFAULT

DEFAULT y y

解除または 1 y y

DEFAULT 解除または 1 DEFAULT

x y x * y

互換性および相互運用性 9-37

Page 236: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

これらの解釈のために、リリース 8.1における Oracleの異なった動作を次に示します。

� DEGREEに x、INSTANCESに 1を設定しても、パラレル操作で使用するインスタンスが 1つのみになるとは保証されません。

� DEGREEに 1、INSTANCESに yを設定しても、パラレル操作で1つのインスタンスについて使用する問合せスレッドが 1つのみになるとは保証されません。

� DEGREEに x、INSTANCESに yを設定しても、いずれの設定も保証されません。そのかわり、Oracleは xに yを掛けた値を並列度に設定しようとします。

オラクル社は、予期しない動作を避けるため、INSTANCESキーワードを使用しないことをお薦めします。PARALLEL_INSTANCE_GROUP初期化パラメータを使用することをお薦めします。

データベース・セキュリティデータベース・セキュリティデータベース・セキュリティデータベース・セキュリティこの項では、データベース・セキュリティに関する互換性の問題および相互運用性の問題について説明します。

パスワード管理パスワード管理パスワード管理パスワード管理バージョン 7以前のアプリケーションをリリース 8.0およびリリース 8.1のパスワード管理に対応させるには、アプリケーションに次の変更を行います。

� リリース 8.0およびリリース 8.1のOCIコールであるOCISessionBegin()を使用してサーバーに接続します。サーバーが SUCCESS_WITH_INFOを戻す場合、パスワードが有効でまだ猶予期間にあるかどうかを確認します。パスワードの期限が切れていても、まだ猶予期間内であれば、ユーザーに警告を出し、OCIChangePassword()コールを使用してユーザーのパスワードを変更します(パスワード変更コールはオプションですが、使用することをお薦めします)。

� パスワードの期限が切れていてエラーが戻された場合は、リリース 8.0およびリリース8.1の OCIコールである OCIChangePassword()を使用してユーザーのパスワードを変更する必要があります。OCIChangePassword()を使用してパスワードを変更しない場合は、パスワード検証ルーチンは、新しいパスワードが古いパスワードと等しいかどうかを確認しません。同じ場合は変更を拒否しません。

Oracle7のアプリケーションで前述の変更を行わなかった場合、ユーザー・アカウントの期限が切れた後にパスワードを変更するには、SQL*Plusなどの Oracle Toolsが必要になります。

参照参照参照参照 : PARALLEL句および PARALLEL_INSTANCE_GROUP初期化パラメータの詳細は、『Oracle8i SQLリファレンス』を参照してください。

9-38 Oracle8i 移行ガイド

Page 237: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

このリリース 8.0およびリリース 8.1のパスワード管理機能は、デフォルトでオフになっています。リリース 8.0およびリリース 8.1のサーバー・システムでパスワード期限切れ機能を実装していない場合は、Oracle7のクライアント側でパスワード管理について変更を行う必要はありません。DEFAULTプロファイルでは、すべてのパラメータが UNLIMITEDに設定されており、パスワード複雑度チェック・ルーチンは NULLに設定されています。

パスワード検証ルーチンは、そのプロファイル定義とともにエクスポート /インポートされます。ユーザーの履歴表もリリース 8.0およびリリース 8.1でインポート /エクスポートできます。

リリースリリースリリースリリース 8.0以降のサーバーのある以降のサーバーのある以降のサーバーのある以降のサーバーのある Oracle7以前のクライアント以前のクライアント以前のクライアント以前のクライアント Oracle7クライアントは、Oracle7 OCIコールを使用してサーバーに接続します。このため、リリース 8.0以降のパスワードの有効期限は検出できません。ただし、リリース 8.0以降のその他のパスワード管理機能は、Oracle7のクライアントでも動作します。パスワード期限切れの処理も含めたリリース 8.0以降のパスワード管理の全機能は、Oracle7のログイン・コールをリリース 8.0以降のログイン・コールに置き換えるのみで、Oracle7のクライアントでも動作します。

Oracle7以前のサーバーのあるリリース以前のサーバーのあるリリース以前のサーバーのあるリリース以前のサーバーのあるリリース 8.0以降のクライアント以降のクライアント以降のクライアント以降のクライアント リリース 8.0以降のクライアントをコード化して、Oracle7以前のサーバーで機能させることができます。このようなクライアント用のコード例を、次に示します。

OCISessionBegin(...) /* call release 8.0 and higher logon OCI call */if (SUCCESS_WITH_INFO) then { /* Check for password expiration and take appropriate action*/...OCIChangePassword(...);...}

エンタープライズ・ユーザー管理エンタープライズ・ユーザー管理エンタープライズ・ユーザー管理エンタープライズ・ユーザー管理この項では、エンタープライズ・ユーザー管理に関する互換性の問題および相互運用性の問題について説明します。この機能は、Oracle Advanced Securityの機能の一部です。

注意注意注意注意 : Oracle Security Server(OSS)のコンポーネントは、Oracle8iには存在しません。ほとんどの機能は Oracle Advanced Securityに統合されています。オラクル社は、OSSから Oracle Advanced Securityに移行するためのツールを提供していません。

互換性および相互運用性 9-39

Page 238: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

リリースリリースリリースリリース 8.1.5とリリースとリリースとリリースとリリース 8.0との相互運用性との相互運用性との相互運用性との相互運用性 リリース 8.1.5および 8.0のサーバーは、グローバル・ユーザーおよびロールをリリース 8.1.6以降のサーバーと共有できません。また、リリース 8.1.5とリリース 8.1.6以降の間でのカレント・ユーザー・データベース・リンクはサポートされません。リリース 8.0とリリース 8.1.6以降の間でのカレント・ユーザー・データベース・リンクもサポートされません。

Oracle7およびバージョンおよびバージョンおよびバージョンおよびバージョン 6リリースとの相互運用性リリースとの相互運用性リリースとの相互運用性リリースとの相互運用性 バージョン 7またはバージョン 6のサーバーではグローバル・ユーザーを作成または認可できないため、これらのサーバーはグローバル・ユーザーまたはロールをリリース 8.0およびリリース 8.1と共有できません。また、リリース 8.0およびリリース 8.1からバージョン 6またはバージョン 7へのカレント・ユーザー・データベース・リンクは、サポートされません。

データベース・バックアップおよびリカバリデータベース・バックアップおよびリカバリデータベース・バックアップおよびリカバリデータベース・バックアップおよびリカバリこの項では、データベースのバックアップおよびリカバリに関する互換性および相互運用性の問題について説明します。

Recovery ManagerRecovery Managerの実行可能ファイルは、Recovery Managerが動作するターゲット・データベースと同じメンテナンス・リリースである必要があります。したがって、リリース 8.0の Recovery Managerの実行可能ファイルはリリース 8.1のターゲット・データベースでは使用できません。また、リリース 8.1の Recovery Managerの実行可能ファイルはリリース8.0のターゲット・データベースでは使用できません。ただし、Recovery Managerの実行可能ファイルは、同じ新機能のリリースであれば、新しいリリースのターゲット・データベースで使用できます。たとえば、リリース 8.1.5の Recovery Managerの実行可能ファイルは、リリース 8.1.7のターゲット・データベースでは使用できますが、リリース 8.0のターゲット・データベースでは使用できません。

リカバリ・カタログのリリース番号は、そのリカバリ・カタログを作成した Oracleサーバーのリリース番号と同じです。たとえば、Recovery Managerのリリース 8.1.7を使用してリカバリ・カタログを作成する場合、リカバリ・カタログのリリース番号も 8.1.7になります。

一般に、Recovery Managerはリカバリ・カタログのリリース以上のリリースと互換性があります。また、リカバリ・カタログは通常、リカバリ・カタログのリリースより低いリリースのデータベースに常駐できます。このため、たとえば、リリース 8.1.7のリカバリ・カタログをリリース 8.0データベースに配置することができます。

参照参照参照参照 :

� RMANの互換性についてまとめた表は、『Oracle8i リリース 8.1.7追加情報』の「Recovery Manager」の章を参照してください。

� リカバリ・カタログのアップグレードの詳細は、7-44ページの「リカバリ・カタログのアップグレード」を参照してください。

9-40 Oracle8i 移行ガイド

Page 239: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

Recovery Managerコマンドコマンドコマンドコマンド Recovery Managerのリリース 8.1では Recovery Managerコマンドがいくつか変更されています。ただし、以前のリリースで使用されていたすべてのコマンドは、Recovery Managerのリリース 8.1で同様に動作します。

たとえば、cloneコマンドは duplicateコマンドに変更されていますが、cloneコマンドは引き続き実行できます。また、allocateおよび connectコマンドの cloneオプションは、現在 auxiliaryオプションとなっていますが、cloneオプションは引き続き実行できます。同様に、copyおよび setコマンドの clonenameキーワードは、現在 auxnameになっていますが、clonenameキーワードは引き続き実行できます。

バックアップ管理バックアップ管理バックアップ管理バックアップ管理 : EBUおよびおよびおよびおよび Recovery ManagerEBUおよび Recovery Managerは、Oracleデータベースのバックアップを管理するためのクライアント側のユーティリティです。ただし、リリース 8.0およびリリース 8.1のデータベースのバックアップを管理するには、Recovery Managerを使用する必要があります。EBUは、リリース 8.0およびリリース 8.1では使用できません。

EBUおよび Recovery Managerは両方とも、Legatoや EMCなどのサード・パーティーの記憶域サブシステムと通信するためにメディア管理言語(MML)を使用します。EBUおよびOracle7用のテープ・サブシステム管理モジュールに対して行った投資は、Recovery Manager、リリース 8.0およびリリース 8.1でも再利用できます。ただし、バックアップ・ボリューム形式は再利用できません。Recovery Managerは異なる形式を作成し、Oracle7のバックアップはリリース 8.0およびリリース 8.1でのリストアには一般的に役に立たないため、リリース 8.0およびリリース 8.1で記憶域サブシステムに新しいバックアップを書き込む必要があります。

データ・ファイル・バックアップデータ・ファイル・バックアップデータ・ファイル・バックアップデータ・ファイル・バックアップOracle7で作成されたデータ・ファイル・バックアップは、次の例外を除いて、リリース 8.0およびリリース 8.1ではリストアすることができません。移行ユーティリティの実行後に取られた Oracle7データベースのバックアップは、リリース 8.0およびリリース 8.1のどちらのリリースでも、リストアまたはリカバリできます。EBUを使用して Oracle7データベースのバックアップを取り、そのデータベースをリリース 8.0およびリリース 8.1でリストアする必要がある場合、リリース 8.0およびリリース 8.1でリカバリする前に、EBUを使用してデータ・ファイルをリストアする必要があります。Oracle7データベースが、オペレーティング・システム・コマンドでディスク・ファイルにバックアップされる場合、そのディスク・ファイルは、catalog datafilecopyコマンドを使用して、Recovery Managerに登録できます。

ファイルのバックアップを取るリリースとファイルをリカバリするリリース間の直接のアップグレード・パスが、7-2ページの表 7-1「アップグレード・パス」でサポートされている場合、リリース 8.0およびリリース 8.1で取られたデータ・ファイル・バックアップは、リリース 8.0およびリリース 8.1以降のどのリリースでもリストアおよびリカバリできます。

注意注意注意注意 : Recovery Managerのスクリプト言語は、EBUのスクリプト言語とは大きく異なります。

互換性および相互運用性 9-41

Page 240: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

データ・ファイルの内容が以前のリリースと互換性がある場合、リリース 8.0およびリリース 8.1のバックアップをリリース 8.0およびリリース 8.1以前のリリースにリストアおよびリカバリすることもできます。

スタンバイ・データベーススタンバイ・データベーススタンバイ・データベーススタンバイ・データベーススタンバイ・データベースは Oracleのリリース 7.3以上のみで動作します。次の互換性に関する制限はスタンバイ・データベースに適用されます。

� プライマリ・データベースおよびスタンバイ・データベースは同じオペレーティング・システムで実行する必要があります。また、プライマリ・データベースとスタンバイ・データベースはオペレーティング・システムの同じリリースで実行することをお薦めします。

� プライマリ・データベースおよびスタンバイ・データベースは、Oracleの同じメンテナンス・リリースを実行する必要があります。たとえば、プライマリ・データベースがリリース 8.1.7を実行する場合、スタンバイ・データベースは、8.1.5、8.1.6または 8.1.7などのリリース 8.1を実行できます。ただし、この場合、スタンバイ・データベースはOracle7またはリリース 8.0を実行することはできません。

ファスト・スタート・オンデマンド・ロールバックおよびファスト・スファスト・スタート・オンデマンド・ロールバックおよびファスト・スファスト・スタート・オンデマンド・ロールバックおよびファスト・スファスト・スタート・オンデマンド・ロールバックおよびファスト・スタート・パラレル・ロールバックタート・パラレル・ロールバックタート・パラレル・ロールバックタート・パラレル・ロールバックセッションまたはインスタンスが正常に終了しない場合、リカバリ・プロセスとして、Oracleはコミットされていないトランザクションをロールバックします。Oracle8iには、ロールバック・パフォーマンスを向上する、ファスト・スタート・オンデマンド・ロールバックおよびファスト・スタート・パラレル・ロールバックの 2つの新機能があります。

使用不能のトランザクションが、他のトランザクションが必要とする行に行ロックをかけている場合、ファスト・スタート・オンデマンド・ロールバックは、自動的にその新規トランザクションが必要とするデータ・ブロックをリカバリします。どの新規トランザクションの進行もブロックしない他のデータ・ブロックおよびトランザクションは、バックグラウンドでロールバックされます。ファスト・スタート・オンデマンド・ロールバックは、COMPATIBLE初期化パラメータを 8.1.0以上に設定した場合にのみ使用可能です。

ファスト・スタート・パラレル・ロールバックは、複数のサーバー・プロセスを使用して使用不能のトランザクションをリカバリすることによって、バックグラウンドのロールバック・パフォーマンスを向上させます。COMPATIBLE初期化パラメータがリリース 8.0または 8.1に設定されている場合に、ファスト・スタート・パラレル・ロールバックを使用できます。ファスト・スタート・パラレル・ロールバックは、次の条件が満たされた場合にのみ、複数のサーバー・プロセスを使用して使用不能のトランザクションをリカバリします。

� 使用不能の各トランザクションに 1つ以上のプロセスを割り当てるサーバー・プロセスが十分ある。

参照参照参照参照 : スタンバイ・データベースに関するオペレーティング・システムの要件の詳細は、オペレーティング・システム固有の Oracleマニュアルを参照してください。

9-42 Oracle8i 移行ガイド

Page 241: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

� COMPATIBLEがリリース 8.0に設定された場合、トランザクションは複数のサーバー・プロセスで作成される。トランザクションが 1つのサーバー・プロセスのみで作成される場合、1つのサーバー・プロセスのみがロールバック操作で使用されます。この制限は COMPATIBLEが 8.1.0以上に設定された場合には適用されません。

REDOログのアーカイブログのアーカイブログのアーカイブログのアーカイブリリース 8.1では、オンライン REDOログ・ファイルを、ローカル・ディスクベースのファイルや特定のスタンバイ・データベースなど、複数のアーカイブ先にアーカイブすることができます。この新機能によって、この項で説明する互換性および相互運用性の問題が発生する可能性があります。

以前アーカイブされたオンライン以前アーカイブされたオンライン以前アーカイブされたオンライン以前アーカイブされたオンライン REDOログの再アーカイブログの再アーカイブログの再アーカイブログの再アーカイブ リリース 8.1より前のリリースでは、正常かつ完全にアーカイブされたオンライン REDOログ・ファイルを再アーカイブできました。REDOログ・ファイルを、以前正常にアーカイブしたアーカイブ先に再アーカイブもできました。

リリース 8.1以降では、次の制限が適用されます。

� 正常にアーカイブされたオンライン REDOログが再アーカイブされない。

� 正常にアーカイブしたアーカイブ先に再アーカイブされない。

アーカイブ操作エラー検出動作アーカイブ操作エラー検出動作アーカイブ操作エラー検出動作アーカイブ操作エラー検出動作 リリース 8.1より前のリリースでは、エラーが検出された場合、アーカイブ操作がただちに停止し、そのエラーをアラート・ログに報告して、ユーザーにエラーの警告をしていました。

リリース 8.1以降、アーカイブ操作は、アーカイブ先のすべてが処理されない場合にのみ、プロセスを停止します。1つ以上のアーカイブ先でのエラーのみではアーカイブ操作は停止しません。アーカイブ操作は、すべてのアーカイブ先が処理できない場合に停止します。特に、必須のアーカイブは再試行され、アーカイブの再試行が失敗するとプロセスが強制終了します。

LogMinerLogMinerはリリース 8.1以上のインスタンスで動作し、次の基準を満たすすべてのデータベースの REDOログ・ファイルを分析します。

� 分析 Oracleインスタンスと同様のデータベース・キャラクタ・セット(DBCS)を持つ。

� 分析 Oracleインスタンスと同様のハードウェア・プラットフォームで実行する。

� リリース 8.0以上のデータベース。

LogMinerは、REDOログ・ファイルを分析するために、マウントされたデータベースを必要としません。ただし、REDOログ・ファイルの内容を完全に翻訳するには、LogMiner

参照参照参照参照 : ファスト・スタート・オンデマンド・ロールバックの詳細は、『Oracle8i概要』を参照してください。

互換性および相互運用性 9-43

Page 242: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

ディクショナリ(カタログ)へアクセスする必要があります。LogMinerはそのディクショナリを使用して、内部オブジェクト識別子およびデータ型をオブジェクト名および外部データ形式に翻訳します。

PL/SQLパッケージ DBMS_LOGMNR_Dを使用して、データベース・ディクショナリを外部ファイルに抽出します。そのファイルは、後で REDOログ・ファイルの分析に使用できます。ディクショナリがなければ、LogMinerは内部オブジェクト識別子を戻し、データを16進で表示します。

他のデータベースのアーカイブ他のデータベースのアーカイブ他のデータベースのアーカイブ他のデータベースのアーカイブ REDOログ・ファイルの分析ログ・ファイルの分析ログ・ファイルの分析ログ・ファイルの分析 異なるデータベースの REDOログ・ファイルを分析すると同時に、データベースのインスタンスに LogMinerを実行できます。他のデータベースのアーカイブされた REDOログ・ファイルを分析する場合、LogMinerは次の条件を備えている必要があります。

� REDOログ・ファイルと同じデータベースおよび同じデータベースのキャラクタ・セットで作成されるディクショナリ・ファイルへアクセスする。

� 同じシステム上である必要はないが、ログ・ファイルを生成する同様のハードウェア・プラットフォームで実行する。

� Oracleリリース 8.0以上からのリカバリに適用される REDOログ・ファイルを使用する。

Oracle Media Management APIおよびプロキシ・コピーおよびプロキシ・コピーおよびプロキシ・コピーおよびプロキシ・コピーOracle Media Management APIバージョン 2以降では、プロキシ・コピーの機能がサポートされます。Recovery Managerプロキシ・バックアップを行う場合、Oracleはプロキシ・コピー機能をサポートしない Oracle Media Management APIリリース 1.1またはバージョン 2とリンクされます。その後 Recovery Managerはエラーを戻し、バックアップは失敗します。

分散データベース分散データベース分散データベース分散データベースこの項では、分散データベースに関連する互換性および相互運用性の問題について説明します。

スナップショットスナップショットスナップショットスナップショットリリース 8.1より前のリリースでは、Oracleスナップショットは、常にスナップショット・ベース表とそのベース表のビューで構成されていました。たとえば、SNAP_EMPスナップショットを作成することによって、SNAP_EMPビューおよびベース表(通常、SNAP$_SNAP_EMPと呼ばれる)が作成されました。リリース 8.1では、ほとんどのスナップショットは、そのスナップショットと同じ名前のベース表のみを持ちます。ビューは作成されません。

ビューは次の場合にスナップショットに追加されます。

� リリース 8.0などのリリース 8.1より前のデータベースからスナップショットがインポートされた。

9-44 Oracle8i 移行ガイド

Page 243: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

� COMPATIBLEパラメータが 8.1.0未満に設定されている。

� スナップショットは非表示列を必要とする(副問合せを含む ROWIDスナップショットおよび高速リフレッシュ可能なスナップショット)。

Oracleレプリケーションレプリケーションレプリケーションレプリケーションレプリケート環境には、次の互換性に関する制限が適用されます。

� Oracleの異なるリリースがあるレプリケート環境の場合、古いリリースと互換性がないデータはレプリケートできません。たとえば、リリース 8.1.0の互換性レベルのデータベースとリリース 8.0.0の互換性レベルのデータベースがあるレプリケート環境では、リリース 8.0と互換性のないデータは、これらのデータベース間でレプリケートできません。

� リリース 8.1より前のリリースの環境では、アドバンスト・レプリケーション・パッケージの多くは外部に存在しましたが、リリース 8.1では内部に存在します。これは、パフォーマンスを向上し、データの整合性を保つためです。このような内部パッケージは『Oracle8iレプリケーション・ガイド』にリストで示されています。

マスター・サイトの1つ以上がリリース 8.1より前のものであれば、次のプロシージャでGENERATE_80_COMPATIBLEフラグを解除または TRUEに設定する必要があります。

� GENERATE_REPLICATION_SUPPORT

� CREATE_SNAPSHOT_REPOBJECT

� GENERATE_SNAPSHOT_SUPPORT

リリースリリースリリースリリース 8.0.3のマスターでサポートされないリリースのマスターでサポートされないリリースのマスターでサポートされないリリースのマスターでサポートされないリリース 7.3.3スナップショットの高速リフスナップショットの高速リフスナップショットの高速リフスナップショットの高速リフレッシュレッシュレッシュレッシュ リリース 7.3.3のスナップショット・サイトの高速リフレッシュは、マスター・サイトがリリース 8.0.3の場合、サポートされません。これらのスナップショットの完全なリフレッシュを実行してください。

注意注意注意注意 : リリース 8.0およびリリース 8.1のスナップショットのバージョン7データベースへのインポートはサポートされていません。

参照参照参照参照 : レプリケーションの互換性の詳細は、付録 G「レプリケーション環境の移行および互換性」を参照してください。

互換性および相互運用性 9-45

Page 244: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

異機種間サービス・エージェント異機種間サービス・エージェント異機種間サービス・エージェント異機種間サービス・エージェントこの項では、異機種間サービス・エージェントに関する互換性の問題および相互運用性の問題について説明します。

異なるリリースのサーバー間の相互運用性異なるリリースのサーバー間の相互運用性異なるリリースのサーバー間の相互運用性異なるリリースのサーバー間の相互運用性 リリース 8.0.3以降のリリースのサーバーは、リリース 8.0.3以降のリリースの異機種間サービス・エージェントに接続および使用できます。異なるリリースのサーバー間で接続する場合、リリースの低い方の機能に制限されます。

マルチスレッド・サービス・エージェントマルチスレッド・サービス・エージェントマルチスレッド・サービス・エージェントマルチスレッド・サービス・エージェント リリース 8.1以降では、マルチスレッド異機種間サービス・エージェントがサポートされています。既存のエージェントが存在し、マルチスレッド機能を利用する場合は、エージェント初期化ファイルを作成し、エージェント制御ユーティリティを使用してそのエージェントを起動します。

SQL*Netまたはまたはまたはまたは Net8バージョン 7、リリース 8.0およびリリース 8.1では SQL*Net V2または Net8を使用できます。SQL*Net V1は、様々なネットワーク・アドレス指定スキームを使用していましたが、リリース 8.0およびリリース 8.1では使用できません。したがって、アップグレードしたアプリケーションには、次の要件が適用されます。

� クライアントおよびサーバーの両方で、SQL*Net V2またはNet8を起動する必要があります。

� マルチスレッド・サーバーには、SQL*Net V2またはNet8がサーバー上に必要です。したがって、マルチスレッド・サーバーを使用してクライアントと接続するには、クライアント上の SQL*Net V2または Net8を使用する必要があります。

SQL*Net V1のののの SQL*Net V2またはまたはまたはまたは Net8へのアップグレードへのアップグレードへのアップグレードへのアップグレードSQL*Net V1を SQL*Net V2または Net8へアップグレードするには、次の変更を行います。

� SQL*Net V2またはNet8をインストールします。

� 各接続文字列を次のバージョンの接続記述子として再作成します。SQL*Net V2は『SQL*Net管理者ガイド』で概説している構文を使用し、Net8は『Oracle8i Net8 管理者ガイド』で概説している構文を使用します。

� SQL*Plusおよび SQL*Formsを含む、SQL*Net V2またはNet8で使用するプリコンパイラ・プログラムおよび Oracle実行可能ファイルを再リンクします。

参照参照参照参照 : 異機種間サービスの概要、エージェント初期化ファイルの作成およびエージェント制御ユーティリティを使用したエージェントの起動については、『Oracle8i分散システム』を参照してください。

参照参照参照参照 : V1から V2への SQL*Netのアップグレードの詳細は、『SQL*Net管理者ガイド』および『SQL*Net V2 Migration Guide』を参照してください。SQL*Net V1のNet8へのアップグレードの詳細は、『Oracle8i Net8 管理者ガイド』を参照してください。

9-46 Oracle8i 移行ガイド

Page 245: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

サービス・ネーミングおよび接続時ロード・バランシングサービス・ネーミングおよび接続時ロード・バランシングサービス・ネーミングおよび接続時ロード・バランシングサービス・ネーミングおよび接続時ロード・バランシングリリース 8.1以降のリリースは、複数のデータベース・インスタンスを含むサービスのサービス・ネーミングおよび接続時ロード・バランシングをサポートします。各サービスは複数インスタンスを含むことができ、各インスタンスは複数ハンドラを含むことができます。このサポートによって、クライアントはある特定のデータベース・インスタンスではなくサービスにアクセスできるようになります。また、ある特定のインスタンス名からサービス名を論理的に分割することができます。

複数インスタンスを含むサービスをサポートするには、次のような接続記述子の新規パラメータを使用します。

� SERVICE_NAME

� INSTANCE_NAME

新規パラメータは、次のような処理で発生する要求を処理することで接続時ロード・バランシングを使用可能にします。

1. クライアント・プログラムが接続先のサービスの名前を指定します。

2. TNSリスナーがサービス内で最もロードの少ないインスタンスを検索します。

3. TNSリスナーがサービス内で最もロードの少ないハンドラを検索します。

4. 必要に応じて、TNSリスナーがクライアントを最適のハンドラにリダイレクトするか、クライアント接続をハンドラに渡します。

接続時ロード・バランシングを使用するには、次の処理を実行してください。

� 接続拡張子の SIDパラメータの使用を中止します。

� SERVICE_NAMESおよび INSTANCE_NAME初期化パラメータを初期化パラメータ・ファイルで使用します。

� SERVICE_NAMEパラメータを tnsnames.oraファイルで使用します。

注意注意注意注意 : TNSリスナーが同じインスタンス名を持つ 2つ以上のインスタンスを処理できるように設定する前に、どのクライアント・プログラムもSIDパラメータに基づく接続を使用していないことを確認してください。

参照参照参照参照 : 接続時ロード・バランシングおよび SERVICE_NAMEパラメータの使用の詳細は、『Oracle8i Net8 管理者ガイド』を参照してください。

互換性および相互運用性 9-47

Page 246: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

エクスポートエクスポートエクスポートエクスポート /インポートインポートインポートインポートバージョン 5以降では、エクスポート・ダンプ・ファイルは、今後すべての Oracleの主要リリース、パッチ・リリースおよびメンテナンス・リリースにインポート可能になります。表 9-15に、このサポートの詳細を示します。

エクスポート・ユーティリティは、以前のメンテナンス・リリースおよびバージョンのインポート・ユーティリティと下位互換性のないダンプ・ファイルを作成します。これらのエクスポートされたデータは、以前のメンテナンス・リリースおよびバージョンのインポート・ユーティリティではインポートできません。そのため、リリース 8.1のエクスポート・ダンプ・ファイルは、リリース 8.0でインポートできません。また、リリース 8.0およびリリース 8.1のエクスポート・ダンプ・ファイルは、バージョン 7のインポート・ユーティリティでインポートできません。

ただし、以前のリリースのエクスポート・ユーティリティおよびインポート・ユーティリティを使用している場合は、データベースの内容を以前の実働リリースにインポートすることができます。表 9-16に、このサポートの詳細を示します。

表表表表 9-15 エクスポート・ダンプ・ファイルの上位互換性エクスポート・ダンプ・ファイルの上位互換性エクスポート・ダンプ・ファイルの上位互換性エクスポート・ダンプ・ファイルの上位互換性

ダンプ・ファイルダンプ・ファイルダンプ・ファイルダンプ・ファイル 今後のリリースにインポート可能今後のリリースにインポート可能今後のリリースにインポート可能今後のリリースにインポート可能

バージョン 5およびバージョン 6

注意注意注意注意 : バージョン 5では、リリース 5.1.22以降のエクスポート・ダンプ・ファイルのみがサポートされています。

Oracle7、リリース 8.0、リリース 8.1および今後のリリース

Oracle7、リリース 8.0およびリリース 8.1 リリース 8.0、リリース 8.1および今後のリリース

表表表表 9-16 エクスポートエクスポートエクスポートエクスポート /インポートの下位互換性サポートインポートの下位互換性サポートインポートの下位互換性サポートインポートの下位互換性サポート

データのエクスポート元データのエクスポート元データのエクスポート元データのエクスポート元 インポート先の以前インポート先の以前インポート先の以前インポート先の以前のリリースのリリースのリリースのリリース

使用するエクスポート使用するエクスポート使用するエクスポート使用するエクスポート /インポート・ユーティリティインポート・ユーティリティインポート・ユーティリティインポート・ユーティリティ

リリース 8.0 リリース 7.3 リリース 7.3

注意注意注意注意 : エクスポートする前に、catexp7.sqlスクリプトを実行してください。

リリース 8.1 リリース 7.3 リリース 7.3

注意注意注意注意 : エクスポートする前に、catexp7.sqlスクリプトを実行してください。

リリース 8.1 リリース 8.0 リリース 8.0

9-48 Oracle8i 移行ガイド

Page 247: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

表 9-16に示すように、リリース 8.0およびリリース 8.1のデータをバージョン 7のデータベースにエクスポートするには、最初にリリース 8.0およびリリース 8.1のデータベースでcatexp7.sqlスクリプトを実行する必要があります。その後、バージョン 7のエクスポート・ユーティリティを使用してデータをエクスポートします。

たとえば、データをリリース 8.1のデータベースからバージョン 7のデータベースへエクスポートするには、次の手順を実行します。

1. リリース 8.1のデータベース上で catexp7.sqlスクリプトを実行します。catexp7.sqlスクリプトは ORACLE_HOME/rdbms/adminディレクトリにあります。

2. バージョン 7のエクスポート・ユーティリティを使用して、リリース 8.1のデータベースからデータをエクスポートします。

3. バージョン 7のインポート・ユーティリティを使用して、バージョン 7のデータベースにダンプ・ファイルをインポートします。

データをリリース 8.1からリリース 8.0に移動する場合は、catexp7.sqlスクリプトを実行する必要はありません。また、バージョン 6(またはそれ以前)のエクスポート・ユーティリティは、リリース 8.0およびリリース 8.1のデータベースでは使用できません。

以前のバージョンと互換性がないデータでのエクスポート以前のバージョンと互換性がないデータでのエクスポート以前のバージョンと互換性がないデータでのエクスポート以前のバージョンと互換性がないデータでのエクスポート /インポートインポートインポートインポートの使用方法の使用方法の使用方法の使用方法データを以前のリリースにエクスポートする場合、以前のリリースと互換性のないデータはエクスポートできないか、またはいくつかの機能が失われた状態でエクスポートされます。この問題は、データをリリース 8.1からリリース 8.0へ移動した場合、またはデータをリリース 8.0およびリリース 8.1からバージョン 7へ移動した場合に発生します。

たとえば、パーティション表はバージョン 7のエクスポート・ユーティリティではエクスポートされません。リリース 8.0およびリリース 8.1のパーティション表をバージョン 7のデータベースへ移動する必要がある場合は、最初にその表を非パーティション表に再編成します。また、リリース 8.1で実行者権限を使用するプロシージャをエクスポート /インポートする場合にもこの問題が発生します。リリース 8.0のエクスポート・ユーティリティを使用する場合、これらのプロシージャはエクスポートされますが、リリース 8.0では正常に機能しません。これは、リリース 8.0では実行者権限がサポートされていないためです。通常は、データを以前のリリースにエクスポートする必要がある場合は、データをエクスポートする前に、以前のリリースとの非互換性をできるだけ多く削除します。

参照参照参照参照 : エクスポート /インポートの使用方法の詳細は、『Oracle8iユーティリティ・ガイド』を参照してください。

互換性および相互運用性 9-49

Page 248: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性および相互運用性の問題

その他の互換性および相互運用性の問題その他の互換性および相互運用性の問題その他の互換性および相互運用性の問題その他の互換性および相互運用性の問題この項では、Oracleインストールのその他の互換性の問題および相互運用性の問題について説明します。

2GBのファイル・サイズ依存性のファイル・サイズ依存性のファイル・サイズ依存性のファイル・サイズ依存性Oracleリリース 8.0.4以降のリリースは、2GBより大きいファイルにアクセスできます。ただし、このアクセスは次のようなオペレーティング・システム依存性に影響されます。

� ファイル・モードファイル・モードファイル・モードファイル・モード :そのファイルは、ファイル・システム・ファイルまたはロー・デバイス・ファイルですか ?多くの UNIXシステムは、2GBを超えるファイルサイズをロー・デバイスでのみサポートします。

� 非同期非同期非同期非同期 I/O:オペレーティング・システムは、ファイルの非同期 I/Oをローおよびファイル・システム・ファイルの両方についてサポートしていますか ?非同期 I/Oは 2GBを超えるファイルをサポートしていますか ?

� オペレーティング・システムのリビジョンオペレーティング・システムのリビジョンオペレーティング・システムのリビジョンオペレーティング・システムのリビジョン :オペレーティング・システムのリリース番号は 2GBを超えるファイル・サイズをサポートしていますか ?たとえば、Solaris 2.5.1では、ロー・デバイスについてのみ 2GBを超えるファイル・サイズをサポートしています。ただし、Solaris 2.6では、2GBを超えるローおよびファイル・システム・ファイルをサポートします。

� オペレーティング・システムのオペレーティング・システムのオペレーティング・システムのオペレーティング・システムの I/Oサブシステムに関する問題サブシステムに関する問題サブシステムに関する問題サブシステムに関する問題 : 2GBを超えるファイル・サイズをサポートするために、オペレーティング・システムがファームウェアのアップグレードを必要としていますか ?2GBを超えるファイル・サイズをサポートするようになったのは最近のことで、多くのディスク・アレイまたは I/Oサブシステムは、2GBを超えるファイル・サイズをサポートするために、ファームウェアのアップグレードを必要としています。オペレーティング・システムの発売元に、大きいサイズのファイルをサポートするためにどのファームウェア・パッチが必要かを確認してください。

2GBを超えるサイズのファイルを使用する前に、これらのオペレーティング・システム依存性を確認してください。

9-50 Oracle8i 移行ガイド

Page 249: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

アプリケーションのアップグ

10

アプリケーションのアップグレードアプリケーションのアップグレードアプリケーションのアップグレードアプリケーションのアップグレード

この章では、ご使用のアプリケーションのアップグレードについて説明します。次の項目について説明します。

� Oracle8iへのアプリケーションのアップグレードの概要

� プリコンパイラおよび OCIアプリケーションのアップグレード

� SQL*Plusスクリプトのアップグレード

� Oracle7 Formsまたは Oracle Developerアプリケーションのアップグレード

レード 10-1

Page 250: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8iへのアプリケーションのアップグレードの概要

Oracle8iへのアプリケーションのアップグレードの概要へのアプリケーションのアップグレードの概要へのアプリケーションのアップグレードの概要へのアプリケーションのアップグレードの概要Oracleリリース 8.1の新機能を使用しない場合、既存の Oracle7およびリリース 8.0のアプリケーションの変更は必要はありません。リリース 8.1で実行される既存のアプリケーションは以前のリリースと同様に機能し、同様または向上したパフォーマンスを得ることができます。

リリース 8.1に移行またはアップグレードすると、多くの新機能および拡張を使用できます。いくつかの機能性が追加され、またパフォーマンスが向上します。アプリケーションをアップグレードする前に、これらの新機能を確認して、どの機能を使用するかを判断する必要があります。

アプリケーションの互換性の問題アプリケーションの互換性の問題アプリケーションの互換性の問題アプリケーションの互換性の問題Oracleの異なるリリース間に互換性の問題があり、ご使用のアプリケーションに影響する場合があります。これらの互換性の問題は、異なるリリースの Oracleサーバーの違いによって発生します。また、Oracleの新しいリリースでは、Oracleの新しい予約語が追加され、初期化パラメータおよびデータ・ディクショナリが変更されている場合があります。

ご使用の Oracleサーバーを新しいリリースにアップグレードまたは移行する場合は、アプリケーションが Oracleの予約語を使用していないか、アプリケーションがサーバーの初期化パラメータと互換性があるか、またはアプリケーションがサーバーのデータ・ディクショナリと互換性があるかどうかを確認してください。Oracleソフトウェアの新しいリリースには、特定のオペレーティング・システムまたはパッチ設定を適用させる必要がある場合があります。

SQL*Net V2およびNet8は、両方とも Oracleの様々なバージョンおよびリリースで動作します。そのため、バージョン 7のデータベースおよびリリース 8.0およびリリース 8.1のデータベースは、SQL*Net V2およびNet8を使用して通信できます。ただし、SQL*Net V1は、異なるネットワーク・アドレッシング・スキームを使用しているため、Oracleリリース8.0およびリリース 8.1では使用できません。

10-2 Oracle8i 移行ガイド

Page 251: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

プリコンパイラおよび OCIアプリケーションのアップグレード

プリコンパイラおよびプリコンパイラおよびプリコンパイラおよびプリコンパイラおよび OCIアプリケーションのアップグレードアプリケーションのアップグレードアプリケーションのアップグレードアプリケーションのアップグレードプリコンパイラと OCIアプリケーションのアップグレード・パスは類似しています。この項では、これらのアプリケーションのアップグレード選択肢について説明します。また、必要に応じてプリコンパイラと OCIアプリケーションの違いを注記します。

本番環境をアップグレードする前に、テスト環境を作成します。テスト環境には、アップグレードされたアプリケーションおよび Oracleリリース 8.1データベースが必要です。また、テスト環境では、アプリケーションの現実的なテストを行う必要があります。

参照参照参照参照 :

� アプリケーションに関する互換性の問題の詳細は、9-16ページの「アプリケーション」を参照してください。

� 初期化パラメータの変更の詳細は、付録 Bを参照してください。

� データ・ディクショナリの変更の詳細は、付録 Cおよび付録 Dを参照してください。

� Oracleの予約語の詳細は、『Oracle8i SQLリファレンス』を参照してください。

� オペレーティング・システム要件の詳細は、ご使用のオペレーティング・システムの Oracleマニュアルを参照してください。

参照参照参照参照 : これらのプログラミング環境の使用方法の詳細は、『Oracle8i Pro*C/C++プリコンパイラ・プラグラマーズ・ガイド』、『Oracle8i Pro*COBOLプリコンパイラ・プラグラマーズ・ガイド』および『Oracle8iコール・インタフェース・プログラマーズ・ガイド』を参照してください。

アプリケーションのアップグレード 10-3

Page 252: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

プリコンパイラおよび OCIアプリケーションのアップグレード

ソフトウェア・アップグレードおよびクライアントソフトウェア・アップグレードおよびクライアントソフトウェア・アップグレードおよびクライアントソフトウェア・アップグレードおよびクライアント /サーバー構成の理解サーバー構成の理解サーバー構成の理解サーバー構成の理解プリコンパイラおよび OCIアプリケーションのアップグレード選択肢を理解するには、まず、実行するソフトウェア・アップグレードのタイプおよびクライアント /サーバー構成を理解する必要があります。

ソフトウェア・アップグレードのタイプソフトウェア・アップグレードのタイプソフトウェア・アップグレードのタイプソフトウェア・アップグレードのタイプクライアントおよびサーバーの Oracleソフトウェアに対して、次の 3つのタイプのアップグレードを行うことができます。

バージョン・リリースのアップグレードバージョン・リリースのアップグレードバージョン・リリースのアップグレードバージョン・リリースのアップグレード このアップグレードは、リリース番号の最初の数字を変更します。たとえば、バージョン 7からリリース 8.0およびリリース 8.1へのアップグレードは、バージョン・リリースのアップグレードです。

機能リリースのアップグレード機能リリースのアップグレード機能リリースのアップグレード機能リリースのアップグレード このアップグレードは、リリース番号の 2番目の数字を変更します。たとえば、リリース 8.0からリリース 8.1へのアップグレードは、機能リリースのアップグレードです。

メンテナンス・リリースのアップグレードメンテナンス・リリースのアップグレードメンテナンス・リリースのアップグレードメンテナンス・リリースのアップグレード このアップグレードは、リリース番号の 3番目の数字を変更します。たとえば、リリース 8.1.5からリリース 8.1.7へのアップグレードは、メンテナンス・リリースのアップグレードです。

使用できるクライアント使用できるクライアント使用できるクライアント使用できるクライアント /サーバー構成サーバー構成サーバー構成サーバー構成ご使用のプリコンパイラおよび OCIアプリケーションは、クライアント /サーバー環境のクライアントで実行されます。ここで、Oracleデータベース・サーバーはサーバーにあります。ご使用の環境で、次の 1つ以上のクライアント /サーバー構成を使用できます。

異なるコンピュータ異なるコンピュータ異なるコンピュータ異なるコンピュータ クライアント・ソフトウェアおよびサーバー・ソフトウェアが異なるコンピュータにあり、それぞれがネットワークで接続されています。クライアント環境とサーバー環境は独立しています。

同じコンピュータ上の異なる同じコンピュータ上の異なる同じコンピュータ上の異なる同じコンピュータ上の異なる Oracleホーム・ディレクトリホーム・ディレクトリホーム・ディレクトリホーム・ディレクトリ クライアント・ソフトウェアおよびサーバー・ソフトウェアは同じコンピュータ上にありますが、異なる Oracleホーム・ディレクトリにインストールされています。クライアント環境とサーバー環境は独立しています。

同じ同じ同じ同じ Oracleホームホームホームホーム クライアント・ソフトウェアおよびサーバー・ソフトウェアが同じコンピュータ上の同じ Oracleホームにインストールされています。この場合、サーバー・ソフトウェアをアップグレードすると、クライアント・ソフトウェアもアップグレードされます。

参照参照参照参照 : クライアント /サーバー環境の詳細は、『Oracle8i概要』および『Oracle8i分散システム』を参照してください。

10-4 Oracle8i 移行ガイド

Page 253: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

プリコンパイラおよび OCIアプリケーションのアップグレード

Oracleソフトウェアをアップグレードする場合のアプリケーションの互換ソフトウェアをアップグレードする場合のアプリケーションの互換ソフトウェアをアップグレードする場合のアプリケーションの互換ソフトウェアをアップグレードする場合のアプリケーションの互換性規則性規則性規則性規則

この項では、Oracleサーバー・ソフトウェアまたは Oracleクライアント・ソフトウェアをアップグレードする場合に適用される、互換性規則について説明します。この規則は、実行するソフトウェア・アップグレードのタイプおよびご使用のクライアント /サーバー構成に基づきます。

この項では、次のようなアップグレードの互換性規則について説明します。

� Oracleサーバー・ソフトウェアのアップグレード

� Oracleクライアント・ソフトウェアのアップグレード

Oracleサーバー・ソフトウェアのアップグレードサーバー・ソフトウェアのアップグレードサーバー・ソフトウェアのアップグレードサーバー・ソフトウェアのアップグレード次の規則は、Oracleサーバー・ソフトウェアをアップグレードする場合に適用されます。

クライアント環境を変更しない場合、再リンクする必要はないクライアント環境を変更しない場合、再リンクする必要はないクライアント環境を変更しない場合、再リンクする必要はないクライアント環境を変更しない場合、再リンクする必要はない ご使用のクライアントとサーバーが異なるコンピュータにあるか、または同じコンピュータの異なる Oracleホーム・ディレクトリにあるときに、クライアント・ソフトウェアを変更しないで Oracleサーバー・ソフトウェアをアップグレードする場合は、アプリケーションをプリコンパイル、コンパイルまたは再リンクする必要はありません。このような場合、クライアント・ソフトウェアはサーバー・ソフトウェアから独立しており、サーバーに対し継続して機能します。

ただし、アプリケーションが Oracleサーバーと同じ Oracleホームを使用している場合は、サーバー・ソフトウェアをアップグレードするとクライアント・ソフトウェアもアップグレードされます。この場合、10-6ページの「Oracleクライアント・ソフトウェアのアップグレード」の規則に従う必要があります。

注意注意注意注意 : この項では、10-4ページの「ソフトウェア・アップグレードおよびクライアント /サーバー構成の理解」で説明されている用語を使用しています。

注意注意注意注意 : Oracleサーバー・ソフトウェアと、プリコンパイラまたは OCIクライアント・ソフトウェアが同じ Oracleホームを使用している場合、新しいプリコンパイラまたは OCIクライアント・ソフトウェアはインストールしないで、Oracleサーバー・ソフトウェアをアップグレードすることができます。この場合、クライアント・ソフトウェアはアップグレードされません。ただし、このような構成はお薦めしません。

アプリケーションのアップグレード 10-5

Page 254: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

プリコンパイラおよび OCIアプリケーションのアップグレード

Oracleサーバーの新しいまたは古いリリースでアプリケーションを実行できるサーバーの新しいまたは古いリリースでアプリケーションを実行できるサーバーの新しいまたは古いリリースでアプリケーションを実行できるサーバーの新しいまたは古いリリースでアプリケーションを実行できる データベース・サーバーに対してプリコンパイラまたは OCIアプリケーションを実行する場合、データベースのサーバー・ソフトウェアのリリースをクライアント・ソフトウェアのリリース以上にすることをお薦めします。ただし、これは必須ではありません。たとえば、Oracleクライアント・ソフトウェアがリリース 8.0.6の場合、クライアントのプリコンパイラ・アプリケーションをサーバーに対して実行するには、Oracleサーバー・ソフトウェアはリリース8.0.6以上である必要があります。

ただし、サーバー・ソフトウェアおよびクライアント・ソフトウェアは、1つのバージョン内である必要があります。そのため、Pro*Cおよび Pro*COBOLアプリケーションは、リリース 8.0およびリリース 8.1のデータベース・サーバーに対して実行するには、リリース1.5以上である必要があります。Pro*C 8.1を使用するアプリケーションは、プリコンパイラまたはサーバーのリリース 8.0およびリリース 8.1の新機能(オブジェクト機能など)を使用しない場合に、Oracle7のサーバーに対して動作します。

OCIでは、バージョン 7のクライアント・ソフトウェアは、リリース 8.0およびリリース 8.1の Oracleサーバーに対して実行できます。また、リリース 8.0およびリリース 8.1のクライアント・ソフトウェアは、バージョン 7のサーバーに対して実行できます。ただし、クライアント・ソフトウェアがバージョン 6の場合は、サーバー・ソフトウェアはバージョン 7以下である必要があります。つまり、この場合、サーバー・ソフトウェアはリリース 8.0およびリリース 8.1にできません。同様に、クライアント・ソフトウェアがリリース 8.0およびリリース 8.1の場合は、サーバー・ソフトウェアはバージョン 7以上である必要があります。つまり、この場合は、サーバー・ソフトウェアはバージョン 6にできません。また、リリース 8.1のクライアントをバージョン 7のサーバーに対して実行している場合は、アプリケーションは、リリース 8.0およびリリース 8.1の新機能(オブジェクト機能を含む)を使用できません。

Oracleクライアント・ソフトウェアのアップグレードクライアント・ソフトウェアのアップグレードクライアント・ソフトウェアのアップグレードクライアント・ソフトウェアのアップグレードご使用のクライアント・ソフトウェアをアップグレードして、現行のサーバー・ソフトウェアと一致させることをお薦めします。たとえば、ご使用の Oracleサーバーをリリース 8.1.7にアップグレードする場合は、クライアント・ソフトウェアもリリース 8.1.7にアップグレードすることをお薦めします。サーバー・ソフトウェアとクライアント・ソフトウェアのリリース番号を同じにしておくと、アプリケーションの最大の安定性を得ることができます。さらに、最新の Oracleクライアント・ソフトウェアは、以前のリリースにはない追加機能およびパフォーマンス強化を提供する場合があります。

次の規則は、Oracleクライアント・ソフトウェアをアップグレードする場合に適用されます。

アプリケーションは、より新しいライブラリにリンクできるアプリケーションは、より新しいライブラリにリンクできるアプリケーションは、より新しいライブラリにリンクできるアプリケーションは、より新しいライブラリにリンクできる プリコンパイラ・アプリケーションによって生成されたコードは、サーバーのリリース以上のクライアント・ライブラリのリリースにリンクできます。ただし、プリコンパイラ・ライブラリのリリースは、1バージョンを超える新しいプリコンパイラ・クライアント・ソフトウェアのバージョンにはできません。そのため、Pro*Cおよび Pro*COBOLアプリケーションは、Oracleリリース 8.0およびリリース 8.1のライブラリにリンクするには、リリース 1.5以上である必要があります。

10-6 Oracle8i 移行ガイド

Page 255: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

プリコンパイラおよび OCIアプリケーションのアップグレード

さらに、Oracleバージョン 7およびリリース 8.0およびリリース 8.1の SQLLIB関数コールは、同じアプリケーションおよび同じトランザクションで混在できます。

OCIアプリケーションは、そのアプリケーションが開発された OCIライブラリのバージョン以上の OCIランタイム・ライブラリのバージョンとリンクできます。

静的にリンクされたアプリケーションを再リンクさせる必要はない静的にリンクされたアプリケーションを再リンクさせる必要はない静的にリンクされたアプリケーションを再リンクさせる必要はない静的にリンクされたアプリケーションを再リンクさせる必要はない 静的にリンクされたアプリケーションに対しては、クライアント・ソフトウェアのどのタイプのアップグレードを実行しても、プリコンパイラおよび OCIアプリケーションを再リンクさせる必要はありません。ただし、パフォーマンスが向上する場合があるため、再リンクさせることをお薦めします。

アプリケーションはメンテナンス・リリースのアップグレードで再リンクさせる必要はないアプリケーションはメンテナンス・リリースのアップグレードで再リンクさせる必要はないアプリケーションはメンテナンス・リリースのアップグレードで再リンクさせる必要はないアプリケーションはメンテナンス・リリースのアップグレードで再リンクさせる必要はない クライアント・ソフトウェアのメンテナンス・リリースのアップグレードを実行する場合、アプリケーションを再リンクさせる必要はありません。アプリケーションは、再リンクしなくても継続して正常に機能します。たとえば、クライアント・ソフトウェアをリリース 8.1.5からリリース 8.1.7にアップグレードする場合、アプリケーションを再リンクさせる必要はありません。

動的にリンクされたプリコンパイラ・アプリケーションはバージョンまたは機能リリースの動的にリンクされたプリコンパイラ・アプリケーションはバージョンまたは機能リリースの動的にリンクされたプリコンパイラ・アプリケーションはバージョンまたは機能リリースの動的にリンクされたプリコンパイラ・アプリケーションはバージョンまたは機能リリースのアップグレードで再リンクさせる必要があるアップグレードで再リンクさせる必要があるアップグレードで再リンクさせる必要があるアップグレードで再リンクさせる必要がある クライアント・ソフトウェアのバージョンまたは機能リリースのアップグレードを実行する場合、プリコンパイラ・アプリケーションを再リンクさせる必要があります。ただし、アプリケーションをプリコンパイルまたはコンパイルする必要はありません。たとえば、クライアント・ソフトウェアをリリース 8.0.6からリリース 8.1.7にアップグレードする場合は、プリコンパイラ・アプリケーションを再リンクさせる必要があります。または、クライアント・ソフトウェアをバージョン 7からリリース 8.0およびリリース 8.1にアップグレードする場合は、プリコンパイラ・アプリケーションを再リンクさせる必要があります。

動的にリンクされた動的にリンクされた動的にリンクされた動的にリンクされた OCIアプリケーションを再リンクさせる必要はないアプリケーションを再リンクさせる必要はないアプリケーションを再リンクさせる必要はないアプリケーションを再リンクさせる必要はない クライアント・ソフトウェアのバージョンまたは機能リリースのアップグレードを実行する場合、動的にリンクされた OCIアプリケーションを再リンクさせる必要はありません。ただし、パフォーマンスが向上する場合があるため、再リンクさせることをお薦めします。

注意注意注意注意 : いくつかのオペレーティング・システムでは、クライアント・ソフトウェアのバージョンまたは機能リリースのアップグレードを実行する場合、動的にリンクされたプリコンパイラ・アプリケーションを再リンクさせる必要はありません。詳細は、ご使用のオペレーティング・システムの Oracleマニュアルを参照してください。

アプリケーションのアップグレード 10-7

Page 256: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

プリコンパイラおよび OCIアプリケーションのアップグレード

プリコンパイラおよびプリコンパイラおよびプリコンパイラおよびプリコンパイラおよび OCIアプリケーションのアップグレード選択肢アプリケーションのアップグレード選択肢アプリケーションのアップグレード選択肢アプリケーションのアップグレード選択肢プリコンパイラおよび OCIアプリケーションをアップグレードする場合、次の 4つの選択肢があります。

これらの選択肢は、難易度が高く、考えられる利点が大きくなる順序で記述されています。つまり、選択肢 1は最も簡単ですが、考えられる利点は最も小さくなります。選択肢 4は最も難しい方法ですが、考えられる利点は最も大きくなります。これらの選択肢の詳細を次に説明します。

選択肢選択肢選択肢選択肢 1:アプリケーションを変更しないアプリケーションを変更しないアプリケーションを変更しないアプリケーションを変更しないアプリケーションを変更しません。アプリケーションは Oracle8iデータベースで継続して動作します。この選択肢の主な利点は、単純で簡単であることです。さらに、この選択肢では、すべてのクライアント・コンピュータをアップグレードする必要がないため、管理の必要性が最も少なくなります。多くのクライアント・コンピュータがある場合は、すべてのコンピュータのアップグレードに費やす管理コストを削減することが大変重要になります。

この選択肢の欠点は、アプリケーションが Oracle8iで使用可能な新機能を使用できないことです。さらに、アプリケーションは、Oracle8iのパフォーマンスの利点を得ることができません。

選択肢選択肢選択肢選択肢 1: アプリケーションを変更しません。アプリケーションを再リンク、プリコンパイルまたはコンパイルしません。また、アプリケーション・コードを変更しません。アプリケーションは、Oracle8iデータベースで継続して動作します。

選択肢選択肢選択肢選択肢 2: アプリケーションを新しい Oracle8iライブラリと再リンクさせます。アプリケーションをプリコンパイルまたはコンパイルしません。また、アプリケーション・コードを変更しません。

選択肢選択肢選択肢選択肢 3: 新しい Oracle8iソフトウェアを使用して、アプリケーションをプリコンパイルまたはコンパイル(あるいはその両方)し、再リンクさせます。アプリケーション・コードは変更しません。

選択肢選択肢選択肢選択肢 4: アプリケーション・コードを変更して、Oracle8iの新機能を使用します。コードをプリコンパイルまたはコンパイル(あるいはその両方)し、再リンクさせます。

10-8 Oracle8i 移行ガイド

Page 257: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

プリコンパイラおよび OCIアプリケーションのアップグレード

選択肢選択肢選択肢選択肢 2:アプリケーションを新しいアプリケーションを新しいアプリケーションを新しいアプリケーションを新しい Oracle8iライブラリに再リンクさせるライブラリに再リンクさせるライブラリに再リンクさせるライブラリに再リンクさせるコード変更および再コンパイルしないで、アプリケーションを新しい Oracle8iライブラリに再リンクさせることができます。再リンクさせることによって、アプリケーションは、新しいライブラリのみで得られるパフォーマンスの向上を得られます。本番環境でアプリケーションを再リンクさせる前に、必ずテスト環境でアプリケーションを再リンクさせてください。

選択肢選択肢選択肢選択肢 3:新しいソフトウェアを使用してアプリケーションをプリコン新しいソフトウェアを使用してアプリケーションをプリコン新しいソフトウェアを使用してアプリケーションをプリコン新しいソフトウェアを使用してアプリケーションをプリコンパイルまたはコンパイル(あるいはその両方)するパイルまたはコンパイル(あるいはその両方)するパイルまたはコンパイル(あるいはその両方)するパイルまたはコンパイル(あるいはその両方)するコードを変更しないで、新しい Oracle8iソフトウェアを使用してアプリケーションをプリコンパイルまたはコンパイル(あるいはその両方)できます。この選択肢では、各クライアント・コンピュータに新しい Oracleクライアント・ソフトウェアをインストールする必要があります。ただし、クライアントの数にかかわらず、アプリケーションのプリコンパイル /コンパイルおよび再リンクは一度しか必要ありません。これは大きな利点になります。

再コンパイルすることによって、アプリケーション・コードの構文チェックを実行します。新しい Oracleソフトウェアを使用してプリコンパイルまたはコンパイル(あるいはその両方)すると、Oracleソフトウェアの以前のリリースでは検出されなかったアプリケーション・コードのいくつかの問題が、検出される場合があります。したがって、新しいソフトウェアを使用したプリコンパイルまたはコンパイル(あるいはその両方)は、以前に検出されなかった可能性があるアプリケーション・コードの問題の検出および解決に役立ちます。

また、アプリケーションは新しい Oracleソフトウェアで動作するため、再コンパイルすることによって、アプリケーションの最大の安定性を得ることができます。さらに、使用可能な最新の Toolsおよび機能を使用して、ご使用の環境で新しい開発を行うことができます。さらに、再コンパイルおよび再リンクの実行後のみ、新しい Oracleソフトウェアで得られるパフォーマンスの向上を得ることができます。

注意注意注意注意 : 特定のタイプのアップグレードを実行する場合、アプリケーションを新しいライブラリに再リンクさせる必要があります。たとえば、クライアント環境のバージョンまたは機能リリースのアップグレードを実行する場合、再リンクさせてください。Oracleソフトウェアをアップグレードする場合の規則については、10-5ページの「Oracleソフトウェアをアップグレードする場合のアプリケーションの互換性規則」を参照してください。

注意注意注意注意 : 共有ライブラリをサポートしていないオペレーティング・システムでは、実行可能ファイルに新しいライブラリを追加する場合、アプリケーションを再リンクさせてください。

アプリケーションのアップグレード 10-9

Page 258: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

プリコンパイラおよび OCIアプリケーションのアップグレード

選択肢選択肢選択肢選択肢 4:アプリケーション・コードを変更して、新しいアプリケーション・コードを変更して、新しいアプリケーション・コードを変更して、新しいアプリケーション・コードを変更して、新しい Oracle8i機能を機能を機能を機能を使用する使用する使用する使用するアプリケーションのコードを変更して、新しい Oracle8i機能の利点を得ることができます。この選択肢は最も難しい方法ですが、考えられる利点は最も大きくなります。この選択肢では、選択肢 3で説明したすべての利点を得ることができます。さらに、アプリケーションへの変更によって、Oracle8iで得られるパフォーマンスおよびスケーラビリティの利点を得ることができます。さらに、Oracle8iの新しいリリースでのみ使用できる新機能を、アプリケーションに追加できます。

使用する機能の実装方法については、ご使用の開発環境の Oracleマニュアルを参照してください。プリコンパイラの詳細は、『Oracle8i Pro*C/C++プリコンパイラ・プラグラマーズ・ガイド』および『Oracle8i Pro*COBOLプリコンパイラ・プラグラマーズ・ガイド』を参照してください。OCIの詳細は、『Oracle8iコール・インタフェース・プログラマーズ・ガイド』を参照してください。

使用する新機能を決定したら、アプリケーションのコードを変更して、これらの機能を使用できるようにします。ご使用の開発環境に基づいて、次の適切な指示に従ってください。

� プリコンパイラ・アプリケーションの変更

� OCIアプリケーションの変更

プリコンパイラ・アプリケーションの変更プリコンパイラ・アプリケーションの変更プリコンパイラ・アプリケーションの変更プリコンパイラ・アプリケーションの変更 Oracle8iの機能を使用できるようにプリコンパイラ・アプリケーションを変更するには、次の手順を実行します。

1. 既存のアプリケーションが Oracleバージョン 7か Oracleリリース 8.0およびリリース8.1のアプリケーションかによって、次のいずれかの処理を実行します。

� バージョン 7のアプリケーションを使用している場合、バージョン 7と Oracle8iの違いを反映させるように、既存のバージョン 7のアプリケーションを変更するか、または新しいアプリケーションが記述されている必要があります。

� リリース 8.0およびリリース 8.1のアプリケーションを使用していて、リリース 8.1の新機能の利点を得る場合、リリース 8.1の新機能のコードを既存のリリース 8.0およびリリース 8.1のアプリケーションに取り込みます。

2. Oracleプリコンパイラを使用して、アプリケーションをプリコンパイルします。

3. アプリケーションをコンパイルします。

4. プリコンパイラに付属する Oracle8iリリース 8.1のランタイム・ライブラリ(SQLLIB)に、アプリケーションを再リンクさせます。

10-10 Oracle8i 移行ガイド

Page 259: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

SQL*Plusスクリプトのアップグレード

OCIアプリケーションの変更アプリケーションの変更アプリケーションの変更アプリケーションの変更 Oracle8iの機能を使用できるように OCIアプリケーションを変更するには、次の手順を実行します。

1. 次のいずれかの方法で、OCIコールを変更します。

� アプリケーションが Oracleバージョン 7の OCIコールを使用している場合、新しいOracle8iリリース 8.1の OCIコールのみを使用するように、アプリケーションを変更します。

� アプリケーションが Oracleバージョン 7の OCIコールを使用している場合、バージョン 7のコールをいくつかの操作に使用している間に、Oracle8iリリース 8.1のOCIコールを既存のアプリケーションに取り込みます。

� アプリケーションが Oracle8のコールのみを使用している場合、新しい Oracle8iリリース 8.1の OCIコールを既存のアプリケーションに取り込みます。

2. アプリケーションをコンパイルします。

3. アプリケーションを Oracle8iリリース 8.1のランタイム・ライブラリに再リンクさせます。

SQL*PlusスクリプトのアップグレードスクリプトのアップグレードスクリプトのアップグレードスクリプトのアップグレードSQL*Plusリリース 8.0以上、リリース 8.0以上のデータベースおよび PL/SQLリリース 8.0以上の機能を使用するには、次の手順を実行します。

1. SQL*Plusリリース 3.xのスクリプトを次のように変更して、SQL*Plusリリース 8.0以上のスクリプトに変換します。

a. スクリプトに SET COMPATIBILITY VERSION 7という行がある場合は、それをSET COMPATIBILITY VERSION 8に変更します。または、この行を削除してデフォルト設定(VERSION 8)を使用します。

b. login.sqlおよび glogin.sqlファイルをチェックして、SET COMPATIBILITY VERSION 7という行を SET COMPATIBILITY VERSION 8に変更します。

c. SQL*Plusの新機能の詳細は、『Oracle8i SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。

アプリケーションのアップグレード 10-11

Page 260: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle7 Formsまたは Oracle Developerアプリケーションのアップグレード

2. Oracle8iの新機能を使用するには、Oracle8iの新しい構文を使用するように既存の SQLスクリプトを変更します。Oracle8iの新機能を使用しない場合は、既存の SQLスクリプトに変更を加えなくても Oracle8iで実行できます。

.

Oracle7 Formsまたはまたはまたはまたは Oracle Developerアプリケーションのアッアプリケーションのアッアプリケーションのアッアプリケーションのアップグレードプグレードプグレードプグレード

Formsアプリケーションは、Oracle7でも Oracle8iでも同じように動作します。Oracle8iの機能とどのように相互作用するかについては、Oracle Developerのドキュメント・セットを参照してください。また、オペレーティングシステムの Oracle Developerドキュメントには、ご使用の Formsまたは Developerアプリケーションのアップグレード方法が記述されています。

参照参照参照参照 : SQLスクリプトのアップグレードの詳細は、『Oracle8i SQLリファレンス』を参照してください。

注意注意注意注意 : PL/SQLパッケージ、プロシージャまたはファンクションを変更する必要はありません。

注意注意注意注意 : Oracle Developerの新しいリリースでは、Oracle Developer固有の新しい予約語が導入されている場合があります。アプリケーションがこれらの予約語を使用している場合は、コードを変更する必要があります。

10-12 Oracle8i 移行ガイド

Page 261: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Server Managerから SQL*Plusへ

11

Server Managerからからからから SQL*Plusへの移行への移行への移行への移行

オラクル社は、Server Managerのラインモードではなく、SQL*Plusに対応した書式でスクリプトを記述することをお薦めします。Server Managerラインモードを使用して SQLスクリプトを実行している場合は、SQL*Plusと互換性を持たせるために、これらのスクリプトを変更し、SQL*Plusを使用して実行するようにしてください。この章では、Server Managerのラインモード・スクリプトを SQL*Plusで動作させるための変更について説明します。

この章では、次の項目について説明します。

� 起動の違い

� コマンド

� 構文の違い

参照参照参照参照 : SQL*Plusリリース 8.1の使用方法については、『Oracle8i SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。

注意注意注意注意 : この章では、Server Managerラインモードを Server Managerと表記します。

の移行 11-1

Page 262: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

起動の違い

起動の違い起動の違い起動の違い起動の違いServer Managerと SQL*Plusを起動する方法は異なります。SQLスクリプトを変更し、SQL*Plusを正しく起動する必要があります。次の項では起動の違いを説明し、SQL*Plusを起動するためのオプションについて説明します。

Server Managerの起動の起動の起動の起動Server Managerを起動するには、システム・プロンプトで Server Managerのプログラム名を入力します。このプログラム名はオペレーティング・システム固有です。Server Manager起動後、次の例のように CONNECTコマンドを使用して接続します。

CONNECT scott/tiger

SQL*Plusの起動の起動の起動の起動次の項では、SQL*Plusを起動する様々な方法について説明します。

NOLOGオプションを使用したオプションを使用したオプションを使用したオプションを使用した SQL*Plusの起動の起動の起動の起動SQL*Plusを Server Managerと同じように動作させるには、SQL*Plus起動時に次のようにNOLOGオプションを使用します。

sqlplus /nolog

SQL*Plusが起動し、CONNECTコマンドを使用してユーザーとして接続できます。

接続情報を使用した接続情報を使用した接続情報を使用した接続情報を使用した SQL*Plusの起動の起動の起動の起動SQL*Plusを起動する他の方法として、プログラム起動時に接続情報を入力する方法があります。たとえば、SQL*Plusを起動し、SCOTT/TIGERとして接続するには、次のように入力します。

sqlplus scott/tiger

SQL*Plusが起動し、SCOTTというユーザーとして接続します。

11-2 Oracle8i移行ガイド

Page 263: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

コマンド

オプションまたは接続情報なしのオプションまたは接続情報なしのオプションまたは接続情報なしのオプションまたは接続情報なしの SQL*Plusの起動の起動の起動の起動オプションまたは接続情報なしで SQL*Plusを起動するには、次のように入力します。

sqlplus

ユーザー名およびパスワードを入力するプロンプトが表示されます。有効なユーザー名およびパスワードを入力すると、SQL*Plusが起動し、プロンプトで指定したユーザーとして接続します。ただし、SQLスクリプトで、ユーザー名およびパスワードの入力を省略することもできます。

コマンドコマンドコマンドコマンドServer Managerと SQL*Plusは、両方のプログラムで同じ処理を行う特定のコマンドを共有しています。ただし、Server Managerでの処理と SQL*Plusでの処理が異なるコマンドもあります。Server Managerから SQL*Plusへの移行を正常に行うには、このような違いおよび類似点を理解する必要があります。次の項では、SQL*Plusによって正しく解釈されるコマンドを使用するための SQLスクリプトの変更について説明します。

SQL*Plusリリースリリースリリースリリース 8.1の新しいコマンドの新しいコマンドの新しいコマンドの新しいコマンド表 11-1に、SQL*Plusで現在使用可能な Server Managerコマンドを示します。SQL*Plusリリース 8.1で実行している SQLスクリプトで、これらのコマンドを使用できます。

注意注意注意注意 : リリース 8.1より前のデータベース(Oracle7、リリース 8.0など)でこれらのコマンドを含むスクリプトを実行するには、Server Managerを使用します。SQL*Plusリリース 8.1より前の SQL*Plusのバージョンは、これらの新しいコマンドを含むスクリプトを実行しません。

Server Managerから SQL*Plusへの移行 11-3

Page 264: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

コマンド

表表表表 11-1 リリースリリースリリースリリース 8.1の新しいの新しいの新しいの新しい SQL*Plusコマンドコマンドコマンドコマンド

コマンドコマンドコマンドコマンド 説明説明説明説明

ARCHIVE LOG オンライン REDOログ・ファイルの自動アーカイブを開始または停止するか、特定のREDOログ・ファイルを手動で(明示的に)アーカイブするか、またはアーカイブについての情報を表示します。

RECOVER 1つ以上の表領域、1つ以上のデータ・ファイルまたはデータベース全体で、メディア・リカバリを実行します。

SET AUTORECOVERY ONにすると、リカバリ中に必要なアーカイブ REDOログ・ファイルのデフォルトのファイル名を、RECOVERコマンドに自動的に適用します。AUTORECOVERYが ONに設定されている場合、必要なファイルが所定の名前で所定の位置に配置されているため対話は不要です。

SET INSTANCE セッションに対するデフォルト・インスタンスを指定のインスタンス・パスに変更します。データベースへは接続しません。デフォルトのインスタンスは、インスタンスが指定されていない場合にコマンドに対して使用されます。

SET LOGSOURCE リカバリ中に、アーカイブ・ログが取り出される場所を指定します。デフォルト値は、LOG_ARCHIVE_DEST初期化パラメータによって設定されます。パス名なしで SET LOGSOURCEコマンドを発行すると、デフォルトの位置をリストアします。

SHOW AUTORECOVERY 自動リカバリが可能であるかどうかを示します。

SHOW INSTANCE デフォルトのインスタンスに対する接続文字列を示します。SHOW INSTANCEを使用していない場合、または SHOW INSTANCEコマンドの LOCALオプションを使用している場合は、SHOW INSTANCEは LOCAL値を戻します。

SHOW LOGSOURCE アーカイブ・ログの位置に対する現行の設定を示します。LOG_ARCHIVE_DEST初期化パラメータによって指定されたように、デフォルトの設定が有効な場合、DEFAULTを表示します。

SHOW PARAMETERS 1つ以上の初期化パラメータに対する現行の値を表示します。コマンドの後ろに文字列を指定しなくても、SHOW PARAMETERSコマンドはすべての初期化パラメータを表示します。

SHOW SGA 現行インスタンスのシステム・グローバル領域についての情報を表示します。

SHUTDOWN 現在実行中の Oracleインスタンスを停止し、任意でデータベースをクローズしてディスマウントします。

注意注意注意注意 : SQL*Plusリリース 8.1の STARTUPおよび SHUTDOWNコマンドは、Oracle7サーバーではサポートされていません。

STARTUP データベースのマウントやオープンなどのいくつかのオプションで、Oracleインスタンスを起動します。

注意注意注意注意 : SQL*Plusリリース 8.1の STARTUPおよび SHUTDOWNコマンドは、Oracle7サーバーではサポートされていません。

11-4 Oracle8i移行ガイド

Page 265: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

コマンド

Server Managerとととと SQL*Plusに共通のコマンドに共通のコマンドに共通のコマンドに共通のコマンド表 11-2に示すコマンドは、Server Managerと SQL*Plusの両方において使用可能であり、Oracleの以前のリリースの両方のプログラムでも使用可能です。SQL*Plusを使用するために、SQLスクリプトのこれらのコマンドを変更する必要はありません。

注意注意注意注意 : 2つのプログラムのこれらのコマンドに対する出力で、書式の違いが多少ある場合があります。

表表表表 11-2 既存の既存の既存の既存の SQL*Plusコマンドに対応するコマンドに対応するコマンドに対応するコマンドに対応する Server Managerコマンドコマンドコマンドコマンド

コマンドコマンドコマンドコマンド 説明説明説明説明

CONNECT 指定されたユーザー名を使用して、データベースに接続します。

DESCRIBE ファンクション、パッケージ、パッケージ本体、プロシージャ、表またはビューについて説明します。たとえば、表の場合、表の各列の定義を表示します。

REMARK 通常、SQLスクリプト・ファイルにコメントを入力します。

SET COMPATIBILITY 互換性モードを V7、V8または NATIVEに設定します。互換性モードの設定は、文字列、整合性制約およびロールバック・セグメントの記憶領域パラメータの仕様に影響します。NATIVEはデータベースのバージョンと一致します。

SET ECHO コマンド・ファイルの各コマンドの実行時に、STARTコマンドがそのコマンドを一覧表示するかどうかを制御します。ONはコマンドを一覧表示し、OFFは表示を停止します。

SET NUMWIDTH 数を表示するデフォルトの幅を設定します。

SET SERVEROUTPUT ストアド・プロシージャの出力(DBMS_OUTPUT.PUT_LINE)または SQL*PlusのPL/SQLブロックを表示するかどうかを制御します。OFFはDBMS_OUTPUT.PUT_LINEの出力を停止し、ONは出力を表示します。

SET TERMOUT コマンド・ファイルから実行されるコマンドによって生成される出力の表示を制御します。OFFは、画面で出力を参照しなくてもコマンド・ファイルからの出力をスプールできるよう表示を停止します。ONは出力を表示します。

Server Managerから SQL*Plusへの移行 11-5

Page 266: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

コマンド

SHOW ALL ERRORS、PARAMETERSおよび SGAを除き、SETコマンドで設定されたすべてのシステム変数をアルファベット順で表示します。

SHOW ERRORS プロシージャ、パッケージまたはファンクションの前回のコンパイルで生成されたエラーがあれば、それを表示します。

SPOOL 問合せ結果をオペレーティング・システム・ファイル(任意で SQL*Plus)に格納し、そのファイルをプリンタに送ります。

注意注意注意注意 : スプール・ファイルの拡張機能は、SQL*Plusと Server Managerで異なります。拡張機能を確認するには、SPOOLコマンドを発行するときに指定してください。また、SQL*Plusは、空白を繰り返すかわりにタブ文字を使用して、端末出力の空白をフォーマットします。SQL*Plusの SET TAB OFFを使用して、この置換を回避してください。タブは、Server Managerでは出力されません。

表表表表 11-2 既存の既存の既存の既存の SQL*Plusコマンドに対応するコマンドに対応するコマンドに対応するコマンドに対応する Server Managerコマンドコマンドコマンドコマンド(続き)(続き)(続き)(続き)

コマンドコマンドコマンドコマンド 説明説明説明説明

11-6 Oracle8i移行ガイド

Page 267: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

コマンド

Server Managerコマンドと同等のコマンドと同等のコマンドと同等のコマンドと同等の SQL*Plusコマンドコマンドコマンドコマンド表 11-3に、Server Managerコマンドと名前は異なりますが、対応している SQL*Plusコマンドを示します。SQLスクリプトでこれらの Server Managerコマンドのいずれかを使用する場合、スクリプトを変更して、かわりに SQL*Plusコマンドを使用します。

表表表表 11-3 Server Managerコマンドと同等のコマンドと同等のコマンドと同等のコマンドと同等の SQL*Plus コマンドコマンドコマンドコマンド

Server Managerコマンドコマンドコマンドコマンド SQL*Plusコマンドコマンドコマンドコマンド 説明説明説明説明

SET CHARWIDTH

SET DATEWIDTH

SET LONGWIDTH

COLUMN FORMAT SQL*Plusで COLUMN FORMATコマンドを使用して、キャラクタ列、日付列および数値列の列幅を設定できます。SQLスクリプトで、Server Managerの SET CHARWIDTH、SET DATEWIDTHおよび SET LONGWIDTHをSQL*Plusの COLUMN FORMATコマンドに置き換えます。

COLUMN FORMATを使用して、すべてのキャラクタ列を変更します。1つのコマンドですべてのキャラクタ列を変更する同等のコマンドはありません。

たとえば、SQLスクリプトに次のエントリがあるとします。

SET CHARWIDTH 5

このコマンドは、Server Managerのすべてのキャラクタ列幅を 5に設定します。

ENAMEのような特定の列を 5文字幅で表示するには、次の SQL*Plusコマンドを入力します。

COLUMN ENAME FORMAT A5

COLUMN FORMATを使用して、すべてのキャラクタ列を変更します。1つのコマンドですべてのキャラクタ列を変更する同等のコマンドはありません。

COLUMN FORMATを使用して、すべての日付列を変更します。1つのコマンドですべての日付列を変更する同等のコマンドはありません。

SET LONGを使用して、フェッチおよび表示するLONG列の数を指定します。

Server Managerから SQL*Plusへの移行 11-7

Page 268: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

コマンド

SET TIMINGコマンドの違いコマンドの違いコマンドの違いコマンドの違いSET TIMINGコマンドは Server Managerと SQL*Plusの両方で使用できますが、オペレーティング・システムによっては 2つのプログラムで異なった機能を持つ場合もあります。詳細は、ご使用のオペレーティング・システム固有の Oracleマニュアルを参照してください。ご使用のオペレーティング・システムの 2つのプログラムで、SET TIMINGコマンドが異なる機能を持つ場合、このコマンドが SQL*Plusで正しく機能するように、SQLスクリプトを変更します。

SQL*Plusで使用できないで使用できないで使用できないで使用できない Server Managerコマンドコマンドコマンドコマンド次の Server Managerコマンドは、SQL*Plusリリース 8.1では使用できません。

� SET MAXDATA

� SET RETRIES

SQLスクリプトからこれらのコマンドを削除してください。

SET STOPONERROR WHENEVER SQLERROR

WHENEVER OSERROR

WHENEVER SQLERRORおよびWHENEVER OSERRORコマンドを使用して、SQLエラーまたはオペレーティング・システム・エラーが発生したときに、終了または継続するよう SQL*Plusに指示します。Server Managerの SET STOPONERRORコマンドのかわりに、SQLスクリプトでこれらのコマンドを使用します。

WHENEVER SQLERRORおよびWHENEVER OSERRORのいずれの場合でも、EXIT句がSQL*Plusに終了の指示を出し、CONTINUE句がSQL*Plusに継続の指示を出します。他の用語および句もこれらのコマンドに使用可能です。

表表表表 11-3 Server Managerコマンドと同等のコマンドと同等のコマンドと同等のコマンドと同等の SQL*Plus コマンド(続き)コマンド(続き)コマンド(続き)コマンド(続き)

Server Managerコマンドコマンドコマンドコマンド SQL*Plusコマンドコマンドコマンドコマンド 説明説明説明説明

11-8 Oracle8i移行ガイド

Page 269: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

構文の違い

構文の違い構文の違い構文の違い構文の違い次の項では、Server Managerと SQL*Plusの構文の違いについて説明します。SQL*Plusを使用してスクリプトを実行する前に、SQLスクリプトを変更し、SQL*Plus構文の規則に適合させます。

コメントコメントコメントコメントSQL*Plusは、次のタイプのコメントを認識します。

� SQL*Plus REMARKコマンド(または REM)

� SQLコメント・デリミタ(/*...*/)

� ANSI/ISOコメント(- -)

SQL*Plusコードでこれらのコメントを使用するための詳細は、『Oracle8i SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。

Server Managerはこれらのタイプのコメントをサポートしますが、中には動作が異なるものもあります。また、Server Managerでは使用できますが、SQL*Plusでは使用できない特定のタイプのコメントもあります。次の項では、Server Managerと SQL*Plusの各コメントおよび構文の違いについて説明します。

REMARKコマンド(またはコマンド(またはコマンド(またはコマンド(または REM))))一般に、REMARKコマンドは Server Managerと SQL*Plusで同じ動作をします。使用している SQLスクリプトに REMARKコマンドがあっても、変更する必要はありません。ただし、違いが 1つあります。SQL*Plusは、Server Managerとは異なり、REMARKコマンドを終了するハイフンを解釈します。この違いについては、11-13ページの「分割行として使用するハイフン」を参照してください。

SQLコメント・デリミタ(コメント・デリミタ(コメント・デリミタ(コメント・デリミタ(/*...*/))))Server Managerでは、SQLコメント・デリミタをセミコロンの後に置くことができますが、SQL*Plusでは SQLコメント・デリミタをセミコロンの後に置くことはできません。この 1つの違いを除き、SQLコメント・デリミタは、Server Managerと SQL*Plusで同様に動作します。

SQLスクリプトにセミコロンの後に置かれた SQLコメント・デリミタが含まれる場合、コメントをその行に移動するか、セミコロンを削除して次の行にスラッシュ(/)を置き、SQL文を終了します。

Server Managerから SQL*Plusへの移行 11-9

Page 270: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

構文の違い

たとえば、SQLスクリプトの 1つに、次の Server Managerコードがあるとします。

SELECT * FROM scott.emp WHERE job = 'CLERK'; /* Includes only clerks. */

SQL*Plusでは、このコードを次のエントリのいずれかに置き換えます。

SELECT * FROM scott.emp WHERE job = 'CLERK';/* Includes only clerks. */

SELECT * FROM scott.emp WHERE job = 'CLERK' /* Includes only clerks. */ /

ANSI/ISOコメント(コメント(コメント(コメント(--))))Server Managerでは ANSI/ISOコメントをセミコロンの後に置くことができますが、SQL*Plusでは ANSI/ISOコメントをセミコロンの後に置くことはできません。この 1つの違いを除き、ANSI/ISOコメントは、Server Managerと SQL*Plusで同様に動作します。

SQLスクリプトにセミコロンの後に置かれたANSI/ISOコメントが含まれる場合、コメントをその行に移動するか、セミコロンを削除して次の行にスラッシュ(/)を置き、SQL文を終了します。

たとえば、SQLスクリプトの 1つに、次の Server Managerコードがあるとします。

SELECT * FROM scott.emp WHERE job = 'CLERK'; -- Includes only clerks.

SQL*Plusでは、このコードを次のエントリのいずれかに置き換えます。

SELECT * FROM scott.emp WHERE job = 'CLERK';-- Includes only clerks.

SELECT * FROM scott.emp WHERE job = 'CLERK' -- Includes only clerks. /

11-10 Oracle8i移行ガイド

Page 271: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

構文の違い

Server Managerのシャープ(のシャープ(のシャープ(のシャープ(#)・コメント)・コメント)・コメント)・コメントServer Managerは、コメント行を示すシャープ符号(#)の使用をサポートします。スクリプトにこれらのコメントが含まれる場合、「#」を「- -」に変更し、SQL*Plusを使用してスクリプトを実行します。

たとえば、SQLスクリプトの 1つに、次の Server Managerコードがあるとします。

# This statement returns only clerks.SELECT * FROM scott.emp WHERE job = 'CLERK';

SQL*Plusでは、このコードを次のエントリに置き換えます。

-- This statement returns only clerks.SELECT * FROM scott.emp WHERE job = 'CLERK';

Server Managerから SQL*Plusへの移行 11-11

Page 272: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

構文の違い

空白行空白行空白行空白行Server Managerは SQL文にある空白行を無視しますが、SQL*Plusが空白行を検出すると、デフォルトの動作では文の記録を停止し、プロンプトに戻ります。

両方の製品とも、異なる SQL文の間では空白行を許可します。この項の説明は、SQL文の句の間にある空白行にのみ適用されます。

SQL*Plusでは、SET SQLBLANKLINESコマンドが空白行の処理方法を変更します。SQLBLANKLINESが OFF(デフォルトの設定)に設定され、空白行を含む SQL文がある場合、SQL*Plusは空白行に文をバッファし、文を実行せずにプロンプトに戻ります。この動作によって、対話ユーザーは不要な SQLコマンドを終了またはバッファしたり、このバッファされた SQLコマンドを実行または編集する前に他の SQL*Plusコマンドを実行できます。

SQLスクリプトのいずれかが SQL文内に空白行を含む場合、SQLBLANKLINESを ONに設定するか、または SQL*Plusを使用してこれらのスクリプトを実行する前に空白行を削除します。

たとえば、SQLスクリプトの 1つに、次の SQL文があるとします。

SELECT empno, ename, sal, comm

FROM scott.emp

WHERE job = 'MANAGER';

SQLBLANKLINESを ONにするか、または空白行を削除します。

SELECT empno, ename, sal, comm FROM scott.emp WHERE job = 'MANAGER';

空白行を削除しないか、または SQLBLANKLINESを ONに設定しない場合は、SQL*Plusはコードの各空白行をコマンド終了記号として扱います。

SQLBLANKLINESの値は、PL/SQLブロックの空白行に影響しません。これらはブロックの一部として扱われるため、SQL*Plusプロンプトに戻りません。

対話ユーザーは、SQLBLANKLINESの値にかかわらず、行にピリオドを入力することによって SQLまたは PL/SQL文を終了できます。

11-12 Oracle8i移行ガイド

Page 273: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

構文の違い

ハイフン継続文字ハイフン継続文字ハイフン継続文字ハイフン継続文字SQL*Plusは、長い SQL文または SQL*Plusコマンドに対する継続文字として、ハイフン(-)の使用をサポートします。たとえば、次のように継続文字を使用できます。

SELECT empno, ename, sal, comm FROM scott.emp -WHERE job = 'MANAGER';

Server Managerは継続文字としてのハイフンの使用をサポートしませんが、ハイフンをSQLスクリプトで他の用途に使用できます。ハイフンを SQLスクリプトで使用すると、SQL*Plusはハイフンを継続文字として解釈し、予期しない出力が行われることがあります。

次の項では、ハイフンを別の用途で使用しているにもかかわらず、SQL*Plusが SQLスクリプトのハイフンの使用を継続文字として解釈する場合について説明します。SQLスクリプトがハイフンを使用しているかどうかを確認し、次の記述と同様の例を避けるために、SQLスクリプトを変更します。

分割行として使用するハイフン分割行として使用するハイフン分割行として使用するハイフン分割行として使用するハイフンSQLスクリプトが、コードの分割行として REMARKコマンドの後に長いハイフン行を使用することがあります。SQLスクリプトからの次のサンプル行について考えてみます。

Rem ------------------------------------------------------------------------- SELECT empno, ename, job FROM scott.emp;

この文で、SQL*Plusは、SELECT文の最初の行を前の行の継続として、つまり REMARKコメントとして解釈します。このため、FROM行は SQL文の最初の行として解釈され、SQL*Plusは次のエラーを戻します。

unknown command beginning "FROM scott..." - rest of line ignored.

SQLスクリプトの分割行としてハイフンを使用する場合、SQL*Plusを使用してスクリプトを実行する前に、ハイフンの前の REMコマンドを削除します。

Server Managerから SQL*Plusへの移行 11-13

Page 274: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

構文の違い

マイナス符号として使用するハイフンマイナス符号として使用するハイフンマイナス符号として使用するハイフンマイナス符号として使用するハイフンハイフンはマイナス符号と同じキーボード文字であるため、行の最後にハイフンを付けることができます。SQLスクリプトからの次のサンプル行について考えてみます。

CREATE TABLE xx ( a int, b int, c int);

INSERT INTO xx VALUES (10, 20, 30);

SELECT a + b - c FROM xx;

マイナス記号は継続文字として解釈されるため、SQL*Plusは「c」を別名として解釈します。

SELECT a + b c FROM xx;

このため、SQL*Plusは次の予期しない出力を戻します。

C---------- 30

ただし、Server Managerはこのコードを次のように解釈します。

SELECT a + b - c FROM xx;

このため、Server Managerは次の期待どおりの出力を戻します。

A+B-C ---------- 0

SQLスクリプトの行の最後にマイナス符号がないことを確認してください。

11-14 Oracle8i移行ガイド

Page 275: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

構文の違い

アンパサンドアンパサンドアンパサンドアンパサンドSQL*Plusはアンパサンド(&)を置換変数として解釈し、Server Managerはアンパサンドを標準の文字列として解釈します。アンパサンドに続くテキストに定義された値がない場合、アンパサンドがコメントで囲まれても、SQL*Plusは未定義値として解釈し、ユーザーに入力を求めるプロンプトを表示します。このため、アンパサンドは SQL*Plusにおいて予期しない出力を行う場合があります。

アンパサンドを標準のテキスト文字列として使用する SQLスクリプトがある場合、次の 2つの回避策があります。

� SET ESCAPEコマンドを使用して、各アンパサンドの前にエスケープ文字を置きます。

� SET DEFINE OFFコマンドを使用して、置換変数の認識を使用禁止にします。

たとえば、次の SQL文はユーザーに SQL*Plusでの入力を求めるプロンプトを表示します。

CREATE TABLE "Employees & Managers" ( Employees varchar(16), Managers varchar(16));

Enter value for managers:

SET ESCAPEコマンドの使用コマンドの使用コマンドの使用コマンドの使用ユーザー・プロンプトを避けるには、SET ESCAPEコマンドを使用してエスケープ文字を設定できます。その後、アンパサンドの前にエスケープ文字を置きます。バックスラッシュ(\)はエスケープ文字として使用されます。

前述の例のプロンプトを避けるには、SET ESCAPEコマンドを使用して、次のようにエントリを変更します。

SET ESCAPE \

CREATE TABLE "Employees \& Managers" ( Employees varchar(16), Managers varchar(16));

注意注意注意注意 : 他に有効な置換変数がある場合、SET DEFINE OFFコマンドを使用しないでください。使用すると、他の変数が認識されなくなります。

Server Managerから SQL*Plusへの移行 11-15

Page 276: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

構文の違い

SET DEFINE OFFコマンドの使用コマンドの使用コマンドの使用コマンドの使用前述の例のプロンプトを避けるには、SET DEFINE OFFコマンドを使用して、次のようにエントリを変更します。

SET DEFINE OFF

CREATE TABLE "Employees & Managers" ( Employees varchar(16), Managers varchar(16));

CREATE TYPEおよびおよびおよびおよび CREATE LIBRARYコマンドコマンドコマンドコマンドSQL*Plusは、CREATE TYPEおよび CREATE LIBRARYコマンドを PL/SQLブロックとして扱います。このため、SQL*Plusでは、別の行にスラッシュ(/)を使用してこれらのコマンドを終了する必要があります。Server Managerでは、セミコロンでこれらのコマンドを終了することができます。

SQLスクリプトにおいて、セミコロンで CREATE TYPEまたは CREATE LIBRARYコマンドを終了する場合、セミコロンを削除し、次の行にスラッシュを置きます。たとえば、次のSQL文は SQL*Plusでは認識されません。

CREATE OR REPLACE TYPE sys.dummy AS OBJECT (data CHAR(1));CREATE OR REPLACE LIBRARY DBMS_SPACE_ADMIN_LIB TRUSTED AS STATIC;

SQL*Plusで実行する前に、次のようにこれらの文を編集します。

CREATE OR REPLACE TYPE sys.aq$_dummy_t AS OBJECT (data CHAR(1))/CREATE OR REPLACE LIBRARY DBMS_SPACE_ADMIN_LIB TRUSTED AS STATIC/

11-16 Oracle8i移行ガイド

Page 277: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

構文の違い

COMMITコマンドコマンドコマンドコマンドSQL*Plusでは COMMITコマンドはセミコロン(;)またはスラッシュ(/)で終了する必要がありますが、Server Managerでは COMMITコマンドに終了記号は必要ありません。このため、終了記号なしで SQLスクリプトの COMMITコマンドを使用する場合、これらのスクリプトを編集して終了記号を組み込みます。

たとえば、SQLスクリプトに次の COMMITコマンドがあるとします。

commit

次の例のいずれかのように、コマンドに終了記号を組み込みます。

commit;

commit/

Server Managerから SQL*Plusへの移行 11-17

Page 278: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

構文の違い

11-18 Oracle8i移行ガイド

Page 279: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

物理 ROWIDの移行に

12

物理物理物理物理 ROWIDの移行についての移行についての移行についての移行について

リリース 8.0およびリリース 8.1の物理 ROWIDには、パーティション化およびグローバル索引を含むリリース 8.0およびリリース 8.1の新機能を使用可能にする、新しい内部フォーマットおよび外部フォーマットが含まれています。

この章では、次の項目について説明します。

� アプリケーションおよびデータの移行

� DBMS_ROWIDパッケージ

� スナップショット・リフレッシュ

� バージョン 7クライアントおよびバージョン 6クライアントの互換性の問題

� ROWIDに関する移行および互換性の問題

� ROWIDの移行に関するよくある質問とその回答

参照参照参照参照 : 詳細は、『Oracle8iアプリケーション開発者ガイド 基礎編』および『Oracle8i概要』を参照してください。

注意注意注意注意 : この章に出てくる「ROWID」という単語は、「物理 ROWID」のことです。この章では、UROWID(ユニバーサル ROWID)データ型については説明していません。UROWIDデータ型に関する互換性の問題については、第 9章「互換性および相互運用性」を参照してください。

ついて 12-1

Page 280: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

アプリケーションおよびデータの移行

アプリケーションおよびデータの移行アプリケーションおよびデータの移行アプリケーションおよびデータの移行アプリケーションおよびデータの移行ROWIDは、ROWIDデータ型およびキャラクタ・タイプの列に格納できます。格納されていたバージョン 7の ROWIDは、バージョン 7のデータベースからリリース 8.0およびリリース 8.1へ移行した後は無効になります。したがって、格納されていたバージョン 7のROWIDは、リリース 8.0およびリリース 8.1の形式に変換する必要があります。

アプリケーションアプリケーションアプリケーションアプリケーションROWIDのアセンブルおよび逆アセンブルを手動で行わないアプリケーションは、変更または再コンパイルの必要がありません。新しい ROWIDがホスト変数についての現行の記憶域要件を満たしているためです。

ROWIDの内容を作成または分析するアプリケーションでは、リリース 8.0およびリリース8.1に付属の新規パッケージ DBMS_ROWIDを使用して、新しいリリース 8.0およびリリース 8.1の ROWIDの形式および内容を操作する必要があります。このパッケージには、バージョン 7の ROWIDから直接使用できる情報(ファイルおよびブロック・アドレスを含む)を抽出する関数およびデータ・オブジェクト番号が含まれます。

データデータデータデータROWID値(ROWIDデータ型または文字形式)を含む列は、値が参照する表をリリース 8.0およびリリース 8.1へ移行する場合に、一緒に移行する必要があります。そうしないと、格納された値を使用して行を取り出すことができなくなります。一方、リリース 8.0およびリリース 8.1の表に格納された ROWID値がバージョン 7またはバージョン 6の表を参照している場合、列の移行は必要ありません。

列の移行は、定義の移行とデータの移行の 2段階で行われます。列の定義は、バージョン 7からリリース 8.0およびリリース 8.1へのディクショナリの移行時に自動的に調整されます。ROWIDユーザー列の最大サイズは拡張ディスク ROWIDのサイズにまで増やされ、ROWID列用の COL$の LENGTH列を 6バイトから 10バイトに変更します。

データの移行は、システムがリリース 8.0およびリリース 8.1でオープンされた後でないと実行できません。ユーザーは、異なる表を別々に移行したり、複数の表を並行して一度に移行することができます。ただし、移行は、バージョン 7のデータベース・ファイル制限を超える前に行う必要があります。これは、あいまいなブロック・アドレスが作成されることを避けるためです。

インストールで使用できる既存の ROWIDリフレッシュ手順またはリリース 8.0およびリリース 8.1の DBMS_ROWID機能を使用して、格納されている ROWIDをバージョン 7形式からリリース 8.0およびリリース 8.1形式に移行できます。

移行ユーティリティまたは Oracle Data Migration Assistantを使用したデータの移行は、ユーザー定義列に格納された ROWIDにのみ適用されます。システムに格納されたすべてのROWID(索引内の ROWIDなど)は、移行ユーティリティまたは Oracle Data Migration Assistantを使用した移行の後でも有効であるため、移行のための特別な操作は必要ありません。また、移行ユーティリティまたは Oracle Data Migration Assistantを使用して、リリー

12-2 Oracle8i 移行ガイド

Page 281: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

DBMS_ROWIDパッケージ

ス 8.0およびリリース 8.1へ移行中は、索引は制限付き ROWIDデータ型形式を使用できるため、索引が無効になることはありません。

DBMS_ROWIDパッケージパッケージパッケージパッケージリリース 8.0およびリリース 8.1では、PL/SQLパッケージ DBMS_ROWIDが提供されています。このパッケージには、次の機能が含まれます。

� バージョン 7形式、リリース 8.0およびリリース 8.1形式での ROWIDの作成

� バージョン 7、リリース 8.0およびリリース 8.1の ROWIDの解釈

� バージョン 7の ROWID、リリース 8.0およびリリース 8.1の ROWID間での変換

格納されている ROWIDの移行は、次の項で説明するように変換ファンクションを使用して実行できます。

ROWID変換型変換型変換型変換型変換する ROWIDの型を指定する必要があります。ROWIDが ROWIDデータ型のユーザー列に格納されているのか CHARデータ型または VARCHARデータ型のユーザー列に格納されているのかによって、ROWID変換ファンクションによる変換の実行方法が異なるためです。

ROWIDデータ型の列の場合、変換プロシージャの呼出し元は、プロシージャ・パラメータとして次の値を渡す必要があります。

rowid_convert_internal constant integer := 0;

CHARまたは VARCHARデータ型の列の場合、変換プロシージャの呼出し元は、プロシージャ・パラメータとして次の値を渡す必要があります。

rowid_convert_external constant integer := 1;

注意注意注意注意 : ROWIDを含む列をインポートすると、ROWIDの妥当性を再確認する特別な注意が必要になることを示す警告メッセージが表示されます。そのような特別な注意は、インポートするすべての ROWIDについて必要です。したがって、エクスポート /インポートを使用したリリース 8.0およびリリース 8.1への移行には、ユーザー定義列のみでなく ROWIDが含まれるすべての列について特別な注意が必要です。

物理 ROWIDの移行について 12-3

Page 282: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

DBMS_ROWIDパッケージ

ROWID変換ファンクション変換ファンクション変換ファンクション変換ファンクション次のファンクションは、ROWIDの変換を行います。

� ROWID_TO_EXTENDEDは、ROWIDをバージョン 7(制限)形式からリリース 8.0およびリリース 8.1(拡張)形式に変換します。

� ROWID_TO_RESTRICTEDは、ROWIDをリリース 8.0およびリリース 8.1(拡張)形式からバージョン 7(制限)形式に変換します。

� ROWID_VERIFYは、指定された ROWIDをバージョン 7形式からリリース 8.0およびリリース 8.1形式に変換できるかどうかを調査します。

次に、ROWID_TO_EXTENDEDプロシージャおよび ROWID_VERIFYプロシージャについて詳しく説明します。

ROWID_TO_EXTENDED変換プロシージャ変換プロシージャ変換プロシージャ変換プロシージャROWID_TO_EXTENDEDは、次のパラメータを使用します。

� Rowid:外部文字フォーマットで変換する ROWIDを指定します。

� Schema Name:ROWIDを拡張フォーマットに変換する行を含む表のスキーマ名を指定します。

� Table Name:ROWIDを拡張フォーマットに変換する行を含む表の名前を指定します。

� Conversion Type:変換する ROWIDの型を指定します。

ROWID_TO_EXTENDEDは外部文字フォーマットのリリース 8.0およびリリース 8.1(拡張)ROWIDを戻し、そのパラメータを次の方法で解釈します。

� ターゲット表のスキーマ名および表名が指定されていない(NULL)場合、ROWID_TO_EXTENDEDは、変換する ROWIDによって指定されたページをフェッチしようとします。ROWID_TO_EXTENDEDはこの ROWIDに格納されたファイル番号を絶対ファイル番号として扱いますが、移行前にファイルが削除され、その番号が再利用されている場合には、問題が発生する可能性があります。フェッチされたページが有効な表に属している場合、ROWIDはその表のデータ・オブジェクト IDを使用して拡張フォーマットに変換されます。ただし、これは非常に非効率的な変換方法であり、ターゲット表がわからない場合など、最終手段としてのみ使用することをお薦めします。変換された値を使用する場合は、正しい表名を知っておく必要があります。

参照参照参照参照 : 詳細は、12-3ページの「ROWID変換型」を参照してください。

12-4 Oracle8i 移行ガイド

Page 283: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

DBMS_ROWIDパッケージ

� スキーマ名および表名が指定されている場合(適切な方法)、ROWID_TO_EXTENDEDは表に対する SELECT認可レベルを検証し、この表のデータ・オブジェクト番号を使用して ROWIDを拡張フォーマットに変換します。変換された ROWIDがこの表の実際の行を参照するかどうかは、ROWIDの変換時にも ROWIDの使用時にも保証されません。

� ROWIDにNULL値が指定されている場合、プロシージャは表の指定を無視し、NULL値を戻します。

� ROWIDに 0または <n>0.<m>0.<p>0などのより一般的な値が指定されている場合、表名は無視され、00000000.0000.0000という形式の制限 ROWIDが戻されます。

� リリース 8.0およびリリース 8.1の ROWIDが指定されている場合は、ROWIDのデータ・オブジェクトが実際のデータ・オブジェクト番号(表名の指定によって決まる)に対して検証されます。これら 2つの数字が一致しない場合は、INVALID ROWIDエラーが発生します。一致した場合は、元の ROWIDが戻されます。

ROWID_VERIFYリリース 8.0およびリリース 8.1では、ROWID_VERIFYという ROWID検証プロシージャが提供されています。ROWIDを拡張フォーマットに変換できた場合、このプロシージャはROWID_TO_EXTENDEDと同じパラメータを使用して 0を戻します。そうでない場合は 1を戻します。

ただし、ユーザーが基礎となる表の SELECT認可レベルを持っていない場合や、表が存在しない場合には、ROWID_VERIFYはセキュリティ違反エラーまたは「object not found」というエラーを戻します。ROWID_VERIFYは、ROWID_TO_EXTENDEDプロシージャで移行をする前に、不正 ROWIDを識別します。

変換プロシージャの例変換プロシージャの例変換プロシージャの例変換プロシージャの例次に、ROWIDの変換プロシージャの例を示します。

例例例例 1表 SCOTT.Tに、ROWIDデータ型形式の列 Cがあるとします。これらの ROWIDはすべて単一の表、SCOTT.T1を参照します。

列 Cの値は、次の文を使用して拡張フォーマットに変換できます。

UPDATE SCOTT.T SET C = DBMS_ROWID.ROWID_TO_EXTENDED(C,'SCOTT','T1',0);

物理 ROWIDの移行について 12-5

Page 284: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

スナップショット・リフレッシュ

例例例例 2より一般的な状況では、列 Cに格納された ROWIDは別の表を参照することがありますが、表名は同じ行にある他の列の値に基づいて検索されます。たとえば、表 Tの TNAME列に、列 Cの ROWIDが参照する表の名前があるとします。

この場合、列 Cの値は、次の文を使用して拡張フォーマットに変換できます。

UPDATE SCOTT.T SET C = DBMS_ROWID.ROWID_TO_EXTENDED(C,'SCOTT',TNAME,0);

例例例例 3ROWID_TO_EXTENDEDファンクションを CREATE...AS SELECT文の中で使用することもできます。変換によって ROWIDデータ型のユーザー列のサイズが増え(特定のポートによって異なりますが、通常は 6~ 10バイト増えます)、それによって間接行が作成されることもあるため、CREATE...AS SELECTを使用した方がよい場合があります。

この場合、UPDATEよりも CREATE...AS SELECTを選択します。

CREATE TABLE SCOTT.TNEW (A, B, C) AS SELECT A, B, DBMS_ROWID.ROWID_TO_EXTENDED(C, 'SCOTT','T1',0) FROM SCOTT.T;

例例例例 4列 Cに格納された ROWIDのターゲット表が不明な場合、変換は次の文を使用して実行できます。

UPDATE SCOTT.T SET C = DBMS_ROWID.ROWID_TO_EXTENDED(C,NULL,NULL,0);

例例例例 5次の SQL文を使用して、変換の前に不正な ROWIDを検索できます。

SELECT ROWID,C FROM SCOTT.T WHERE DBMS_ROWID.ROWID_VERIFY(C,NULL,NULL,0)=1;

スナップショット・リフレッシュスナップショット・リフレッシュスナップショット・リフレッシュスナップショット・リフレッシュリリース 8.0およびリリース 8.1の ROWIDデータ型形式では、マスター・サイトおよびスナップショット・サイトの両方をリリース 8.0およびリリース 8.1へアップグレードするとき、すべての ROWIDスナップショットが完全リフレッシュを実行する必要があります。

参照参照参照参照 : レプリケーションの互換性の詳細は、付録 G「レプリケーション環境の移行および互換性」を参照してください。

12-6 Oracle8i 移行ガイド

Page 285: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

ROWIDに関する移行および互換性の問題

バージョンバージョンバージョンバージョン 7クライアントおよびバージョンクライアントおよびバージョンクライアントおよびバージョンクライアントおよびバージョン 6クライアントのクライアントのクライアントのクライアントの互換性の問題互換性の問題互換性の問題互換性の問題

バージョン 7およびバージョン 6のクライアントは、リリース 8.0およびリリース 8.1のデータベースにアクセスでき、リリース 8.0およびリリース 8.1のクライアントは、バージョン 7またはバージョン 6のデータベースにアクセスできます。リリース 8.0およびリリース 8.1より前のデータベースから、リリース 8.0およびリリース 8.1のデータベースへ戻される疑似列 ROWIDおよびデータ型 ROWIDの列のバイナリ値および文字値は、必ず制限付きフォーマットとなります。これは、前のシステムでは拡張フォーマットの ROWIDを認識できないためです。

リリース 8.0およびリリース 8.1に付属の DBMS_ROWIDパッケージは、バージョン 7のROWIDの内容解釈およびバージョン 7形式での ROWIDの作成に使用できます。

バージョン 7またはバージョン 6のクライアントが、リリース 8.0およびリリース 8.1のデータベースにアクセスすると、ROWIDをリリース 8.0およびリリース 8.1の拡張フォーマットで受け取ります。したがって、クライアントは、リリース 8.0およびリリース 8.1のサーバーが戻す ROWIDの内容を解釈できません。

リリース 8.0およびリリース 8.1のスナップショットの互換性は、リリース 7.1.4以降に制限されます。さらに、マスター・サイトがアップグレードされた場合は、リリース 8.0およびリリース 8.1のアップグレード・スクリプトによって、ログを無効にする必要があります。これによって、スナップショットでは、再度高速リフレッシュが可能になる前に、完全リフレッシュが強制的に実行されます。

ROWIDに関する移行および互換性の問題に関する移行および互換性の問題に関する移行および互換性の問題に関する移行および互換性の問題下位互換用に、ROWIDの制限付きフォーマットがサポートされています。大部分のバージョン 7のデータに制限付き ROWIDが存在し、拡張 ROWIDフォーマットはパーティション表のグローバル索引に使用されているのみです。新規の表では、常に拡張 ROWIDが使用されます。

いくつかの制限はありますが、バージョン 7クライアントからリリース 8.0およびリリース8.1サーバーへのアクセスは可能です。同様に、リリース 8.0およびリリース 8.1クライアントからバージョン 7サーバーへのアクセスも可能です。この場合のクライアントには、サーバーにアクセスする 3GLまたは 4GLのクライアント・アプリケーションと同様に、データベース・リンクを使用してサーバーにアクセスするリモート・データベースが含まれます。

参照参照参照参照 : 詳細は、『Oracle8i管理者ガイド』を参照してください。

参照参照参照参照 : ROWID_TO_EXTENDEDファンクションの詳細は、『Oracle8i PL/SQLパッケージ・プロシージャ リファレンス』を参照してください。

物理 ROWIDの移行について 12-7

Page 286: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

ROWIDに関する移行および互換性の問題

リリースリリースリリースリリース 8.0およびリリースおよびリリースおよびリリースおよびリリース 8.1クライアントからバージョンクライアントからバージョンクライアントからバージョンクライアントからバージョン 7データベースデータベースデータベースデータベースへのアクセスへのアクセスへのアクセスへのアクセス

戻される ROWIDの値は、常に制限付き ROWIDフォーマットです。また、リリース 8.0およびリリース 8.1クライアントから、バージョン 7以前のサーバーに ROWIDの値を戻す場合も、制限付き ROWIDを使用します。

バージョン 7サーバーにアクセスする場合は、次の ROWID機能を使用できます。

� ROWIDの選択、および取得した値のWHERE句での使用

� WHERE CURRENT OFカーソル操作

� ROWID型または CHAR型のユーザー列への ROWIDの格納

� 16進コード化を使用した ROWIDの解釈(この方法ではなく、DBMS_ROWIDファンクションの使用をお薦めします)

バージョンバージョンバージョンバージョン 7クライアントからリリースクライアントからリリースクライアントからリリースクライアントからリリース 8.0およびリリースおよびリリースおよびリリースおよびリリース 8.1データベースデータベースデータベースデータベースへのアクセスへのアクセスへのアクセスへのアクセス

リリース 8.0およびリリース 8.1は、ROWIDを拡張フォーマットで戻します。そのため、行えるのは次のことのみです。

� ROWIDの選択、および取得した値のWHERE句での使用

� WHERE CURRENT OFカーソル操作

� CHAR(18)データ型のユーザー列への ROWIDの格納

インポートおよびエクスポートインポートおよびエクスポートインポートおよびエクスポートインポートおよびエクスポートROWID列(擬似列ではない)のあるリリース 8.0およびリリース 8.1の表は、その表の中に拡張 ROWID値を持つ行が存在する場合は、バージョン 7のクライアントにインポートできません。

12-8 Oracle8i 移行ガイド

Page 287: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

ROWIDの移行に関するよくある質問とその回答

ROWIDの移行に関するよくある質問とその回答の移行に関するよくある質問とその回答の移行に関するよくある質問とその回答の移行に関するよくある質問とその回答質問質問質問質問 : リリースリリースリリースリリース 8.0およびリリースおよびリリースおよびリリースおよびリリース 8.1には、バージョンには、バージョンには、バージョンには、バージョン 7のインポート・クライアントに対のインポート・クライアントに対のインポート・クライアントに対のインポート・クライアントに対する制限はありますかする制限はありますかする制限はありますかする制限はありますか ?

回答 : リリース 8.0およびリリース 8.1の表内に拡張 ROWID値がある行が 1行でもある場合は、バージョン 7のクライアントが ROWIDユーザー列のあるリリース 8.0およびリリース8.1の表をインポートできません。

質問質問質問質問 : Forms3(および(および(および(および Forms4)では、ベース表の更新時に新しい)では、ベース表の更新時に新しい)では、ベース表の更新時に新しい)では、ベース表の更新時に新しい ROWIDデータ型形式はデータ型形式はデータ型形式はデータ型形式は認識されますか認識されますか認識されますか認識されますか ?

回答 : リリース 8.0およびリリース 8.1のデータベースにアクセスする Formsアプリケーションは、パッチ #380655を使用して再リンクする必要があります。

質問質問質問質問 : リリースリリースリリースリリース 8.0およびリリースおよびリリースおよびリリースおよびリリース 8.1のののの ROWIDを変更した場合、を変更した場合、を変更した場合、を変更した場合、PRO*プリコンパイルプリコンパイルプリコンパイルプリコンパイル済プログラムに影響はありますか済プログラムに影響はありますか済プログラムに影響はありますか済プログラムに影響はありますか ?

回答 : ROWIDを使用してもその形式に依存しないプログラムには、影響がありません。バージョン 7の ROWIDデータ型形式に依存するプログラムは、新しいパッケージDBMS_ROWIDを使用するように変更する必要があります。

質問質問質問質問 : 「「「「WHERE CURRENT of CURSOR」操作は動作しますか」操作は動作しますか」操作は動作しますか」操作は動作しますか ?

回答 : 動作します。バージョン 7またはバージョン 6のクライアントから、リリース 8.0およびリリース 8.1のサーバーへアクセスする場合、またはリリース 8.0およびリリース 8.1のクライアントから、バージョン 7またはバージョン 6のサーバーへアクセスする場合でも、動作します。

質問質問質問質問 : 現在、内部現在、内部現在、内部現在、内部 ROWIDデータ型形式として動的データ型形式として動的データ型形式として動的データ型形式として動的 SQLおよびバインドを使用しています。およびバインドを使用しています。およびバインドを使用しています。およびバインドを使用しています。malloc()を使用して領域を拡大する必要はありますかを使用して領域を拡大する必要はありますかを使用して領域を拡大する必要はありますかを使用して領域を拡大する必要はありますか ?

回答 : リリース 8.0およびリリース 8.1の ROWIDは、ホスト変数についてのバージョン 7の記憶域要件を満たしているため、変更したり領域を追加する必要はありません。

質問質問質問質問 : 使用している表の列を、使用している表の列を、使用している表の列を、使用している表の列を、ROWIDデータ型の列として定義できますかデータ型の列として定義できますかデータ型の列として定義できますかデータ型の列として定義できますか ?

回答 : 列を ROWIDデータ型の列として定義することはできます。ROWID列には、バージョン 7では 6バイト必要でしたが、10バイト必要です。ただし、ROWIDの値を手動でメンテナンスする必要があるため、ほとんどの場合、これはお薦めしません。

質問質問質問質問 : 現在、バージョン現在、バージョン現在、バージョン現在、バージョン 7のののの ROWIDデータ型形式に依存しています。変換アルゴリズムデータ型形式に依存しています。変換アルゴリズムデータ型形式に依存しています。変換アルゴリズムデータ型形式に依存しています。変換アルゴリズムは、将来、ドキュメント化されるでしょうかは、将来、ドキュメント化されるでしょうかは、将来、ドキュメント化されるでしょうかは、将来、ドキュメント化されるでしょうか ?

回答 : リリース 8.0およびリリース 8.1の新しい ROWIDデータ型形式は、そのような用途についてはドキュメント化されていません。ただし、リリース 8.0およびリリース 8.1では、リリース 8.0およびリリース 8.1の ROWIDの内容を解釈するための DBMS_ROWID(PL/SQL)パッケージが提供されています。

物理 ROWIDの移行について 12-9

Page 288: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

ROWIDの移行に関するよくある質問とその回答

質問質問質問質問 : 将来、現在の索引を再構築する必要がでてくるでしょうか将来、現在の索引を再構築する必要がでてくるでしょうか将来、現在の索引を再構築する必要がでてくるでしょうか将来、現在の索引を再構築する必要がでてくるでしょうか ?

回答 : 古い ROWIDデータ型形式を格納している列で構築された索引のみ、データの移行後に再構築する必要があります。

質問質問質問質問 : ROWIDデータ型を以前のデータ型を以前のデータ型を以前のデータ型を以前の PL/SQL、、、、RPCまたはまたはまたはまたは FORMSで使用しています。この方で使用しています。この方で使用しています。この方で使用しています。この方法で今後も作業を続けられるでしょうか法で今後も作業を続けられるでしょうか法で今後も作業を続けられるでしょうか法で今後も作業を続けられるでしょうか ?

回答 : ROWIDが ROWIDデータ型のホスト変数に戻されるときの形式は同じであるため、一般的に変更は必要ありません。ただし、次の場合を除きます。

dblink(異機種間 dblink)を介してバージョン 7のサーバーからリリース 8.0およびリリース 8.1のデータベースへリモートにマップされた問合せは、OCIによる DTYRID型としてのROWIDフェッチ時(CHR変換なし)に、ORA-3116エラーで終了します。次の方法で問題を回避します。

� かわりに DTYCHR型として ROWIDフェッチを使用すると、暗黙的変換を実行して問題を回避します。

� バージョン 7のサーバーで SQLT_RIDおよびパッチ(Oracleから提供)を使用すると、CHR変換を実行せずに問題を回避します。

12-10 Oracle8i 移行ガイド

Page 289: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

古いリリース 8.0およびリリース 8.1への ダウング

13

古いリリース古いリリース古いリリース古いリリース 8.0およびリリースおよびリリースおよびリリースおよびリリース 8.1へのへのへのへの

ダウングレードダウングレードダウングレードダウングレード

この章の内容は、Oracleのリリース 8.1インストールのみに適用します。ダウングレードとは、Oracleデータベースを同じバージョンの前のリリースへ変換することを意味します。たとえば、データベースをリリース 8.1.5からリリース 8.0.5に変換するときなどです。また、ダウングレードは、Oracleデータベースを前のバージョンに変換することも意味します。たとえば、データベースを Oracle8iから Oracle7に変換するときなどです。この章では、Oracleの以前のリリース 8.1またはリリース 8.0へのダウングレードについて説明します。Oracle7にダウングレードする場合は、第 14章「Oracle7へのダウングレード」を参照してください。

次の項の指示順に、プロシージャを実行し、データベースをダウングレードしてください。

� オフライン全体バックアップの実行

� 非互換性の削除

� データベース互換性のリセット

� データベースのダウングレード

参照参照参照参照 : ダウングレードの一部には、オペレーティング・システム固有の部分があります。ダウングレードの詳細は、オペレーティング・システム固有の Oracleマニュアルを参照してください。

レード 13-1

Page 290: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

オフライン全体バックアップの実行

オフライン全体バックアップの実行オフライン全体バックアップの実行オフライン全体バックアップの実行オフライン全体バックアップの実行ダウングレードする前に、リリース 8.1のデータベースにオフライン全体バックアップを実行してください。

非互換性の削除非互換性の削除非互換性の削除非互換性の削除非互換性の削除のプロセスは、以前のリリース 8.1とリリース 8.0のどちらにダウングレードするかによって異なります。まず、ご使用のデータベースの互換性レベルを調査して、ダウングレードするリリースと互換性があるかどうかを確認します。

データベースの互換性レベルの調査データベースの互換性レベルの調査データベースの互換性レベルの調査データベースの互換性レベルの調査ご使用のデータベースの互換性レベルがダウングレードするリリースよりも高い場合、ダウングレードする前に削除すべき前のリリースの非互換性が、データベース内にある可能性があります。ご使用のデータベースの互換性レベルは、COMPATIBLE初期化パラメータの設定と一致します。次の SQL文を発行して、COMPATIBLE初期化パラメータの設定を調査します。

SELECT name, value, description FROM v$parameter WHERE name='compatible'; COMPATIBLEパラメータが、ダウングレードしようとしているリリース、またはそれ以前のリリースに設定されている場合、非互換性の削除は必要ありません。たとえば、リリース8.0.6にダウングレードする場合、COMPATIBLEパラメータが 8.0.6に設定されていれば、非互換性の削除は必要ありません。この場合、使用しているデータベースには、ダウングレードするリリースとの間の非互換性は存在しません。したがって、この項の残りをスキップして 13-52ページの「データベースのダウングレード」の項に進んでください。

ただし、あるリリースにダウングレードするときに、COMPATIBLEパラメータがダウングレードするリリースより高く設定されている場合は、非互換性がいくつか存在している可能性があります。たとえば、リリース 8.0.6にダウングレードし、COMPATIBLEが 8.1.0以上に設定されている場合、非互換性が存在する可能性があります。同様に、リリース 8.1.5にダウングレードするときに、COMPATIBLEが 8.1.6以上に設定されていると、非互換性が存在する可能性があります。

参照参照参照参照 : 詳細は、『Oracle8iバックアップおよびリカバリ・ガイド』を参照してください。

13-2 Oracle8i 移行ガイド

Page 291: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

ダウングレードするリリースの適切な項の指示に従ってください。

� リリース 8.1.5にダウングレードする場合、13-3ページの「リリース 8.1.5にダウングレードする場合の非互換性の削除」を参照してください。

� リリース 8.0にダウングレードする場合、13-8ページの「リリース 8.0にダウングレードする場合の非互換性の削除」を参照してください。

リリースリリースリリースリリース 8.1.5にダウングレードする場合の非互換性の削除にダウングレードする場合の非互換性の削除にダウングレードする場合の非互換性の削除にダウングレードする場合の非互換性の削除リリース 8.1.5にダウングレードする場合、次の項に記述されている処置を実行して非互換性を削除します。

LOBのののの CACHE READS指定の使用の中断指定の使用の中断指定の使用の中断指定の使用の中断 リリース 8.1.5にダウングレードする前に、LOBのCACHE READS記憶領域パラメータの使用を中断する必要があります。

次の項に、現在使用している LOBに対する CACHE READS指定を識別する SQL文を記載します。

LOB列が CACHE READSに指定されている表を識別するには、次の SQL文を SYSユーザーで発行します。

SELECT owner, table_name, column_name FROM dba_lobs WHERE cache = 'CACHEREADS'; 表レベルのデフォルト属性として、LOB列が CACHE READSに指定されているパーティション表を識別するには、次の SQL文を SYSユーザーで発行します。

SELECT table_owner, table_name, column_name FROM dba_part_lobs WHERE def_cache = 'CACHEREADS'; パーティション・レベルで LOB列が CACHE READSに指定されているパーティション表を識別するには、次の SQL文を SYSユーザーで発行します。

SELECT table_owner, table_name, column_name, partition_name FROM dba_lob_partitions WHERE cache = 'CACHEREADS';

古いリリース 8.0およびリリース 8.1への ダウングレード 13-3

Page 292: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

サブパーティション・レベルで LOB列が CACHE READSに指定されているパーティション表を識別するには、次の SQL文を SYSユーザーで発行します。

SELECT table_owner, table_name, column_name, subpartition_name FROM dba_lob_subpartitions WHERE cache = 'CACHEREADS'; LOBに対する CACHE READS指定をすべて識別した後、CACHEまたはNOCACHE指定に変更できます。これらの指定はリリース 8.1.5と互換性があります。次に、指定を変更するために発行する SQL文の例を記載します。

LOB記憶領域パラメータを CACHE READSから CACHEまたは NOCACHEへ変更するには、ALTER TABLE ... MODIFY LOB文を使用します。たとえば、LOB_COLという LOB列がある LOB_TABという表で、記憶域指定を CACHEに変更するには、次の SQL文を発行します。

ALTER TABLE lob_tab MODIFY LOB (lob_col) (CACHE); この文を使用して、パーティション表の表レベルおよびパーティション・レベルで LOB記憶領域パラメータを変更することもできます。LOB列のデフォルトの表レベル属性のみ、パーティション・レベルで CACHE READSから CACHEまたは NOCACHEに変更する場合は、ALTER TABLE ... MODIFY DEFAULT ATTRIBUTES文を使用します。たとえば、LOB_COLという LOB列がある LOB_PART_TABという表で記憶域の指定を NOCACHEに変更するには、次の SQL文を発行します。

ALTER TABLE lob_part_tab MODIFY DEFAULT ATTRIBUTES LOB (lob_col) (NOCACHE); パーティション表のパーティション・レベルで、LOB記憶領域パラメータを CACHE READSから CACHEまたは NOCACHEに変更する場合は、ALTER TABLE ... MODIFY PARTITION文を使用します。たとえば、LOB_COLという LOB列および PART_1というパーティションがある LOB_PART_TABという表で記憶域の指定を CACHEに変更するには、次の SQL文を発行します。

ALTER TABLE lob_part_tab MODIFY PARTITION part_1 LOB (lob_col) (CACHE);

13-4 Oracle8i 移行ガイド

Page 293: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

非互換トリガーの削除非互換トリガーの削除非互換トリガーの削除非互換トリガーの削除 リリース 8.1.6以上の新機能によって、CREATE、ALTERおよびDROPのみでなく、すべての SQL DDL文に対してトリガーがサポートされます。これらのトリガーは、ダウングレード前に削除する必要があります。リリース 8.1.5と互換性のないトリガーを調査するには、SYSDBAユーザーで接続し、次の SQL文を発行します。

SELECT owner, trigger_name, triggering_event FROM dba_triggers WHERE base_object_type LIKE '%DATABASE%' OR base_object_type LIKE '%SCHEMA%';

TRIGGERING_EVENT列に次のイベントがあるすべてのトリガーを削除します。

� ANALYZE

� ASSOCIATE STATISTICS

� AUDIT

� COMMENT

� DDL

� DISASSOCIATE STATISTICS

� GRANT

� NOAUDIT

� RENAME

� REVOKE

� TRUNCATE

外部名が外部名が外部名が外部名が NULLのグローバル・ユーザーの削除または再作成のグローバル・ユーザーの削除または再作成のグローバル・ユーザーの削除または再作成のグローバル・ユーザーの削除または再作成 ユーザーがスキーマに依存せず、複数のエンタープライズ・ユーザーが共有スキーマにアクセスする Oracle Advanced Securityの機能は、リリース 8.1.5と互換性がありません。この機能を使用している場合は、共有スキーマを識別する必要があります。これは、外部名が NULLのグローバル・ユーザーとして識別できます。共有スキーマを識別するには、次の SQL文を発行します。

SELECT name FROM dba_users WHERE password='GLOBAL' AND external_name IS NULL;

共有スキーマを識別した後、表示されたユーザーを削除するか、または NULL以外の外部名を持つように再作成する必要があります。

古いリリース 8.0およびリリース 8.1への ダウングレード 13-5

Page 294: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

また、これらのユーザーがデータベース・オブジェクトにアクセスできるように、データベース・ユーザーとして共有スキーマにアクセスするエンタープライズ・ユーザーを作成する必要があります。これらのエンタープライズ・ユーザーは、データベースにはあらかじめ存在しません。エンタープライズ・ユーザーは、グローバル・ユーザー(SSLで認証)、外部で認証するユーザーまたはパスワードで認証するユーザーとして作成できます。

たとえば、次のグローバル・ユーザーをリリース 8.1.6以上で作成するとします。

CONNECT system/system_passwordCREATE USER user1 IDENTIFIED GLOBALLY AS '';

このユーザーを、パスワードで認証してリリース 8.1.5と互換性があるようにするには、次の SQL文を発行します。

CONNECT system/system_passwordALTER USER user1 IDENTIFIED BY welcome;

ご使用の SYSTEMユーザー・パスワードを使用して接続します。

特殊なユーザー定義型があるキュー表の削除特殊なユーザー定義型があるキュー表の削除特殊なユーザー定義型があるキュー表の削除特殊なユーザー定義型があるキュー表の削除 リリース 8.1.6以上では、JMS型を作成してキュー表で使用できます。これらの型は、ダウングレード中に自動的に削除されます。したがって、ダウングレード前にこれらの JMS型を含むキュー表を削除する必要があります。既存のキュー表を識別するには、次の SQL文を発行します。

SELECT owner, queue_table, object_type FROM all_queue_tables WHERE object_type LIKE 'SYS.AQ$_JMS%';

一覧表示されたキュー表を削除するには、DBMS_AQADM.DROP_QUEUE_TABLEプロシージャを実行します。たとえば、ユーザー SCOTTが所有する QTABLE1というキュー表が表示された場合、このキュー表を削除するには次のプロシージャを実行します。

EXECUTE dbms_aqadm.drop_queue_table(queue_table => 'scott.qtable1', force => TRUE);

移行された表領域の削除または変換移行された表領域の削除または変換移行された表領域の削除または変換移行された表領域の削除または変換 リリース 8.1.6以上では、表領域の移行がサポートされます。これによって、表領域をディクショナリ管理形式からローカル管理形式(またはその逆)へ移行できます。表領域をディクショナリ管理形式からローカル管理形式に移行すると、その表領域はある条件下で「移行された表領域」とマークされます。ご使用のデータベースにこのような表領域がある場合、Oracleの以前のリリースにダウングレードすることはできません。

13-6 Oracle8i 移行ガイド

Page 295: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

互換性のない移行された表領域を識別するには、次の SQL文を入力します。

SELECT DISTINCT(tablespace_name) FROM dba_segments WHERE segment_type = 'SPACE HEADER';

表示された表領域は、ディクショナリ管理表領域に変換するか、または削除できます。表示された表領域をディクショナリ管理表領域に変換するには、DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_FROM_LOCALプロシージャを実行します。たとえば、TS1という表領域が表示された場合、次のプロシージャを実行します。

EXECUTE dbms_space_admin.tablespace_migrate_from_local('TS1');

これらの表領域を削除するには、DROP TABLESPACE文を発行します。たとえば、TS1という表領域が表示された場合、この表領域を削除するには次の文を発行します。

DROP TABLESPACE TS1 INCLUDING CONTENTS CASCADE CONSTRAINTS;

一時セグメントの修正一時セグメントの修正一時セグメントの修正一時セグメントの修正 表領域をディクショナリ管理形式からローカル管理形式(またはその逆)へ移行する間、表領域内セグメントは一時的に一時状態になります。これらの一時セグメントがあるデータベースは、ダウングレードできません。

一時セグメントを識別するには、次の SQL文を入力します。

SELECT DISTINCT(tablespace_name) FROM sys_dba_segs WHERE DECODE(BITAND(segment_flags, 16), 16, 1 , 0) = 1;

表示された一時セグメントを修正するには、DBMS_SPACE_ADMIN.TABLESPACE_FIX_SEGMENT_STATESプロシージャをその表領域に対して実行します。たとえば、TS1という表領域が表示された場合、次のプロシージャを実行します。

EXECUTE dbms_space_admin.tablespace_fix_segment_states('TS1');

最適化されたローカル管理表領域のセグメントの削除最適化されたローカル管理表領域のセグメントの削除最適化されたローカル管理表領域のセグメントの削除最適化されたローカル管理表領域のセグメントの削除 リリース 8.1.6以上では、データ・ディクショナリに追加情報を格納することによって、ローカル管理表領域のセグメントの削除を最適化できます。ローカル管理の表領域にあるすべての一時セグメントを削除してからダウングレードを行ってください。これらのセグメントを調査するには、V$COMPATSEGビューを問い合せるか、または COMPATIBLE初期化パラメータを 8.1.6より低く設定してデータベースを起動します。

古いリリース 8.0およびリリース 8.1への ダウングレード 13-7

Page 296: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

V$COMPATSEGビューを問い合せるには、次の SQL文を発行します。

SELECT * FROM v$compatseg;

互換性のないセグメントは、TYPE_ID列に「FASTDROP」、RELEASE列に「8.1.6.0.0」と表示されます。

互換性のないセグメントがあるときに COMPATIBLEパラメータを 8.1.6より低く設定してデータベースを起動すると、データベースは起動に失敗し、次のようなメッセージが表示されます。

ORA-00402: リリース8.1.6.0.0のDB変更はリリース8.1.5.0.0では使用できません。ORA-00405: 関係のある型 "Faster segment drop"

後でダウングレード・プロセス中にデータベースの互換性をリセットすると、Oracleは一時セグメントの削除を試みます。互換性を初めてリセットしたときにこれらのセグメントが削除されなかった場合、その手順を繰り返してデータベースの互換性をリセットしてください。

リリースリリースリリースリリース 8.1.5へのダウングレードの継続へのダウングレードの継続へのダウングレードの継続へのダウングレードの継続 リリース 8.1.5のすべての非互換性を削除した後、13-51ページの「データベース互換性のリセット」へ進みます

リリースリリースリリースリリース 8.0にダウングレードする場合の非互換性の削除にダウングレードする場合の非互換性の削除にダウングレードする場合の非互換性の削除にダウングレードする場合の非互換性の削除ダウングレードするリリース 8.0に非互換性が存在する場合、次の一般的な手順でこれらの非互換性を削除できます。

1. システム・プロンプトで、ORACLE_HOME/rdbms/adminディレクトリへ移動します。

2. Server Managerを起動します。ほとんどのオペレーティング・システムでは、Oracle8iの Server Managerを起動するには、コマンド・プロンプトで svrmgrlを入力します。

3. INTERNALユーザーとしてデータベース・インスタンスに接続します。

参照参照参照参照 : データベースの互換性をリセットする詳細は、13-51ページの「データベース互換性のリセット」を参照してください。

13-8 Oracle8i 移行ガイド

Page 297: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

4. 次の手順を行って、非互換性を識別します。

a. V$COMPATIBILITYの動的パフォーマンス・ビューに問い合せ、非互換性を識別します。

SVRMGR> SELECT * FROM v$compatibility WHERE release != ’0.0.0.0.0’;

RELEASE列の値がダウングレードするリリースより高い場合は、非互換性が存在します。

b. utlimcmpt.sqlを実行します。

SVRMGR> SPOOL utlincmp.outSVRMGR> @utlincmp.sqlSVRMGR> SPOOL OFF

utlincmp.sqlのスクリプトは、この章のこれ以降に記述されているすべての問合せを実行して、非互換性を識別します。したがって、utlincmp.sqlスクリプトを実行することによって、この章のこれ以降の部分で説明するすべての SELECT文を実行できます。

utlincmp.sqlのスクリプトを実行後、utlincmp.outのファイルを表示し、SELECT文が値を戻したインスタンスを探します。戻った値がリリース 8.0との非互換性です。

5. すべての非互換性を削除または変更し、ダウングレードするリリースと互換性のあるデータベースを作成します。

次の項では、リリース 8.0との非互換性の削除について説明します。非互換性を削除するには、SYSユーザーの権限を使用して処置を実行する必要があります。したがって、特に指示がない限り、SYSユーザーでログインし、次の項に記述されている処置を SYSDBAで実行してください。

また、データベースを 8.1.0以上の互換性レベルで作成した場合、Oracleは、リリース 8.0と互換性のない特定のシステム定義型を作成します。これら非互換性を削除するには、リリース 8.1に付属する utldst.sqlのスクリプトを実行します。

@utldst.sql

注意注意注意注意 : この問合せは、0.0.0.0.0の互換性レベルの機能を表示しません。これらの機能は現在使用されておらず、その機能に対しての処置は必要ありません。

古いリリース 8.0およびリリース 8.1への ダウングレード 13-9

Page 298: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

表領域表領域表領域表領域この項では、表領域に関連する非互換性の削除について説明します。

移動されたトランスポータブル表領域の削除移動されたトランスポータブル表領域の削除移動されたトランスポータブル表領域の削除移動されたトランスポータブル表領域の削除ダウングレードするデータベースに表領域を移動、またはこのデータベースから他のデータベースに表領域を移動するためにトランスポータブル表領域機能を使用していた場合、ダウングレードする前に次の手順を実行してください。

1. 次の SQL文を発行し、他のデータベースから移動されたトランスポータブル表領域を識別します。

SELECT tablespace_name, plugged_in FROM dba_tablespaces WHERE plugged_in = 'YES';

2. SQL文によって表示されたそれぞれの移動されたトランスポータブル表領域を削除または移動します。

移動されたトランスポータブル表領域にデータを保存する必要がない場合は、その表領域を削除してください。データを保存する必要がある場合には、現行のデータベースからデータをエクスポートし、ダウングレード後にそれをインポートするか、ダウングレードする前に表領域を他のデータベースにトランスポートしてください。

3. DBMS_TTS.DOWNGRADEを実行します。

EXECUTE dbms_tts.downgrade;

DBMS_TTS.DOWNGRADEプロシージャは、トランスポータブル表領域機能が使用したシステム表領域にある一時表を削除します。

移行された表領域の削除または変換移行された表領域の削除または変換移行された表領域の削除または変換移行された表領域の削除または変換リリース 8.1.6以上では、表領域の移行がサポートされます。これによって、表領域をディクショナリ管理形式からローカル管理形式(またはその逆)へ移行できます。表領域をディクショナリ管理形式からローカル管理形式に移行すると、その表領域はある条件下で「移行された表領域」とマークされます。ご使用のデータベースにこのような表領域がある場合、Oracleの以前のリリースにダウングレードすることはできません。

注意注意注意注意 : Oracle8i Enterprise Editionから Oracle8i(以前はWorkgroup Server)へダウングレードする場合は、ダウングレードの実行前に、Oracle8i Enterprise Editionの拡張機能を使用するアプリケーションを変更し、それらの拡張機能を使用できないようにしてください。

13-10 Oracle8i 移行ガイド

Page 299: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

互換性のない移行された表領域を識別するには、次の SQL文を入力します。

SELECT DISTINCT(tablespace_name) FROM dba_segments WHERE segment_type = 'SPACE HEADER';

表示された表領域は、ディクショナリ管理表領域に変換するか、または削除できます。表示された表領域をディクショナリ管理表領域に変換するには、DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_FROM_LOCALプロシージャを実行します。たとえば、TS1という表領域が表示された場合、次のプロシージャを実行します。

EXECUTE dbms_space_admin.tablespace_migrate_from_local('TS1');

これらの表領域を削除するには、DROP TABLESPACE文を発行します。たとえば、TS1という表領域が表示された場合、この表領域を削除するには次の文を発行します。

DROP TABLESPACE TS1 INCLUDING CONTENTS CASCADE CONSTRAINTS;

一時セグメントの修正一時セグメントの修正一時セグメントの修正一時セグメントの修正表領域をディクショナリ管理形式からローカル管理形式(またはその逆)へ移行する間、表領域内セグメントは一時的に一時状態になります。これらの一時セグメントがあるデータベースは、ダウングレードできません。

一時セグメントを識別するには、次の SQL文を入力します。

SELECT DISTINCT(tablespace_name) FROM sys_dba_segs WHERE DECODE(BITAND(segment_flags, 16), 16, 1 , 0) = 1;

表示された一時セグメントを修正するには、DBMS_SPACE_ADMIN.TABLESPACE_FIX_SEGMENT_STATESプロシージャをその表領域に対して実行します。たとえば、TS1という表領域が表示された場合、次のプロシージャを実行します。

EXECUTE dbms_space_admin.tablespace_fix_segment_states('TS1');

古いリリース 8.0およびリリース 8.1への ダウングレード 13-11

Page 300: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

ローカル管理表領域の使用の中断ローカル管理表領域の使用の中断ローカル管理表領域の使用の中断ローカル管理表領域の使用の中断リリース 8.1では、ローカル管理の表領域をサポートします。ダウングレードする前に、ローカル管理のすべての表領域をディクショナリ表領域に変換する必要があります。

ローカル管理の表領域を識別するには、次の SQL文を入力します。

SELECT tablespace_name, extent_management FROM dba_tablespaces WHERE extent_management = 'LOCAL';

表示されたすべての表領域で、DBMS_ADMIN.TABLESPACE_MIGRATE_FROM_LOCALを実行します。たとえば、TS_1という表領域が示されている場合、次の SQL文を入力してTS_1をディクショナリの表領域に変換します。

EXECUTE dbms_admin.tablespace_migrate_from_local('ts_1');

最適化されたローカル管理表領域のセグメントの削除最適化されたローカル管理表領域のセグメントの削除最適化されたローカル管理表領域のセグメントの削除最適化されたローカル管理表領域のセグメントの削除リリース 8.1.6以上では、データ・ディクショナリに追加情報を格納することによって、ローカル管理表領域のセグメントの削除を最適化できます。ローカル管理の表領域にあるすべての一時セグメントを削除してからダウングレードを行ってください。これらのセグメントを調査するには、V$COMPATSEGビューを問い合せるか、または COMPATIBLE初期化パラメータを 8.1.6より低く設定してデータベースを起動します。

V$COMPATSEGビューを問い合せるには、次の SQL文を発行します。

SELECT * FROM v$compatseg;

互換性のないセグメントは、TYPE_ID列に「FASTDROP」、RELEASE列に「8.1.6.0.0」と表示されます。

互換性のないセグメントがあるときに COMPATIBLEパラメータを 8.1.6より低く設定してデータベースを起動すると、データベースは起動に失敗し、次のようなメッセージが表示されます。

ORA-00402: リリース8.1.6.0.0のDB変更はリリース8.0.5.0.0では使用できません。ORA-00405: 関係のある型 "Faster segment drop"

後でダウングレード・プロセス中にデータベースの互換性をリセットすると、Oracleは一時セグメントの削除を試みます。互換性を初めてリセットしたときにこれらのセグメントが削除されなかった場合、その手順を繰り返してデータベースの互換性をリセットしてください。

参照参照参照参照 : データベースの互換性をリセットする詳細は、13-51ページの「データベース互換性のリセット」を参照してください。

13-12 Oracle8i 移行ガイド

Page 301: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

スキーマ・オブジェクトスキーマ・オブジェクトスキーマ・オブジェクトスキーマ・オブジェクトこの項では、スキーマ・オブジェクトに関連する非互換性の削除について説明します。

一時表の削除一時表の削除一時表の削除一時表の削除ダウングレードする前に、すべての一時表を削除します。既存の一時表領域を識別するには、次の SQL文を発行します。

SELECT owner, table_name FROM dba_tables WHERE temporary = 'Y' AND table_name NOT LIKE 'RUPD$%' AND table_name NOT LIKE 'ATEMPTAB$';

一覧表示されたすべての表を削除します。

索引および索引構成表上におけるキー圧縮の中断索引および索引構成表上におけるキー圧縮の中断索引および索引構成表上におけるキー圧縮の中断索引および索引構成表上におけるキー圧縮の中断ダウングレードする前に、データベースのキー圧縮がある索引および索引構成表の使用を中断してください。キー圧縮のある既存索引および索引構成表を識別するために、次の SQL文を発行します。

SELECT index_name, index_type, table_owner, table_name FROM dba_indexes WHERE compression = 'ENABLED';

表示された各索引に対して、ALTER INDEX ... REBUILD NOCOMPRESS文を発行します。たとえば、キー圧縮のある I_JOBという索引がある場合、次の SQL文を入力します。

ALTER INDEX i_job REBUILD NOCOMPRESS;

表示されたすべての索引構成表に対して ALTER TABLE ... MOVE NOCOMPRESS文を発行します。たとえば、キー圧縮のある IOT_ITEMという索引構成表がある場合、次の SQL文を入力します。

ALTER TABLE iot_item MOVE NOCOMPRESS;

注意注意注意注意 : ALTER TABLE ... MOVE NOCOMPRESS文は、索引構成表として格納されたネストした表格納表には使用できません。ネストした表の各列に対しては、ネストした表の列に対するヒープ格納表を指定して列を削除するか、CREATE TABLE ... AS SELECT文で親表を再作成してください。親表はネストした表の列を持つ表です。

古いリリース 8.0およびリリース 8.1への ダウングレード 13-13

Page 302: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

索引構成表の索引構成表の索引構成表の索引構成表の LOBおよびおよびおよびおよび VARRAYの使用の中断の使用の中断の使用の中断の使用の中断ダウングレードする前に、データベース内の LOBまたは VARRAYのあるすべての索引構成表を削除します。LOBのある既存の索引構成表を識別するには、次の SQL文を発行します。

SELECT column_name, t.owner, t.table_name FROM dba_lobs l, dba_tables t WHERE l.table_name = t.table_name AND l.owner = t.owner AND t.iot_type = 'IOT';

VARRAYのある既存の索引構成表を識別するには、次の SQL文を発行します。

SELECT v.parent_table_column, t.owner, t.table_name FROM dba_varrays v, dba_tables t WHERE v.parent_table_name = t.table_name AND v.owner = t.owner AND t.iot_type = 'IOT';

SQL文によって一覧表示された表内のデータを保存する必要がない場合は、表を削除します。ただし、表内のデータを保存する必要がある場合は、各表に対して次の手順を実行します。

1. LOBまたは VARRAYのある索引構成表からすべての列を選択し、索引構成されていない新しい表を作成します。

たとえば、次のように定義された、LOBIOTという名前の LOBのある索引構成表があると仮定します。

CREATE TABLE lobiot (a INT, b CLOB, c INT PRIMARY KEY) ORGANIZATION INDEX;

LOBIOT内のデータを使用して、NIOTD2という名前の索引構成されていない表を作成するために、次の SQL文を発行します。

CREATE TABLE niotd2 (a,b,c PRIMARY KEY) AS SELECT * FROM lobiot;

2. 新しい表が正しく機能していることを確認して、LOBまたは VARRAYのある索引構成表を削除します。

3. 新しい表を元の名前に改名します。

13-14 Oracle8i 移行ガイド

Page 303: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

索引構成表のすべての索引構成表のすべての索引構成表のすべての索引構成表のすべての 2次索引の削除次索引の削除次索引の削除次索引の削除ダウングレードする前に、データベース内にある索引構成表のすべての 2次索引を削除します。索引構成表の既存の 2次索引を識別するには、次の SQL文を発行します。

SELECT index_name, i.owner, t.table_name FROM dba_indexes i, dba_tables t WHERE i.index_type = 'NORMAL' AND i.table_name = t.table_name AND t.owner = i.table_owner AND t.iot_type = 'IOT';

一覧表示された索引を削除してください。

未使用列および部分的に削除された列の削除未使用列および部分的に削除された列の削除未使用列および部分的に削除された列の削除未使用列および部分的に削除された列の削除ダウングレードする前に、未使用列および部分的に削除されたすべての列を削除します。

未使用列の削除未使用列の削除未使用列の削除未使用列の削除 データベースの表内に未使用列がある場合、ダウングレードできません。未使用列を含む表を識別するには、次の SQL文を発行します。

SELECT * FROM dba_unused_col_tabs;

表内のすべての未使用列を削除するには、ALTER TABLE ... DROP UNUSED COLUMNS文を使用します。一覧表示された各表に対して、この文を実行します。たとえば、次の文を入力して、CUSTOMERSという表内のすべての未使用列を削除します。

ALTER TABLE customers DROP UNUSED COLUMNS;

部分的に削除された列の削除部分的に削除された列の削除部分的に削除された列の削除部分的に削除された列の削除 データベースの表内に部分的に削除された列がある場合、ダウングレードできません。部分的に削除された列を含む表を識別するには、次の SQL文を発行します。

SELECT * FROM dba_partial_drop_tabs;

表内の部分的に削除されたすべての列を削除するには、ALTER TABLE ... DROP COLUMNS CONTINUE文を使用します。一覧表示された各表に対して、この文を実行します。たとえば、CUSTOMERSという名前の表内にある部分的に削除されたすべての列を削除するには、次の文を入力します。

ALTER TABLE customers DROP COLUMNS CONTINUE;

古いリリース 8.0およびリリース 8.1への ダウングレード 13-15

Page 304: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

すべての単一表ハッシュ・クラスタの削除すべての単一表ハッシュ・クラスタの削除すべての単一表ハッシュ・クラスタの削除すべての単一表ハッシュ・クラスタの削除ダウングレードする前に、すべての単一表ハッシュ・クラスタを削除してください。単一表のみのハッシュ・クラスタを調査するには、次の SQL文を発行します。

SELECT cluster_name, single_table FROM dba_clusters WHERE single_table like '%Y%';

一覧表示されたすべてのクラスタを削除します。

互換性のないマテリアライズド・ビューの削除互換性のないマテリアライズド・ビューの削除互換性のないマテリアライズド・ビューの削除互換性のないマテリアライズド・ビューの削除次の SQL文を発行して、リリース 8.0と互換性のないマテリアライズド・ビューを識別します。

SELECT mv.owner, mv.name FROM dba_snapshots mv, dba_mview_analysis mva WHERE mva.owner = mv.owner AND mva.mview_name = mv.name;

一覧表示されたすべてのマテリアライズド・ビューを削除します。たとえば、SCOTTに所有される、MV_1という名前のマテリアライズド・ビューが表示された場合、このマテリアライズド・ビューを削除するために次の SQL文を発行します。

DROP MATERIALIZED VIEW scott.mv_1;

ダウングレード中に変更または削除されるマテリアライズド・ビューのダウングレード中に変更または削除されるマテリアライズド・ビューのダウングレード中に変更または削除されるマテリアライズド・ビューのダウングレード中に変更または削除されるマテリアライズド・ビューの識別識別識別識別次の項では、13-52ページの「データベースのダウングレード」に記述されているダウングレード・プロセス中に、変更または削除されるマテリアライズド・ビューの識別方法について説明します。

注意注意注意注意 : マテリアライズド・ビューは、スナップショットと同義語です。

13-16 Oracle8i 移行ガイド

Page 305: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

REFRESH ON COMMITモードをモードをモードをモードを REFRESH ON DEMANDモードに変更モードに変更モードに変更モードに変更 リリース 8.1では、マテリアライズド・ビューに REFRESH ON COMMITモードを使用できます。ただし、リリース8.0では、このモードを使用できません。REFRESH ON COMMITモードのマテリアライズド・ビューを識別するには、次の SQL文を発行します。

SELECT owner, name, refresh_mode FROM dba_snapshots WHERE refresh_mode = 'COMMIT';

一覧表示されたすべてのマテリアライズド・ビューは REFRESH ON COMMITモードです。ダウングレード時に、これらのマテリアライズド・ビューは自動的に REFRESH ON DEMANDモードに変更されます。

ダウングレード後に使用不可能なダウングレード後に使用不可能なダウングレード後に使用不可能なダウングレード後に使用不可能な FAST REFRESHモードモードモードモード 結合または GROUP BY句(集約問合せ)を使用するマテリアライズド・ビューは、ダウングレード後には FAST REFRESHモードを使用できません。

NEVER REFRESHモードのマテリアライズド・ビューの削除モードのマテリアライズド・ビューの削除モードのマテリアライズド・ビューの削除モードのマテリアライズド・ビューの削除 リリース 8.1では、マテリアライズド・ビューに NEVER REFRESHモードを使用することができます。ただし、リリース 8.0では、このモードを使用できません。NEVER REFRESHモードのマテリアライズド・ビューを識別するには、次の SQL文を発行します。

SELECT owner, name, type FROM dba_snapshots WHERE type = 'NEVER';

一覧表示されたすべてのマテリアライズド・ビューは NEVER REFRESHモードです。ダウングレード時に、これらのマテリアライズド・ビューは自動的に削除されます。

PREBUILT TABLE句によって作成されたマテリアライズド・ビューの削除句によって作成されたマテリアライズド・ビューの削除句によって作成されたマテリアライズド・ビューの削除句によって作成されたマテリアライズド・ビューの削除 リリース 8.1では、PREBUILT TABLE句を使用してマテリアライズド・ビューを作成できます。ただし、リリース 8.0では、これらのビューをサポートしていません。ダウングレード時に PREBUILT TABLE句で作成したビューは、自動的に削除されます。

ビューなしで作成されたマテリアライズド・ビュービューなしで作成されたマテリアライズド・ビュービューなしで作成されたマテリアライズド・ビュービューなしで作成されたマテリアライズド・ビュー ダウングレード時にビューなしで作成されたマテリアライズド・ビューは自動的に削除されます。

BUILT DEFERRED句で作成されたマテリアライズド・ビューのリフレッシュ句で作成されたマテリアライズド・ビューのリフレッシュ句で作成されたマテリアライズド・ビューのリフレッシュ句で作成されたマテリアライズド・ビューのリフレッシュ ダウングレード時に、BUILD DEFERRED句で作成されたすべてのビューについて自動的に完全リフレッシュが行われます。

古いリリース 8.0およびリリース 8.1への ダウングレード 13-17

Page 306: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

相互参照ビューおよびリリース相互参照ビューおよびリリース相互参照ビューおよびリリース相互参照ビューおよびリリース 8.0.4.1以前へのダウングレード以前へのダウングレード以前へのダウングレード以前へのダウングレード相互参照ビューがあり、リリース 8.0.4.1以前のリリースにダウングレードする場合、これらのビューを削除する必要があります。相互参照ビューがない場合、またはリリース 8.0.4.2以降にダウングレードする場合、この項はスキップしてください。

リリース 8.0.3では、相互参照ビューをサポートしていません。リリース 8.0.3にダウングレードする場合は、すべての相互参照ビューを削除してください。

相互参照ビューはリリース 8.0.4.0以降でサポートされます。ただし、リリース 8.0.4.0または 8.0.4.1にダウングレードする場合、これらのビューを削除する必要があります。ダウングレード後、削除した相互参照ビューを再作成できます。バグ #662863のため、この処置は必要です。このバグはリリース 8.0.4.0および 8.0.4.1にありますが、リリース 8.0.4.2以降では修正されています。

相互参照ビューとは、MAKE_REF演算子を介してオブジェクト・ビューが互いに参照するビューのことです。次の相互参照ビューの例では、HUSBAND型およびWIFE型は互いに参照し、オブジェクト・ビューはMAKE_REF演算子で作成されています。

CREATE TYPE husband/

CREATE TYPE wife AS object (id2 NUMBER, name2 CHAR(10), salary number, buddy2 REF husband)/

CREATE OR replace TYPE husband AS object (id NUMBER, name CHAR(10), buddy REF wife)/

CREATE TABLE husbandtab (id NUMBER, name CHAR(10), buddy NUMBER);

注意注意注意注意 : ダウングレードする前または後に、相互参照ビューを削除できます。相互参照ビューはダウングレード操作に影響しません。

13-18 Oracle8i 移行ガイド

Page 307: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

CREATE TABLE wifetab (id2 NUMBER, name2 CHAR(10), salary NUMBER, buddy2 NUMBER);

CREATE VIEW husbandview OF husband WITH object OID(id) AS SELECT id, name, NULL FROM husbandtab;

CREATE VIEW wifeview OF wife WITH object OID(id2) AS SELECT id2, name2, salary, MAKE_REF(husbandview, buddy2) FROM wifetab;

CREATE OR replace VIEW husbandview OF husband WITH object OID(id) AS SELECT id, name, MAKE_REF(wifeview, buddy) FROM husbandtab;

リリースリリースリリースリリース 8.0と互換性のないビットマップ索引の削除と互換性のないビットマップ索引の削除と互換性のないビットマップ索引の削除と互換性のないビットマップ索引の削除リリース 8.1にはビットマップ索引の保護があります。これらは、ビットマップ索引が不本意に無効にされないように保護します。

リリース 8.0にダウングレードするとき、この新機能が保護するビットマップ索引を削除する必要があります。これらのビットマップ索引を一覧表示するには、次の SQL文を発行します。

SELECT o.name INDEX_NAME, u.name INDEX_OWNER FROM sys.user$ u, sys.obj$ o, sys.ind$ i, sys.tab$ t WHERE t.obj#=o.obj# AND i.bo#=t.obj# AND t.spare1>32767 AND i.type#=2 AND o.owner#=u.user#;

一覧表示されたすべての索引を削除するには、DROP INDEX文を使用します。たとえば、BIT1というビットマップ索引を削除するには、次の SQL文を発行します。

DROP INDEX bit1;

この文を一覧表示された各ビットマップ索引に発行します。

また、ALTER TABLE table_name NOMINIMIZE RECORDS_PER_BLOCKを実行します。たとえば、SCOTT.EMP表に互換性のないビットマップ索引がある場合は、次の文を発行します。

参照参照参照参照 : 詳細は、9-26ページの「ビットマップ索引の保護」を参照してください。

古いリリース 8.0およびリリース 8.1への ダウングレード 13-19

Page 308: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

ALTER TABLE scott.emp NOMINIMIZE RECORDS_PER_BLOCK;

ファンクション索引の削除ファンクション索引の削除ファンクション索引の削除ファンクション索引の削除データベースにファンクション索引がある場合、ダウングレードできません。ファンクション索引を識別するには、次の SQL文を発行します。

SELECT DISTINCT index_owner, index_name FROM dba_ind_columns WHERE column_name IS NULL;

すべてのファンクション索引を削除するには、DROP INDEX文を使用します。たとえば、FUNCIN1というファンクション索引を削除するには、次の SQL文を発行します。

DROP INDEX funcin1;

一覧表示された各ファンクション索引に対して、この文を発行します。

拡張索引作成機能の解除拡張索引作成機能の解除拡張索引作成機能の解除拡張索引作成機能の解除リリース 8.1は拡張索引作成機能をサポートします。この機能によって、ドメイン・インデックス、索引タイプおよび演算子の作成が可能になります。ダウングレードする前に、これらのオブジェクトを削除する必要があります。

ドメイン・インデックスの識別および削除ドメイン・インデックスの識別および削除ドメイン・インデックスの識別および削除ドメイン・インデックスの識別および削除 ドメイン・インデックスを識別するには、次のSQL文を発行します。

SELECT owner, index_name, index_type FROM dba_indexes WHERE index_type = 'DOMAIN';

一覧表示されたすべての索引を削除するには、DROP INDEX文を使用します。たとえば、DOM1というドメイン・インデックスを削除するには、次の SQL文を発行します。

DROP INDEX dom1;

一覧表示された各ドメイン・インデックスに対して、この文を発行します。

索引タイプの識別および削除索引タイプの識別および削除索引タイプの識別および削除索引タイプの識別および削除 索引タイプを識別するには、次の SQL文を発行します。

SELECT owner, indextype_name FROM dba_indextypes;

一覧表示された索引タイプを削除するには、DROP INDEXTYPE文を使用します。たとえば、USER2が所有する IX_TYPEという索引タイプが表示された場合、索引タイプを削除するには、次の SQL文を発行します。

DROP INDEXTYPE user2.ix_type;

演算子の識別および削除演算子の識別および削除演算子の識別および削除演算子の識別および削除 演算子を識別するには、次の SQL文を発行します。

13-20 Oracle8i 移行ガイド

Page 309: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

SELECT owner, operator_name FROM dba_operators;

一覧表示された演算子を削除するには、DROP OPERATOR文を使用します。たとえば、USER3が所有する OP1という演算子が表示された場合、演算子を削除するには、次の SQL文を発行します。

DROP OPERATOR user3.op1;

すべてのディメンションの削除すべてのディメンションの削除すべてのディメンションの削除すべてのディメンションの削除ダウングレードする前に、すべてのディメンションを削除する必要があります。リリース8.0では、ディメンションをサポートしません。

削除する必要があるディメンションを識別するには、次の SQL文を発行します。

SELECT * FROM dba_dimensions;

一覧表示されたディメンションを削除するには、DROP DIMENSION文を使用します。たとえば、USER4が所有する DIM1というディメンションが表示された場合、演算子を削除するには、次の SQL文を発行します。

DROP OPERATOR user4.dim1;

古いリリース 8.0およびリリース 8.1への ダウングレード 13-21

Page 310: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

パーティション化パーティション化パーティション化パーティション化この項では、リリース 8.1のパーティション化機能の使用禁止について説明します。

パーティション化された索引構成表の使用の中断パーティション化された索引構成表の使用の中断パーティション化された索引構成表の使用の中断パーティション化された索引構成表の使用の中断ダウングレードする前に、データベース内にあるパーティション化されたすべての索引構成表をすべて削除します。パーティション化された索引構成表を識別するには、次の SQL文を発行します。

SELECT table_name, tablespace_name, iot_type, partitioned FROM dba_tables WHERE partitioned = 'YES' AND iot_type = 'IOT';

一覧表示された表内のデータを保存する必要がない場合は、表を削除します。ただし、表のデータを保存する必要のある場合は、表に対して次の手順を実行します。

1. 表のすべてのパーティション 2次索引を削除します。

2. パーティション化された索引構成表からすべての行を選択し、索引構成でもパーティションでもない新しい表を作成します。

たとえば、次のように定義された、PIOTという名前のパーティション索引構成表があると仮定します。

CREATE TABLE piot (a int, b int, c int, d int, e int, PRIMARY KEY (d,e)) ORGANIZATION INDEX PARTITION BY RANGE (d) ( PARTITION itp1 VALUES LESS THAN (15), PARTITION itp2 VALUES LESS THAN (30), PARTITION itp3 VALUES LESS THAN (MAXVALUE) );

次の SQL文を発行して、PIOTのデータを使用する IOTという名前の非パーティション索引構成表を作成してください。

CREATE TABLE iot (a, b, c, d, e, PRIMARY KEY (d,e)) ORGANIZATION INDEX AS SELECT * FROM piot;

13-22 Oracle8i 移行ガイド

Page 311: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

または、索引構成なしでパーティションを保存する場合、次の SQL文を発行して、PIOTのデータを使用する PARという名前の索引構成ではないパーティション表を作成してください。

CREATE TABLE par (a, b, c, d, e, PRIMARY KEY (d,e)) PARTITION BY RANGE (d) ( PARTITION itp1 VALUES LESS THAN (15), PARTITION itp2 VALUES LESS THAN (30), PARTITION itp3 VALUES LESS THAN (MAXVALUE) ) AS SELECT * FROM piot;

3. 新しい表が正しく機能していることを確認して、パーティション索引構成表を削除します。

4. 新しい表を元の名前に改名します。

パーティション・オブジェクト表の使用の中断パーティション・オブジェクト表の使用の中断パーティション・オブジェクト表の使用の中断パーティション・オブジェクト表の使用の中断リリース 8.1は、オブジェクト表のパーティション化および次のユーザー定義型の表をサポートします。

� ネストした表

� オブジェクト

� REF

� VARRAY

ダウングレードする前に、すべてのパーティション・オブジェクト表をすべて削除します。すべてのパーティション・オブジェクト表を識別するには、次の SQL文を発行します。

SELECT UNIQUE t.table_name, t.owner FROM dba_part_tables t, dba_tab_columns c WHERE t.table_name = c.table_name AND c.data_type IN (SELECT type_name FROM dba_types WHERE predefined = 'NO');

一覧表示された表内のデータを保存する必要がない場合は、表を削除します。ただし、表示された複数の表内のデータを保存する必要がある場合は、CREATE TABLE ... AS SELECT文を使用して、表内のデータを非パーティション表にコピーします。

古いリリース 8.0およびリリース 8.1への ダウングレード 13-23

Page 312: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

たとえば、SQL文によって OBP1という表が表示され、この表のデータを保存する場合は、次の手順を実行します。

1. 次の SQL文を発行して、TEMP_OBP1という表を作成します。

CREATE TABLE temp_obp1 AS SELECT * FROM obp1;

2. 表 TEMP_OBP1にデータがあり、正しく機能していることを確認して、OBP1を削除します。

DROP TABLE obp1;

3. TEMP_OBP1を OBP1に改名します。

ALTER TABLE temp_obp1 RENAME TO obp1;

コンポジット・メソッドを使用するパーティション表使用の中断コンポジット・メソッドを使用するパーティション表使用の中断コンポジット・メソッドを使用するパーティション表使用の中断コンポジット・メソッドを使用するパーティション表使用の中断リリース 8.1は、コンポジット・メソッドおよび RANGE以外の非コンポジット・メソッドを使用するパーティション表の作成をサポートします。データベースにそのような表がある場合、次の処置の 1つを行う必要があります。

� これらの表内のデータを保存する必要がない場合は、表を削除します。

� データの保存が必要な場合は、データを非パーティション表にコピーするか、RANGEがパーティション化した表にデータをコピーします。他のオプションは、EXCHANGEを使用して(ハッシュ・メソッドを使用してパーティション化した表の)パーティション、または(コンポジット・メソッドを使用してパーティション化した表の)サブ・パーティションを非パーティション表へ交換します。

コンポジット・メソッド、および RANGE以外の非コンポジット・メソッドでパーティション化した表を一覧表示するには、次の SQL文を発行します。

SELECT owner, table_name FROM dba_part_tables WHERE partitioning_type != 'RANGE' or SUBPARTITIONING_TYPE != 'NONE';

13-24 Oracle8i 移行ガイド

Page 313: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

データ型データ型データ型データ型この項では、リリース 8.1以降のみで有効なデータ型を使用禁止にする方法ついて説明します。

ユニバーサルユニバーサルユニバーサルユニバーサル ROWIDデータ型のすべての使用の削除データ型のすべての使用の削除データ型のすべての使用の削除データ型のすべての使用の削除UROWID(ユニバーサル ROWID)データ型のすべての使用を削除するには、次の項の手順を実行します。

すべてのすべてのすべてのすべての UROWID列の削除列の削除列の削除列の削除 UROWIDデータ型列のある表すべてを一覧表示させるには、次の SQL文を発行します。

SELECT owner, table_name, column_name FROM dba_tab_columns WHERE data_type = 'UROWID' ORDER BY owner, table_name;

この文の結果、一覧表示された各表の UROWIDデータ型列を削除するか、または表全体を削除してください。

UROWID引数のすべてのストアド・プロシージャの削除引数のすべてのストアド・プロシージャの削除引数のすべてのストアド・プロシージャの削除引数のすべてのストアド・プロシージャの削除 UROWIDデータ型の引数があるすべての表を一覧表示させるには、次の SQL文を発行します。

SELECT owner, object_name, package_name, argument_name FROM all_arguments WHERE data_type = 'UROWID' AND package_name NOT IN ('STANDARD', 'DBMS_SQL', 'DBMS_SYS_SQL') ORDER BY owner, object_name, package_name;

表示された各プロシージャを削除するか、または引数を ROWIDデータ型に変更します。

既存の連鎖行および例外表の削除既存の連鎖行および例外表の削除既存の連鎖行および例外表の削除既存の連鎖行および例外表の削除 リリース 8.1では、UROWIDデータ型によって、連鎖行および例外に対して単一表の使用が可能になります。ただし、この機能はリリース 8.0のデータベースではサポートされません。したがって、連鎖行および例外の両方に対して複数の表を作成する必要があります。これは、通常すべての表に対して 1つ以上の表、および各索引構成表に対して 1つ以上の表が必要であるためです。

CH_ROWSという連鎖行表をダウングレードするには、次の手順を実行します。

1. 既存の CH_ROWS表を削除します。

2. 通常表の連鎖行を格納するために、utlchain.sqlスクリプトを使用して CH_ROWS表を再作成します。

3. DBMS_IOT.BUILD_CHAIN_ROWS_TABLEプロシージャを使用して、各索引構成表に対する単一連鎖表を作成します。

古いリリース 8.0およびリリース 8.1への ダウングレード 13-25

Page 314: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

EXC_TBという例外表をダウングレードするには、次の手順を完了します。

1. 既存の EXC_TB表を削除します。

2. 通常表の例外を格納するために、utlexcp.sqlスクリプトを使用して、EXC_TB表を再作成します。

3. DBMS_IOT.BUILD_EXCEPTIONS_TABLEプロシージャを使用して、各索引構成表に対する例外表を作成します。

リリースリリースリリースリリース 8.1 LOB機能の使用の中断機能の使用の中断機能の使用の中断機能の使用の中断リリース 8.1は、新しい LOB機能のいくつかをサポートします。ダウングレードする前に、次の項に記述されている処置を実行して、これらの新しい機能の使用を中断してください。

LOBのののの CACHE READS指定の使用の中断指定の使用の中断指定の使用の中断指定の使用の中断 リリース 8.0にダウングレードする前に、LOBのCACHE READS記憶領域パラメータの使用を中断する必要があります。

LOB列が CACHE READSに指定されている表を識別するには、次の SQL文を SYSユーザーで発行します。

SELECT owner, table_name, column_name FROM dba_lobs WHERE cache = 'CACHEREADS'; LOBに対する CACHE READS指定をすべて識別した後、CACHEまたはNOCACHE指定に変更します。これらの指定はリリース 8.0と互換性があります。

LOB記憶領域パラメータを CACHE READSから CACHEまたは NOCACHEへ変更するには、ALTER TABLE ... MODIFY LOB文を使用します。たとえば、LOB_COLという LOB列がある LOB_TABという表で、記憶域指定を CACHEに変更するには、次の SQL文を発行します。

ALTER TABLE lob_tab MODIFY LOB (lob_col) (CACHE);

13-26 Oracle8i 移行ガイド

Page 315: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

可変幅のキャラクタ・セットのあるデータベースの表から可変幅のキャラクタ・セットのあるデータベースの表から可変幅のキャラクタ・セットのあるデータベースの表から可変幅のキャラクタ・セットのあるデータベースの表から CLOBおよびおよびおよびおよび NCLOBを削除を削除を削除を削除 データベースが可変幅のキャラクタ・セットを使用している場合、次の手順を完了してすべてのCLOBおよび NCLOB列を削除します。固定幅のキャラクタ・セットを使用するデータベースの場合は、このプロシージャを完了する必要はありません。

1. 次の SQL文を発行して、LOB列を持つすべての表を一覧表示します。

SELECT owner, table_name, column_name FROM dba_lobs WHERE dba_lobs.owner != 'SYSTEM' AND table_name NOT IN ('KOTAD$', 'KOTMD$', 'KOTTB$', 'KOTTD$');

2. 一覧表示された各表に DESCを実行して、データベースに CLOB列または NCLOB列があるか確認します。DESCを実行するときには、TYPE列を確認します。

3. CLOBおよび NCLOB列を削除するか、その列のある各表を削除します。

4. Oracleレプリケーションを使用する場合は、次の手順を実行します。Oracleレプリケーションを使用しない場合は、これらの手順は必要ありません。

a. SQL*Plusを使用して、遅延トランザクション・キューのレプリケーションを送信します。

DECLARE rc number; BEGIN rc := dbms_defer_sys.push(); END;

b. 次の SQL文を発行して、遅延 LOBビューを削除します。

DROP VIEW deflob;

注意注意注意注意 : SYSが作成した表を慎重に確認し、リリース 8.0およびリリース8.1に必要な(名前にシンボルのある)表を削除しないように気を付けてください。kotad$、kotmd$、kottb$および kottd$のような表は、削除しないでください。

参照参照参照参照 : レプリケーション手順の完了の詳細は、『Oracle8i レプリケーション・マネージメント API リファレンス』を参照してください。

古いリリース 8.0およびリリース 8.1への ダウングレード 13-27

Page 316: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

パーティション表からのパーティション表からのパーティション表からのパーティション表からの LOB列の削除列の削除列の削除列の削除 ダウングレードする前に、パーティション表からすべての LOB列を削除します。パーティション表内に LOB列があるかどうか確認するには、次の SQL文を発行してください。

SELECT table_name, lob_name FROM dba_part_lobs;

パーティション表に LOBデータを保存する必要がない場合は、LOB列を削除してください。ただし、パーティション表に LOBデータを保存する必要がある場合には、ALTER TABLE ... EXCHANGE PARTITION文を使用してください。この文は次の例で説明するように、データを非パーティション表に移動させます。

LOB列を含む既存のパーティション表があり、その LOB列には、リリース 8.1からリリース 8.0にダウングレードする前に保存するデータがすでに含まれていると仮定します。パーティション表には次の定義があります。

CREATE TABLE part_lob_table (part_id NUMBER, part_blob_col BLOB) PARTITION BY RANGE (part_id) ( PARTITION p1 VALUES LESS THAN (10) TABLESPACE ts1, PARTITION p2 VALUES LESS THAN (20) TABLESPACE ts2) TABLESPACE tsx;

LOBデータを非パーティション表に移動させるには、次の手順を実行してください。

1. 次のような文を発行して、LOB列のある非パーティション表を作成します。

CREATE TABLE lob_table_p1 (id NUMBER, blob_col BLOB);

CREATE TABLE lob_table_p2 (id NUMBER, blob_col BLOB);

パーティション LOB表内の各パーティションに、表を 1つ作成します。ただし、これらの新しい非パーティション表にはデータを挿入しないでください。

2. EXCHANGEを使用して、PART_BLOB_COL列からのパーティション表の LOBデータと、BLOB_COL列の非パーティション表の LOBデータを交換します。

ALTER TABLE part_lob_table EXCHANGE PARTITION p1 WITH TABLE lob_table_p1;

ALTER TABLE part_lob_table EXCHANGE PARTITION p2 WITH TABLE lob_table_p2;

この文は、パーティション表の LOB列 PART_BLOB_COLからのデータを、各非パーティション表の LOB列 BLOB_COLに移動させます。

パーティション表のすべての LOBデータを非パーティション表に移動させた後、データベースのダウングレードおよびデータの保存ができます。

13-28 Oracle8i 移行ガイド

Page 317: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

ユーザー定義データ型ユーザー定義データ型ユーザー定義データ型ユーザー定義データ型この項では、ユーザー定義データ型に関するリリース 8.1の機能の使用禁止について説明します。

ユーザー定義データ型のリリースユーザー定義データ型のリリースユーザー定義データ型のリリースユーザー定義データ型のリリース 8.0形式への変換形式への変換形式への変換形式への変換リリース 8.1は、ユーザー定義データ型の新しい形式をサポートします。新しい形式によって、リリース 8.0で使用される形式に対するパフォーマンスが大幅に向上します。

データベースをリリース 8.0にダウングレードするとき、ユーザー定義データ型をリリース8.0形式に変換する必要があります。ただし、使用しているリリース 8.1データベースに新しい形式のユーザー定義データ型がない場合、次の変換手順を行う必要はありません。

8.1互換性レベルのユーザー定義型を識別するには、次の SQL文を発行します。

SELECT u.name AS USER_NAME, o.name AS TABLE_NAME, c.name AS COLUMN_NAME FROM sys.user$ u, sys.obj$ o, sys.tab$ t, sys.col$ c, sys.coltype$ ct WHERE bitand(ct.flags, 128) != 128 AND o.obj# = c.obj# and o.obj# = ct.obj# and t.obj# = o.obj# and c.intcol# = ct.intcol# AND bitand(t.property, 8192) = 0 AND u.user# = o.owner# AND o.type# = 2 AND bitand(c.property, 32) = 0 AND (c.type# = 123 OR (c.type# = 121 and bitand(c.property, 8) = 0) OR (c.type# = 122 and exists (SELECT * FROM sys.ntab$ n1, sys.col$ c1, sys.coltype$ ct1 WHERE n1.obj# = c.obj# AND n1.intcol# = c.intcol# AND n1.ntab# = ct1.obj# and bitand(ct1.flags, 128) = 0 AND ct1.obj# = c1.obj# and ct1.intcol# = c1.intcol# AND bitand(c1.property, 8) = 0)));

古いリリース 8.0およびリリース 8.1への ダウングレード 13-29

Page 318: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

一覧表示されているユーザー定義データ型をダウングレードするには、次の手順を実行してください。

1. リリース 8.1のエクスポート・ユーティリティを使用して、8.1互換性レベルのユーザー定義型を含むリリース 8.1データベースの部分をエクスポートします。

2. 8.1互換性レベルのユーザー定義データ型を含むリリース 8.1データベースの部分を削除します。

3. 13-51ページの「データベース互換性のリセット」にある指示に従って、データベースの互換性をリリース 8.0.x(8.0.5など)にリセットします。互換性レベルをリリース8.0.xにリセットする前に、データベース内にあるその他の非互換性を削除する必要があります。

4. リリース 8.1のインポート・ユーティリティを使用して、エクスポートしたファイルをリリース 8.1のデータベースにインポートします。

ユーザー定義オブジェクト識別子のある表の削除ユーザー定義オブジェクト識別子のある表の削除ユーザー定義オブジェクト識別子のある表の削除ユーザー定義オブジェクト識別子のある表の削除リリース 8.1はユーザー定義オブジェクト識別子(OID)をサポートします。Oracleのデフォルト・メカニズムのかわりに、この機能によって、ユーザー自身のオブジェクト識別子を指定できます。ダウングレードする前に、ユーザー定義オブジェクト識別子のある表およびユーザー定義オブジェクト識別子に基づいた REF列のあるすべての表を削除してください。

ユーザー定義オブジェクト識別子のある表を識別するには、次の SQL文を発行します。

SELECT owner, table_name FROM dba_object_tables WHERE object_id_type = 'USER-DEFINED';

一覧表示されたすべての表を削除します。

ユーザー定義オブジェクト識別子に基づいた REF列のある表を識別するには、次の SQL文を発行します。

SELECT owner, table_name, column_name FROM dba_refs WHERE object_id_type = 'USER-DEFINED';

一覧表示されたすべての表を削除します。

参照参照参照参照 : エクスポート /インポートの詳細は、『Oracle8i ユーティリティ・ガイド』を参照してください。

13-30 Oracle8i 移行ガイド

Page 319: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

システムが生成するシステムが生成するシステムが生成するシステムが生成する REF列の参照制約列の参照制約列の参照制約列の参照制約 リリース 8.0は、システム生成の REF列に定義される参照制約をサポートしません。このような列を識別するには、次の SQL文を発行します。

SELECT u.name AS USER_NAME, o.name AS TABLE_NAME, DECODE(BITAND(c.property, 1), 1, ac.name, c.name) AS COLUMN_NAME FROM refcon$ r, coltype$ ct, obj$ o, user$ u, col$ c, attrcol$ ac WHERE BITAND(r.reftyp, 4) != 4 /* not a user-defined REF */ AND ct.obj# = r.obj# AND ct.intcol# = r.intcoL# AND ct.intcols = 1 AND c.obj# = r.obj# AND c.intcol# = r.intcol# AND o.obj# = r.obj# AND o.owner# = u.user# AND c.obj# = ac.obj#(+) AND c.intcol# = ac.intcol#(+);

この問合せによって列が戻された場合、次のいずれかの処置を行って、リリース 8.0の非互換性を削除します。

� 一覧表示された列を削除します。

� 一覧表示された REF列の参照制約を削除し、未使用列を表から削除します。このオプションを選択する場合は、DBA_CONS_COLUMNS静的データ・ディクショナリ・ビューを使用して、その列の制約名を検索します。未使用列の削除については、13-15ページの「未使用列および部分的に削除された列の削除」を参照してください。

リリースリリースリリースリリース 8.1ネストした表の機能の使用の中断ネストした表の機能の使用の中断ネストした表の機能の使用の中断ネストした表の機能の使用の中断ダウングレード前に、次のリリース 8.1のネストした表の機能の使用を中断してください。

� コレクション・ロケータ

� 索引構成表内のネストした表データ

� ネストした表のユーザー指定記憶域句

古いリリース 8.0およびリリース 8.1への ダウングレード 13-31

Page 320: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

これらの機能を 1つ以上使用する表を識別するには、次の SQL文を発行します。

SELECT owner, parent_table_name FROM dba_nested_tables WHERE storage_spec LIKE '%USER_SPECIFIED%' OR return_type LIKE '%LOCATOR%';

一覧表示されたすべての表を削除します。

リリースリリースリリースリリース 8.1 VARRAY機能の使用の中断機能の使用の中断機能の使用の中断機能の使用の中断ダウングレード前に、VARRAYを LOBとして格納するための記憶領域パラメータの指定の使用を中断してください。VARRAYを LOBとして格納するための記憶領域パラメータを使用する表を識別するには、次の SQL文を発行してください。

SELECT owner, parent_table_name FROM dba_varrays WHERE storage_spec LIKE '%USER_SPECIFIED%';

一覧表示されたすべての表を削除します。

相互参照型のリリース相互参照型のリリース相互参照型のリリース相互参照型のリリース 8.0.4.0以前へのダウングレード以前へのダウングレード以前へのダウングレード以前へのダウングレード相互参照型を使用している場合、リリース 8.0.3.0または 8.0.4.0へのダウングレードはサポートされません。相互参照型を使用している場合、ダウングレードに関する 2つのオプションがあります。

� 相互参照型の削除。13-52ページの「データベースのダウングレード」に示すプロシージャを使用して、リリース 8.0.3.0および 8.0.4.0へのダウングレードが、サポートされます。

� リリース 8.0.3.0または 8.0.4.0ではなく、リリース 8.0.4.1以降へのダウングレード。このオプションを選択する場合、オラクル社カスタマ・サポート・センターに連絡して8.0.4.1以降のリリースを入手してください。

次の SQL文は、相互参照型の例を示します。

CREATE TYPE manager/

CREATE TYPE employee AS OBJECT (empno NUMBER, ename VARCHAR2(20), mgr REF manager)/ CREATE OR REPLACE TYPE manager AS OBJECT (dept NUMBER, empno REF employee)/

13-32 Oracle8i 移行ガイド

Page 321: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

SQLおよびおよびおよびおよび PL/SQLリリース 8.1では、SQLおよび PL/SQLへの多くの変更および追加が行われています。リリース 8.1以降で有効なスクリプトまたはストアド・プロシージャの SQLまたは PL/SQLコードを現在使用している場合、ダウングレードする前にこのコードを削除してください。リリース 8.0データベースで、このコードをコンパイルまたは実行しようとすると、エラーが発生します。

次の項では、SQLおよび PL/SQLのダウングレード問題について説明します。これらの項で説明のある処置を行うと、SQLスクリプトおよびストアド・プロシージャでのコンパイルおよび実行中のエラーを回避できます。必須ではありませんが、オラクル社ではダウングレード前にこれらの処置を行うことをお薦めします。

Cコール仕様の削除コール仕様の削除コール仕様の削除コール仕様の削除ダウングレードする前に、Cコール仕様として定義されたストアド・プロシージャを削除してください。

実行者権限句の削除実行者権限句の削除実行者権限句の削除実行者権限句の削除SQLコードで実行者権限句を使用する場合、ダウングレード前に削除してください。実行者権限句には、AUTHID句および SQL_NAME_RESOLVE句があります。

注意注意注意注意 : リリース 8.0.3.0および 8.0.4.0に存在するが、リリース 8.0.4.1以降では修正されているバグ #629468のため、相互参照型の存在はSTANDARDパッケージのコンパイルがループに入り、エラー「ORA-01000: 最大オープン・カーソル数を超えました。」で終了する原因になります。PL/SQLコードのコンパイルには STANDARDパッケージが必要です。このパッケージを、ダウングレード操作中に実行します。バグがある場合、ダウングレードは正しく行われません。

参照参照参照参照 : SQLおよび PL/SQLの新機能の詳細は、『Oracle8i SQLリファレンス』および『Oracle8i PL/SQLユーザーズ・ガイドおよびリファレンス』を参照してください。このマニュアルの付録 E「新しい内部データ型と SQL関数」も参照してください。

古いリリース 8.0およびリリース 8.1への ダウングレード 13-33

Page 322: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

PL/SQLのシステム固有の動的のシステム固有の動的のシステム固有の動的のシステム固有の動的 SQLの削除の削除の削除の削除システム固有の動的 SQLの PL/SQLプログラムは、PL/SQLリリース 8.1より前のリリースでコンパイル時にエラーの原因になることがあります。プログラムを正常にリリース 8.0でコンパイルするために、ダウングレードする前にシステム固有の動的 SQL構文をすべて削除してください。

PL/SQLにおけるバルク・バインドの削除におけるバルク・バインドの削除におけるバルク・バインドの削除におけるバルク・バインドの削除バルク・バインド機能を持つ PL/SQLプログラムは、PL/SQLリリース 8.1より前のリリースでコンパイル時にエラーの原因になることがあります。バルク・バインド機能は新しい構文および処理方法を定義します。したがって、この機能を持つプログラムを削除するか、可能であれば、スカラー・バインドの使用に変更する必要があります。バルク・バインド機能を持つ PL/SQL文には、次のキーワードが 1つ以上含まれます。

� FORALL

� BULK COLLECT INTO

� BULK_ROWCOUT

PL/SQLにおけるにおけるにおけるにおける UROWIDデータ型の削除データ型の削除データ型の削除データ型の削除PL/SQLコードにおいて、変数として UROWIDデータ型を使用する場合、ダウングレードする前にこの変数を削除してください。

PL/SQLにおけるにおけるにおけるにおける NOCOPYパラメータ・パス・モード参照の削除パラメータ・パス・モード参照の削除パラメータ・パス・モード参照の削除パラメータ・パス・モード参照の削除NOCOPYモードを持つ PL/SQLプログラムは、PL/SQLリリース 8.1より前のリリースでコンパイル時にエラーの原因になることがあります。プログラムを正常にリリース 8.0でコンパイルするため、ダウングレードする前に NOCOPY参照をすべて削除します。NOCOPY参照を削除するとき、変更エイリアシングおよび例外処理方法が許容されているかを確認してください。

Javaリリース 8.0では Javaはサポートされません。ダウングレードする前に、データベースにおける Javaオブジェクトをすべて削除する必要があります。utljavrm.sqlスクリプトは、すべての Javaオブジェクトを削除します。utljavrm.sqlスクリプトによって削除されるJavaオブジェクトを識別するには、次の SQL文を発行します。

SELECT object_name, owner FROM all_objects WHERE object_type LIKE 'JAVA%';

utljavrm.sqlスクリプトを実行するには、次の手順を実行します。

1. システム・プロンプトで、ORACLE_HOME/rdbms/adminディレクトリへ移動します。

2. SQL*Plusを起動し、SYS権限を持つユーザーとして接続します。

13-34 Oracle8i 移行ガイド

Page 323: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

3. 次のように入力します。

SQL> SPOOL utljavrm.outSQL> @utljavrm.sqlSQL> SPOOL OFF

スプール・ファイルを調査して、文が正常に実行されたことを確認します。

アドバンスト・キューイング(アドバンスト・キューイング(アドバンスト・キューイング(アドバンスト・キューイング(AQ))))次の作業を実行し、キュー表におけるリリース 8.1の AQ機能を使用禁止にしてください。

1. すべての非永続キューおよびキュー表の削除

2. リリース 8.1互換キュー表の識別

3. リリース 8.1互換キュー表から非互換性を削除

4. キュー表のダウングレード

5. キュー表のエクスポートおよびダウングレード後のインポート

6. 特殊なユーザー定義型があるキュー表の削除

7. リリース 8.0.3.0にダウングレードする場合の伝播の削除

これらの手順については、次の項で説明します。

作業作業作業作業 1: すべての非永続キューおよびキュー表の削除すべての非永続キューおよびキュー表の削除すべての非永続キューおよびキュー表の削除すべての非永続キューおよびキュー表の削除非永続キューを使用する場合、それを持つキューおよびキュー表を削除する必要があります。非永続キューを持つスキーマ(ユーザー)には、スキーマの非永続キューすべてを含むキュー表が 1つまたは 2つある可能性があります。次の SQL文を入力して、非永続キューのあるキュー表の存在を調査します。

SELECT owner, queue_table FROM dba_queue_tables WHERE queue_table = 'AQ$_MEM_MC' OR queue_table = 'AQ$_MEM_SC';

参照参照参照参照 : この項で説明する処置の完了の詳細は、『Oracle8i アプリケーション開発者ガイド アドバンスト・キューイング』を参照してください。

古いリリース 8.0およびリリース 8.1への ダウングレード 13-35

Page 324: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

SQL文が戻したすべてのキュー表に対して、DBMS_AQADM.DRO_QUEUE_TABLEプロシージャ(FORCEパラメータを TRUEに設定)で、非永続キューおよび相応するキュー表を削除します。次に、プロシージャの例を示します。

EXECUTE dbms_aqadm.drop_queue_table ( queue_table => ’SCOTT.AQ$_MEM_MC’, force => TRUE);

作業作業作業作業 2: リリースリリースリリースリリース 8.1互換キュー表の識別互換キュー表の識別互換キュー表の識別互換キュー表の識別キュー表のうちのいずれかがリリース 8.1と互換性がある場合、その表のダウングレードが必要です。次の SQL文を入力して、キュー表の互換性を調査してください。

SELECT owner, queue_table, compatible FROM dba_queue_tables WHERE compatible LIKE '8.1%';

一覧表示されたキュー表は、リリース 8.1互換で、リリース 8.0と非互換のため、ダウングレード前に削除が必要です。リリース 8.1互換のキュー表のリストを印刷してください。13-39ページの「作業 4: キュー表のダウングレード」で、これらのキュー表をダウングレードします。

作業作業作業作業 3: リリースリリースリリースリリース 8.1互換キュー表から非互換性を削除互換キュー表から非互換性を削除互換キュー表から非互換性を削除互換キュー表から非互換性を削除多くの非互換性がキュー表内にある可能性があります。リリース 8.1では使用可能で、リリース 8.0では使用できない特定の機能を使用すると、これらの非互換性が発生します。

次の項では、リリース 8.1機能に基づいたこれら非互換性の削除について説明します。

注意注意注意注意 : この問合せでは、以前はリリース 8.1互換で、その後リリース 8.0互換にダウングレードされたキュー表は表示されません。ただし、そのようなキュー表がある場合、リリース 8.0にダウングレードする前に削除する必要があります。これらのキュー表については、13-39ページの「作業5: キュー表のエクスポートおよび互換性リセット後のインポート」の説明に従ってください。

13-36 Oracle8i 移行ガイド

Page 325: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

ルールベースのサブスクリプションルールベースのサブスクリプションルールベースのサブスクリプションルールベースのサブスクリプション AQ$queue_table_name_rビューで、リリース 8.1のルールベースのサブスクリプション機能を持つキューを識別してください。作業 2で一覧表示されたリリース 8.1互換のすべてのキュー表を調査します。たとえば、キューが QTABLE3という名前であれば、次の SQL文を発行してルールベース・サブスクライバがあるかどうか調査します。

SELECT * FROM aq$qtable3_r;

ルールベース・サブスクライバを削除するか、またはDBMS_AQADM_ALTER_SUSCRIBERプロシージャで、各ルールベース・サブスクライバのルールを NULLに変更してください。たとえば、表 13-1に示す値を持つAQ.MSG_QUEUEというキューに対するサブスクライバがあると仮定します。

このサブスクライバのルールを NULLに変更する方法は 2つあります。PL/SQLブロックを使用する方法と SQL文を使用する方法です。例 13-1に PL/SQLブロック、例 13-2に SQL文を示します。

例例例例 13-1 ルールをルールをルールをルールを NULLに変更するに変更するに変更するに変更する PL/SQL ブロックブロックブロックブロック

DECLARE subscriber sys.aq$_agent; BEGIN subscriber := sys.aq$_agent ('SUBSCRIBER1', 'aq2.msg_queue2@london', null); dbms_aqadm.alter_subscriber (queue_name => ’aq.msg_queue’, subscriber => subscriber, rule => NULL); END;

注意注意注意注意 : SQL文を発行し、エラー「ORA-04063: 'aq$queue_table_name_r'にエラーがあります。」が表示された場合、キュー表にはルールベース・サブスクライバのキューはありません。

表表表表 13-1 サンプル・サブスクライバ値サンプル・サブスクライバ値サンプル・サブスクライバ値サンプル・サブスクライバ値

パラメータパラメータパラメータパラメータ 値値値値

name SUBSCRIBER1

address AQ2.MSG_QUEUE2@LONDON

protocol NULL

rule 'PRIORITY = 1'

古いリリース 8.0およびリリース 8.1への ダウングレード 13-37

Page 326: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

例例例例 13-2 ルールをルールをルールをルールを NULLに変更するに変更するに変更するに変更する SQL文文文文

EXECUTE dbms_aqadm.alter_subscriber ( 'aq.msg_queue', sys.aq$_agent ('SUBSCRIBER1', 'aq2.msg_queue2@london', NULL), NULL);

オブジェクト・レベルおよびシステム・レベル権限オブジェクト・レベルおよびシステム・レベル権限オブジェクト・レベルおよびシステム・レベル権限オブジェクト・レベルおよびシステム・レベル権限 DBMS_AQADAMパッケージにある次のプロシージャのいずれかを使用した場合には、オブジェクト・レベルおよびシステム・レベル権限を使用していることになります。

� GRANT_ACCESS_PROVILEGES

� REVOKE_ACCESS_PRIVILEGES

� GRANT_SYSTEM_PRIVILEGES

� REVOKE_SYSTEM_PRIVILEGES

これらのプロシージャのいずれかを使用した場合、ダウングレードする前に、すべてのオブジェクト・レベルおよびシステム・レベル権限を取り消す必要があります。

次の SQL文を発行して、オブジェクト・レベル権限を識別してください。

SELECT owner, table_name, privilege FROM dba_tab_privs WHERE privilege LIKE '%QUEUE%';

DBMS_AQADM.REVOKE_ACCESS_PRIVILEGESプロシージャを使用して、PRIVILEGE列に ENQUEUEまたは DEQUEUEを持つ各権限を取り消してください。

次の SQL文を発行して、オブジェクト・レベル権限を識別してください。

SELECT * FROM dba_sys_privs WHERE privilege LIKE '%QUEUE%';

DBMS_AQUADM.REVOKE_SYSTEM_PRIVILEGEプロシージャを使用して、PRIVILEGE列に 1つでも次の型を持つ各権限を取り消してください。

� MANAGE ANY QUEUE

� ENQUEUE ANY QUEUE

� DEQUEUE ANY QUEUE

参照参照参照参照 : DBMS_AQUADM.ALTER_SUBSCRIBERプロシージャの詳細は、『Oracle8i アプリケーション開発者ガイド アドバンスト・キューイング』および『Oracle8i PL/SQLパッケージ・プロシージャリファレンス』を参照してください。

13-38 Oracle8i 移行ガイド

Page 327: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

作業作業作業作業 4: キュー表のダウングレードキュー表のダウングレードキュー表のダウングレードキュー表のダウングレード次の手順を完了して、リリース 8.0と非互換だった各キュー表をダウングレードしてください。13-36ページの「作業 2: リリース 8.1互換キュー表の識別」で、非互換キュー表を一覧表示しています。

1. ダウングレードする前に、DBMS_AQADM.DISABLE_PROPAGATION_SCHEDULEを使用して、キュー表におけるすべてのキューの伝播スケジュールを使用禁止にします。

2. 非互換性キュー表をダウングレードして、リリース 8.0互換に戻します。

DBMS_AQADM.MIGRATE_QUEUE_TABLEプロシージャを実行し、COMPATIBLE設定に 8.0と指定して、キュー表をダウングレードします。次に、このプロシージャの実行例を示します。

EXECUTE dbms_aqadm.migrate_queue_table ( queue_table => ’sys.tkaqqtdef’, compatible => ’8.0’);

作業作業作業作業 5: キュー表のエクスポートおよび互換性リセット後のインポートキュー表のエクスポートおよび互換性リセット後のインポートキュー表のエクスポートおよび互換性リセット後のインポートキュー表のエクスポートおよび互換性リセット後のインポート次の手順を実行して、非互換キュー表をエクスポートし、互換性レベルをリセット後にこれらをインポートし直してください。13-36ページの「作業 2: リリース 8.1互換キュー表の識別」で、非互換キュー表を一覧表示しています。

1. リリース 8.1のエクスポート・ユーティリティを使用して、すべての非互換キュー表をエクスポートします。

2. エクスポートの完了したすべてのキュー表を削除します。

3. 13-51ページの「データベース互換性のリセット」にある指示に従って、データベースの互換性をリリース 8.0.x(8.0.5など)にリセットします。互換性レベルをリリース8.0.xにリセットする前に、データベース内にあるその他の非互換性を削除する必要があります。

4. リリース 8.1のインポート・ユーティリティを使用して、エクスポートしたファイルをリリース 8.1のデータベースにインポートします。

残りの非互換キュー表にも同じ作業を繰り返してください。

注意注意注意注意 : キュー表では、キュー表の所有者のみがDBMS_AQADM.MIGRATE_QUEUE_TABLEプロシージャを実行できます。

参照参照参照参照 : キュー表のエクスポートおよびインポートの詳細は、『Oracle8i アプリケーション開発者ガイド アドバンスト・キューイング』を参照してください。

古いリリース 8.0およびリリース 8.1への ダウングレード 13-39

Page 328: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

作業作業作業作業 6: 特殊なユーザー定義型があるキュー表の削除特殊なユーザー定義型があるキュー表の削除特殊なユーザー定義型があるキュー表の削除特殊なユーザー定義型があるキュー表の削除リリース 8.1.6以上では、JMS型を作成してキュー表で使用できます。これらの型は、ダウングレード中に自動的に削除されます。したがって、ダウングレード前にこれらの JMS型を含むキュー表を削除する必要があります。既存のキュー表を識別するには、次の SQL文を発行します。

SELECT owner, queue_table, object_type FROM all_queue_tables WHERE object_type LIKE 'SYS.AQ$_JMS%';

一覧表示されたキュー表を削除するには、DBMS_AQADM.DROP_QUEUE_TABLEプロシージャを実行します。たとえば、ユーザー SCOTTが所有する QTABLE1というキュー表が表示された場合、このキュー表を削除するには次のプロシージャを実行します。

EXECUTE dbms_aqadm.drop_queue_table(queue_table => 'scott.qtable1', force => TRUE);

作業作業作業作業 7: リリースリリースリリースリリース 8.0.3にダウングレードする場合の伝播の削除にダウングレードする場合の伝播の削除にダウングレードする場合の伝播の削除にダウングレードする場合の伝播の削除アドバンスト・キューイング・オプションにおいてメッセージ伝播を使用しており、リリース 8.0.3にダウングレードする場合は、伝播を削除してください。メッセージ伝播を使用していない場合、またはリリース 8.0.4以降にダウングレードする場合は、この作業は必要ありません。

次の手順を完了して、伝播を削除してください。

1. 次の SQL文を発行して、複数コンシューマ・キューを識別します。

SELECT owner, queue_table FROM dba_queue_tables WHERE recipients = 'MULTIPLE';

この問合せの結果を保存してください。複数コンシューマ・キューからのみ伝播をサポートします。この問合せが行を戻さない場合、伝播は使用されておらず、このプロシージャの残りの手順は必要ありません。

2. 手順 1の問合せによって一覧表示されたキュー表に次の SQL文を実行して、複数コンシューマ・キューのどれかが伝播機能を利用しているかどうか確認します。

次の SQL文では、例として SCOTT.QTABLE1キュー表を使用します。

SELECT unique(q_name) FROM scott.qtable1 a WHERE EXISTS (SELECT consumer FROM the (SELECT cast(history as sys.aq$_dequeue_history_t) FROM scott.qtable1 b WHERE a.msgid = b.msgid) WHERE consumer like 'AQ$_%');

13-40 Oracle8i 移行ガイド

Page 329: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

各キュー表において、SQL文が戻したすべてのキューを削除する必要があります。

3. DBA_QUEUE_SCHEDULESの静的データ・ディクショナリ・ビューを調査して、キューに対して伝播スケジュールがあるか確認します。DBMS_AQADM.UNSCHEDULE_PROPAGATIONプロシージャを使用して、ビュー内で選択した各キューの伝播スケジュールを解除する必要があります。

4. すべてのリモート・サブスクライバを排除します。リモート・サブスクライバには、指定されたアドレス・フィールドまたはプロトコル・フィールドがあります。DBMS_AQADM.QUEUE_SUBSCRIBERSプロシージャを実行して、非 NULLアドレス・フィールドまたは非 NULLプロトコル・フィールドを持つサブスクライバを調査してください。これらのすべてのサブスクライバを削除します。

プロシージャおよびパッケージプロシージャおよびパッケージプロシージャおよびパッケージプロシージャおよびパッケージこの項では、プロシージャおよびパッケージに関するリリース 8.1機能の使用禁止について説明します。

SET_SESSION_LONG_LONGOPSプロシージャに対する構文変更プロシージャに対する構文変更プロシージャに対する構文変更プロシージャに対する構文変更リリース 8.1では、DBMS_APPLICATION_INFO.SET_SESSION_LONGOPSプロシージャが変更されています。アプリケーションがこのプロシージャを使用しており、リリース 8.1構文に準拠するように変更された場合、ダウングレードするリリースに準拠するようにアプリケーションを変更してください。構文の詳細は、ダウングレードするリリース内のdbmsapin.sqlファイルを参照してください。

UTL_REFパッケージパッケージパッケージパッケージリリース 8.0.3にダウングレードする場合は、UTL_REFパッケージの使用を中断してください。このパッケージはリリース 8.0.3では使用できません。

リリース 8.0.4にダウングレードする場合、UTL_REFパッケージはダウングレード・プロセス中に自動的に削除されます。パッケージが削除されるのは、UTL_REFパッケージが標準リリース 8.0.4インストールの一部ではないためです。このパッケージを続けて使用するには、リリース 8.0.4にダウングレードした後、パッケージを手動で再インストールする必要があります。

注意注意注意注意 : 使用しているすべてのキュー表を一覧表示するには、DBA_QUEUE_TABLES静的データ・ディクショナリ・ビューを問い合せてください。

古いリリース 8.0およびリリース 8.1への ダウングレード 13-41

Page 330: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

DBMS_REPAIRパッケージパッケージパッケージパッケージリリース 8.1は DBMS_REPAIRパッケージをサポートします。ダウングレードする前に、すべてのオブジェクトのスキップ・コラプト属性が使用禁止になっていることを確認してください。

次の SQL文を発行して、スキップ・コラプト属性が使用可能になっているオブジェクトを識別してください。

SELECT owner, table_name FROM dba_tables WHERE skip_corrupt = 'ENABLED';

選択した各表のスキップ・コラプト属性を消去してください。たとえば、SCOTTが所有する TB_5という表に、次のように入力してください。

EXECUTE DBMS_REPAIR.SKIP_CORRUPT_BLOCKS (schema_name => ’SCOTT’, object_name => ’TB_5’, flags => DBMS_REPAIR.NOSKIP_FLAG);

制約およびトリガー制約およびトリガー制約およびトリガー制約およびトリガーこの項では、制約およびトリガーに関する非互換性の削除について説明します。

DISABLE VALIDATE制約の使用の中断制約の使用の中断制約の使用の中断制約の使用の中断リリース 8.1は DISABLE VALIDATE制約状態をサポートします。ダウングレードする前に、すべての DISABLE VALIDATE制約を削除するか無効にする必要があります。

次の SQL文を発行して、DISABLE VALIDATE制約を識別してください。

SELECT constraint_name, status, validated FROM dba_constraints WHERE status = 'DISABLED' AND validated = 'VALIDATED';

ALTER TABLE文の DROP句を使用して、一覧表示されたすべての制約を削除します。または、ALTER TABLE文の DISABLE句を使用して、一覧表示されたすべての制約を無効にします。

注意注意注意注意 : リリース 8.0.5以降にダウングレードする場合、UTL_REFパッケージへの処置は必要ありません。このパッケージはリリース 8.0.5以降の標準インストールの一部であり、ダウングレード・プロセス中に自動的に保存されます。

13-42 Oracle8i 移行ガイド

Page 331: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

ネストした表のビュー列におけるトリガーの削除ネストした表のビュー列におけるトリガーの削除ネストした表のビュー列におけるトリガーの削除ネストした表のビュー列におけるトリガーの削除リリース 8.1は、ネストした表のビュー列におけるトリガーの作成をサポートします。ダウングレードする前に、これらのすべてのトリガーを削除する必要があります。

次の SQL文を入力して、ビュー列におけるネストした表のトリガーを識別してください。

SELECT trigger_name, table_name, column_name FROM dba_triggers WHERE column_name IS NOT NULL;

一覧表示されたすべてのトリガーを DROP TRIGGER文で削除します。

データベース・イベント・パブリッシュと互換性のないトリガーの削除データベース・イベント・パブリッシュと互換性のないトリガーの削除データベース・イベント・パブリッシュと互換性のないトリガーの削除データベース・イベント・パブリッシュと互換性のないトリガーの削除リリース 8.1ではトリガーを拡張し、データベース・イベント・パブリッシュをサポートします。ダウングレードする前に、リリース 8.0と互換性のないすべてのトリガーを削除する必要があります。

次の SQL文を発行して、ダウングレード・プロセス中に削除する必要があるトリガーを識別してください。

SELECT trigger_name, base_object_type, action_type FROM dba_triggers WHERE base_object_type LIKE '%DATABASE%' OR base_object_type LIKE '%SCHEMA%' OR action_type LIKE '%CALL%';

SCHEMAおよび DATABASEにおけるトリガーを、リリース 8.0互換にすることはできません。これらのトリガーは削除してください。ただし、CALLトリガーについてはダウングレード処理中に保存可能です。CALLトリガーをリリース 8.0互換にするには、BEGIN ... ENDブロックで CALL文をラップしてください。

古いリリース 8.0およびリリース 8.1への ダウングレード 13-43

Page 332: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

Oracleオプティマイザオプティマイザオプティマイザオプティマイザこの項では、Oracleオプティマイザに関する非互換性の削除について説明します。

拡張可能オプティマイザ拡張可能オプティマイザ拡張可能オプティマイザ拡張可能オプティマイザリリース 8.1は、拡張可能オプティマイザをサポートします。ダウングレードする前に、すべての結合を削除して拡張可能オプティマイザの使用を中断します。次の SQL文を入力して、結合を識別します。

SELECT object_owner, object_name, column_name, object_type FROM dba_associations;

一覧表示された各結合に、FORCEオプションを使用して DISASSOCIATE STATISTICS文を実行してください。たとえば、前述の SQL文を発行すると、次のように出力されると仮定します。

OBJECT_OWNER OBJECT_NAME COLUMN_NAME OBJECT_TYPE ------------ ----------- ----------- -----------SYS TYPE1 TYPE TKOQEX TKOQ_TAB1 A COLUMN 2 rows selected.

一覧表示されたオブジェクト型に対応する適切な DISASSOCIATE STATISTICS文を発行してください。オブジェクト型が TYPEおよび COLUMNの場合は、次の SQL文を発行して一覧表示された結合を削除してください。

DISASSOCIATE STATISTICS FROM types sys.type1 FORCE;

DISASSOCIATE STATISTICS FROM columns tkoqex.tkoq_tab1.a FORCE;

オプティマイザのプラン・スタビリティオプティマイザのプラン・スタビリティオプティマイザのプラン・スタビリティオプティマイザのプラン・スタビリティリリース 8.1は、オプティマイザのプラン・スタビリティをサポートします。この機能によって、CREATE OUTLINE文を使用してストアド・アウトラインを作成できます。リリース 8.0では、ストアド・アウトラインをサポートしません。

次の SQL文を発行して、ストアド・アウトラインを識別してください。

SELECT owner, name FROM dba_outlines;

この SQL文によって、一覧表示されたアウトラインを削除してください。

参照参照参照参照 : DISASSOCIATE STATISTICS文の詳細は、『Oracle8i SQLリファレンス』を参照してください。

13-44 Oracle8i 移行ガイド

Page 333: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

セキュリティセキュリティセキュリティセキュリティこの項では、データベースのセキュリティに関する非互換性の削除について説明します。

すべてのアプリケーション・コンテキストの削除すべてのアプリケーション・コンテキストの削除すべてのアプリケーション・コンテキストの削除すべてのアプリケーション・コンテキストの削除リリース 8.1の新しい機能では、アプリケーション・コンテキストを指定できます。ダウングレードする前に、アプリケーション・コンテキストをすべて削除します。次の SQL文を発行して、アプリケーション・コンテキストを識別してください。

SELECT * FROM dba_context;

DROP CONTEXT文を使用して、この SQL文によって一覧表示されたすべてのアプリケーション・コンテキストを削除します。

すべてのユーザー定義セキュリティ・ポリシーの削除すべてのユーザー定義セキュリティ・ポリシーの削除すべてのユーザー定義セキュリティ・ポリシーの削除すべてのユーザー定義セキュリティ・ポリシーの削除ファイン・グレイン・アクセス・コントロールとは、リリース 8.1の新機能で、ユーザー定義セキュリティ・ポリシーの作成が可能になります。ダウングレードする前に、すべてのユーザー定義セキュリティ・ポリシーを削除します。

次の SQL文を発行して、ユーザー定義セキュリティ・ポリシーを識別してください。

SELECT object_owner, object_name, policy_name FROM dba_policies;

DBMS_RLS.DROP_POLICYプロシージャを使用して、この SQL文によって一覧表示されたすべてのポリシーを削除します。

外部名が外部名が外部名が外部名が NULLのグローバル・ユーザーの削除または再作成のグローバル・ユーザーの削除または再作成のグローバル・ユーザーの削除または再作成のグローバル・ユーザーの削除または再作成外部名が NULLのグローバル・ユーザーは、リリース 8.0と互換性がありません。外部名がNULLであるグローバル・ユーザーを識別するには、次の SQL文を発行します。

SELECT name FROM dba_users WHERE password='GLOBAL' AND external_name IS NULL;

NULL以外の外部名を持つように、一覧表示されたユーザーを削除または再作成する必要があります。ユーザーは、(Oracle Security Serverに識別名を設定して)ローカル・データベース・ユーザー、外部ユーザーまたはグローバル・ユーザーとして再作成できます。Oracle Security Serverに識別名を設定し、グローバル・ユーザーとしてユーザーを作成することはお薦めしません。この機能は、リリース 8.1.5以降では廃止されています。リリース8.0でグローバル・ユーザーを作成した場合、これらのユーザーの今後のリリースへの移行は複雑になります。

参照参照参照参照 : DBMS_RLS.DROP_POLICYプロシージャの詳細は、『Oracle8i PL/SQLパッケージ・プロシージャリファレンス』を参照してください。

古いリリース 8.0およびリリース 8.1への ダウングレード 13-45

Page 334: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

次の例では、外部名が NULLのユーザーをリリース 8.0のローカル・データベース・アカウントに再作成しています。たとえば、次のグローバル・ユーザーをリリース 8.1で作成するとします。

CONNECT system/system_passwordCREATE USER user1 IDENTIFIED GLOBALLY AS '';

このユーザーをリリース 8.0互換にするには、次の SQL文を発行します。

CONNECT system/system_passwordALTER USER user1 IDENTIFIED BY welcome;

ご使用の SYSTEMユーザー・パスワードを使用して接続します。

プロキシ・ユーザーのプロキシ・ユーザーのプロキシ・ユーザーのプロキシ・ユーザーの CONNECT THROUGH権限の取消し権限の取消し権限の取消し権限の取消しリリース 8.1の n-tier認証および認可機能は、リリース 8.0では使用できません。したがって、プロキシ・ユーザーに CONNECT THROUGH権限がある場合、これらの権限を取り消す必要があります。

次の SQL文を発行して、プロキシ・ユーザーを一覧表示させます。

SELECT * FROM proxy_users;

ALTER USER ... REVOKE CONNECT THROUGH文を発行して、CONNECT THROUGH権限を取り消してください。たとえば、次の文はプロキシ・ユーザー APPSERVER1の権限を取り消し、ユーザー JANEとして接続します。

ALTER USER jane REVOKE CONNECT THROUGH appserver1;

データベース・バックアップおよびリカバリデータベース・バックアップおよびリカバリデータベース・バックアップおよびリカバリデータベース・バックアップおよびリカバリこの項では、ダウングレードでバックアップを確実にリカバリする方法について説明します。

Oracle Media Management APIおよびプロキシ・コピーおよびプロキシ・コピーおよびプロキシ・コピーおよびプロキシ・コピーOracle Media Management APIのバージョン 2はプロキシ・コピー機能をサポートしますが、データベースをリリース 8.0にダウングレードするとサポートしなくなります。したがって、リリース 8.0を使用して、プロキシ・コピーをサポートするバージョン 2のソフトウェア・バックアップ・テープ(SBT)・レイヤーを使用して作成されたリリース 8.1プロキシ・バックアップは、リカバリできません。

リリース 8.0にダウングレードしたデータベースをリリース 8.1データベースにリカバリする必要がある場合、ダウングレードする前に、プロキシ・コピーをオフにしてバックアップを作成します。これはプロキシ・コピーをオフにすることによって、リリース 8.0のバックアップをリカバリできるためです。ご使用のメディア・マネージャが Oracle Media

13-46 Oracle8i 移行ガイド

Page 335: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

Management APIバージョン 2のみサポートする場合、リリース 8.0で使用するバージョン1.1 SBTレイヤーの取得も必要です。

旧アーカイブ・ログの出力先パラメータへの変更旧アーカイブ・ログの出力先パラメータへの変更旧アーカイブ・ログの出力先パラメータへの変更旧アーカイブ・ログの出力先パラメータへの変更リリース 8.1の新しいアーカイブ・ログ出力先パラメータ(LOG_ARCHIVE_DESTnおよびLOG_ARCHIVE_DEST_STATEn)を使用した場合、ダウングレードする前に、それを旧アーカイブ・ログ出力先パラメータ(LOG_ARCHIVE_DESTおよびLOG_ARCHIVE_DUPLEX_DEST)に戻してください。

分散データベース分散データベース分散データベース分散データベースこの項では、分散データベースに関する非互換性の削除について説明します。

Oracleレプリケーション環境のダウングレードに対する準備レプリケーション環境のダウングレードに対する準備レプリケーション環境のダウングレードに対する準備レプリケーション環境のダウングレードに対する準備Oracleレプリケーションを使用している場合、次の項にある処置を実行して、ダウングレードするための Oracleレプリケーション環境を準備してください。

Oracleレプリケーション環境における非互換性の削除レプリケーション環境における非互換性の削除レプリケーション環境における非互換性の削除レプリケーション環境における非互換性の削除 レプリケーション環境のデータベースがリリース 8.1プロトコルを使用する RPCをダウングレード中のデータベースへ送る場合は、ダウングレードの前にすべての遅延 RPCを更新するかまたは削除してください。次に示すコールのいずれかで GENERATE_80_COMPATIBLEに一度でも FALSEが設定されていた場合は、データベースの遅延 RPCはリリース 8.1のプロトコルを使用します。

� GENERATE_REPLICATION_SUPPORT(すべてのマスター・サイトに影響 )

� CREATE_SNAPSHOT_REPOBJECT(ローカルのスナップショット・サイトに影響)

� CREATE_SNAPSHOT_SUPPORT(ローカルのスナップショット・サイトに影響)

また、マスター表のすべての列を含まない、更新可能なスナップショットがある場合、リリース 8.1プロトコルを使用する必要があります。

参照参照参照参照 : 詳細は、B-15ページの「旧アーカイブ・ログの宛先のパラメータへの変更」を参照してください。

参照参照参照参照 : これらの処置については、『Oracle8i レプリケーション・ガイド』を参照してください。

古いリリース 8.0およびリリース 8.1への ダウングレード 13-47

Page 336: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

遅延 RPCを更新または削除するには、次の手順を実行してください。

1. すべてのスナップショット・グループが top flavorにあることを確認します。

ダウングレード元のデータベースのスナップショット・グループは、ダウングレードする前に top flavorにある必要があります。top flavorにないオブジェクト・グループを識別するためには、次の SQL文を発行します。

SELECT gname, fname FROM dba_repgroup WHERE fname IS NOT NULL;

データベースのオブジェクト・グループが表示された場合、そのオブジェクト・グループを削除し、再作成する必要があります。

すべてのスナップショット・グループの FNAMEが NULLになっているときは、スナップショット・グループは表示されません。この場合は、すべてのスナップショット・グループはすでに top flavorにあり、操作は必要ありません。

2. 更新可能な各スナップショットが、マスター表のすべての列を含むことを確認します。

3. ダウングレードするデータベースが、1つ以上のスナップショット・サイト(リリース8.1以降)のマスター・サイトの場合、次の手順を実行します。

a. GENERATE_SNAPSHOT_SUPPORTコール中の GENERATE_80_COMPATIBLEをTRUEに設定して、このサイトにあるすべてのスナップショット用にサポートを再生成します。

b. リリース 8.1以降のスナップショット・サイトからキューをプッシュします。

4. ダウングレード元のデータベースに対するエラー・キューのエラーを適用または削除するには、DBMS_DEFER_SYS.EXECUTE_ERRORプロシージャまたはDBMS_DEFER_SYS.DELETE_ERRORプロシージャを使用します。

一時更新可能スナップショット・ログの削除一時更新可能スナップショット・ログの削除一時更新可能スナップショット・ログの削除一時更新可能スナップショット・ログの削除 次のような SQL文を発行して、一時更新可能スナップショット・ログがあるかどうか確認します。

SELECT owner, table_name FROM dba_tables WHERE temporary='Y' AND table_name LIKE 'RUPD$%';

注意注意注意注意 : flavorは内部使用専用です。flavorは、オラクル社カスタマ・サポート・センターが指示する場合のみ使用してください。

参照参照参照参照 : DBMS_DEFER_SYSパッケージの詳細は、『Oracle8i レプリケーション・マネージメント API リファレンス』を参照してください。

13-48 Oracle8i 移行ガイド

Page 337: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

行が戻された場合には、一時更新可能スナップショット・ログがデータベースに存在します。一時更新可能スナップショット・ログを削除するには、次の PL/SQLブロックを実行します。

DECLARE sql_cur BINARY_INTEGER; dummy BINARY_INTEGER; new_flag BINARY_INTEGER; CURSOR mv_logs IS SELECT '"'||mowner||'"."'||temp_log||'"' temp_log, flag, mowner, master FROM mlog$ m WHERE temp_log IS NOT NULL FOR UPDATE; BEGIN sql_cur := dbms_sql.open_cursor; FOR alog IN mv_logs LOOP new_flag := alog.flag; IF dbms_ijob.bit(new_flag, 64) THEN ---KKZLOGTUPS new_flag := new_flag - 64; END IF; BEGIN dbms_sql.parse(sql_cur, 'DROP TABLE ' || alog.temp_log, dbms_sql.v7); dummy := dbms_sql.execute(sql_cur); UPDATE mlog$ m SET flag = new_flag, temp_log = NULL WHERE m.mowner = alog.mowner AND m.master = alog.master; EXCEPTION WHEN others THEN NULL; --- Ignore the error END; END LOOP; dbms_sql.close_cursor(sql_cur); COMMIT; EXCEPTION WHEN others THEN IF dbms_sql.is_open(sql_cur) THEN dbms_sql.close_cursor(sql_cur); END IF; RAISE; END; /

古いリリース 8.0およびリリース 8.1への ダウングレード 13-49

Page 338: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

非互換性の削除

スナップショットにおける非互換性の識別スナップショットにおける非互換性の識別スナップショットにおける非互換性の識別スナップショットにおける非互換性の識別 スナップショットとマテリアライズド・ビューは同義語です。

Net8この項では、Net8に関する非互換性の削除について説明します。

サービス・ネーミング使用の中断サービス・ネーミング使用の中断サービス・ネーミング使用の中断サービス・ネーミング使用の中断Net8のサービス・ネーミングはリリース 8.1ではサポートされていますが、リリース 8.0ではサポートされていません。サービス・ネーミングの使用を中断するには、次の処理を行います。

� 初期化パラメータ・ファイルの SERVICE_NAMESパラメータおよびINSTANCE_NAMEパラメータを削除します。

� tnsnames.oraファイルの SERVICE_NAMEパラメータを削除します。

� 接続記述子の SIDパラメータを使用します。

� リスナーによって提供されるインスタンスの情報を手動で設定するためには、listener.oraファイルの SID_LISTパラメータを使用します。

参照参照参照参照 : マテリアライズド・ビューにおける非互換性の識別の詳細は、13-16ページの「ダウングレード中に変更または削除されるマテリアライズド・ビューの識別」を参照してください。

参照参照参照参照 : 接続記述子の SIDパラメータの使用については、ダウングレードするリリースの Net8または SQL*Netドキュメントで該当するものを参照してください。

13-50 Oracle8i 移行ガイド

Page 339: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

データベース互換性のリセット

データベース互換性のリセットデータベース互換性のリセットデータベース互換性のリセットデータベース互換性のリセットダウングレード先のリリースとの非互換性をすべて削除した後、次の手順を実行して、データベースの互換性レベルを(以前のリリースに対する互換性に)リセットします。

1. ダウングレード先のリリース以降のリリースに追加された初期化パラメータを使用している場合は、そのパラメータをご使用の初期化パラメータ・ファイルから削除します。

2. SQL*Plusを起動し、SYSDBA権限があるユーザーとして接続します。

3. STARTUPを使用してデータベースを起動します。

4. ALTER DATABASE RESET COMPATIBILITYを実行します。

SQL> ALTER DATABASE RESET COMPATIBILITY;

5. SHUTDOWN IMMEDIATEを実行します。

SQL> SHUTDOWN IMMEDIATE

6. 初期化パラメータ・ファイルに、ダウングレード先のリリースと一致するCOMPATIBLE初期化パラメータを設定します。

たとえば、リリース 8.0.5にダウングレードする場合には、COMPATIBLEパラメータを次のように設定してください。

COMPATIBLE=8.0.5

参照参照参照参照 : 各リリースに追加されたパラメータの表示については、付録 B「初期化パラメータの変更」を参照してください。

参照参照参照参照 : 詳細は、9-8ページの「ALTER DATABASE RESET COMPATIBILITYについて」を参照してください。

注意注意注意注意 : 手順を完了したら、ダウングレード先のリリース以降に設定された COMPATIBLEを使用してデータベースをオープンしないでください。

古いリリース 8.0およびリリース 8.1への ダウングレード 13-51

Page 340: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

データベースのダウングレード

7. データベースをオープンして、COMPATIBLEパラメータで指定したリリースと互換性のあることを確認します。

非互換性がまだ存在する場合、データベースをオープンできません。その場合は、COMPATIBLEパラメータを高いリリース、たとえば 8.1.0に再設定してください。そして、非互換性を削除し、データベースの互換性を再設定してください。13-52ページの「データベースのダウングレード」で説明するダウングレード・プロセスを続行する前に、ダウングレード先のデータベースのすべての非互換性を削除する必要があります。

データベースのダウングレードデータベースのダウングレードデータベースのダウングレードデータベースのダウングレードこの項のダウングレードの手順を行う前に、データベースがダウングレード先のリリースと互換性のあることを確認してください。まだ非互換性を削除してない場合は、13-2ページの「非互換性の削除」を参照してください。

リリース 8.1データベースをそれ以前のリリースへダウングレードするときは、次の手順を実行してください。

1. 次のファイルを ORACLE_HOME/rdbms/adminディレクトリから、システムの一時ディレクトリなど、Oracleホーム以外のディレクトリへコピーします。

� catlg803.sql(リリース 8.0.3にダウングレードする場合)

� utlip.sql

� utlrp.sql

また、次のいずれかのファイルを ORACLE_HOME/javavm/installから、システムの一時ディレクトリなど、Oracleホーム以外のディレクトリへコピーします。

� jvmd816.sql(Javaがインストールされており、リリース 8.1.6にダウングレードする場合)

� jvmd815.sql(Javaがインストールされており、リリース 8.1.5にダウングレードする場合)

これらのファイルの新しい場所を覚えておいてください。ダウングレード・プロセスにおいて、これらのファイルが必要になることがあります。

参照参照参照参照 : 非互換性の削除の詳細は、13-2ページの「非互換性の削除」を参照してください。

13-52 Oracle8i 移行ガイド

Page 341: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

データベースのダウングレード

2. システム・プロンプトで、ORACLE_HOME/rdbms/adminディレクトリへ移動します。

3. Server Managerを起動します。ほとんどのオペレーティング・システムでは、Oracle8iの Server Managerを起動するには、コマンド・プロンプトで svrmgrlを入力します。

4. INTERNALユーザーとしてデータベース・インスタンスに接続します。

5. データベースが停止した場合、STARTUPを使用してデータベースを起動します。

SVRMGR> STARTUP

PFILEオプションを使用して、初期化パラメータ・ファイルの場所を指定する必要がある場合があります。

6. 成功したかどうかを後で確認するために、結果をログ・ファイルにスプールするようにシステムを設定します。

SVRMGR> SPOOL catoutd.log

実行するスクリプトの出力を参照する場合は、SET ECHO ON文も発行できます。

SVRMGR> SET ECHO ON

古いリリース 8.0およびリリース 8.1への ダウングレード 13-53

Page 342: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

データベースのダウングレード

7. old_releaseがダウングレード先のリリースを参照する場合、dold_release.sqlを実行します。適切なスクリプトの選択は、表 13-2を参照してください。各スクリプトによって、「Downgrading To」列で指定したリリースに直接ダウングレードできます。

スクリプトを実行するには、次のように入力します。

SVRMGR> @dold_release.sql

表表表表 13-2 ダウングレード・スクリプトダウングレード・スクリプトダウングレード・スクリプトダウングレード・スクリプト

ダウングレード先ダウングレード先ダウングレード先ダウングレード先 実行スクリプト実行スクリプト実行スクリプト実行スクリプト

8.1.6 d0801060.sql

8.1.5 d0801050.sql

8.1.4 未サポート

8.1.3 未サポート

8.1.2 未サポート

8.1.1 未サポート

8.0.6 d0800060.sql

8.0.5 d0800050.sql

8.0.4S 未サポート

8.0.4 d0800040.sql

8.0.3 d0800030.sql

8.0.2 未サポート

8.0.1 未サポート

注意注意注意注意 : ダウングレード先のリリースが表 13-2に含まれていない場合、実行する正しいダウングレード・スクリプトについては、新しいインストールの READMEファイルを参照してください。

13-54 Oracle8i 移行ガイド

Page 343: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

データベースのダウングレード

スクリプトの実行についての注意は、次のとおりです。

� ダウングレード元のリリースに付属するスクリプトのバージョンを使用してください。

� ダウングレード元のリリースの環境にあるスクリプトを実行してください。

� ダウングレードが複数のリリースにわたる場合でも、実行するスクリプトは 1つです。たとえば、リリース 8.0.3にダウングレードする場合、d0800030.sqlのみ実行します。

� 相互参照型を使用している場合、リリース 8.0.3および 8.0.4.0へのダウングレードはサポートされません。詳細は、13-32ページの「相互参照型のリリース 8.0.4.0以前へのダウングレード」を参照してください。

このスクリプトまたは残りの手順のスクリプトのいずれかを実行中に何らかの問題が発生した場合は、問題を解決してスクリプトを再実行します。必要に応じて、この章で説明されているスクリプトのいずれかを実行できます。

8. SHUTDOWN IMMEDIATEを実行し、Server Managerを終了します。

SVRMGR> SHUTDOWN IMMEDIATESVRMGR> EXIT

Oracle Parallel Serverを使用している場合、すべてのインスタンスを停止します。

9. ご使用のオペレーティング・システムが UNIXの場合、次の環境変数がダウングレード先のリリースのディレクトリを指定するように変更してください。

� ORACLE_HOME

� PATH

� ORA_NLS

� LD_LIBRARY_PATH

参照参照参照参照 : スクリプトの実行中のエラーのタイプを判断するには、1-11ページの「スクリプトの実行」を参照してください。

注意注意注意注意 : Oracle Parallel Serverに対して、すべてのノードでこの手順を実行します。

古いリリース 8.0およびリリース 8.1への ダウングレード 13-55

Page 344: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

データベースのダウングレード

10. ご使用のオペレーティング・システムがWindowsの場合、次の手順を実行します。

a. ダウングレードするデータベースのすべての Oracleサービス(OracleServiceSIDなど)を停止します。SIDはインスタンスの名前です。

たとえば、SIDが ORCLの場合、MS-DOSプロンプトで次のように入力します。

C:¥> NET STOP OracleServiceORCL

b. ORADIMコマンドを発行して、MS-DOSコマンド・プロンプトで Oracleサービスを削除します。たとえば、SIDが ORCLの場合、次のMS-DOSコマンドを入力します。

C:¥> ORADIM -DELETE -SID ORCL

11. 次の両方の条件を満たす場合、現行リリースの Oracleを削除します。

� 以前のリリース 8.1からダウングレードする。

� 現行リリースと、ダウングレード先の以前のリリースに、同じ Oracleホームを使用する。

現行リリースと、ダウングレード先の以前のリリースに異なる Oracleホーム・ディレクトリを使用する場合、現行リリースを削除する必要はありません。

参照参照参照参照 : ご使用のオペレーティング・システムでのその他の重要な環境変数の設定は、オペレーティング・システム固有の Oracle8iインストレーション・ガイドを参照してください。

参照参照参照参照 : サービスの停止方法については、『Oracle8i管理者ガイド』を参照してください。

注意注意注意注意 : リリース 8.0にダウングレードする場合、リリース 8.0を現行のリリース 8.1とは別に、Oracleホームにインストールする必要があります。ただし、以前のリリース 8.1にダウングレードする場合、この制限は適用されません。新しいリリースを以前のリリースのように同じ Oracleホームにインストールできます。

13-56 Oracle8i 移行ガイド

Page 345: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

データベースのダウングレード

12. ダウングレード先のリリースのインストール・メディアを使用して、そのリリースをインストールします。

たとえば、リリース 8.0.5にダウングレードする場合、リリース 8.0.5のインストール・メディアを使用して Oracleのリリース 8.0.5配布をインストールします。

また、リリース 8.0にダウングレードする場合は、リリース 8.1とは別の Oracleホームにリリース 8.0ソフトウェアをインストールする必要があります。ただし、以前のリリース 8.1にダウングレードする場合は、この制限は適用されません。新しいリリースを同じ Oracleホームにインストールすることができます。

13. ご使用のオペレーティング・システムがWindowsの場合、次の手順を実行します。

a. コンピュータを停止し、再起動します。

b. ORADIMコマンドを使用して、MS-DOSコマンド・プロンプトで Oracleデータベース・サービスを作成します。

Oracleのリリース 8.0にダウングレードする場合は、ORADIM80コマンドを使用します。

C:¥> ORADIM80 -NEW -SID SID -INTPWD PASSWORD -MAXUSERS USERS -STARTMODE AUTO -PFILE ORACLE_HOME¥DATABASE¥INITSID.ORA

Oracleの以前のリリース 8.1(リリース 8.1.5など)にダウングレードする場合は、ORADIMコマンドを使用します。

C:¥> ORADIM -NEW -SID SID -INTPWD PASSWORD -MAXUSERS USERS -STARTMODE AUTO -PFILE ORACLE_HOME¥DATABASE¥INITSID.ORA

注意注意注意注意 : インストールは、オペレーティング・システム固有の作業です。インストールの指示については、オペレーティング・システム固有のインストレーション・ドキュメントおよび使用しているオペレーティング・システムの READMEファイルを参照してください。

古いリリース 8.0およびリリース 8.1への ダウングレード 13-57

Page 346: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

データベースのダウングレード

この構文には次の変数が含まれます。

たとえば、ダウングレード先が Oracleのリリース 8.0.6、SIDが ORCL、PASSWORDが TWxy579、USERSの最大数が 10および ORACLE_HOMEディレクトリが C:¥ORANTの場合、次のコマンドを入力します。

C:¥> ORADIM80 -NEW -SID ORCL -INTPWD TWxy579 -MAXUSERS 10 -STARTMODE AUTO -PFILE C:¥ORANT¥DATABASE¥INITORCL.ORA

14. 構成ファイルを、ダウングレード元の Oracleホーム以外の場所へコピーします。

a. 別の Oracleホームを使用している場合に、ダウングレード元の Oracleホーム内に初期化パラメータ・ファイルが常駐する場合、その初期化パラメータ・ファイルをOracleホーム以外の場所にコピーします。UNIXの場合、OracleはデフォルトでORACLE_HOME/dbs内で初期化パラメータ・ファイルを検索します。Windowsプラットフォームの場合は、ORACLE_HOME¥database内で検索します。初期化パラメータ・ファイルは任意の場所に格納できますが、ダウングレード元のリリースのOracleホームには常駐することができません。

b. ご使用の初期化パラメータ・ファイルに IFILE(インクルード・ファイル)エントリがあり、IFILEエントリで指定されたファイルがダウングレード元のデータベースの Oracleホーム内に常駐する場合、IFILEエントリが指定したファイルを、Oracleホーム以外の場所にコピーしてください。IFILEエントリ内に指定されたファイルは、追加の初期化パラメータを持っています。このファイルをコピーしたら、初期化パラメータ・ファイルを編集して新しい場所を指定します。

SID ダウングレードするリリース 8.1データベースの SIDと同じ SID名です。

PASSWORD データベース・インスタンスのパスワードです。これはINTERNALユーザー用のパスワードです。-INTPWDオプションは不要です。これを指定しない場合、オペレーティング・システムの認証が使用され、パスワードは不要です。

USERS SYSDBA権限および SYSOPER権限を付与できるユーザーの最大数。

ORACLE_HOME ダウングレード先のデータベースの Oracleホーム・ディレクトリです。-PFILEオプションを使用して、(Oracleホーム・ディレクトリのドライブを含む)フルパス名を指定する必要があります。

13-58 Oracle8i 移行ガイド

Page 347: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

データベースのダウングレード

c. ダウングレード元の Oracleホーム内に常駐するパスワード・ファイルがある場合、そのパスワード・ファイルを、ダウングレード先の Oracleホームに移動またはコピーします。パスワード・ファイルの名前および位置は、オペレーティング・システムによって異なります。たとえば、UNIXオペレーティング・システムでは、デフォルトのパスワード・ファイルは ORACLE_HOME/dbs/orapwsidですが、Windows NTでは、デフォルトのパスワード・ファイルはORACLE_HOME¥database¥pwdsid.oraです。両方の場合とも、sidは Oracleインスタンス IDです。

15. 初期化パラメータ・ファイル内の _SYSTEM_TRIG_ENABLED初期化パラメータにFALSEを設定します。

_SYSTEM_TRIG_ENABLED = FALSE

16. 次のファイルを ORACLE_HOME/rdbms/adminディレクトリにコピーします。

� catlg803.sql(リリース 8.0.3にダウングレードする場合)

� utlip.sql

� utlrp.sql

次のいずれかのファイルを ORACLE_HOME/javavm/installディレクトリにコピーします。

� jvmd816.sql(Javaがインストールされており、リリース 8.1.6にダウングレードする場合)

� jvmd815.sql(Javaがインストールされており、リリース 8.1.5にダウングレードする場合)

手順 1で、これらのファイルを Oracleホーム以外のディレクトリにコピーしています。

17. システム・プロンプトで、ORACLE_HOME/rdbms/adminディレクトリへ移動します。

18. Server Managerを起動します。

19. INTERNALユーザーとしてデータベース・インスタンスに接続します。

20. STARTUPを実行します。

SVRMGR> STARTUP

注意注意注意注意 : Oracle Parallel Serverに対して、すべてのノードでこの手順を実行します。また、PARALLEL_SERVER初期化パラメータを FALSEに設定します。ダウングレード操作終了後、TRUEに戻せます。

古いリリース 8.0およびリリース 8.1への ダウングレード 13-59

Page 348: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

データベースのダウングレード

PFILEオプションを使用して、初期化パラメータ・ファイルの場所を指定する必要がある場合があります。

21. utlip.sqlを実行します。

SVRMGR> @utlip.sql

UTLIP.SQLスクリプトは一定のディクショナリ表を変更し、データベースが必要とする形式で次の再コンパイルが発生するように、既存のすべての PL/SQLモジュールを無効にします。また、PL/SQLコンパイルに必要な STANDARDおよびDBMS_STANDARDパッケージを再ロードします。

22. ダウングレード先のリリースによって、catalog.sqlスクリプトまたはcatlg803.sqlスクリプトのどちらかを実行します。これらのスクリプトの両方は実行できません。

リリース 8.0.4以降のリリースにダウングレードする場合、catalog.sqlを実行します。

SVRMGR> @catalog.sql

リリース 8.0.3にダウングレードする場合、catlg803.sqlを実行します。

SVRMGR> @catlg803.sql

23. catproc.sqlを実行します。

SVRMGR> @catproc.sql

24. Oracleシステムに Oracleレプリケーションをインストールしている場合は、ダウングレード先のリリースに付属する次のカタログ・スクリプトを実行します。

SVRMGR> @catrep.sql

参照参照参照参照 : ワード・サイズ変更の詳細は、1-12ページの「ワード・サイズの変更」を参照してください

注意注意注意注意 : リリース 8.0.3に存在し、リリース 8.0.4以降で修正されたバグ#571546があるため、リリース 8.0.3にダウングレードした後にcatalog.sqlを実行しないでください。STANDARDパッケージを再作成すると、このバグが発生します。catalog.sqlが STANDARDパッケージを再作成するため、Oracleはリリース 8.0.3の catalog.sqlスクリプトのすべての機能を効率的に行う新しいスクリプト(catalg803.sql)を提供しました。ただし、このスクリプトにはバグ

#571546について説明した問題に対処するための追加手順が含まれていません。

13-60 Oracle8i 移行ガイド

Page 349: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

データベースのダウングレード

25. Oracleシステムに Parallel Serverをインストールしている場合は、ダウングレード先のリリースに付属する次のカタログ・スクリプトを実行します。

SVRMGR> @catparr.sql

26. Oracleシステムに Javaをインストールしている場合は、適切なダウングレード・スクリプトを実行して Javaコンポーネントをダウングレードします。スクリプトを実行するときは、ORACLE_HOMEを、ご使用の Oracleホーム・ディレクトリのフルパスに置き換えます。

リリース 8.1.6にダウングレードする場合は、次のスクリプトを実行します。

SVRMGR> @ORACLE_HOME/javavm/install/jvmd816.sql

リリース 8.1.5にダウングレードする場合は、次のスクリプトを実行します。

SVRMGR> @ORACLE_HOME/javavm/install/jvmd815.sql

27. utlrp.sqlを実行します。この手順はオプションで、ワード・サイズに変更がある場合でも実行できます。

SVRMGR> @utlrp.sql

utlrp.sqlスクリプトは、以前 INVALID状態であったすべての既存の PL/SQLモジュール(パッケージ、プロシージャ、型など)を再コンパイルします。これらの処理はオプションです。ただし、これらの処理を行うと、再コンパイルはインストール後ではなく、インストール中に発生します。

オラクル社では、このオプションの utlrp.sqlを実行することをお薦めします。

28. スクリプト結果のログ・ファイルへのスプーリングをオフにします。

SVRMGR> SPOOL OFF;

次に、スプール・ファイルを確認して、すべてのパッケージおよびプロシージャのコンパイルが成功したかどうかを検証します。手順 6でスプールに名前を付けましたが、その名前は catoutd.logでした。このファイル内に問題がある場合は解決してください。

SET ECHO ONを指定した場合は、ここで SET ECHO OFFを行うことができます。

SVRMGR> SET ECHO OFF;

29. 13-18ページの「相互参照ビューおよびリリース 8.0.4.1以前へのダウングレード」の指示を実行する間に相互参照ビューを削除し、リリース 8.0.4にダウングレードした場合は、これらのビューを再作成します。

古いリリース 8.0およびリリース 8.1への ダウングレード 13-61

Page 350: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

データベースのダウングレード

30. SHUTDOWN IMMEDIATEを使用して、すべてのインスタンスを停止します。

SVRMGR> SHUTDOWN IMMEDIATE

31. 初期化パラメータ・ファイル内の _SYSTEM_TRIG_ENABLED初期化パラメータにTRUEを設定します。

_SYSTEM_TRIG_ENABLED = TRUE

32. Server Managerを終了している場合は、Server Managerを起動します。ほとんどのオペレーティング・システムでは、Server Managerを起動するには、コマンド・プロンプトで svrmgrlを入力します。

33. INTERNALユーザーとしてデータベース・インスタンスに接続します。

34. STARTUPを使用してデータベースを起動します。

SVRMGR> STARTUP

PFILEオプションを使用して、初期化パラメータ・ファイルの場所を指定する必要がある場合があります。

データベースがダウングレードされました。次の項で説明する手順を実行し、固有のコンポーネントのダウングレードを終了してください。

注意注意注意注意 : リリース 8.0.3にダウングレードした場合は、これらのビューは再作成できません。これは、相互参照ビューはリリース 8.0.3ではサポートされないためです。

注意注意注意注意 : Oracle Parallel Serverに対して、PARALLEL_SERVER初期化パラメータを FALSEに設定します。アップグレード処理が完了した後に、それを TRUEに戻すことができます。

13-62 Oracle8i 移行ガイド

Page 351: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

データベースのダウングレード

レプリケーション・サポートの再生成レプリケーション・サポートの再生成レプリケーション・サポートの再生成レプリケーション・サポートの再生成Oracleレプリケーションを使用している場合、Oracleレプリケーション・サポートを再生成する前に、13-47ページの「Oracleレプリケーション環境のダウングレードに対する準備」で説明した手順が完了しているかを確認してください。次に、後述の処置を実行してください。ただし、ダウングレードしたデータベースがマスター・サイトかスナップショット・サイトかによって処置は異なります。

マスター・サイトマスター・サイトマスター・サイトマスター・サイトダウングレードしたデータベースが、1つ以上のオブジェクト・グループのマスター・サイトの場合、次の手順を実行してレプリケーション・サポートを再生成します。

1. 各オブジェクト・グループを停止します。

2. グループ内の各レプリケート表にレプリケーション・サポートを生成します。

3. オブジェクト・グループにマスター・アクティビティを再開します。マスター定義サイトがリリース 8.1にある場合、GENERATE_REPLICATION_SUPPORTコールのGENERATE_80_COMPATIBLE=>TRUEを指定してください。

スナップショット・サイトスナップショット・サイトスナップショット・サイトスナップショット・サイトダウングレードしたデータベースがスナップショット・サイトの場合、各更新可能スナップショットにレプリケーション・サポートを生成してください。

リリースリリースリリースリリース 8.0.4でのでのでのでの UTL_REFパッケージの再インストールパッケージの再インストールパッケージの再インストールパッケージの再インストールリリース 8.0.4にダウングレードし、ダウングレードする前に UTL_REFパッケージを使用していた場合は、UTL_REFパッケージを再インストールしてください。このパッケージは、ダウングレード・プロセス中に、自動的に削除されました。これは、このパッケージがリリース 8.0.4の標準インストールの一部ではないためです。

参照参照参照参照 : レプリケーション・サポートの生成の詳細は、『Oracle8i レプリケーション・ガイド』を参照してください。

注意注意注意注意 : リリース 8.0.5以降にダウングレードした場合、処置は必要ありません。UTL_REFパッケージはダウングレード・プロセス中に保存されました。リリース 8.0.3にダウングレードした場合、UTL_REFパッケージは使用できません。これは、UTL_REFパッケージがリリース 8.0.3では無効なためです。

古いリリース 8.0およびリリース 8.1への ダウングレード 13-63

Page 352: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

データベースのダウングレード

リリースリリースリリースリリース 8.0.3でのでのでのでの Recovery Managerパッケージの再インストールパッケージの再インストールパッケージの再インストールパッケージの再インストールリリース 8.0.3にダウングレードし、ダウングレード前に Recovery Manager(RMAN)のリリース 8.0.4以降を使用していた場合、リカバリ・カタログ・データベースに次のリリース8.0.3のパッケージを再インストールしてください。

� dbmsrman.sqlおよび prvtmnu.plb

� dbmsrvct.sqlおよび prvtrvct.plb

注意注意注意注意 : リリース 8.0.4以降にダウングレードした場合、またはリリース8.0.3にダウングレードする前に Recovery Managerリリース 8.0.4以降を使用しなかった場合、これらのパッケージを再インストールする必要はありません。

13-64 Oracle8i 移行ガイド

Page 353: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle7へのダウング

14

Oracle7へのダウングレードへのダウングレードへのダウングレードへのダウングレード

この章で説明する内容は、リリース 8.0以降のインストール環境にのみ適用されます。ダウングレードとは、Oracleデータベースを同じバージョンの前のリリースへ変換することを意味します。たとえば、データベースをリリース 8.1をリリース 8.0に変換するときなどです。また、ダウングレードは、Oracleデータベースを前のバージョンに変換することも意味します。たとえば、データベースを Oracle8iから Oracle7に変換するときなどです。

この章では、Oracle7へのダウングレードについて説明します。前のリリース 8.0またはリリース 8.1にダウングレードする場合は、第 13章を参照してください。

この章では、次の項目について説明します。

� Oracle8iから Oracle7へのダウングレードの概要

� 新規または変更データを含まないデータベースのダウングレード

� 新規または変更データを含むデータベースのダウングレード

参照参照参照参照 : ダウングレードには、オペレーティング・システム固有の部分があります。ダウングレードの詳細は、オペレーティング・システム固有のOracleマニュアルを参照してください。

レード 14-1

Page 354: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8iから Oracle7へのダウングレードの概要

Oracle8iからからからから Oracle7へのダウングレードの概要へのダウングレードの概要へのダウングレードの概要へのダウングレードの概要Oracle8iのデータベースは、Oracle7のデータベース(リリース 7.3など)にダウングレードできます。ただし、ダウングレードの方法はあまり多くありません。そのために必要な手順は操作が難しく、時間もかかります。また、Oracle7で有効ではないリリース 8.0およびリリース 8.1の新しい機能を使用するデータの保存ができないこともあります。

オラクル社では、Oracle8i移行ユーティリティを使用した Oracle8iから Oracle7へのダウングレードはサポートしていません。つまり、Oracle8i移行ユーティリティは下位移行をサポートしません。Oracle8iには、特にダウングレードのための他の機能は付属していません。

ダウングレードの手順は、保存する必要がある新規または変更したデータが Oracle8iのデータベースに含まれているかどうかによって決まります。実際に使用している Oracle8iのデータベースに該当する次の手順を使用します。

� 新規または変更データを含まないデータベースのダウングレード

� 新規または変更データを含むデータベースのダウングレード

新規または変更データを含まないデータベースのダウングレード新規または変更データを含まないデータベースのダウングレード新規または変更データを含まないデータベースのダウングレード新規または変更データを含まないデータベースのダウングレード保存する必要がある新規または変更したデータが Oracle8iのデータベースにまだ入力されていない場合は、以前の Oracle7ソース・データベースの完全なバックアップをリストアし、それを再オープンできます。前の Oracle7のデータベースで使用した初期化パラメータをリストアしたか確認してください。

前述の方法では、リリース 8.1のデータベースの新規または変更したデータがなくなります。リリース 8.1のデータベースに保存する必要がある新規または変更したデータがある場合、14-3ページの「新規または変更データを含むデータベースのダウングレード」で説明する手順を参照してください。

参照参照参照参照 : バックアップした Oracle7データベースのリストアの詳細は、『Oracle7 Server管理者ガイド』を参照してください。

14-2 Oracle8i 移行ガイド

Page 355: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

新規または変更データを含むデータベースのダウングレード

新規または変更データを含むデータベースのダウングレード新規または変更データを含むデータベースのダウングレード新規または変更データを含むデータベースのダウングレード新規または変更データを含むデータベースのダウングレードOracle8iのデータベースに保存する必要がある新規または変更したデータがある場合、図14-1に示す手順を参照してください。

図図図図 14-1 Oracle7へのダウングレードへのダウングレードへのダウングレードへのダウングレード

次の手順で、手順を詳しく説明します。

1. Oracle8iのデータベース上の catexp7.sqlのスクリプトを実行します。このスクリプトは ORACLE_HOME/rdbms/adminディレクトリにあります。

2. Oracle7のエクスポート・ユーティリティを使用して、新規または変更したデータのある Oracle8iのデータベースの一部をエクスポートします。

3. 以前の Oracle7のデータベースの完全なバックアップをリストアし、以前の初期化パラメータがリストア結果に含まれていることを確認します。

参照参照参照参照 : Oracle8iのデータベースからの Oracle7のエクスポートの実行の詳細は、『Oracle8i ユーティリティ・ガイド』を参照してください。

注意注意注意注意 : リリース 8.0およびリリース 8.1のスナップショットのバージョン7へのインポートはサポートされていません。バージョン 7環境でスナップショットを再作成してください。

参照参照参照参照 : バックアップした Oracle7データベースのリストアの詳細は、『Oracle7 Server管理者ガイド』を参照してください。

Oracle8iデータベース�

Oracle7データベース�

Oracle7エクスポート・�ユーティリティで�

エクスポート・ファイルを作成�

catexp7.sql

Oracle7エクスポート�

Oracle7インポート�

実行�

Oracle7へのダウングレード 14-3

Page 356: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

新規または変更データを含むデータベースのダウングレード

4. リストアした Oracle7のデータベースをオープンします。

5. Oracle7のインポート・ユーティリティを使用して、以前 Oracle8iのデータベースからエクスポートしたファイルを、リストアした Oracle7データベースへインポートします。

ダウングレードの代替方法ダウングレードの代替方法ダウングレードの代替方法ダウングレードの代替方法Oracle8iのデータベースから Oracle7のデータベースへ表データを送る方法として、他にもいくつかの方法が利用できます。Oracle7へデータを戻すためのこれらの方法は、Oracle8iを使用して更新した表の数が少ない場合、比較的簡単に行えます。ただし、表の全データベースをコピーすることは、時間のかかる複雑な作業であるため、Oracle8iを使用して多くの表を更新する前に、Oracle7へ戻す必要があるかどうか判断する必要があります。

Oracle8iのデータベースを Oracle7へダウングレードする方法として、次のような代替方法を利用できます。

� SQL*Plusを使用して新しい Oracle8iのデータから Oracle形式でないテキスト・ファイルを作成し、次に SQL*Loaderを使用してそのデータを Oracle7のデータベースにロードし直します。

� SQL*Plusの COPYコマンドを使用して、Oracle8iのデータベース表から以前の Oracle7のデータベース表へ新しいデータをコピーします。

� まだ以前の Oracle7のデータベースを使用している場合は、データを追加または変更した表を作成します(CREATE TABLE ... AS SELECTを使用)。データベース・リンクを使用した Oracle7のデータベースからの分散問合せによって、Oracle8iのデータベース表内のデータを選択します。

参照参照参照参照 : COPYコマンドの詳細は、『Oracle8i SQL*Plusユーザーズ・ガイドおよびリファレンス』を参照してください。

参照参照参照参照 : CREATE TABLE文の AS句の詳細は、『Oracle8i SQLリファレンス』を参照してください。

14-4 Oracle8i 移行ガイド

Page 357: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行問題のトラブルシューティ

A

移行問題のトラブルシューティング移行問題のトラブルシューティング移行問題のトラブルシューティング移行問題のトラブルシューティング

この付録では、移行ユーティリティまたは Oracle Data Migration Assistantを使用する際に、移行処理中に発生する可能性がある共通の問題に対する処置について説明します。移行ユーティリティを使用する場合の移行処理の詳細は、第 4章「移行ユーティリティによるOracle7からの移行」を参照してください。Oracle Data Migration Assistantを使用する場合の移行処理の詳細は、第 5章「Oracle Data Migration Assistantによる Oracle7からの移行」を参照してください。

この付録では、次の項目について説明します。

� 移行ユーティリティおよび Oracle Data Migration Assistantの使用に関する問題

� ALTER DATABASE CONVERT文における問題

� 手動の移行スクリプトおよびアップグレード・スクリプトの実行中の問題

ング A-1

Page 358: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行ユーティリティおよび Oracle Data Migration Assistantの使用に関する問題

移行ユーティリティおよび移行ユーティリティおよび移行ユーティリティおよび移行ユーティリティおよび Oracle Data Migration Assistantの使用の使用の使用の使用に関する問題に関する問題に関する問題に関する問題

移行ユーティリティまたは Oracle Data Migration Assistantの実行の際、次のような問題が起こる可能性があります。

� 一般的な移行問題

� 移行ユーティリティ・エラー

一般的な移行問題一般的な移行問題一般的な移行問題一般的な移行問題移行ユーティリティまたは Oracle Data Migration Assistantを実行する際に発生する可能性がある一般的な移行問題の原因は、ユーザーのデータベース・システムの構成にあります。ユーティリティまたは Assistantがデータベースの移行に必要な処理を実行中に、ユーザーの Oracleソフトウェアによってエラーが発生します。通常、エラーが発生した場合には、ユーティリティまたは Assistantは動作を中断し、1つ以上のエラー・メッセージを表示します。

ユーティリティまたは Assistantの実行中に次のような問題が発生した場合には、提示された処置を実行し、ユーティリティまたは Assistantを再実行してください。

SYSTEM表領域の領域不足表領域の領域不足表領域の領域不足表領域の領域不足この問題は、次のようなエラー・メッセージを戻すことがあります。

ORA-00604: 再帰SQLレベル1でエラーが発生しました。ORA-01653: 表SYSを拡張できません(473分、表領域SYSTEM)。

移行処理を正常に行うため、SYSTEM表領域にデータ・ファイルを新規追加し、新規データ・ファイルに十分な領域を割り当てます。

移行処理中に、一時表領域に領域がなくなることもあります。移行処理を正常に行うために、一時表領域にデータ・ファイルを新規追加し、新規データ・ファイルに十分な領域を割り当ててください。

注意注意注意注意 : Oracle Data Migration Assistantを使用する場合は、Assistantの再実行前に、Oracle7データベースのバックアップをリストアしてください。

A-2 Oracle8i 移行ガイド

Page 359: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行ユーティリティおよび Oracle Data Migration Assistantの使用に関する問題

不適切な不適切な不適切な不適切な AUDIT_TRAILパラメータ設定パラメータ設定パラメータ設定パラメータ設定この問題は、次のようなエラー・メッセージを戻すことがあります。

ORA-00604: 再帰SQLレベル numでエラーが発生しました。ORA-01552: SYSTEM表領域でない表領域 'name'にシステム・ロールバック・セグメントは使用できません。ORA-02002: 監査証跡への書込み中にエラーが発生しました。

これらのエラーは、次の条件下でのみ起こります。

� 初期化パラメータ AUDIT_TRAILが、DBまたは TRUEに設定されている場合

� SYS.AUD$表が SYSTEM以外の表領域にある場合

この問題を解決するには、次の手順を実行します。

1. データベースがオープンされている場合は、停止します。

2. 次の方法で、初期化パラメータ・ファイルの AUDIT_TRAILパラメータを設定します。

AUDIT_TRAIL = NONE

3. 移行ユーティリティを再実行するか、または Oracle7のバックアップをリストアし、Oracle Data Migration Assistantを再実行します。

参照参照参照参照 : 移行ユーティリティを使用する場合は、4-6ページの「領域要件」および 4-22ページの手順 2を参照してください。Oracle Data Migration Assistantを使用する場合は、5-4ページの「領域要件」および 5-11ページの手順 9を参照してください。

これらの項では、SYSTEM表領域の領域要件および使用可能な領域を増やすためのデータ・ファイルの新規追加に関する詳細を説明します。

移行問題のトラブルシューティング A-3

Page 360: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行ユーティリティおよび Oracle Data Migration Assistantの使用に関する問題

SYSTEMロールバック・セグメントのロールバック・セグメントのロールバック・セグメントのロールバック・セグメントの OPTIMAL設定設定設定設定この問題は、次のようなエラー・メッセージを戻すことがあります。

ORA-01562: ロールバック・セグメント番号 0を拡張できません。ORA-01628: 最大エクステント(n)に達しました(ロールバック・セグメントSYSTEM)。

このメッセージは、SYSTEMロールバック・セグメントが小さすぎて移行を完了できないことを示しています。移行が正常に完了するために十分な大きさの SYSTEMロールバック・セグメントがあることを確認してください。

移行ユーティリティおよび Oracle Data Migration Assistantは、SYSTEMロールバック・セグメント以外をオフラインにし、SYSTEMロールバック・セグメントの現在割り当てられたエクステント数にMAXEXTENTSを設定し、サイズを固定します。この処置には、ユーティリティまたは Assistantのスペース・マネジメント表の処理中に、エクステント割当てなどの領域操作を防ぐ役割があります。

SYSTEMロールバック・セグメントに OPTIMAL設定がある場合、エクステントは、そのデータがアクティブ・トランザクションに不要の場合、動的に割り当てられません。動的不割当ては、SYSTEMロールバック・セグメントが固定された場合、現在割り当てられたエクステントを小さくすることがあります。したがって、移行処理中にスペース・マネジメント表のあるトランザクションを処理するには、SYSTEMロールバック・セグメントは小さすぎることがあります。

この問題を解決するには、次の設定を変更します。

1. ロールバック・セグメントの OPTIMAL設定をオフにします。

2. SYSTEMロールバック・セグメントの NEXT EXTENTを 2倍にします。

3. MULTIPLER値を 2倍にします。

4. システム表領域に領域を追加して、ロールバック・セグメントの処理に十分な領域(50MB以上)があることを確認します。

参照参照参照参照 : 移行ユーティリティを使用している場合は、4-12ページの手順 6を参照してください。Oracle Data Migration Assistantを使用している場合は、5-10ページの手順 7を参照してください。これらの項には、OPTIMAL設定および必要時のリセットのチェック方法の説明があります。

A-4 Oracle8i 移行ガイド

Page 361: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行ユーティリティおよび Oracle Data Migration Assistantの使用に関する問題

小さい小さい小さい小さい MULTIPLIERオプション設定オプション設定オプション設定オプション設定この問題は、次のようなエラー・メッセージを戻すことがあります(stringには文字列が入ります)。

ORA-01632: 最大エクステント stringに達しました(索引string.string)。

移行ユーティリティは、15という低いデフォルト値をMULTIPLIERオプションに使用します。問題を回避するには、MULTIPLIERオプションの値を大きくします。

移行ユーティリティをコマンドラインから実行する場合には、次を入力してMULTIPLIERオプションを 30まで大きくしてください。

mig MULTIPLIER=30

ただし、Oracle Data Migration Assistantを使用してバックグラウンドで移行ユーティリティを実行する場合には、Oracle7のバックアップをリストアし、Assistantを再実行してください。Assistantのカスタム移行オプションを選択します。MULTIPLIER値を入力するプロンプトが表示されたら、デフォルト値である 15以上の値を入力します。

移行ユーティリティ・エラー移行ユーティリティ・エラー移行ユーティリティ・エラー移行ユーティリティ・エラー移行ユーティリティは、移行中にエラー・メッセージおよび情報メッセージを戻すことがあります。この項では、移行ユーティリティの使用中に表示されるエラーについて説明します。また、それぞれのエラーについて、考えられる原因と処置を示します。情報メッセージも示していますが、処置は必要ありません。

Oracle Data Migration Assistantを使用している場合、移行ユーティリティのメッセージは、ログ・ファイルに記録されます。ログ・ファイルのアクセス方法については、Oracle Data Migration Assistantのオンライン・ヘルプを参照してください。Oracle Data Migration Assistant、および移行ユーティリティの再実行を含むメッセージに対する推奨処置を使用する場合も、Assistantを再実行してください。

参照参照参照参照 : MULTIPLIERオプションの詳細は、4-18ページの「移行ユーティリティ・コマンドライン・オプションの検討」を参照してください。

移行問題のトラブルシューティング A-5

Page 362: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行ユーティリティおよび Oracle Data Migration Assistantの使用に関する問題

移行時に移行時に移行時に移行時に DBAのファイル番号ビットの圧縮はできません。のファイル番号ビットの圧縮はできません。のファイル番号ビットの圧縮はできません。のファイル番号ビットの圧縮はできません。原因原因原因原因 : 移行ユーティリティがデータ・ブロック・アドレスで使用するファイル番号ビットの数を削除しようとしました。

処置処置処置処置 : オラクル社カスタマ・サポート・センターに連絡してください。

レコードがレコードがレコードがレコードが numberバイトを超えているため変換ファイルを作成できません。バイトを超えているため変換ファイルを作成できません。バイトを超えているため変換ファイルを作成できません。バイトを超えているため変換ファイルを作成できません。原因原因原因原因 : 内部エラーが発生しました。Oracle7の制御ファイルから有効な変換ファイルを作成できませんでした。

処置処置処置処置 : Oracle7の制御ファイルが壊れていないかを確認し、問題を解決して移行ユーティリティを再実行してください。

CHECK_ONLY - V8カタログ領域要件だけを見積もる(デフォルトカタログ領域要件だけを見積もる(デフォルトカタログ領域要件だけを見積もる(デフォルトカタログ領域要件だけを見積もる(デフォルト =FALSE))))原因原因原因原因 : これは、CHECK_ONLYコマンドライン引数に関する情報メッセージです。

処置処置処置処置 : ユーザーの処置は不要です。

CHECK_ONLYとととと NO_SPACE_CHECKは、相互排他のオプションです。は、相互排他のオプションです。は、相互排他のオプションです。は、相互排他のオプションです。原因原因原因原因 : これら 2つの相互排他のコマンドライン・オプションが移行ユーティリティに渡されました。

処置処置処置処置 : どちらか 1つのみを使用して、移行ユーティリティを再実行してください。

クライアントクライアントクライアントクライアント nls_charactersetがサーバーがサーバーがサーバーがサーバー nls_charactersetと一致しないと一致しないと一致しないと一致しない - NLS_LANG環境環境環境環境変数設定をチェック。変数設定をチェック。変数設定をチェック。変数設定をチェック。原因原因原因原因 : NLS_LANGキャラクタ・セットは、PROPS$のキャラクタ・セットとは一致しません。

処置処置処置処置 : PROPS$のデータベース・キャラクタ・セットおよび環境変数 NLS_LANGの一致をチェックしてください。

コマンドライン引数コマンドライン引数コマンドライン引数コマンドライン引数 stringはははは TRUEまたはまたはまたはまたは FALSEでなければなりません。でなければなりません。でなければなりません。でなければなりません。原因原因原因原因 : コマンドライン引数に TRUEまたは FALSE以外の値が入力されました。

処置処置処置処置 : コマンドライン引数の構文をチェックし、文を訂正して操作をもう一度やり直してください。

A-6 Oracle8i 移行ガイド

Page 363: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行ユーティリティおよび Oracle Data Migration Assistantの使用に関する問題

コマンドライン引数がコマンドライン引数がコマンドライン引数がコマンドライン引数が <キーワードキーワードキーワードキーワード >=<値値値値 >で指定されていません。(で指定されていません。(で指定されていません。(で指定されていません。(string))))原因原因原因原因 : コマンドライン引数の指定方法が間違っています。

処置処置処置処置 : コマンドライン引数の構文をチェックし、文を訂正して操作をもう一度やり直してください。

コマンドライン引数コマンドライン引数コマンドライン引数コマンドライン引数 :原因原因原因原因 : この情報メッセージは、コマンドライン引数を表示しています。

処置処置処置処置 : ユーザーの処置は不要です。

コマンド名が見つかりません。(コマンド名が見つかりません。(コマンド名が見つかりません。(コマンド名が見つかりません。(string))))原因原因原因原因 : 内部エラーが発生しました。migrate.bsqスクリプトが壊れている可能性があります。

処置処置処置処置 : 移行ユーティリティ、migrate.bsqおよびターゲット Oracle8iソフトウェアのバージョンの互換性および migrate.bsq内の破損をチェックしてください。問題があれば修正し、移行ユーティリティに戻ります。

コマンドがコマンドがコマンドがコマンドが CMD((((ARG1,ARG2, ...)で指定されていません。)で指定されていません。)で指定されていません。)で指定されていません。原因原因原因原因 : 内部エラーが発生しました。migrate.bsqスクリプトが壊れている可能性があります。

処置処置処置処置 : 移行ユーティリティ、migrate.bsqおよびターゲット Oracle8iソフトウェアのバージョンの互換性および migrate.bsq内の破損をチェックしてください。問題があれば修正し、移行ユーティリティに戻ります。

コマンドがコマンドがコマンドがコマンドが COPYLONG((((U1,T1,C1,U2,T2,C2,K1<,K2>)で指定されていません。)で指定されていません。)で指定されていません。)で指定されていません。原因原因原因原因 : 内部エラーが発生しました。migrate.bsqスクリプトが壊れている可能性があります。

処置処置処置処置 : 移行ユーティリティ、migrate.bsqおよびターゲット Oracle7ソフトウェアのバージョンの互換性、および migrate.bsq内の破損をチェックしてください。問題があれば修正し、移行ユーティリティに戻ります。

移行問題のトラブルシューティング A-7

Page 364: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行ユーティリティおよび Oracle Data Migration Assistantの使用に関する問題

c_file#_block#に対するに対するに対するに対する numberバイトの単一の連続エクステントが見つかりません。バイトの単一の連続エクステントが見つかりません。バイトの単一の連続エクステントが見つかりません。バイトの単一の連続エクステントが見つかりません。原因原因原因原因 : SYSTEM表領域に連続した領域が十分ありません。

処置処置処置処置 : SYSTEM表領域に空き領域を追加し、移行ユーティリティを再実行してください。

c_ts#に対するに対するに対するに対する numberバイトの単一の連続エクステントが見つかりません。バイトの単一の連続エクステントが見つかりません。バイトの単一の連続エクステントが見つかりません。バイトの単一の連続エクステントが見つかりません。原因原因原因原因 : SYSTEM表領域に連続した領域が十分ありません。

処置処置処置処置 : SYSTEM表領域に空き領域を追加し、移行ユーティリティを再実行してください。

i_file#_block#に対するに対するに対するに対する numberバイトの単一の連続エクステントが見つかりません。バイトの単一の連続エクステントが見つかりません。バイトの単一の連続エクステントが見つかりません。バイトの単一の連続エクステントが見つかりません。原因原因原因原因 : SYSTEM表領域に連続した領域が十分ありません。

処置処置処置処置 : SYSTEM表領域に空き領域を追加し、移行ユーティリティを再実行してください。

i_ts#に対するに対するに対するに対する numberバイトの単一の連続エクステントが見つかりません。バイトの単一の連続エクステントが見つかりません。バイトの単一の連続エクステントが見つかりません。バイトの単一の連続エクステントが見つかりません。原因原因原因原因 : SYSTEM表領域に連続した領域が十分ありません。

処置処置処置処置 : SYSTEM表領域に空き領域を追加し、移行ユーティリティを再実行してください。

論理名論理名論理名論理名 nameを変換できません。を変換できません。を変換できません。を変換できません。原因原因原因原因 : 内部エラーが発生しました。

処置処置処置処置 : 論理名が正しく定義されているかをチェックして、移行ユーティリティを再実行してください。

現行バージョン現行バージョン現行バージョン現行バージョン string--データベースはリリースデータベースはリリースデータベースはリリースデータベースはリリース 7.1以降でなければなりません。以降でなければなりません。以降でなければなりません。以降でなければなりません。原因原因原因原因 : 現行のデータベースが、Oracle7リリース 7.1より前のバージョンです。

処置処置処置処置 : 現行のデータベースを、使用しているオペレーティング・システムでの移行ユーティリティがサポートするリリースに移行またはアップグレードしてください。その後、移行ユーティリティを再実行してください。ご使用のオペレーティング・システムでの移行ユーティリティでサポートされるリリースについては、オペレーティング・システム固有の Oracleマニュアルを参照してください。

列列列列 nameに対するデータ型はに対するデータ型はに対するデータ型はに対するデータ型は LONG型でなければなりません。型でなければなりません。型でなければなりません。型でなければなりません。原因原因原因原因 : 内部エラーが発生しました。migrate.bsqスクリプトが壊れている可能性があります。

処置処置処置処置 : 移行ユーティリティ、migrate.bsqおよびターゲット Oracle7ソフトウェアのバージョンの互換性、および migrate.bsq内の破損をチェックしてください。問題があれば修正し、移行ユーティリティに戻ります。

A-8 Oracle8i 移行ガイド

Page 365: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行ユーティリティおよび Oracle Data Migration Assistantの使用に関する問題

不整合な状態でデータ・ファイルが見つかりました。(内部エラー)不整合な状態でデータ・ファイルが見つかりました。(内部エラー)不整合な状態でデータ・ファイルが見つかりました。(内部エラー)不整合な状態でデータ・ファイルが見つかりました。(内部エラー)--filename原因原因原因原因 : 内部エラーが発生しました。データ・ファイルが不整合な状態になっています。

処置処置処置処置 : オラクル社カスタマ・サポート・センターに連絡してください。

データ・ファイルはオフラインですが表領域がオンラインです。移行を行う前にメディア・データ・ファイルはオフラインですが表領域がオンラインです。移行を行う前にメディア・データ・ファイルはオフラインですが表領域がオンラインです。移行を行う前にメディア・データ・ファイルはオフラインですが表領域がオンラインです。移行を行う前にメディア・リカバリを行ってデータ・ファイルをオンラインにしてください。リカバリを行ってデータ・ファイルをオンラインにしてください。リカバリを行ってデータ・ファイルをオンラインにしてください。リカバリを行ってデータ・ファイルをオンラインにしてください。--datafile原因原因原因原因 : 表領域はオンラインですが、表領域内のデータ・ファイルがオフラインです。データ・ファイルと表領域の両方がオンラインまたは通常オフラインになるまで、移行を行うことはできません。

処置処置処置処置 : 移行を再実行する前に、メディア・リカバリを行ってデータ・ファイルをオンラインにしてください。

DBNAME- 現行のデータベース名(現行のデータベース名(現行のデータベース名(現行のデータベース名(init.ora内の内の内の内の db_name))))原因原因原因原因 : これは、DBNAMEコマンドライン引数に関する情報メッセージです。

処置処置処置処置 : ユーザーの処置は不要です。

ディクショナリ定数が見つかりません。ディクショナリ定数が見つかりません。ディクショナリ定数が見つかりません。ディクショナリ定数が見つかりません。-name原因原因原因原因 : 内部エラーが発生しました。migrate.bsqスクリプトが壊れている可能性があります。

処置処置処置処置 : 移行ユーティリティ、migrate.bsqおよびターゲット Oracle8iソフトウェアのバージョンの互換性および migrate.bsq内の破損をチェックしてください。問題があれば修正し、移行ユーティリティに戻ります。

def$_call, def$_calldestまたはまたはまたはまたは def$_errorにエントリがありますにエントリがありますにエントリがありますにエントリがあります - すべての遅延トランザクすべての遅延トランザクすべての遅延トランザクすべての遅延トランザクションをプッシュ後移行してください。ションをプッシュ後移行してください。ションをプッシュ後移行してください。ションをプッシュ後移行してください。原因原因原因原因 : DEF$_CALL、DEF$_CALLDESTまたは DEF$_ERRORに、エントリが存在します。

処置処置処置処置 : エントリが DEF$_CALLの中にある場合は、DEF$_CALLが空になるまですべての遅延トランザクションをプッシュしてください。エントリが DEF$_ERRORの中にある場合は、ローカル・キューが空になるまでその中のエラーを解決および再実行してください。移行ユーティリティを再実行してください。

slgtdのコール中にエラーが発生しました。のコール中にエラーが発生しました。のコール中にエラーが発生しました。のコール中にエラーが発生しました。原因原因原因原因 : slgtdから現在の時間を取得する際のエラーであり、内部エラーです。移行ユーティリティが壊れている可能性があります。

処置処置処置処置 : 移行ユーティリティ、migrate.bsqおよびターゲット Oracle8iソフトウェアのバージョンの互換性および migrate.bsq内の破損をチェックしてください。問題があれば修正し、移行ユーティリティに戻ります。

移行問題のトラブルシューティング A-9

Page 366: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行ユーティリティおよび Oracle Data Migration Assistantの使用に関する問題

ファイルファイルファイルファイル nameのクローズ中にエラーが発生しました。のクローズ中にエラーが発生しました。のクローズ中にエラーが発生しました。のクローズ中にエラーが発生しました。原因原因原因原因 : 内部エラーが発生しました。データをディスクに書き込めませんでした。

処置処置処置処置 : ファイルのアクセス権限が正しいかを確認してください。ファイル書込みに十分な領域や割当てが確保されているかを確認してください。また、ディスクが破損していないかを確認してください。問題を解決して、移行ユーティリティを再実行してください。

objectに必要な領域はおよそに必要な領域はおよそに必要な領域はおよそに必要な領域はおよそ numberブロックです。ブロックです。ブロックです。ブロックです。原因原因原因原因 : この情報メッセージの中で、移行ユーティリティはオブジェクトに必要な領域を表示します。

処置処置処置処置 : ユーザーの処置は不要です。

ファイルファイルファイルファイル filenameは大きすぎるためは大きすぎるためは大きすぎるためは大きすぎるため DBAに変換できません。に変換できません。に変換できません。に変換できません。原因原因原因原因 : 内部エラーが発生しました。DBA変換を行うには、ファイル名が大きすぎます。

処置処置処置処置 : オラクル社カスタマ・サポート・センターに連絡してください。

ファイル・ヘッダーをファイル・ヘッダーをファイル・ヘッダーをファイル・ヘッダーを numberバイト中に入れることができません。バイト中に入れることができません。バイト中に入れることができません。バイト中に入れることができません。原因原因原因原因 : 内部エラーが発生しました。

処置処置処置処置 : 制御ファイルが壊れていないかを確認し、問題を解決して移行ユーティリティを再実行してください。

制御ファイルの固定領域を制御ファイルの固定領域を制御ファイルの固定領域を制御ファイルの固定領域を numberバイト中に入れることができません。バイト中に入れることができません。バイト中に入れることができません。バイト中に入れることができません。原因原因原因原因 : 内部エラーが発生しました。

処置処置処置処置 : 制御ファイルが壊れていないかを確認し、問題を解決して移行ユーティリティを再実行してください。

NULLのののの SQL文が見つかりました。文が見つかりました。文が見つかりました。文が見つかりました。原因原因原因原因 : 内部エラーが発生しました。migrate.bsqスクリプトが壊れている可能性があります。

処置処置処置処置 : 移行ユーティリティ、migrate.bsqおよびターゲット Oracle8iソフトウェアのバージョンの互換性および migrate.bsq内の破損をチェックしてください。問題があれば修正し、移行ユーティリティに戻ります。

SYSTEM表領域内の空き領域は表領域内の空き領域は表領域内の空き領域は表領域内の空き領域は numberブロックです。ブロックです。ブロックです。ブロックです。原因原因原因原因 : この情報メッセージは、SYSTEM表領域内にある空き領域の大きさを通知します。

処置処置処置処置 : ユーザーの処置は不要です。

A-10 Oracle8i 移行ガイド

Page 367: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行ユーティリティおよび Oracle Data Migration Assistantの使用に関する問題

空き領域空き領域空き領域空き領域 : number原因原因原因原因 : この情報メッセージは、SYSTEM表領域内にある空き領域の大きさを通知します。

処置処置処置処置 : ユーザーの処置は不要です。

書込みが不完全です。書込みが不完全です。書込みが不完全です。書込みが不完全です。原因原因原因原因 : 内部エラーが発生しました。データをディスクに書き込めませんでした。

処置処置処置処置 : ファイルのアクセス権限が正しいかを確認してください。ファイル書込みに十分な領域や割当てが確保されているかを確認してください。また、ディスクが破損していないかを確認してください。問題を解決して、移行ユーティリティを再実行してください。

新規ディクショナリ用の領域が不足しています。(新規ディクショナリ用の領域が不足しています。(新規ディクショナリ用の領域が不足しています。(新規ディクショナリ用の領域が不足しています。(numberバイト必要、バイト必要、バイト必要、バイト必要、number検出)検出)検出)検出)原因原因原因原因 : 新しいデータ・ディクショナリ情報用の領域が SYSTEM表領域に不足しています。

処置処置処置処置 : SYSTEM表領域に必要とされる領域を加えてから、移行ユーティリティを再実行してください。

無効な無効な無効な無効な NLS_NCHARの値が指定されました。の値が指定されました。の値が指定されました。の値が指定されました。原因原因原因原因 : コマンドラインに指定した NLS_NCHAR値が無効です。

処置処置処置処置 : コマンドラインに指定した NLS_NCHAR値を訂正し、移行ユーティリティを再実行してください。

移行処理不可。データベースのブロック長移行処理不可。データベースのブロック長移行処理不可。データベースのブロック長移行処理不可。データベースのブロック長 numberがががが 2K((((Oracle8の最小ブロック長)未の最小ブロック長)未の最小ブロック長)未の最小ブロック長)未満。満。満。満。原因原因原因原因 : 既存のデータベースのブロックサイズが 2KBに達していません。

処置処置処置処置 : Oracle7のデータベースのブロックサイズが最小でも 2KBあることを確認してください。Oracle7のデータベースの再構築を検討することもできます。その後、移行ユーティリティを再実行してください。

データ・ファイルがオンラインで表領域がオフラインの状態で移行処理は不可データ・ファイルがオンラインで表領域がオフラインの状態で移行処理は不可データ・ファイルがオンラインで表領域がオフラインの状態で移行処理は不可データ・ファイルがオンラインで表領域がオフラインの状態で移行処理は不可 --datafile。。。。原因原因原因原因 : 表領域はオフラインですが、表領域内のデータ・ファイルがオンラインです。データ・ファイルと表領域の両方がオンラインまたは通常オフラインになるまで、移行を行うことはできません。

処置処置処置処置 : データ・ファイルのオンライン状態が表領域のオンライン状態と同じであることを確認し、移行ユーティリティを再実行してください。

移行問題のトラブルシューティング A-11

Page 368: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行ユーティリティおよび Oracle Data Migration Assistantの使用に関する問題

アクティブ・トランザクションまたは未解決の取消しがあるオフライン表領域のために移行アクティブ・トランザクションまたは未解決の取消しがあるオフライン表領域のために移行アクティブ・トランザクションまたは未解決の取消しがあるオフライン表領域のために移行アクティブ・トランザクションまたは未解決の取消しがあるオフライン表領域のために移行を進められません。を進められません。を進められません。を進められません。原因原因原因原因 : 移行ユーティリティがデータベースを移行しようとしたときに、1つまたは複数の表領域がオフラインで未処理の保存取消しがありました。

処置処置処置処置 : 移行ユーティリティを使用している場合は、4-10ページの手順 3に戻り、オフラインのすべての表領域が完全にオフラインできたことを確認してください。Oracle Data Migration Assistantを使用している場合は、5-8ページの手順 4に戻り、オフラインのすべての表領域が完全にオフラインできたことを確認してください。その後、Oracle8i移行ユーティリティを再実行してください。

データベースにマウントしていますデータベースにマウントしていますデータベースにマウントしていますデータベースにマウントしています ...原因原因原因原因 : これは情報メッセージです。移行ユーティリティが Oracle7のデータベースをマウントしています。

処置処置処置処置 : ユーザーの処置は不要です。

MULTIPLIER - seg$/uet$クラスタ索引サイズの増加ファクタ(デフォルトクラスタ索引サイズの増加ファクタ(デフォルトクラスタ索引サイズの増加ファクタ(デフォルトクラスタ索引サイズの増加ファクタ(デフォルト =15))))原因原因原因原因 : これは、MULTIPLIERコマンドライン設定に関する情報メッセージであり、移行ユーティリティが表示します。

処置処置処置処置 : ユーザーの処置は不要です。

MULTIPLIERの値は、最小での値は、最小での値は、最小での値は、最小で 2です。です。です。です。原因原因原因原因 : コマンドラインの中で Oracle8i i_file#_block#の初期サイズを指定するMULTIPLIER値が、2よりも小さな値です。

処置処置処置処置 : MULTIPLIER値を 2以上の値に変更し、移行ユーティリティを再実行してください。

NEW_DBNAME nameが長すぎますが長すぎますが長すぎますが長すぎます - 最大長は最大長は最大長は最大長は 8文字です。文字です。文字です。文字です。原因原因原因原因 : 指定した新しいデータベース名の長さが 8文字を超えています。

処置処置処置処置 : 新しいデータベースの名前を 8文字以下に変更し、移行ユーティリティを再実行してください。

NEW_DBNAME - 新規データベース名(最大新規データベース名(最大新規データベース名(最大新規データベース名(最大 8文字)文字)文字)文字)原因原因原因原因 : この情報メッセージは、NEW_DBNAMEコマンドライン引数に関する情報を表示しています。

処置処置処置処置 : ユーザーの処置は不要です。

A-12 Oracle8i 移行ガイド

Page 369: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行ユーティリティおよび Oracle Data Migration Assistantの使用に関する問題

NLS_NCHAR - ncharキャラクタ・セット値を指定キャラクタ・セット値を指定キャラクタ・セット値を指定キャラクタ・セット値を指定原因原因原因原因 : この情報メッセージは、NLS_NCHARコマンドライン引数に関する情報を表示しています。

処置処置処置処置 : ユーザーの処置は不要です。

NO_SPACE_CHECK - 領域チェックを実行しない(デフォルト領域チェックを実行しない(デフォルト領域チェックを実行しない(デフォルト領域チェックを実行しない(デフォルト =FALSE))))原因原因原因原因 : これは、NO_SPACE_CHECKコマンドライン引数に関する情報メッセージです。

処置処置処置処置 : ユーザーの処置は不要です。ただし、このオプションを指定して移行ユーティリティを実行する前に、十分な領域があるかを確認してください。

変換ファイルの作成中に処理された変換ファイルの作成中に処理された変換ファイルの作成中に処理された変換ファイルの作成中に処理された tablespace/datafileの番号が正しくありません。の番号が正しくありません。の番号が正しくありません。の番号が正しくありません。原因原因原因原因 : 変換ファイルの作成時に内部エラーが発生しました。

処置処置処置処置 : オラクル社カスタマ・サポート・センターに連絡してください。

データベースをオープンしていますデータベースをオープンしていますデータベースをオープンしていますデータベースをオープンしています ...原因原因原因原因 : これは情報メッセージです。移行ユーティリティが Oracle7のデータベースをオープンしています。

処置処置処置処置 : ユーザーの処置は不要です。

環境変数環境変数環境変数環境変数 ORA_NLS33が未設定か、正しく設定されていません。が未設定か、正しく設定されていません。が未設定か、正しく設定されていません。が未設定か、正しく設定されていません。原因原因原因原因 : 環境変数 ORA_NLS33が NLSデータ・ファイルを指定していません。

処置処置処置処置 : 環境変数 ORA_NLS33が正しいファイルを指定するように設定し、移行ユーティリティを再実行してください。

ORA-number 原因原因原因原因 : 移行ユーティリティが ORAエラーを受け取りましたが、メッセージ・テキストを取り出せません。

処置処置処置処置 : Oracleエラー番号に応じた適切な処置を行ってください(『Oracle8i エラー・メッセージ』を参照)。

パラメータ・バッファがオーバーフローしました。パラメータ・バッファがオーバーフローしました。パラメータ・バッファがオーバーフローしました。パラメータ・バッファがオーバーフローしました。原因原因原因原因 : 初期化パラメータ・ファイルが大きすぎて、バッファに格納できません。

処置処置処置処置 : 廃止されたパラメータなどを削除してパラメータ・ファイルのサイズを小さくし、移行ユーティリティを再実行してください。

移行問題のトラブルシューティング A-13

Page 370: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行ユーティリティおよび Oracle Data Migration Assistantの使用に関する問題

パラメータ・ファイルがパラメータ・ファイルがパラメータ・ファイルがパラメータ・ファイルが numberバイトを超えています。バイトを超えています。バイトを超えています。バイトを超えています。原因原因原因原因 : Oracle7のデータベース用のパラメータ・ファイルが所定の最大サイズを超えています。

処置処置処置処置 : 可能の場合は、廃止されたパラメータを削除してパラメータ・ファイルのサイズを縮小してください。それ以外の場合は、オラクル社カスタマ・サポート・センターに連絡してください。

PFILE - 代替代替代替代替 init.oraを使用する。を使用する。を使用する。を使用する。原因原因原因原因 : これは、PFILEコマンドライン引数に関する情報を表示する情報メッセージです。

処置処置処置処置 : ユーザーの処置は不要です。

ファイルファイルファイルファイル nameでシーク・エラーが発生しました。でシーク・エラーが発生しました。でシーク・エラーが発生しました。でシーク・エラーが発生しました。原因原因原因原因 : ファイル nameの読取り時に内部エラーが発生しました。

処置処置処置処置 : ファイルやディスクが壊れていないかを確認してください。移行ユーティリティを再実行する前に、問題を解決してください。

numberバイト要求されましたがバイト要求されましたがバイト要求されましたがバイト要求されましたが numberバイトしか読み込まれませんでした。バイトしか読み込まれませんでした。バイトしか読み込まれませんでした。バイトしか読み込まれませんでした。原因原因原因原因 : 制御ファイルの読取りに問題があります。

処置処置処置処置 : 制御ファイルが壊れていないかを確認し、問題を解決して移行ユーティリティを再実行してください。

データベースを強制停止していますデータベースを強制停止していますデータベースを強制停止していますデータベースを強制停止しています ...原因原因原因原因 : 内部エラーが発生しました。

処置処置処置処置 : 停止の原因を通知するために追加エラー・メッセージが表示されます。そのメッセージで提案されるアクションを行ってください。

データベースを停止していますデータベースを停止していますデータベースを停止していますデータベースを停止しています ...原因原因原因原因 : これは情報メッセージです。移行ユーティリティが Oracle7のデータベースを停止しています。

処置処置処置処置 : ユーザーの処置は不要です。

SPOOL - ファイルへの出力をスプールする。ファイルへの出力をスプールする。ファイルへの出力をスプールする。ファイルへの出力をスプールする。原因原因原因原因 : これは、SPOOLコマンドライン引数に関する情報を表示する情報メッセージです。

処置処置処置処置 : ユーザーの処置は不要です。

A-14 Oracle8i 移行ガイド

Page 371: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行ユーティリティおよび Oracle Data Migration Assistantの使用に関する問題

データベースを起動していますデータベースを起動していますデータベースを起動していますデータベースを起動しています ...原因原因原因原因 : これは情報メッセージです。移行ユーティリティが Oracle7インスタンスを起動しています。

処置処置処置処置 : ユーザーの処置は不要です。

文字列引数が長すぎます。最大長は文字列引数が長すぎます。最大長は文字列引数が長すぎます。最大長は文字列引数が長すぎます。最大長は numberです。です。です。です。原因原因原因原因 : 移行ユーティリティに渡したコマンドライン引数の文字列が最大サイズを超えています。

処置処置処置処置 : コマンドライン引数の文字列を短縮し、移行ユーティリティを再実行してください。

データ・ファイルの表領域が通常オフラインではありません。データ・ファイルの表領域が通常オフラインではありません。データ・ファイルの表領域が通常オフラインではありません。データ・ファイルの表領域が通常オフラインではありません。--tablespace原因原因原因原因 : 表領域が IMMEDIATEまたは TEMPORARYを使用してオフラインにされました。

処置処置処置処置 : 表領域をオンラインにしてから、NORMALを使用してオフラインにするか削除してください。その後、移行ユーティリティを再実行してください。

コマンドの引数が多すぎます。(最大コマンドの引数が多すぎます。(最大コマンドの引数が多すぎます。(最大コマンドの引数が多すぎます。(最大 number))))原因原因原因原因 : コマンドラインに指定した引数の数が多すぎます。

処置処置処置処置 : コマンドの構文をチェックして、コマンドラインに適切な数のオプションを指定してください。

LONGをコピーするためにバッファ領域を割り当てられません。をコピーするためにバッファ領域を割り当てられません。をコピーするためにバッファ領域を割り当てられません。をコピーするためにバッファ領域を割り当てられません。原因原因原因原因 : 移行ユーティリティが、データベースの LONG列にコピーするためのバッファにメモリーを割り当てられません。

処置処置処置処置 : 移行ユーティリティに使用できる十分なコンピュータ・リソースがあるかを確認して、移行ユーティリティを再実行してください。

ファイルファイルファイルファイル nameをオープンできません。をオープンできません。をオープンできません。をオープンできません。原因原因原因原因 : 内部エラーが発生しました。あるいは、Oracle8i移行ユーティリティを起動したときにファイルが所定の位置に存在しませんでした。

処置処置処置処置 : ファイルが存在するか、ファイルのオープンと読取りの権限が Oracleにあるかを確認してください。または、ファイルやファイルが存在するディスクが壊れていないかを確認してください。問題を解決して、移行ユーティリティを再実行してください。

移行問題のトラブルシューティング A-15

Page 372: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行ユーティリティおよび Oracle Data Migration Assistantの使用に関する問題

ファイルファイルファイルファイル nameを読み取れません。を読み取れません。を読み取れません。を読み取れません。原因原因原因原因 : 内部エラーが発生しました。あるいは、移行ユーティリティを起動したときにファイルが所定の位置に存在しませんでした。

処置処置処置処置 : ファイルが存在するか、ファイルのオープンと読取りの権限が Oracleにあるかを確認してください。または、ファイルやファイルが存在するディスクが壊れていないかを確認してください。問題を解決して、移行ユーティリティを再実行してください。

ファイルファイルファイルファイル nameを書き込めません。を書き込めません。を書き込めません。を書き込めません。原因原因原因原因 : 内部エラーが発生しました。

処置処置処置処置 : ファイルの書込み権限が Oracleにあるかを確認してください。または、ファイルを書き込むディスクが破損していないかを確認してください。問題を解決してから、移行ユーティリティを再実行してください。

V8カタログの領域要件カタログの領域要件カタログの領域要件カタログの領域要件 : number原因原因原因原因 : これは、移行ユーティリティを正常に実行するために SYSTEM表領域に必要な空き領域の大きさを表示する情報メッセージです。

処置処置処置処置 : 移行ユーティリティを実行する前に、追加の空き領域がどの程度あるかを確認してください。

A-16 Oracle8i 移行ガイド

Page 373: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

ALTER DATABASE CONVERT文における問題

ALTER DATABASE CONVERT文における問題文における問題文における問題文における問題移行ユーティリティの実行後、移行処理中に ALTER DATABASE CONVERT文を発行すると、この項で記述する問題のいずれかが起こる可能性があります。通常、変換は中断し、1つまたは複数のエラー・メッセージが表示されます。ALTER DATABASE CONVERT文実行中に、次のいずれかの問題が起こった場合、提示された処置を実行して問題を回避してください。

Oracle7制御ファイルの存在制御ファイルの存在制御ファイルの存在制御ファイルの存在この問題は、次のエラー・メッセージを戻すことがあります。

ORA-00200: 制御ファイルを作成できませんでした。ORA-00202: 制御ファイル: nameORA-27038: skgfrcre: ファイルが存在しています。

古い Oracle7制御ファイルは、ALTER DATABASE CONVERT文を発行する前に、改名または削除が必要です。

NOMOUNT以外のモードで起動するデータベース以外のモードで起動するデータベース以外のモードで起動するデータベース以外のモードで起動するデータベースこの問題は、次のエラー・メッセージを戻すことがあります。

ORA-00227: 制御ファイル(ブロック num,番号 num)で破損ブロックが検出されました。ORA-00202: 制御ファイル: name

古い Oracle7制御ファイルは、ALTER DATABASE CONVERT文を発行する前に、改名または削除が必要です。また、ALTER DATABASE CONVERT文を発行する場合、データベースを NOMOUNTモードで起動してください。このエラーは、データベースが NOMOUNTモード以外のモードで起動されていることを示してします。

注意注意注意注意 : Assistantが ALTER DATABASE CONVERT文をバックグラウンドで自動的に実行し、問題を起こす条件を回避するため、Oracle Data Migration Assistantを使用すると、これらの問題は回避できます。したがって、これらの問題は移行ユーティリティを使用している場合にのみ現れます。

参照参照参照参照 : 「Oracle8i環境での移行手順の実行」の 4-28ページにある手順を参照してください。

参照参照参照参照 : 「Oracle8i環境での移行手順の実行」の 4-28ページにある手順および 4-32ページにある手順 9を参照してください。

移行問題のトラブルシューティング A-17

Page 374: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

ALTER DATABASE CONVERT文における問題

変換ファイルが見付からない変換ファイルが見付からない変換ファイルが見付からない変換ファイルが見付からないこの問題は、次のエラー・メッセージを戻すことがあります。

ORA-00404: 変換ファイルが見つかりません: name ORA-27037: ファイル・ステータスを取得できません。

移行ユーティリティが生成した変換ファイル(UNIXの convsid.dbfおよびWindowsプラットフォームの convert.ora)は、所定の位置にありませんでした。所定の位置とは、UNIXにおいては Oracle8i環境の ORACLE_HOME/dbsディレクトリ、Windowsプラットフォームにおいては Oracle8i環境の ORACLE_HOME¥rdbmsディレクトリのことです。ALTER DATABASE CONVERT文を発行する前に、変換ファイルをこの所定の位置に移動させる必要があります。

REMOTE_LOGIN_PASSWORDFILEからからからから EXCLUSIVEへの初期化パラメータの設定への初期化パラメータの設定への初期化パラメータの設定への初期化パラメータの設定この問題は、次のエラー・メッセージを戻すことがあります。

ORA-00600: 内部エラー・コード,引数: [kzsrsdn: 1], [32]

これらのエラーは、次の条件下でのみ起こります。

� データベースがパスワード・ファイルを使用し、パスワード・ファイルが正しいディレクトリに移動されていない場合。正しいディレクトリとは、UNIXにおいては Oracle8i環境の ORACLE_HOME/dbs、Windows NTにおいては Oracle8i環境のORACLE_HOME¥databaseのことです。

� REMOTE_LOGIN_PASSWORDFILE初期化パラメータが、初期化パラメータ・ファイルの EXCLUSIVEに設定されている場合。

移行を続行するため、次の手順を実行します。

1. データベースを停止します。

2. 初期化パラメータ・ファイルの REMOTE_LOGIN_PASSWORDFILEを、NONEに設定します。

REMOTE_LOGIN_PASSWORDFILE = NONE

参照参照参照参照 : 「Oracle8i環境での移行手順の実行」の 4-29ページにある手順 2を参照してください。

A-18 Oracle8i 移行ガイド

Page 375: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

ALTER DATABASE CONVERT文における問題

3. 次の SQL文を入力して、データベースのマウントを起動します。

SVRMGR> STARTUP MOUNT

PFILEオプションを使用して、初期化パラメータ・ファイルの場所を指定する必要がある場合があります。

4. ALTER DATABASE OPEN RESETLOGS文を発行します。

SVRMGR> ALTER DATABASE OPEN RESETLOGS;

5. 4-33ページの手順 12から、移行処理を続行します。

既存のパスワードはすでに有効ではないため、使用することはできません。Oracle8iでパスワード・ファイルを使用する場合は、パスワード・ファイルを再作成し、それをユーザーの間で定着させます。必ず REMOTE_LOGIN_PASSWORDFILEを正しく設定してください。

データベース名の不一致データベース名の不一致データベース名の不一致データベース名の不一致この問題は、次のエラー・メッセージを戻すことがあります(stringには文字列が入ります)。

ORA-01103: 制御ファイルのデータベース名stringがstringではありません。

データベース名に不一致があります。次の位置に、1つまたは複数の不一致があります。

� 初期化パラメータ・ファイルの DB_NAME初期化パラメータに指定したデータベース名が、convsid.dbfファイル名のデータベース名と一致しません。

� 環境変数 ORACLE_SIDで設定した Oracle8iインスタンス IDが、convsid.dbfのファイル名のデータベース名と一致しません。

問題を解決するには、正しいデータベース名が次の各位置で指定されているか確認してください。

� 環境変数 ORACLE_SID

� 初期化パラメータ・ファイルの DB_NAME初期化パラメータ

� convsid.dbfファイル名の sidの部分

たとえば、初期化パラメータ・ファイルの環境変数 ORACLE_SIDおよび DB_NAMEパラメータの両方を DB1に設定すると、convsid.dbfファイル名は次のようになります。

convDB1.dbf

注意注意注意注意 : この問題は、UNIXオペレーティング・システムでのみ発生します。Windowsプラットフォームでは発生しません

移行問題のトラブルシューティング A-19

Page 376: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

ALTER DATABASE CONVERT文における問題

ALTER DATABASE CONVERT文の再実行文の再実行文の再実行文の再実行この問題は、次のエラー・メッセージを戻すことがあります。

ORA-01122: データベース・ファイル nameの照合検査でエラーが発生しました。ORA-01110: データ・ファイル name: strORA-01202: このファイルの作成日時が一致しません。

これらのエラーは、以前に ALTER DATABASE CONVERT文を発行したが、失敗したことを意味します。これらのエラーが発生した場合は、ALTER DATABASE OPEN RESETLOGS文を発行することによって、移行処理の次の手順に進むことができます。ただし、問題が発生した場合、移行処理を始める前に作成したバックアップをリストアし、それを使用して移行を初めから再開します。第 4章の最初から開始します。ただし、第 3章にある移行前の処置を必ず実行してください。

データ・ファイルのバージョン整合性の問題データ・ファイルのバージョン整合性の問題データ・ファイルのバージョン整合性の問題データ・ファイルのバージョン整合性の問題この問題は、次のエラー・メッセージを戻すことがあります。

ORA-01122: データベース・ファイルnameの照合検査でエラーが発生しました。ORA-01110: データ・ファイルname: strORA-01211: Oracle7データ・ファイルはOracle8に移行していません。

移行ユーティリティは、Oracle7の環境のデータベースに最後にアクセスするユーティリティである必要があります。エラー・メッセージの中で指摘されたデータ・ファイルは、移行ユーティリティを実行する前にバックアップしたもの、または移行ユーティリティを実行した後に Oracle7でオープンされたデータベースのいずれかです。移行ユーティリティの実行の際のデータ・ファイルのみ、Oracle8iを使用してアクセスできます。

データ・ファイルのバージョンを確実に統合するには、データベースを Oracle8iへ変換するときに、データ・ディクショナリ内のシステム変更番号(SCN)、変換ファイルおよびファイル・ヘッダーのすべてが一貫している必要があります。移行ユーティリティを実行した後で Oracle7でデータベースをオープンすると、SCNのチェックが、ALTER DATABASE CONVERT文を発行するときに失敗します。

A-20 Oracle8i 移行ガイド

Page 377: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

手動の移行スクリプトおよびアップグレード・スクリプトの実行中の問題

この問題を回避するには、次の手順を実行します。

1. データベースを停止します。

2. ALTER DATABASE CONVERT文を使用して作成された制御ファイルを別の名前に改名します。

3. STARTUP NOMOUNT文を発行する直前に保存したOracle7の制御ファイルのコピーをリストアします。

保存した Oracle7の制御ファイルがない場合、移行処理の起動前に作成したバックアップをリストアします。

4. 移行処理を初めから開始し、移行ユーティリティの実行後、Oracle7環境でデータベースを起動しないでください。第 4章の初めから開始します。

手動の移行スクリプトおよびアップグレード・スクリプトの実手動の移行スクリプトおよびアップグレード・スクリプトの実手動の移行スクリプトおよびアップグレード・スクリプトの実手動の移行スクリプトおよびアップグレード・スクリプトの実行中の問題行中の問題行中の問題行中の問題

移行ユーティリティの実行後に移行スクリプトを実行したとき、またはデータベースを手動でアップグレードするために必要なスクリプトを実行したとき、この項で説明されている問題が起こる場合があります。この項で説明されている問題は、Oracle Data Migration Assistantでは発生しません。

極端に時間がかかるスクリプトの実行極端に時間がかかるスクリプトの実行極端に時間がかかるスクリプトの実行極端に時間がかかるスクリプトの実行手動移行スクリプト(u0703040.sql)または手動アップグレード・スクリプトの実行に極端に時間がかかる場合、LARGE_POOL_SIZEの設定がそのイントールには大きすぎることが原因の場合があります。V$PARAMETERビューを使用して LARGE_POOL_SIZEの設定を確認します。大きすぎる場合、初期化パラメータ・ファイルでの値を小さくします。詳細は、B-11ページの「ラージ・プールから割り当てられたパラレル実行」を参照してください。LARGE_POOL_SIZEの設定を調整した後、スクリプトを再実行してください。

移行問題のトラブルシューティング A-21

Page 378: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

手動の移行スクリプトおよびアップグレード・スクリプトの実行中の問題

A-22 Oracle8i 移行ガイド

Page 379: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

初期化パラメータの

B

初期化パラメータの変更初期化パラメータの変更初期化パラメータの変更初期化パラメータの変更

Oracle8および Oracle8iでは、新規初期化パラメータを初期化パラメータ・ファイルで使用できるようにサポートされています。一部の初期化パラメータは改名または廃止されています。通常、初期化パラメータ・ファイルは initsid.oraという名前です。ここで、sidはデータベースのインスタンス名です。ただし、初期化パラメータ・ファイル名は使用環境により異なります。この付録では、Oracle8および Oracle8iの新規のパラメータ、改名されたパラメータおよび廃止されたパラメータを示し、特定の初期化パラメータの互換性の問題について説明します。

この付録では、次の項目について説明します。

� Oracle8および Oracle8iで追加された初期化パラメータ

� Oracle8および Oracle8iで改名された初期化パラメータ

� Oracle8および Oracle8iで廃止された初期化パラメータ

� 初期化パラメータの互換性の問題

参照参照参照参照 : この付録に示す新規および変更された初期化パラメータの詳細は、『Oracle8i リファレンス・マニュアル』を参照してください。

注意注意注意注意 : この付録に示すパラメータの一部は、オペレーティング・システム固有のものです。これら初期化パラメータの詳細は、オペレーティング・システムに固有の Oracleマニュアルを参照してください。

変更 B-1

Page 380: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8および Oracle8iで追加された初期化パラメータ

Oracle8およびおよびおよびおよび Oracle8iで追加された初期化パラメータで追加された初期化パラメータで追加された初期化パラメータで追加された初期化パラメータこの項で示す初期化パラメータは、リリース 8.0およびリリース 8.1で新規に追加されたものです。

リリースリリースリリースリリース 8.0で追加された初期化パラメータで追加された初期化パラメータで追加された初期化パラメータで追加された初期化パラメータ次の初期化パラメータはリリース 8.0で追加されたものです。

ALLOW_PARTIAL_SN_RESULTS ALWAYS_SEMI_JOIN

AQ_TM_PROCESSES ARCH_IO_SLAVES

BACKUP_DISK_IO_SLAVES BACKUP_TAPE_IO_SLAVES

BUFFER_POOL_KEEP BUFFER_POOL_RECYCLE

COMPLEX_VIEW_MERGING CONTROL_FILE_RECORD_KEEP_TIME

DB_BLOCK_MAX_DIRTY_TARGET DB_FILE_DIRECT_IO_COUNT

DB_FILE_NAME_CONVERT DB_WRITER_PROCESSES

DBWR_IO_SLAVES DISK_ASYNCH_IO

FAST_FULL_SCAN_ENABLED FREEZE_DB_FOR_FAST_INSTANCE_RECOVERY

GC_DEFER_TIME GC_LATCHES

HI_SHARED_MEMORY_ADDRESS INSTANCE_GROUPS

LARGE_POOL_MIN_ALLOC LARGE_POOL_SIZE

LGWR_IO_SLAVES LM_LOCKS

LM_PROCS LM_RESS

LOCAL_LISTENER LOCK_NAME_SPACE

LOCK_SGA LOCK_SGA_AREAS

LOG_ARCHIVE_DUPLEX_DEST LOG_ARCHIVE_MIN_SUCCEED_DEST

LOG_FILE_NAME_CONVERT MTS_RATE_LOG_SIZE

MTS_RATE_SCALE NLS_CALENDAR

O7_DICTIONARY_ACCESSIBILITY OBJECT_CACHE_MAX_SIZE_PERCENT

OBJECT_CACHE_OPTIMAL_SIZE OGMS_HOME

OPEN_LINKS_PER_INSTANCE OPS_ADMIN_GROUP

OPTIMIZER_FEATURES_ENABLE OPTIMIZER_INDEX_CACHING

OPTIMIZER_INDEX_COST_ADJ OPTIMIZER_MAX_PERMUTATIONS

PARALLEL_ADAPTIVE_MULTI_USER PARALLEL_BROADCAST_ENABLED

B-2 Oracle8i 移行ガイド

Page 381: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8および Oracle8iで追加された初期化パラメータ

リリースリリースリリースリリース 8.1で追加された初期化パラメータで追加された初期化パラメータで追加された初期化パラメータで追加された初期化パラメータ次の初期化パラメータはリリース 8.1で追加されたものです。

リリースリリースリリースリリース 8.1.6で追加された初期化パラメータで追加された初期化パラメータで追加された初期化パラメータで追加された初期化パラメータ次の初期化パラメータはリリース 8.1.6で追加されたものです。

PARALLEL_EXECUTION_MESSAGE_SIZE PARALLEL_INSTANCE_GROUP

PARALLEL_MIN_MESSAGE_POOL PARALLEL_SERVER

PARALLEL_TRANSACTION_RESOURCE_TIMEOUT PLSQL_V2_COMPATIBILITY

PUSH_JOIN_PREDICATE READ_ONLY_OPEN_DELAYED

REPLICATION_DEPENDENCY_TRACKING SERIAL_REUSE

SESSION_MAX_OPEN_FILES SHARED_MEMORY_ADDRESS

STAR_TRANSFORMATION_ENABLED TAPE_ASYNCH_IO

TIMED_OS_STATISTICS TRANSACTION_AUDITING

USE_INDIRECT_DATA_BUFFERS

DB_BLOCK_CHECKING FAST_START_IO_TARGET

FAST_START_PARALLEL_ROLLBACK HS_AUTOREGISTER

INSTANCE_NAME JAVA_MAX_SESSIONSPACE_LIMIT

JAVA_POOL_SIZE JAVA_SOFT_SESSIONSPACE_LIMIT

LOG_ARCHIVE_DEST_n LOG_ARCHIVE_DEST_STATE_n

LOG_ARCHIVE_MAX_PROCESSES NLS_COMP

NLS_DUAL_CURRENCY PARALLEL_AUTOMATIC_TUNING

PARALLEL_SERVER_INSTANCES PARALLEL_THREADS_PER_CPU

PLSQL_LOAD_WITHOUT_RECOMPILE QUERY_REWRITE_ENABLED

QUERY_REWRITE_INTEGRITY RESOURCE_MANAGER_PLAN

SERVICE_NAMES SORT_MULTIBLOCK_READ_COUNT

STANDBY_ARCHIVE_DEST

ACTIVE_INSTANCE_COUNT CURSOR_SHARING

LOG_ARCHIVE_TRACE MTS_CURCUITS

MTS_SESSIONS

初期化パラメータの変更 B-3

Page 382: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8および Oracle8iで改名された初期化パラメータ

Oracle8およびおよびおよびおよび Oracle8iで改名された初期化パラメータで改名された初期化パラメータで改名された初期化パラメータで改名された初期化パラメータこの項で示す初期化パラメータは、リリース 8.0およびリリース 8.1で改名されたものです。

リリースリリースリリースリリース 8.0で改名された初期化パラメータで改名された初期化パラメータで改名された初期化パラメータで改名された初期化パラメータ次の初期化パラメータはリリース 8.0で改名されたものです。

* CCF_IO_SIZE(バイト)および DB_FILE_DIRECT_IO_COUNT(データベース・ブロック)の単位は異なります。

表表表表 B-1 リリースリリースリリースリリース 8.0で改名された初期化パラメータで改名された初期化パラメータで改名された初期化パラメータで改名された初期化パラメータ

リリースリリースリリースリリース 8.0以前の名前以前の名前以前の名前以前の名前 リリースリリースリリースリリース 8.0の名前の名前の名前の名前

ASYNC_READ DISK_ASYNCH_IO

ASYNC_WRITE DISK_ASYNCH_IO

CCF_IO_SIZE * DB_FILE_DIRECT_IO_COUNT *

DB_FILE_STANDBY_NAME_CONVERT DB_FILE_NAME_CONVERT

DB_WRITERS DBWR_IO_SLAVES

LOG_FILE_STANDBY_NAME_CONVERT LOG_FILE_NAME_CONVERT

SNAPSHOT_REFRESH_INTERVAL JOB_QUEUE_INTERVAL

B-4 Oracle8i 移行ガイド

Page 383: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8および Oracle8iで改名された初期化パラメータ

リリースリリースリリースリリース 8.1.4で改名された初期化パラメータで改名された初期化パラメータで改名された初期化パラメータで改名された初期化パラメータ次の初期化パラメータはリリース 8.1.4で改名されたものです。

リリースリリースリリースリリース 8.1.5で改名された初期化パラメータで改名された初期化パラメータで改名された初期化パラメータで改名された初期化パラメータ次の初期化パラメータはリリース 8.1.5で改名されたものです。

表表表表 B-2 リリースリリースリリースリリース 8.1.4で改名された初期化パラメータで改名された初期化パラメータで改名された初期化パラメータで改名された初期化パラメータ

リリースリリースリリースリリース 8.1.3 の名前の名前の名前の名前 リリースリリースリリースリリース 8.1.4 以降の名前以降の名前以降の名前以降の名前

MVIEW_REWRITE_ENABLED QUERY_REWRITE_ENABLED

REWRITE_INTEGRITY QUERY_REWRITE_INTEGRITY

表表表表 B-3 リリースリリースリリースリリース 8.1.5で改名された初期化パラメータで改名された初期化パラメータで改名された初期化パラメータで改名された初期化パラメータ

リリースリリースリリースリリース 8.1.3 およびリリースおよびリリースおよびリリースおよびリリース 8.1.4の名前の名前の名前の名前 リリースリリースリリースリリース 8.1.5 以降の名前以降の名前以降の名前以降の名前

NLS_UNION_CURRENCY NLS_DUAL_CURRENCY

PARALLEL_TRANSACTION_RECOVERY FAST_START_PARALLEL_ROLLBACK

初期化パラメータの変更 B-5

Page 384: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8および Oracle8iで廃止された初期化パラメータ

Oracle8およびおよびおよびおよび Oracle8iで廃止された初期化パラメータで廃止された初期化パラメータで廃止された初期化パラメータで廃止された初期化パラメータこの項で示す初期化パラメータは、リリース 8.0およびリリース 8.1で廃止されたものです。

リリースリリースリリースリリース 8.0で廃止された初期化パラメータで廃止された初期化パラメータで廃止された初期化パラメータで廃止された初期化パラメータ次の初期化パラメータは、リリース 8.0で廃止されたもので、リリース 8.0以降では使用できません。

リリースリリースリリースリリース 8.1で廃止された初期化パラメータで廃止された初期化パラメータで廃止された初期化パラメータで廃止された初期化パラメータデータベース管理を単純化するため、かなりの数の初期化パラメータがリリース 8.1で廃止されました。次の初期化パラメータは、リリース 8.1で廃止されたもので、リリース 8.1以降では使用できません。

CHECKPOINT_PROCESS FAST_CACHE_FLUSH

GC_DB_LOCKS GC_FREELIST_GROUPS

GC_ROLLBACK_SEGMENTS GC_SAVE_ROLLBACK_LOCKS

GC_SEGMENTS GC_TABLESPACES

IO_TIMEOUT INIT_SQL_FILES

IPQ_ADDRESS IPQ_NET

LM_DOMAINS LM_NON_FAULT_TOLERANT

MLS_LABEL_FORMAT OPTIMIZER_PARALLEL_PASS

PARALLEL_DEFAULT_MAX_SCANS PARALLEL_DEFAULT_SCAN_SIZE

POST_WAIT_DEVICE SEQUENCE_CACHE_HASH_BUCKETS

UNLIMITED_ROLLBACK_SEGMENTS USE_IPQ

USE_POST_WAIT_DRIVER USE_READV

USE_SIGIO V733_PLANS_ENABLED

注意注意注意注意 : 1つまたは複数の廃止された初期化パラメータを使用して、Oracleリリース 8.0またはそれ以降のデータベースを起動するとエラーになり、データベースを起動できません。

B-6 Oracle8i 移行ガイド

Page 385: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8および Oracle8iで廃止された初期化パラメータ

ALLOW_PARTIAL_SN_RESULTS ARCH_IO_SLAVES

B_TREE_BITMAP_PLANS BACKUP_DISK_IO_SLAVES

CACHE_SIZE_THRESHOLD CLEANUP_ROLLBACK_ENTRIES

CLOSE_CACHED_OPEN_CURSORS COMPATIBLE_NO_RECOVERY

COMPLEX_VIEW_MERGING DB_BLOCK_CHECKPOINT_BATCH

DB_BLOCK_LRU_EXTENDED_STATISTICS DB_BLOCK_LRU_STATISTICS

DB_FILE_SIMULTANEOUS_WRITES DELAYED_LOGGING_BLOCK_CLEANOUTS

DISCRETE_TRANSACTIONS_ENABLED DISTRIBUTED_LOCK_TIMEOUT

DISTRIBUTED_RECOVERY_CONNECTION_HOLD_TIME FAST_FULL_SCAN_ENABLED

FREEZE_DB_FOR_FAST_INSTANCE_RECOVERY GC_LATCHES

GC_LCK_PROCS JOB_QUEUE_KEEP_CONNECTIONS

LARGE_POOL_MIN_ALLOC LGWR_IO_SLAVES

LOCK_SGA_AREAS LOG_ARCHIVE_BUFFER_SIZE

LOG_ARCHIVE_BUFFERS LOG_BLOCK_CHECKSUM

LOG_FILES LOG_SIMULTANEOUS_COPIES

LOG_SMALL_ENTRY_MAX_SIZE MAX_TRANSACTION_BRANCHES

MTS_LISTENER_ADDRESS MTS_MULTIPLE_LISTENERS

MTS_RATE_LOG_SIZE MTS_RATE_SCALE

MTS_SERVICE OGMS_HOME

OPS_ADMIN_GROUP PARALLEL_DEFAULT_MAX_INSTANCES

PARALLEL_MIN_MESSAGE_POOL PARALLEL_SERVER_IDLE_TIME

PARALLEL_TRANSACTION_RESOURCE_TIMEOUT PUSH_JOIN_PREDICATE

REDUCE_ALARM ROW_CACHE_CURSORS

SEQUENCE_CACHE_ENTRIES SEQUENCE_CACHE_HASH_BUCKETS

SHARED_POOL_RESERVED_MIN_ALLOC SNAPSHOT_REFRESH_KEEP_CONNECTIONS

SNAPSHOT_REFRESH_PROCESSES SORT_DIRECT_WRITES

SORT_READ_FAC SORT_SPACEMAP_SIZE

SORT_WRITE_BUFFER_SIZE SORT_WRITE_BUFFERS

SPIN_COUNT TEMPORARY_TABLE_LOCKS

TEXT_ENABLE USE_ISM

初期化パラメータの変更 B-7

Page 386: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8および Oracle8iで廃止された初期化パラメータ

リリースリリースリリースリリース 8.1.6で廃止された初期化パラメータで廃止された初期化パラメータで廃止された初期化パラメータで廃止された初期化パラメータ次の初期化パラメータは、リリース 8.1.6で廃止されたもので、リリース 8.1.6以降では使用できません。

注意注意注意注意 : 1つまたは複数の廃止された初期化パラメータを使用すると、リリース 8.1データベースを起動できますが、警告が戻され、アラート・ログに記録されます。

ENT_DOMAIN_NAME LM_PROCS

OPTIMIZER_SEARCH_LIMIT

注意注意注意注意 : 初期化パラメータ SERIALIZABLE=TRUEは、廃止されたわけではありませんが、リリース 8.1.6以降ではサポートされていません。リリース 8.1.6以降の V$PARAMETER動的パフォーマンス・ビューでは、有効なパラメータとして表示されます。

今後、SERIALIZABLEが FALSEに設定されているようにデフォルトで動作します。SET TRANSACTION ISOLATION LEVEL SERIALIZABLEコマンドを使用すると、同様のトランザクション分離動作を実行します。ALTER SESSION SET ISOLATION_LEVEL=SERIALIZABLEを使用すると、すべてのセッションでこの動作を実行できます。

B-8 Oracle8i 移行ガイド

Page 387: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

初期化パラメータの互換性の問題

初期化パラメータの互換性の問題初期化パラメータの互換性の問題初期化パラメータの互換性の問題初期化パラメータの互換性の問題この章の前半で示した新規、変更および廃止の初期化パラメータの一覧では、異なる Oracleのリリースにおける初期化パラメータの違いを示しました。ただし、特定の初期化パラメータの変更は、データベースの互換性の問題を起こす可能性があるので、特別な注意が必要です。この項では、これらパラメータの変更について説明します。

SORT_AREA_SIZEおよびおよびおよびおよび SORT_DIRECT_WRITESパラメータパラメータパラメータパラメータSORT_DIRECT_WRITES初期化パラメータは、リリース 8.1以降では廃止されています。旧リリースで SORT_DIRECT_WRITESを FALSEまたは AUTOに設定している場合、ソート・バッファは、可能の場合バッファ・キャッシュに保存されます。SORT_DIRECT_WRITESはリリース 8.1では廃止されたため、SORT_AREA_SIZE初期化パラメータを調整しなければ、ソート・バッファを直接ディスクへ送ることができます。

次の条件のいずれかが旧リリースで該当する場合、リリース 8.1で SORT_AREA_SIZEの値を大きくする必要があります。

� SORT_DIRECT_WRITESが FALSEに設定されている。

� SORT_DIRECT_WRITESが AUTOに設定され、SORT_AREA_SIZEが 640KB以下に設定されている。

この条件のいずれかが旧リリースに該当する場合、パフォーマンス向上のためにSORT_AREA_SIZEの値を大きくしてください。

LOG_CHECKPOINT_TIMEOUTの新規デフォルト値の新規デフォルト値の新規デフォルト値の新規デフォルト値LOG_CHECKPOINT_TIMEOUTの初期化パラメータをリリース 8.1.5で起動すると、新規のデフォルト値が設定されます。以前のリリースではデフォルト値が 0秒でしたが、リリース8.1.5以降でのデフォルト値は 1800秒です。詳細は、『Oracle8i リファレンス・マニュアル』を参照してください。

データ・ディクショナリの保護データ・ディクショナリの保護データ・ディクショナリの保護データ・ディクショナリの保護O7_DICTIONARY_ACCESSIBILITY初期化パラメータは、Oracle7のデータ・ディクショナリの動作を継承するためのスイッチです。この初期化パラメータの使用は一時的な機能です。Oracle7データ・ディクショナリの動作を継承する必要がない場合、この初期化パラメータを FALSEに設定してください。

参照参照参照参照 : 詳細は、9-25ページの「データ・ディクショナリの保護」を参照してください。

初期化パラメータの変更 B-9

Page 388: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

初期化パラメータの互換性の問題

DML_LOCKSパラメータパラメータパラメータパラメータOracle8iシステムでは、通常、DDL操作の実行中に Oracle7のシステムで必要とする以上のDMLロックを使用します。ただし、Oracle7の DML_LOCKSパラメータのデフォルト設定は、Oracle8iのシステムおよび DMLを非常に多く使用するアプリケーションに適しています。

DML_LOCKSのデフォルト値はトランザクションの数の倍数であり、ロールバック・セグメントの数を基に計算されます。ただし、Oracle8iではロールバック・セグメントあたりの使用トランザクション数が Oracle7よりも少なくなっています。したがって、DML_LOCKSの Oracle8iでのデフォルト値が低くなっています。ある極端な負荷条件では、DML_LOCKパラメータの値を大きくする必要があります。

また、TRANSACTION_PER_ROLLBACK_SEGMENTパラメータ設定の調整が必要になる場合があり、それはオペレーティング・システム固有の設定によって異なります。この変更についての情報メッセージは、データベースの起動操作中に表示されます。

DB_DOMAINパラメータパラメータパラメータパラメータリリース 8.1以降、DB_DOMAIN初期化パラメータが解除されると、このパラメータはデフォルトで NULLに設定されます。Oracleの以前のリリースでは、デフォルト設定は次のように設定されていました。

.WORLD

DB_DOMAINの NULL設定は、環境によってはデータベース接続の問題の原因になることがあります。リリース 8.1への移行またはアップグレードを実行する前に、初期化パラメータ・ファイルの DB_DOMAIN初期化パラメータを次のどれか 1つに設定することを確認してください。

� .WORLD

� 環境に有効なドメイン設定

DB_DOMAINを既存のデータベースに設定していない場合、リリース 8.1に移行またはアップグレードする前に、.WORLDに設定してください。

既存のデータベースの環境に有効なドメインに DB_DOMEINを設定した場合、リリース 8.1に移行またはアップグレードする前に、その設定を初期化パラメータ・ファイルに保存してください。

B-10 Oracle8i 移行ガイド

Page 389: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

初期化パラメータの互換性の問題

ラージ・プールから割り当てられたパラレル実行ラージ・プールから割り当てられたパラレル実行ラージ・プールから割り当てられたパラレル実行ラージ・プールから割り当てられたパラレル実行リリース 8.1から、新規の初期化パラメータである PARALLEL_AUTOMATIC_TUNINGがTRUEに設定されると、パラレル実行のメッセージ・バッファをラージ・プールから割り当てることができます。以前のリリースでは、共有プールから割り当てられていました。リリース 8.1に移行またはアップグレードし、PARALLEL_AUTOMATIC_TUNINGの設定にTRUEを選択すると、次の初期化パラメータの変更によって問題を回避できます。

� SHARED_POOL_SIZE

� LARGE_POOL_SIZE

通常、問題を回避するためには、SHARED_POOL_SIZEの設定を縮小しLARGE_POOL_SIZEの設定を拡大しますが、かわりに SHARED_POOL_SIZEの設定を縮小し、LARGE_POOL_SIZEの設定を Oracleに計算させます。PARALLEL_AUTOMATIC_TUNINGを TRUEに設定し、LARGE_POOL_SIZEを設定しない場合にのみ、Oracleがデフォルトの LARGE_POOL_SIZEの計算をします。

その計算は次の初期化パラメータの設定に基づいて行われます。

� PARALLEL_MAX_SERVERS

� PARALLEL_THREADS_PER_CPU

� PARALLEL_SERVER_INSTANCES

� MTS_DISPATCHERS

� DBWR_IO_SLAVES

PARALLEL_AUTOMATIC_TUNINGを設定していない場合、または FALSEと設定している場合、および LARGE_POOL_SIZEを設定していない場合、LARGE_POOL_SIZEのデフォルトに対する値は 0になります。

注意注意注意注意 : PARALLEL_AUTOMATIC_TUNINGを TRUEに設定すると、COMPATIBLEのパラメータが 8.1.0以下に設定してある場合でも新規の動作を行います。

参照参照参照参照 : PARALLEL_AUTOMATIC_TUNINGの初期化パラメータのその他の影響については、『Oracle8i リファレンス・マニュアル』および『Oracle8i パフォーマンスのための設計およびチューニング』を参照してください。

初期化パラメータの変更 B-11

Page 390: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

初期化パラメータの互換性の問題

次のシナリオは、リリース 8.1への移行またはアップグレードの際の、個々の初期化パラメータ設定の結果として起こる動作を示します。

パラメータ設定を変更しないで保存パラメータ設定を変更しないで保存パラメータ設定を変更しないで保存パラメータ設定を変更しないで保存以前の設定からパラメータ変更しない場合 :

これらの設定方法が最も一般的です。この場合、共有プールでのパラレル実行に必要な領域をすでに占めています。

PARALLEL_AUTOMATIC_TUNINGの使用の使用の使用の使用パラメータが以前の設定から次の設定に変更された場合 :

この場合、パラレル実行は自動計算に基づいて、ラージ・プールからバッファを割り当てます。バッファの割当てはより効果的で、割当てに失敗すると、共有プールのクライアントから分離されます。

表表表表 B-4 パラメータ設定を変更しないで保存パラメータ設定を変更しないで保存パラメータ設定を変更しないで保存パラメータ設定を変更しないで保存

パラメータパラメータパラメータパラメータ 設定設定設定設定

PARALLEL_AUTOMATIC_TUNING 未設定(デフォルトは FALSE)

SHARED_POOL_SIZE パラレル実行に必要な領域も含めて大きい値に設定

LARGE_POOL_SIZE 未設定(デフォルトは 0)

表表表表 B-5 PARALLEL_AUTOMATIC_TUNINGの使用の使用の使用の使用

パラメータパラメータパラメータパラメータ 設定設定設定設定

PARALLEL_AUTOMATIC_TUNING TRUEに設定

SHARED_POOL_SIZE パラレル実行を除く、全クライアントを占める小さい値に設定

LARGE_POOL_SIZE 未設定(デフォルトはパラレル実行に必要な領域も含めて大きい値にします)

B-12 Oracle8i 移行ガイド

Page 391: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

初期化パラメータの互換性の問題

PARALLEL_AUTOMATIC_TUNINGの使用およびの使用およびの使用およびの使用および LARGE_POOL_SIZEの設定の設定の設定の設定パラメータが以前の設定から次の設定に変更された場合 :

この場合、パラレル実行はラージ・プールからのバッファを割り当てます。LARGE_POOL_SIZE未設定の初期テスト終了後、LARGE_POOL_SIZEに対するデフォルトの計算がラージ・プールへの要件を反映しなかったことを決めます。したがって、LARGE_POOL_SIZEの設定は手動になります。LARGE_POOL_SIZEを正しく設定するとバッファの割当てはより効果的になり、割当てに失敗すると、共有プールのクライアントから分離されます。

SHARED_POOL_SIZEを変更しないでを変更しないでを変更しないでを変更しないで PARALLEL_AUTOMATIC_TUNINGを使用を使用を使用を使用パラメータが以前の設定から次の設定に変更された場合 :

この場合、ラージ・プールからのバッファを割り当てますが、SHARED_POOL_SIZEの変更がなかったため SGAは不必要に大きくなり、パフォーマンスの妨げになる可能性があります。したがって、適切な SHARED_POOL_SIZEおよび LARGE_POOL_SIZEの設定をしてから、PARALLEL_AUTOMATIC_TUNINGを TRUEに設定してください。

表表表表 B-6 PARALLEL_AUTOMATIC_TUNINGの使用およびの使用およびの使用およびの使用および LARGE_POOLの設定の設定の設定の設定

パラメータパラメータパラメータパラメータ 設定設定設定設定

PARALLEL_AUTOMATIC_TUNING TRUEに設定

SHARED_POOL_SIZE パラレル実行を除く、全クライアントを占める小さい値に設定

LARGE_POOL_SIZE パラレル実行に必要な領域も含めて大きい値に設定

表表表表 B-7 SHARED_POOL_SIZEを変更しないでを変更しないでを変更しないでを変更しないで PARALLEL_AUTOMATIC_TUNINGを使用を使用を使用を使用

パラメータパラメータパラメータパラメータ 設定設定設定設定

PARALLEL_AUTOMATIC_TUNING TRUEに設定

SHARED_POOL_SIZE パラレル実行に必要な領域も含めて大きい値に設定

LARGE_POOL_SIZE 未設定(デフォルトは、パラレル実行に必要な領域も含めて大きい値にします)

初期化パラメータの変更 B-13

Page 392: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

初期化パラメータの互換性の問題

アーカイブ・ログの宛先のパラメータアーカイブ・ログの宛先のパラメータアーカイブ・ログの宛先のパラメータアーカイブ・ログの宛先のパラメータリリース 8.1は、新規アーカイブ・ログの宛先のパラメータをサポートします。リリース 8.1への移行またはアップグレードの後、リリース 8.1より前の旧パラメータ(LOG_ARCHIVE_DESTおよび LOG_ARCHIVE_DUPLEX_DEST)からリリース 8.1の新規パラメータ(LOG_ARCHIVE_DEST_nおよび LOG_ARCHIVE_DEST_STATE_n)への大幅な変換が可能になります。旧パラメータへの大幅な変換も可能になります。

新規アーカイブ・ログの宛先のパラメータへの変更新規アーカイブ・ログの宛先のパラメータへの変更新規アーカイブ・ログの宛先のパラメータへの変更新規アーカイブ・ログの宛先のパラメータへの変更新規アーカイブ先、対応する状態およびオプションを決めたら、旧アーカイブ・ログの宛先のパラメータから新規アーカイブ・ログの宛先のパラメータへ変更するため、次の手順を実行してください。

1. ALTER SYSTEMを使用して、LOG_ARCHIVE_MIN_SUCCEED_DESTを 1に設定します。

2. ALTER SYSTEMを使用して、LOG_ARCHIVE_DUPLEX_DESTを NULLに設定します。

3. ALTER SYSTEMを使用して、LOG_ARCHIVE_DESTをNULLに設定します。

4. ALTER SYSTEMを使用して、LOG_ARCHIVE_DEST_STATE_nのパラメータを指示どおりに deferまたは enableに設定します。enableはデフォルトですが、オラクル社では状態を各宛先に明確に設定することをお薦めします。

5. ALTER SYSTEMを使用して、ローカルの宛先を指定する値に、最低でも 1つの LOG_ARCHIVE_DEST_nパラメータを設定します。

6. ALTER SYSTEMを使用して、指定どおりに、その他の LOG_ARCHIVE_DEST_nパラメータを設定します。

7. ALTER SYSTEMを使用して、LOG_ARCHIVE_MIN_SUCCEED_DESTを指定した値に設定します。

たとえば、次の 2つの宛先があると仮定します。

� /oracle/dbs/arclog

� /backup/dbs/arclog

両方の宛先が固定されます(最小宛先件数は 2)。新規の宛先は次のとおりです。

� /oracle/dbs/arclog(ローカル)

� stndby1(スタンバイ・データベース)

� /backup/dbs/arclog

� /backup2/dbs/arclog

B-14 Oracle8i 移行ガイド

Page 393: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

初期化パラメータの互換性の問題

最初の宛先である standbyおよび backupのどちらかが固定されます(最小宛先件数は 3)。

これらの仮定をもとに、次の SQL文を発行して旧アーカイブ・ログの宛先を新規に変更してください。

ALTER SYSTEM SET LOG_ARCHIVE_MIN_SUCCEED_DEST = 1;

ALTER SYSTEM SET LOG_ARCHIVE_DUPLEX_DEST = ' ';

ALTER SYSTEM SET LOG_ARCHIVE_DEST = ' ';

ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_1 = 'enable'; ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2 = 'enable'; ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_3 = 'enable'; ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_4 = 'enable';

ALTER SYSTEM SET LOG_ARCHIVE_DEST_1 = 'LOCATION=/oracle/dbs/arclog MANDATORY';ALTER SYSTEM SET LOG_ARCHIVE_DEST_2 = 'SERVICE=stndby1 MANDATORY'; ALTER SYSTEM SET LOG_ARCHIVE_DEST_3 = 'LOCATION=/backup/dbs/arclog OPTIONAL'; ALTER SYSTEM SET LOG_ARCHIVE_DEST_4 = 'LOCATION=/backup2/dbs/arclog OPTIONAL'; ALTER SYSTEM SET LOG_ARCHIVE_MIN_SUCCEED_DEST = 3;

旧アーカイブ・ログの宛先のパラメータへの変更旧アーカイブ・ログの宛先のパラメータへの変更旧アーカイブ・ログの宛先のパラメータへの変更旧アーカイブ・ログの宛先のパラメータへの変更次の手順を実行して、旧アーカイブ・ログの宛先のパラメータに戻してください。

1. ALTER SYSTEMを使用して、LOG_ARCHIVE_MIN_SUCCEED_DESTを 1に設定します。

2. ALTER SYSTEMを使用して、指定どおりに、すべての LOG_ARCHIVE_DEST_nパラメータを NULLに設定します。

3. ALTER SYSTEMを使用して、ローカルの宛先を指定する値に LOG_ARCHIVE_DESTのパラメータを設定します。

4. ALTER SYSTEMを使用して、指定どおりに、LOG_ARCHIVE_MIN_SUCCEED_DESTに設定します。

5. ALTER SYSTEMを使用して、LOG_ARCHIVE_MIN_SUCCEED_DESTを指定した値に設定します。

たとえば、次の 2つの宛先があると仮定します。

� /oracle/dbs/arclog(LOG_ARCHIVE_DEST_1)

� /backup/dbs/arclog(LOG_ARCHIVE_DEST_4)

初期化パラメータの変更 B-15

Page 394: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

初期化パラメータの互換性の問題

宛先は両方とも固定されています。新規宛先および最小件数は同じです。

これらの仮定をもとに、次の SQL文を発行して新規アーカイブ・ログの宛先を旧アーカイブ・ログの宛先に変更してください。

ALTER SYSTEM SET LOG_ARCHIVE_MIN_SUCCEED_DEST = 1;

ALTER SYSTEM SET LOG_ARCHIVE_DEST_4 = ' '; ALTER SYSTEM SET LOG_ARCHIVE_DEST_1 = ' ';

ALTER SYSTEM SET LOG_ARCHIVE_DEST = '/oracle/dbs/arclog';

ALTER SYSTEM SET LOG_ARCHIVE_DUPLEX_DEST = '/backup/dbs/arclog';

ALTER SYSTEM SET LOG_ARCHIVE_MIN_SUCCEED_DEST = 2;

トランザクション・パラメータ中に起こる可能性のあるエラートランザクション・パラメータ中に起こる可能性のあるエラートランザクション・パラメータ中に起こる可能性のあるエラートランザクション・パラメータ中に起こる可能性のあるエラーこの項の前半で説明した手順にそってアーカイブ先のパラメータを変更する場合、アーカイブが使用可能になると、ログ・ファイル中に次のエラー・メッセージが表示されることがあります。

� アラート・ログ :Archiving not possible: No available destinations

� トレース・ログ :ARCH: INCOMPLETE, no available destinations

アーカイブが使用禁止の場合、これらのエラーは起こりません。有効なアーカイブ先がない場合、作業中にエラーが発生します。ただし、パラメータの変更が完了すればエラーは発生しなくなります。これらのエラーを回避するため、変換中にアーカイブを使用禁止にしないでください。

注意注意注意注意 : リリース 8.1からリリース 8.0へダウングレードする場合は、初期化パラメータ・ファイルを旧パラメータと置き換えて、旧アーカイブ・ログの宛先のパラメータに戻してください。ダウングレードする場合は、動的方法は使用しないでください。

B-16 Oracle8i 移行ガイド

Page 395: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

初期化パラメータの互換性の問題

ORACLE_TRACE_ENABLEパラメータパラメータパラメータパラメータリリース 8.1.7で起動する ORACLE_TRACE_ENABLEパラメータは動的です。デフォルト値は FALSEです。

サーバーの Oracle Traceのコレクション機能を使用可能にするには、ALTER SYSTEMまたは ALTER SESSIONを使用して、ORACLE_TRACE_ENABLEを TRUEに設定します。この設定のみでは Oracle Traceのコレクション機能は起動されませんが、そのサーバーで Oracle Traceが使用可能になります。

ORACLE_TRACE_ENABLEを TRUEに設定すると、次のいずれかの方法で、サーバー・イベント・データの Oracle Traceのコレクション機能を実行できます。

� Oracle Trace Managerアプリケーション(Oracle Diagnostics Packとともに提供されます)を使用します。

� Oracle Traceのコマンドライン・インタフェース(サーバーとともに提供されます)を使用します。

� ORACLE_TRACE_COLLECTION_NAMEサーバー初期化パラメータにコレクション名を指定します。

参照参照参照参照 : 次のマニュアルを参照してください。

� 『Oracle8i パフォーマンスのための設計およびチューニング』

� 『Oracle8i リファレンス・マニュアル』

初期化パラメータの変更 B-17

Page 396: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

初期化パラメータの互換性の問題

B-18 Oracle8i 移行ガイド

Page 397: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

静的データ・ディクショナリ・ビューの

C

静的データ・ディクショナリ・ビューの変更静的データ・ディクショナリ・ビューの変更静的データ・ディクショナリ・ビューの変更静的データ・ディクショナリ・ビューの変更

Oracle8および Oracle8iは、新規の静的データ・ディクショナリ・ビューをサポートします。リリース 8.0およびリリース 8.1では、一部の静的データ・ディクショナリ・ビューは変更または廃止されています。この付録では、リリース 8.0およびリリース 8.1の新規の静的データ・ディクショナリ・ビュー、変更された静的データ・ディクショナリ・ビュー、および廃止された静的データ・ディクショナリ・ビューを示します。

この付録では、次の項目について説明します。

� Oracle8および Oracle8iで追加された静的データ・ディクショナリ・ビュー

� Oracle8および Oracle8iで列が追加された静的データ・ディクショナリ・ビュー

� Oracle8および Oracle8iで列が削除された静的データ・ディクショナリ・ビュー

� Oracle8および Oracle8iで列が改名された静的データ・ディクショナリ・ビュー

� NULLを戻す可能性のある列を持つ静的データ・ディクショナリ・ビュー

� Oracle8および Oracle8iで廃止された静的データ・ディクショナリ・ビュー

参照参照参照参照 : この付録で示す新規のビューまたは変更されたビューの詳細、およびこれらのビューにある列の詳細は、『Oracle8i リファレンス・マニュアル』を参照してください。

変更 C-1

Page 398: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8および Oracle8iで追加された静的データ・ディクショナリ・ビュー

Oracle8およびおよびおよびおよび Oracle8iで追加された静的データ・ディクショナで追加された静的データ・ディクショナで追加された静的データ・ディクショナで追加された静的データ・ディクショナリ・ビューリ・ビューリ・ビューリ・ビュー

この項で示す静的データ・ディクショナリ・ビューは、Oracle8および Oracle8iで新しく追加されました。

リリースリリースリリースリリース 8.0で追加された静的データ・ディクショナリ・ビューで追加された静的データ・ディクショナリ・ビューで追加された静的データ・ディクショナリ・ビューで追加された静的データ・ディクショナリ・ビューリリース 8.0では、次の静的データ・ディクショナリ・ビューが追加されました。

ALL_ALL_TABLES ALL_COLL_TYPES

ALL_DIRECTORIES ALL_IND_PARTITIONS

ALL_LIBRARIES ALL_LOBS

ALL_METHOD_PARAMS ALL_METHOD_RESULTS

ALL_NESTED_TABLES ALL_OBJECT_TABLES

ALL_OBJECTS ALL_PART_COL_STATISTICS

ALL_PART_HISTOGRAMS ALL_PART_INDEXES

ALL_PART_KEY_COLUMNS ALL_PART_TABLES

ALL_PROBE_OBJECTS ALL_REFS

ALL_REGISTERED_SNAPSHOTS ALL_REPCOLUMN

ALL_REPGENOBJECTS ALL_SNAPSHOT_LOGS

ALL_SNAPSHOT_REFRESH_TIMES ALL_TAB_COL_STATISTICS

ALL_TAB_HISTOGRAMS ALL_TAB_PARTITIONS

ALL_TYPE_ATTRS ALL_TYPE_METHODS

ALL_TYPES DBA_ALL_TABLES

DBA_COLL_TYPES DBA_DIRECTORIES

DBA_IND_PARTITIONS DBA_LIBRARIES

DBA_LOBS DBA_METHOD_PARAMS

DBA_METHOD_RESULTS DBA_NESTED_TABLES

DBA_OBJECT_TABLES DBA_PART_COL_STATISTICS

DBA_PART_HISTOGRAMS DBA_PART_INDEXES

DBA_PART_KEY_COLUMNS DBA_PART_TABLES

DBA_PENDING_TRANSACTIONS DBA_QUEUE_SCHEDULES

DBA_QUEUE_TABLES DBA_QUEUES

C-2 Oracle8i 移行ガイド

Page 399: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8および Oracle8iで追加された静的データ・ディクショナリ・ビュー

DBA_REFS DBA_REGISTERED_SNAPSHOT_GROUPS

DBA_REGISTERED_SNAPSHOTS DBA_REPCOLUMN

DBA_REPGENOBJECTS DBA_SNAPSHOT_LOG_FILTER_COLS

DBA_SNAPSHOT_REFRESH_TIMES DBA_TAB_COL_STATISTICS

DBA_TAB_HISTOGRAMS DBA_TAB_PARTITIONS

DBA_TYPE_ATTRS DBA_TYPE_METHODS

DBA_TYPES DEFLOB

DEFPROPAGATOR FILEXT$

HS_ALL_CAPS HS_ALL_DD

HS_ALL_INITS HS_BASE_CAPS

HS_BASE_DD HS_CLASS_CAPS

HS_CLASS_DD HS_CLASS_INIT

HS_EXTERNAL_OBJECT_PRIVILEGES HS_EXTERNAL_OBJECTS

HS_EXTERNAL_USER_PRIVILEGES HS_FDS_CLASS

HS_FDS_INST HS_INST_CAPS

HS_INST_DD HS_INST_INIT

TRUSTED_SERVERS TS_PITR_CHECK

TS_PITR_OBJECTS_TO_BE_DROPPED USER_ALL_TABLES

USER_COLL_TYPES USER_IND_PARTITIONS

USER_LIBRARIES USER_LOBS

USER_METHOD_PARAMS USER_METHOD_RESULTS

USER_NESTED_TABLES USER_OBJECT_TABLES

USER_PART_COL_STATISTICS USER_PART_HISTOGRAMS

USER_PART_INDEXES USER_PART_KEY_COLUMNS

USER_PART_TABLES USER_PASSWORD_LIMITS

USER_QUEUE_TABLES USER_QUEUES

USER_REFS USER_REGISTERED_SNAPSHOTS

USER_REPCOLUMN USER_REPGENOBJECTS

USER_SNAPSHOT_REFRESH_TIMES USER_TAB_COL_STATISTICS

USER_TAB_HISTOGRAMS USER_TAB_PARTITIONS

USER_TYPE_ATTRS USER_TYPE_METHODS

USER_TYPES

静的データ・ディクショナリ・ビューの変更 C-3

Page 400: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8および Oracle8iで追加された静的データ・ディクショナリ・ビュー

リリースリリースリリースリリース 8.1で追加された静的データ・ディクショナリ・ビューで追加された静的データ・ディクショナリ・ビューで追加された静的データ・ディクショナリ・ビューで追加された静的データ・ディクショナリ・ビューリリース 8.1では、次の静的データ・ディクショナリ・ビューが追加されました。

ALL_ASSOCIATIONS ALL_CONTEXT

ALL_DIM_ATTRIBUTES ALL_DIM_CHILD_OF

ALL_DIM_HIERARCHIES ALL_DIM_JOIN_KEY

ALL_DIM_LEVEL_KEY ALL_DIM_LEVELS

ALL_DIMENSIONS ALL_IND_EXPRESSIONS

ALL_IND_SUBPARTITIONS ALL_INDEXTYPE_OPERATORS

ALL_INDEXTYPES ALL_INTERNAL_TRIGGERS

ALL_LOB_PARTITIONS ALL_LOB_SUBPARTITIONS

ALL_MVIEW_AGGREGATES ALL_MVIEW_ANALYSIS

ALL_MVIEW_DETAIL_RELATIONS ALL_MVIEW_JOINS

ALL_MVIEW_KEYS ALL_OPANCILLARY

ALL_OPARGUMENTS ALL_OPBINDINGS

ALL_OPERATORS ALL_PART_LOBS

ALL_PARTIAL_DROP_TABS ALL_POLICIES

ALL_QUEUE_TABLES ALL_QUEUES

ALL_REFRESH_DEPENDENCIES ALL_REPCAT_REFRESH_TEMPLATES

ALL_REPCAT_TEMPLATE_OBJECTS ALL_REPCAT_TEMPLATE_PARMS

ALL_REPCAT_TEMPLATE_SITES ALL_REPCAT_USER_AUTHORIZATIONS

ALL_REPCAT_USER_PARM_VALUES ALL_SUBPART_COL_STATISTICS

ALL_SUBPART_HISTOGRAMS ALL_SUBPART_KEY_COLUMNS

ALL_SUMDELTA ALL_SUMMARIES

ALL_SUMMARY_AGGREGATES ALL_SUMMARY_DETAIL_TABLES

ALL_SUMMARY_JOINS ALL_SUMMARY_KEYS

ALL_TAB_MODIFICATIONS ALL_TAB_SUBPARTITIONS

ALL_UNUSED_COL_TABS ALL_USTATS

ALL_VARRAYS DATABASE_COMPATIBLE_LEVEL

DBA_ASSOCIATIONS DBA_CONTEXT

DBA_DIM_ATTRIBUTES DBA_DIM_CHILD_OF

DBA_DIM_HIERARCHIES DBA_DIM_JOIN_KEY

C-4 Oracle8i 移行ガイド

Page 401: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8および Oracle8iで追加された静的データ・ディクショナリ・ビュー

DBA_DIM_LEVEL_KEY DBA_DIM_LEVELS

DBA_DIMENSIONS DBA_IND_EXPRESSIONS

DBA_IND_SUBPARTITIONS DBA_INDEXTYPE_OPERATORS

DBA_INDEXTYPES DBA_INTERNAL_TRIGGERS

DBA_LOB_PARTITIONS DBA_LOB_SUBPARTITIONS

DBA_MVIEW_AGGREGATES DBA_MVIEW_ANALYSIS

DBA_MVIEW_DETAIL_RELATIONS DBA_MVIEW_JOINS

DBA_MVIEW_KEYS DBA_OPANCILLARY

DBA_OPARGUMENTS DBA_OPBINDINGS

DBA_OPERATORS DBA_OUTLINE_HINTS

DBA_OUTLINES DBA_PART_LOBS

DBA_PARTIAL_DROP_TABS DBA_POLICIES

DBA_REPCAT_REFRESH_TEMPLATES DBA_REPCAT_TEMPLATE_OBJECTS

DBA_REPCAT_TEMPLATE_PARMS DBA_REPCAT_TEMPLATE_SITES

DBA_REPCAT_USER_AUTHORIZATIONS DBA_REPCAT_USER_PARM_VALUES

DBA_RSRC_CONSUMER_GROUP_PRIVS DBA_RSRC_CONSUMER_GROUPS

DBA_RSRC_MANAGER_SYSTEM_PRIVS DBA_RSRC_PLAN_DIRECTIVES

DBA_RSRC_PLANS DBA_RULESETS

DBA_SUBPART_COL_STATISTICS DBA_SUBPART_HISTOGRAMS

DBA_SUBPART_KEY_COLUMNS DBA_SUMMARIES

DBA_SUMMARY_DETAIL_TABLES DBA_TAB_MODIFICATIONS

DBA_TAB_SUBPARTITIONS DBA_TEMP_FILES

DBA_UNUSED_COL_TABS DBA_USTATS

DBA_VARRAYS PLUGGABLE_SET_CHECK

PROXY_USERS QUEUE_PRIVILEGES

SESSION_CONTEXT STRADDLING_TS_OBJECTS

UNI_PLUGGABLE_SET_CHECK USER_ASSOCIATIONS

USER_DIM_ATTRIBUTES USER_DIM_CHILD_OF

USER_DIM_HIERARCHIES USER_DIM_JOIN_KEY

USER_DIM_LEVEL_KEY USER_DIM_LEVELS

USER_DIMENSIONS USER_IND_EXPRESSIONS

USER_IND_SUBPARTITIONS USER_INDEXTYPE_OPERATORS

静的データ・ディクショナリ・ビューの変更 C-5

Page 402: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8および Oracle8iで追加された静的データ・ディクショナリ・ビュー

リリースリリースリリースリリース 8.1.6で追加された静的データ・ディクショナリ・ビューで追加された静的データ・ディクショナリ・ビューで追加された静的データ・ディクショナリ・ビューで追加された静的データ・ディクショナリ・ビューリリース 8.1.6では、次の静的データ・ディクショナリ・ビューが追加されました。

USER_INDEXTYPES USER_INTERNAL_TRIGGERS

USER_LOB_PARTITIONS USER_LOB_SUBPARTITIONS

USER_MVIEW_AGGREGATES USER_MVIEW_ANALYSIS

USER_MVIEW_DETAIL_RELATIONS USER_MVIEW_JOINS

USER_MVIEW_KEYS USER_OPANCILLARY

USER_OPARGUMENTS USER_OPBINDINGS

USER_OPERATORS USER_OUTLINE_HINTS

USER_OUTLINES USER_PART_LOBS

USER_PARTIAL_DROP_TABS USER_POLICIES

USER_QUEUE_SCHEDULES USER_REPCAT_REFRESH_TEMPLATES

USER_REPCAT_TEMPLATE_OBJECTS USER_REPCAT_TEMPLATE_PARMS

USER_REPCAT_TEMPLATE_SITES USER_REPCAT_USER_AUTHORIZATION

USER_REPCAT_USER_PARM_VALUES USER_RSRC_CONSUMER_GROUP_PRIVS

USER_RSRC_MANAGER_SYSTEM_PRIVS USER_RULESETS

USER_SUBPART_COL_STATISTICS USER_SUBPART_HISTOGRAMS

USER_SUBPART_KEY_COLUMNS USER_SUMMARIES

USER_SUMMARY_DETAIL_TABLES USER_TAB_MODIFICATIONS

USER_TAB_SUBPARTITIONS USER_UNUSED_COL_TABS

USER_USTATS USER_VARRAYS

ALL_MVIEWS DBA_MVIEWS

USER_MVIEW

C-6 Oracle8i 移行ガイド

Page 403: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8および Oracle8iで列が追加された静的データ・ディクショナリ・ビュー

Oracle8およびおよびおよびおよび Oracle8iで列が追加された静的データ・ディクで列が追加された静的データ・ディクで列が追加された静的データ・ディクで列が追加された静的データ・ディクショナリ・ビューショナリ・ビューショナリ・ビューショナリ・ビュー

次の項で示す静的データ・ディクショナリ・ビューに、新しい列が追加されました。

リリースリリースリリースリリース 8.0で列が追加された静的データ・ディクショナリ・ビューで列が追加された静的データ・ディクショナリ・ビューで列が追加された静的データ・ディクショナリ・ビューで列が追加された静的データ・ディクショナリ・ビューリリース 8.0では、次の静的データ・ディクショナリ・ビューに新しい列が追加されました。

参照参照参照参照 : これらのビューの詳細は、『Oracle8i リファレンス・マニュアル』を参照してください。

ALL_ARGUMENTS ALL_CLUSTERS

ALL_CONSTRAINTS ALL_DEPENDENCIES

ALL_INDEXES ALL_OBJECTS

ALL_REFRESH ALL_REFRESH_CHILDREN

ALL_REPOBJECT ALL_REPPRIORITY

ALL_REPSCHEMA ALL_REPSITES

ALL_SNAPSHOTS ALL_TABLES

ALL_TAB_COLUMNS ALL_UPDATABLE_COLUMNS

ALL_VIEWS COL

DBA_CLUSTERS DBA_CONSTRAINTS

DBA_DATA_FILES DBA_DEPENDENCIES

DBA_EXTENTS DBA_FREE_SPACE

DBA_INDEXES DBA_OBJECTS

DBA_OBJ_AUDIT_OPTS DBA_PROFILES

DBA_REFRESH DBA_REFRESH_CHILDREN

DBA_REPOBJECT DBA_REPPRIORITY

DBA_RGROUP DBA_ROLLBACK_SEGS

DBA_SEGMENTS DBA_SNAPSHOTS

DBA_SNAPSHOT_LOGS DBA_TABLES

DBA_TABLESPACES DBA_TAB_COLUMNS

DBA_UPDATABLE_COLUMNS DBA_USERS

DBA_VIEWS DEFERROR

DEFTRANDEST FILE_PING

静的データ・ディクショナリ・ビューの変更 C-7

Page 404: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8および Oracle8iで列が追加された静的データ・ディクショナリ・ビュー

INDEX_STATS SYS_OBJECTS

USER_ARGUMENTS USER_CLUSTERS

USER_CONSTRAINTS USER_DEPENDENCIES

USER_EXTENTS USER_FREE_SPACE

USER_INDEXES USER_OBJECTS

USER_OBJ_AUDIT_OPTS USER_REFRESH

USER_REFRESH_CHILDREN USER_REPOBJECT

USER_REPPRIORITY USER_REPSCHEMA

USER_REPSITES USER_SEGMENTS

USER_SNAPSHOTS USER_SNAPSHOT_LOGS

USER_TAB_COLUMNS USER_UPDATABLE_COLUMNS

USER_TABLES USER_TABLESPACES

USER_USERS USER_VIEWS

C-8 Oracle8i 移行ガイド

Page 405: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8および Oracle8iで列が追加された静的データ・ディクショナリ・ビュー

リリースリリースリリースリリース 8.1で列が追加された静的データ・ディクショナリ・ビューで列が追加された静的データ・ディクショナリ・ビューで列が追加された静的データ・ディクショナリ・ビューで列が追加された静的データ・ディクショナリ・ビューリリース 8.1では、次の静的データ・ディクショナリ・ビューに新しい列が追加されました。

ALL_ALL_TABLES ALL_CLUSTERS

ALL_COLL_TYPES ALL_CONSTRAINTS

ALL_IND_PARTITIONS ALL_NESTED_TABLES

ALL_INDEXES ALL_IND_COLUMNS

ALL_IND_PARTITIONS ALL_IND_SUBPARTITIONS

ALL_MVIEW_ANALYSIS ALL_OBJECTS

ALL_OBJECT_TABLES ALL_PART_COL_STATISTICS

ALL_PART_INDEXES ALL_PART_TABLES

ALL_PROBE_OBJECTS ALL_REFS

ALL_REPCAT ALL_REPCAT_TEMPLATE_SITES

ALL_REPCOLUMN ALL_REPGROUP

ALL_REPOBJECT ALL_SNAPSHOTS

ALL_TAB_COL_STATISTICS ALL_TAB_PARTITIONS

ALL_TABLES ALL_TAB_COLUMNS

ALL_TRIGGERS DBA_ALL_TABLES

DBA_CLUSTERS DBA_COLL_TYPES

DBA_CONSTRAINTS DBA_CONTEXT

DBA_DATA_FILES DBA_IND_PARTITIONS

DBA_JOBS DBA_INDEXES

DBA_IND_COLUMNS DBA_IND_PARTITIONS

DBA_IND_SUBPARTITIONS DBA_JOBS_RUNNING

DBA_MVIEW_ANALYSIS DBA_NESTED_TABLES

DBA_OBJECTS DBA_OBJECT_TABLES

DBA_OUTLINE_HINTS DBA_PART_COL_STATISTICS

DBA_PART_INDEXES DBA_PART_TABLES

DBA_PRIV_AUDIT_OPTS DBA_QUEUE_SCHEDULES

DBA_QUEUE_TABLES DBA_REFS

DBA_REGISTERED_SNAPSHOT_GROUPS DBA_REPCAT

DBA_REPCAT_TEMPLATE_SITES DBA_REPCOLUMN

静的データ・ディクショナリ・ビューの変更 C-9

Page 406: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8および Oracle8iで列が追加された静的データ・ディクショナリ・ビュー

DBA_REPGROUP DBA_REPOBJECT

DBA_SNAPSHOTS DBA_STMT_AUDIT_OPTS

DBA_TAB_COLUMNS DBA_TAB_COL_STATISTICS

DBA_TAB_PARTITIONS DBA_TRIGGERS

DBA_TABLES DBA_TABLESPACES

DBA_USERS INDEX_STATS

REPCAT_REPCAT REPCAT_REPOBJECTS

USER_ALL_TABLES USER_CLUSTERS

USER_COLL_TYPES USER_CONSTRAINTS

USER_IND_PARTITIONS USER_IND_SUBPARTITIONS

USER_JOBS USER_INDEXES

USER_IND_COLUMNS USER_MVIEW_ANALYSIS

USER_NESTED_TABLES USER_OBJECTS

USER_OBJECT_TABLES USER_OUTLINE_HINTS

USER_PART_COL_STATISTICS USER_PART_INDEXES

USER_PART_TABLES USER_QUEUE_TABLES

USER_REFS USER_REPCAT

USER_REPCAT_TEMPLATE_SITES USER_REPCOLUMN

USER_REPGROUP USER_REPOBJECT

USER_SNAPSHOTS USER_TABLES

USER_TAB_COL_STATISTICS USER_TAB_PARTITIONS

USER_TABLESPACES USER_TAB_COLUMNS

USER_TRIGGERS USER_USERS

C-10 Oracle8i 移行ガイド

Page 407: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8および Oracle8iで列が追加された静的データ・ディクショナリ・ビュー

リリースリリースリリースリリース 8.1.6で列が追加された静的データ・ディクショナリ・ビューで列が追加された静的データ・ディクショナリ・ビューで列が追加された静的データ・ディクショナリ・ビューで列が追加された静的データ・ディクショナリ・ビューリリース 8.1.6では、次の静的データ・ディクショナリ・ビューに新しい列が追加されました。

ALL_ARGUMENTS ALL_PART_HISTOGRAMS

ALL_SUBPART_HISTOGRAMS ALL_TAB_HISTOGRAMS

DBA_PART_HISTOGRAMS DBA_SUBPART_HISTOGRAMS

DBA_TAB_HISTOGRAMS USER_ARGUMENTS

USER_PART_HISTOGRAMS USER_SUBPART_HISTOGRAMS

USER_TAB_HISTOGRAMS

静的データ・ディクショナリ・ビューの変更 C-11

Page 408: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8および Oracle8iで列が削除された静的データ・ディクショナリ・ビュー

Oracle8およびおよびおよびおよび Oracle8iで列が削除された静的データ・ディクで列が削除された静的データ・ディクで列が削除された静的データ・ディクで列が削除された静的データ・ディクショナリ・ビューショナリ・ビューショナリ・ビューショナリ・ビュー

次の項で示す列は、Oracle8および Oracle8iで削除されました。アプリケーションが、次に示す列を 1つ以上必要とする場合、それに応じてアプリケーションを変更します。

リリースリリースリリースリリース 8.0で列が削除された静的データ・ディクショナリ・ビューで列が削除された静的データ・ディクショナリ・ビューで列が削除された静的データ・ディクショナリ・ビューで列が削除された静的データ・ディクショナリ・ビューリリース 8.0では、表 C-1に示す列は削除されました。

表表表表 C-1 リリースリリースリリースリリース 8.0で列が削除された静的データ・ディクショナリ・ビューで列が削除された静的データ・ディクショナリ・ビューで列が削除された静的データ・ディクショナリ・ビューで列が削除された静的データ・ディクショナリ・ビュー

静的データ・ディクショナリ・ビュー静的データ・ディクショナリ・ビュー静的データ・ディクショナリ・ビュー静的データ・ディクショナリ・ビュー 削除された列削除された列削除された列削除された列

DEFCALLDEST DEFERRED_TRAN_DB

DEFERROR DEFERRED_TRAN_DB

ERROR_TIME

DEFTRAN COMMIT_COMMENT

DEFERRED_TRAN_DB

DESTINATION_LIST

ORIGIN_TRAN_DB

ORIGIN_TRAN_ID

ORIGIN_USER

DEFTRANDEST DEFERRED_TRAN_DB

C-12 Oracle8i 移行ガイド

Page 409: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8および Oracle8iで列が削除された静的データ・ディクショナリ・ビュー

リリースリリースリリースリリース 8.1で列が削除された静的データ・ディクショナリ・ビューで列が削除された静的データ・ディクショナリ・ビューで列が削除された静的データ・ディクショナリ・ビューで列が削除された静的データ・ディクショナリ・ビューリリース 8.1では、表 C-2に示す列は削除されました。

表表表表 C-2 リリースリリースリリースリリース 8.1で列が削除された静的データ・ディクショナリ・ビューで列が削除された静的データ・ディクショナリ・ビューで列が削除された静的データ・ディクショナリ・ビューで列が削除された静的データ・ディクショナリ・ビュー

静的データ・ディクショナリ・ビュー静的データ・ディクショナリ・ビュー静的データ・ディクショナリ・ビュー静的データ・ディクショナリ・ビュー 削除された列削除された列削除された列削除された列

DBA_AUDIT_OBJECT

USER_AUDIT_OBJECT

OBJECT_LABEL

SESSION_LABEL

DBA_AUDIT_SESSION

USER_AUDIT_SESSION

SESSION_LABEL

DBA_AUDIT_STATEMENT

USER_AUDIT_STATEMENT

SESSION_LABEL

DBA_AUDIT_TRAIL

USER_AUDIT_TRAIL

OBJECT_LABEL

SESSION_LABEL

DBA_CONTEXT ATTRIBUTE

ALL_IND_COLUMNS

DBA_IND_COLUMNS

USER_IND_COLUMNS

COLUMN_EXPRESSION

ALL_JOBS

DBA_JOBS

USER_JOBS

CLEARANCE_HI

CLEARANCE_LO

CURRENT_SESSION_LABEL

ALL_REFS

DBA_REFS

USER_REFS

HAS_REFERENTIAL_CONS

REFERENTIAL_CONS_NAME

静的データ・ディクショナリ・ビューの変更 C-13

Page 410: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8および Oracle8iで列が改名された静的データ・ディクショナリ・ビュー

Oracle8およびおよびおよびおよび Oracle8iで列が改名された静的データ・ディクで列が改名された静的データ・ディクで列が改名された静的データ・ディクで列が改名された静的データ・ディクショナリ・ビューショナリ・ビューショナリ・ビューショナリ・ビュー

次の項で示す列は、Oracle8および Oracle8iで改名されました。アプリケーションが、次に示す列を 1つ以上必要とする場合、それに応じてアプリケーションを変更します。

リリースリリースリリースリリース 8.0で列が改名された静的データ・ディクショナリ・ビューで列が改名された静的データ・ディクショナリ・ビューで列が改名された静的データ・ディクショナリ・ビューで列が改名された静的データ・ディクショナリ・ビューリリース 8.0では、表 C-3に示す列は改名されました。

表表表表 C-3 リリースリリースリリースリリース 8.0で列が改名された静的データ・ディクショナリ・ビューで列が改名された静的データ・ディクショナリ・ビューで列が改名された静的データ・ディクショナリ・ビューで列が改名された静的データ・ディクショナリ・ビュー

静的データ・ディクショナリ・ビュー静的データ・ディクショナリ・ビュー静的データ・ディクショナリ・ビュー静的データ・ディクショナリ・ビュー Oracle7の列名の列名の列名の列名 リリースリリースリリースリリース 8.0 の列名の列名の列名の列名

DBA_RCHILD TYPE TYPE#

DEFSCHEDULE LAST_ERROR LAST_ERROR_NUMBER

LAST_MSG LAST_ERROR_MESSAGE

注意注意注意注意 : リリース 8.1には、改名された列を持つ静的データ・ディクショナリ・ビューはありません。

C-14 Oracle8i 移行ガイド

Page 411: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

NULLを戻す可能性のある列を持つ静的データ・ディクショナリ・ビュー

NULLを戻す可能性のある列を持つ静的データ・ディクショナを戻す可能性のある列を持つ静的データ・ディクショナを戻す可能性のある列を持つ静的データ・ディクショナを戻す可能性のある列を持つ静的データ・ディクショナリ・ビューリ・ビューリ・ビューリ・ビュー

リリース 8.1から、表 C-4に示す静的データ・ディクショナリ・ビューの列は、NULLを戻す可能性があります。つまり、以前のリリースでは、これらの列は NULLを戻すことはできません。アプリケーションが、次に示す 1つ以上の列に対して、NULL以外の値を必要とする場合、それに応じてアプリケーションを変更します。

表表表表 C-4 リリースリリースリリースリリース 8.1でででで NULLを戻す可能性のある列を戻す可能性のある列を戻す可能性のある列を戻す可能性のある列

静的データ・ディクショナリ・ビュー静的データ・ディクショナリ・ビュー静的データ・ディクショナリ・ビュー静的データ・ディクショナリ・ビュー 列列列列 説明説明説明説明

DBA_DATA_FILES AUTOEXTENSIBLE

BLOCKS

BYTES

INCREMENT_BY

MAXBLOCKS

MAXBYTES

データ・ファイルがオフラインの場合は読取り不可能であるため、これらの列は NULLを戻します。

ALL_IND_COLUMNS

DBA_IND_COLUMNS

USER_IND_COLUMNS

COLUMN_NAME 索引が列についてではなく機能についての場合、この列は NULLを戻します。この場合、示すべき列がありません。

ALL_IND_PARTITIONS

DBA_IND_PARTITIONS

USER_IND_PARTITIONS

INITIAL_EXTENT

MAX_EXTENT

MIN_EXTENT

NEXT_EXTENT

PCT_INCREASE

索引がコンポジット・メソッドを使用して区分される場合や、デフォルト値が区分に対して特定されていない場合、これらの列は NULLを戻します。

ALL_OBJECT_TABLES

DBA_OBJECT_TABLES

USER_OBJECT_TABLES

TABLESPACE_NAME オブジェクト表がパーティション化されている場合、または一時表の場合、この列は NULLを戻します。

静的データ・ディクショナリ・ビューの変更 C-15

Page 412: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

NULLを戻す可能性のある列を持つ静的データ・ディクショナリ・ビュー

ALL_SEGMENTS

DBA_SEGMENTS

USER_SEGMENTS

BLOCKS

BYTES

EXTENTS

NEXT_EXTENT

PCT_INCREASE

ファイルがオフラインであるためセグメント・ヘッダーが読取り不可能の場合、または他に問題がある場合、BLOCKSの列、BYTESの列および EXTENTSの列は NULLを戻します。

セグメントを格納する表領域がローカル管理され、AUTOALLOCATEオプションを使用する場合、NEXT_EXTENTや PCT_INCREASE列は NULLを戻します。それは、システムが拡張サイズを選択し、アルゴリズムは NEXT_EXTENTやPCT_INCREASEの点において説明できないためです。

ALL_TAB_PARTITIONS

DBA_TAB_PARTITIONS

USER_TAB_PARTITIONS

INITIAL_EXTENT

MAX_EXTENT

MIN_EXTENT

NEXT_EXTENT

PCT_INCREASE

索引がコンポジット・メソッドを使用してパーティション化される場合や、パーティション化について、デフォルト値が特定されていない場合、これらの列は NULLを戻します。

ALL_TABLESPACES

DBA_TABLESPACES

USER_TABLESPACES

NEXT_EXTENT

PCT_INCREASE

表領域がローカル管理され、AUTOALLOCATEオプションを使用する場合、これらの列は NULLを戻します。それは、システムが拡張サイズを選択し、アルゴリズムはNEXT_EXTENTや PCT_INCREASEの点において説明できないためです。

ALL_TRIGGERS

DBA_TRIGGERS

USER_TRIGGERS

TABLE_NAME トリガーがシステム・トリガーの場合、この列は NULLを戻します。この場合、トリガーのオブジェクト基本型は、TABLEや VIEWになるかわりに、SCHEMAやDATABASEになります。

表表表表 C-4 リリースリリースリリースリリース 8.1でででで NULLを戻す可能性のある列を戻す可能性のある列を戻す可能性のある列を戻す可能性のある列(続き)(続き)(続き)(続き)

静的データ・ディクショナリ・ビュー静的データ・ディクショナリ・ビュー静的データ・ディクショナリ・ビュー静的データ・ディクショナリ・ビュー 列列列列 説明説明説明説明

C-16 Oracle8i 移行ガイド

Page 413: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8および Oracle8iで廃止された静的データ・ディクショナリ・ビュー

Oracle8およびおよびおよびおよび Oracle8iで廃止された静的データ・ディクショナで廃止された静的データ・ディクショナで廃止された静的データ・ディクショナで廃止された静的データ・ディクショナリ・ビューリ・ビューリ・ビューリ・ビュー

この項に示す静的データ・ディクショナリ・ビューは、Oracle8および Oracle8iで廃止されました。

リリースリリースリリースリリース 8.0で廃止された静的データ・ディクショナリ・ビューで廃止された静的データ・ディクショナリ・ビューで廃止された静的データ・ディクショナリ・ビューで廃止された静的データ・ディクショナリ・ビューリリース 8.0では、次の静的データ・ディクショナリ・ビューは廃止になり、リリース 8.0以降では使用できません。

リリースリリースリリースリリース 8.1で廃止された静的データ・ディクショナリ・ビューで廃止された静的データ・ディクショナリ・ビューで廃止された静的データ・ディクショナリ・ビューで廃止された静的データ・ディクショナリ・ビューリリース 8.1では、次の静的データ・ディクショナリ・ビューは廃止になり、リリース 8.1以降では使用できません。

ALL_HISTOGRAMS DBA_HISTOGRAMS

DEFCALL USER_HISTOGRAMS

ALL_LABELS

静的データ・ディクショナリ・ビューの変更 C-17

Page 414: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8および Oracle8iで廃止された静的データ・ディクショナリ・ビュー

C-18 Oracle8i 移行ガイド

Page 415: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

動的パフォーマンス・ビューの

D

動的パフォーマンス・ビューの変更動的パフォーマンス・ビューの変更動的パフォーマンス・ビューの変更動的パフォーマンス・ビューの変更

Oracle8および Oracle8iは新規の動的パフォーマンス・ビュー(V$ビュー)をサポートします。Oracle8および Oracle8iでは、一部の動的パフォーマンス・ビューは変更または廃止されています。この付録は、Oracle8および Oracle8iの新規の動的パフォーマンス・ビュー、変更された動的パフォーマンス・ビュー、および廃止された動的パフォーマンス・ビューを示します。

この付録では、次の項目について説明します。

� Oracle8および Oracle8iで追加された動的パフォーマンス・ビュー

� Oracle8および Oracle8iで列が追加された動的パフォーマンス・ビュー

� リリース 8.1で列が削除された動的パフォーマンス・ビュー

� Oracle8および Oracle8iで廃止された動的パフォーマンス・ビュー

� 動的パフォーマンス・ビューの日付列

参照参照参照参照 : この付録で示す新規のビューまたは変更されたビューの詳細、およびこれらのビューにある列の詳細は、『Oracle8i リファレンス・マニュアル』を参照してください。

変更 D-1

Page 416: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8および Oracle8iで追加された動的パフォーマンス・ビュー

Oracle8およびおよびおよびおよび Oracle8iで追加された動的パフォーマンス・で追加された動的パフォーマンス・で追加された動的パフォーマンス・で追加された動的パフォーマンス・ビュービュービュービュー

この項で示す動的パフォーマンス・ビューは、Oracle8および Oracle8iで新しく追加されました。

リリースリリースリリースリリース 8.0で追加された動的パフォーマンス・ビューで追加された動的パフォーマンス・ビューで追加された動的パフォーマンス・ビューで追加された動的パフォーマンス・ビューリリース 8.0では、次の動的パフォーマンス・ビューが追加されました。

GV$ACCESS GV$ACTIVE_INSTANCES

GV$AQ GV$ARCHIVE

GV$ARCHIVE_DEST GV$ARCHIVED_LOG

GV$BACKUP GV$BACKUP_CORRUPTION

GV$BACKUP_DATAFILE GV$BACKUP_DEVICE

GV$BACKUP_PIECE GV$BACKUP_REDOLOG

GV$BACKUP_SET GV$BGPROCESS

GV$BH GV$BUFFER_POOL

GV$CACHE GV$CIRCUIT

GV$CLASS_PING GV$COMPATIBILITY

GV$COMPATSEG GV$CONTROLFILE

GV$CONTROLFILE_RECORD_SECTION GV$COPY_CORRUPTION

GV$CURRENT_BUCKET GV$DATABASE

GV$DATAFILE GV$DATAFILE_COPY

GV$DATAFILE_HEADER GV$DB_OBJECT_CACHE

GV$DB_PIPES GV$DBFILE

GV$DBLINK GV$DELETED_OBJECT

GV$DISPATCHER GV$DISPATCHER_RATE

GV$DLM_CONVERT_LOCAL GV$DLM_CONVERT_REMOTE

GV$DLM_LATCH GV$DLM_LOCKS

GV$DLM_MISC GV$ENABLEDPRIVS

GV$ENQUEUE_LOCK GV$EVENT_NAME

GV$EXECUTION GV$FALSE_PING

GV$FILE_PING GV$FILESTAT

D-2 Oracle8i 移行ガイド

Page 417: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8および Oracle8iで追加された動的パフォーマンス・ビュー

GV$FIXED_TABLE GV$FIXED_VIEW_DEFINITION

GV$GLOBAL_TRANSACTION GV$INDEXED_FIXED_COLUMN

GV$INSTANCE GV$LATCH

GV$LATCH_CHILDREN GV$LATCH_MISSES

GV$LATCH_PARENT GV$LATCHHOLDER

GV$LATCHNAME GV$LIBRARYCACHE

GV$LICENSE GV$LOADCSTAT

GV$LOADPSTAT GV$LOADTSTAT

GV$LOCK GV$LOCK_ACTIVITY

GV$LOCK_ELEMENT GV$LOCKED_OBJECT

GV$LOCKS_WITH_COLLISIONS GV$LOG

GV$LOG_HISTORY GV$LOGFILE

GV$LOGHIST GV$MLS_PARAMETERS

GV$MTS GV$MYSTAT

GV$NLS_PARAMETERS GV$NLS_VALID_VALUES

GV$OBJECT_DEPENDENCY GV$OFFLINE_RANGE

GV$OPEN_CURSOR GV$OPTION

GV$PARAMETER GV$PING

GV$PQ_SESSTAT GV$PQ_SLAVE

GV$PQ_SYSSTAT GV$PQ_TQSTAT

GV$PROCESS GV$PWFILE_USERS

GV$QUEUE GV$RECENT_BUCKET

GV$RECOVER_FILE GV$RECOVERY_FILE_STATUS

GV$RECOVERY_LOG GV$RECOVERY_PROGRESS

GV$RECOVERY_STATUS GV$REQDIST

GV$RESOURCE GV$RESOURCE_LIMIT

GV$ROLLSTAT GV$ROWCACHE

GV$ROWCACHE_PARENT GV$ROWCACHE_SUBORDINATE

GV$SESS_IO GV$SESSION

GV$SESSION_CONNECT_INFO GV$SESSION_CURSOR_CACHE

GV$SESSION_EVENT GV$SESSION_LONGOPS

GV$SESSION_OBJECT_CACHE GV$SESSION_WAIT

動的パフォーマンス・ビューの変更 D-3

Page 418: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8および Oracle8iで追加された動的パフォーマンス・ビュー

GV$SESSTAT GV$SGA

GV$SGASTAT GV$SHARED_POOL_RESERVED

GV$SHARED_SERVER GV$SORT_SEGMENT

GV$SORT_USAGE GV$SQL

GV$SQL_BIND_DATA GV$SQL_BIND_METADATA

GV$SQL_CURSOR GV$SQL_SHARED_MEMORY

GV$SQLAREA GV$SQLTEXT

GV$SQLTEXT_WITH_NEWLINES GV$STATNAME

GV$SUBCACHE GV$SYSSTAT

GV$SYSTEM_CURSOR_CACHE GV$SYSTEM_EVENT

GV$SYSTEM_PARAMETER GV$TABLESPACE

GV$THREAD GV$TIMER

GV$TRANSACTION GV$TRANSACTION_ENQUEUE

GV$TYPE_SIZE GV$VERSION

GV$WAITSTAT V$AQ

V$ARCHIVE_DEST V$ARCHIVED_LOG

V$BACKUP_CORRUPTION V$BACKUP_DATAFILE

V$BACKUP_DEVICE V$BACKUP_PIECE

V$BACKUP_REDOLOG V$BACKUP_SET

V$BUFFER_POOL V$CLASS_PING

V$CONTROLFILE_RECORD_SECTION V$COPY_CORRUPTION

V$CURRENT_BUCKET V$DATAFILE_COPY

V$DATAFILE_HEADER V$DELETED_OBJECT

V$DISPATCHER_RATE V$DLM_CONVERT_LOCAL

V$DLM_CONVERT_REMOTE V$DLM_LATCH

V$DLM_LOCKS V$DLM_MISC

V$ENQUEUE_LOCK V$FILE_PING

V$GLOBAL_TRANSACTION V$LOADPSTAT

V$OFFLINE_RANGE V$RECENT_BUCKET

V$RECOVERY_PROGRESS V$RESOURCE_LIMIT

V$ROWCACHE_PARENT V$ROWCACHE_SUBORDINATE

V$SESSION_LONGOPS V$SESSION_OBJECT_CACHE

D-4 Oracle8i 移行ガイド

Page 419: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8および Oracle8iで追加された動的パフォーマンス・ビュー

リリースリリースリリースリリース 8.1で追加された動的パフォーマンス・ビューで追加された動的パフォーマンス・ビューで追加された動的パフォーマンス・ビューで追加された動的パフォーマンス・ビューリリース 8.1では、次の動的パフォーマンス・ビューが追加されました。

V$SORT_USAGE V$SUBCACHE

V$TABLESPACE V$TRANSACTION_ENQUEUE

GV$ARCHIVE_PROCESSES GV$BACKUP_ASYNC_IO

GV$BACKUP_SYNC_IO GV$CONTEXT

GV$DLM_ALL_LOCKS GV$DLM_RESS

GV$FAST_START_SERVERS GV$FAST_START_TRANSACTIONS

GV$GLOBAL_BLOCKED_LOCKS GV$HS_AGENT

GV$HS_SESSION GV$INSTANCE_RECOVERY

GV$LOGMNR_CONTENTS GV$LOGMNR_DICTIONARY

GV$LOGMNR_LOGS GV$LOGMNR_PARAMETERS

GV$PARALLEL_DEGREE_LIMIT_MTH GV$PROXY_ARCHIVEDLOG

GV$PROXY_DATAFILE GV$PX_PROCESS

GV$PX_PROCESS_SYSSTAT GV$PX_SESSION

GV$PX_SESSTAT GV$RESERVED_WORDS

GV$RSRC_CONSUMER_GROUP GV$RSRC_CONSUMER_GROUP_CPU_MTH

GV$RSRC_PLAN GV$RSRC_PLAN_CPU_MTH

GV$TEMP_EXTENT_MAP GV$TEMP_EXTENT_POOL

GV$TEMP_PING GV$TEMP_SPACE_HEADER

GV$TEMPFILE GV$TEMPORARY_LOBS

GV$TEMPSTAT V$ARCHIVE_PROCESSES

V$BACKUP_ASYNC_IO V$BACKUP_SYNC_IO

V$CONTEXT V$DLM_ALL_LOCKS

V$DLM_RESS V$FAST_START_SERVERS

V$FAST_START_TRANSACTIONS V$GLOBAL_BLOCKED_LOCKS

V$HS_AGENT V$HS_SESSION

V$INSTANCE_RECOVERY V$LOGMNR_CONTENTS

V$LOGMNR_DICTIONARY V$LOGMNR_LOGS

V$LOGMNR_PARAMETERS V$OBSOLETE_PARAMETER

動的パフォーマンス・ビューの変更 D-5

Page 420: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8および Oracle8iで追加された動的パフォーマンス・ビュー

リリースリリースリリースリリース 8.1.6で追加された動的パフォーマンス・ビューで追加された動的パフォーマンス・ビューで追加された動的パフォーマンス・ビューで追加された動的パフォーマンス・ビューリリース 8.1.6では、次の動的パフォーマンス・ビューが追加されました。

V$PARALLEL_DEGREE_LIMIT_MTH V$PROXY_ARCHIVEDLOG

V$PROXY_DATAFILE V$PX_PROCESS

V$PX_PROCESS_SYSSTAT V$PX_SESSION

V$PX_SESSTAT V$RESERVED_WORDS

V$RSRC_CONSUMER_GROUP V$RSRC_CONSUMER_GROUP_CPU_MTH

V$RSRC_PLAN V$RSRC_PLAN_CPU_MTH

V$TEMP_EXTENT_MAP V$TEMP_EXTENT_POOL

V$TEMP_PING V$TEMP_SPACE_HEADER

V$TEMPFILE V$TEMPORARY_LOBS

V$TEMPSTAT

GV$BSP GV$$BUFFER_POOL_STATISTICS

GV$FAST_START_SERVERS GV$FAST_START_TRANSACTIONS

GV$HS_PARAMETER GV$OBSOLETE_PARAMETER

V$BSP V$$BUFFER_POOL_STATISTICS

V$FAST_START_SERVERS V$FAST_START_TRANSACTIONS

V$HS_PARAMETER

D-6 Oracle8i 移行ガイド

Page 421: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8および Oracle8iで改名された動的パフォーマンス・ビュー

Oracle8およびおよびおよびおよび Oracle8iで改名された動的パフォーマンス・で改名された動的パフォーマンス・で改名された動的パフォーマンス・で改名された動的パフォーマンス・ビュービュービュービュー

この項で示す動的パフォーマンス・ビューは、Oracle8および Oracle8iで改名されました。アプリケーションが、次に示すビューを 1つ以上必要とする場合、それに応じてアプリケーションを変更します。

リリースリリースリリースリリース 8.1で改名された動的パフォーマンス・ビューで改名された動的パフォーマンス・ビューで改名された動的パフォーマンス・ビューで改名された動的パフォーマンス・ビューリリース 8.1では、次の動的パフォーマンス・ビューが改名されました。

表表表表 D-1 リリースリリースリリースリリース 8.1で改名された動的パフォーマンス・ビューで改名された動的パフォーマンス・ビューで改名された動的パフォーマンス・ビューで改名された動的パフォーマンス・ビュー

リリースリリースリリースリリース 8.1.3 およびリリースおよびリリースおよびリリースおよびリリース 8.1.4の名前の名前の名前の名前 リリースリリースリリースリリース 8.1.5 以降の名前以降の名前以降の名前以降の名前

GV$RECOVERY_SERVERS GV$FAST_START_SERVERS

GV$RECOVERY_TRANSACTIONS GV$FAST_START_TRANSACTIONS

GV$TARGETRBA GV$INSTANCE_RECOVERY

V$RECOVERY_SERVERS V$FAST_START_SERVERS

V$RECOVERY_TRANSACTIONS V$FAST_START_TRANSACTIONS

V$TARGETRBA V$INSTANCE_RECOVERY

注意注意注意注意 : リリース 8.0では、動的パフォーマンス・ビューは改名されていません。

動的パフォーマンス・ビューの変更 D-7

Page 422: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8および Oracle8iで列が追加された動的パフォーマンス・ビュー

Oracle8およびおよびおよびおよび Oracle8iで列が追加された動的パフォーマンス・で列が追加された動的パフォーマンス・で列が追加された動的パフォーマンス・で列が追加された動的パフォーマンス・ビュービュービュービュー

次の項で示す動的パフォーマンス・ビューに、新しい列が追加されました。

リリースリリースリリースリリース 8.0で列が追加された動的パフォーマンス・ビューで列が追加された動的パフォーマンス・ビューで列が追加された動的パフォーマンス・ビューで列が追加された動的パフォーマンス・ビューリリース 8.0では、次の動的パフォーマンス・ビューに新しい列が追加されました。

V$BH V$CACHE

V$CACHE_LOCK V$DATABASE

V$DATAFILE V$FALSE_PING

V$FILESTAT V$INSTANCE

V$LATCH_MISSES V$LOADCSTAT

V$LOADTSTAT V$LOG_HISTORY

V$PING V$SESSION

V$SESSION_EVENT V$SGASTAT

V$SORT_SEGMENT V$SQL

V$THREAD V$TRANSACTION

D-8 Oracle8i 移行ガイド

Page 423: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8および Oracle8iで列が追加された動的パフォーマンス・ビュー

リリースリリースリリースリリース 8.1で列が追加された動的パフォーマンス・ビューで列が追加された動的パフォーマンス・ビューで列が追加された動的パフォーマンス・ビューで列が追加された動的パフォーマンス・ビューリリース 8.1では、次の動的パフォーマンス・ビューに新しい列が追加されました。

GV$ARCHIVE_DEST GV$BACKUP_PIECE

GV$BH GV$CIRCUIT

GV$DATABASE GV$DATAFILE

GV$DISPATCHER GV$DLM_LATCH

GV$DLM_LOCKS GV$INSTANCE

GV$INSTANCE_RECOVERY GV$LOGMNR_CONTENTS

GV$SESSION GV$SESSION_LONGOPS

GV$SQL V$ARCHIVE_DEST

V$BACKUP_PIECE V$BH

V$CIRCUIT V$DATABASE

V$DATAFILE V$DISPATCHER

V$DLM_LATCH V$DLM_LOCKS

V$INSTANCE V$INSTANCE_RECOVERY

V$LOGMNR_CONTENTS V$SESSION

V$SESSION_LONGOPS V$SQL

注意注意注意注意 : GV$TARGETRBAと V$TARGETRBAの動的パフォーマンス・ビューは、リリース 8.1.3で追加されました。リリース 8.1.5以降では、これらのビューの名前は、それぞれ GV$INSTANCE_RECOVERYとV$INSTANCE_RECOVERYに変更されています。前述のリストが示すように、リリース 8.1.5では、新しい名前の下にあるこれらの動的パフォーマンス・ビューに、新しい列が追加されています。

動的パフォーマンス・ビューの変更 D-9

Page 424: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle8および Oracle8iで列が追加された動的パフォーマンス・ビュー

リリースリリースリリースリリース 8.1.6で列が追加された動的パフォーマンス・ビューで列が追加された動的パフォーマンス・ビューで列が追加された動的パフォーマンス・ビューで列が追加された動的パフォーマンス・ビューリリース 8.1.6では、次の動的パフォーマンス・ビューに新しい列が追加されました。

GV$BACKUP_PIECE GV$INSTANCE

GV$MTS GV$PROXY_ARCHIVEDLOG

GV$PROXY_DATAFILE GV$SESSION

GV$SORT_USAGE V$BACKUP_PIECE

V$INSTANCE V$MTS

V$PROXY_ARCHIVEDLOG V$PROXY_DATAFILE

V$SESSION

D-10 Oracle8i 移行ガイド

Page 425: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

リリース 8.1で列が削除された動的パフォーマンス・ビュー

リリースリリースリリースリリース 8.1で列が削除された動的パフォーマンス・ビューで列が削除された動的パフォーマンス・ビューで列が削除された動的パフォーマンス・ビューで列が削除された動的パフォーマンス・ビューリリース 8.1では、次の項で示す列は削除されました。アプリケーションが、次に示す列を1つ以上必要とする場合、それに応じて、アプリケーションを変更します。

リリースリリースリリースリリース 8.1で列が削除された動的パフォーマンス・ビューで列が削除された動的パフォーマンス・ビューで列が削除された動的パフォーマンス・ビューで列が削除された動的パフォーマンス・ビューリリース 8.1では、表 D-2に示す列は削除されました。

表表表表 D-2 リリースリリースリリースリリース 8.1で列が削除された動的パフォーマンス・ビューで列が削除された動的パフォーマンス・ビューで列が削除された動的パフォーマンス・ビューで列が削除された動的パフォーマンス・ビュー

動的パフォーマンス・ビュー動的パフォーマンス・ビュー動的パフォーマンス・ビュー動的パフォーマンス・ビュー 削除された列削除された列削除された列削除された列

V$ARCHIVE_DEST ARCMODE

V$DLM_LATCH IMM_GETS

LATCH_TYPE

TTL_GETS

V$DLM_LOCKS RESOURCE_NAME

V$SESSION_LONGOPS APPLICATION_DATA_1

APPLICATION_DATA_2

APPLICATION_DATA_3

COMPNAM

CURRENT_TIME

MSG

OBJID

OPID

STEPID

STEPSOFAR

STEPTOTAL

UPDATE_COUNT

動的パフォーマンス・ビューの変更 D-11

Page 426: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

リリース 8.1で列が削除された動的パフォーマンス・ビュー

リリースリリースリリースリリース 8.1.6で列が改名された動的パフォーマンス・ビューで列が改名された動的パフォーマンス・ビューで列が改名された動的パフォーマンス・ビューで列が改名された動的パフォーマンス・ビュー次の項で示す列は、リリース 8.1.6で改名されました。アプリケーションが、次に示す列を 1つ以上必要とする場合、それに応じてアプリケーションを変更します。

表表表表 D-3 リリースリリースリリースリリース 8.1.6で列が改名された動的パフォーマンス・ビューで列が改名された動的パフォーマンス・ビューで列が改名された動的パフォーマンス・ビューで列が改名された動的パフォーマンス・ビュー

動的パフォーマンス・ビュー動的パフォーマンス・ビュー動的パフォーマンス・ビュー動的パフォーマンス・ビュー リリースリリースリリースリリース 8.1.5 以前の列名以前の列名以前の列名以前の列名 リリースリリースリリースリリース 8.1.6 以降の列名以降の列名以降の列名以降の列名

GV$DISPATCHER_RATE

および

V$DISPATCHER_RATE

NUM_LOOPS_TRACKED TTL_LOOPS

NUM_MSG_TRACKED TTL_MSG

NUM_SVR_BUF_TRACKED TTL_SVR_BUF

NUM_CLT_BUF_TRACKED TTL_CLT_BUF

NUM_BUF_TRACKED TTL_BUF

NUM_IN_CONNECT_TRACKED TTL_IN_CONNECT

NUM_OUT_CONNECT_TRACKED TTL_OUT_CONNECT

NUM_RECONNECT_TRACKED TTL_RECONNECT

D-12 Oracle8i 移行ガイド

Page 427: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

動的パフォーマンス・ビューの日付列

Oracle8およびおよびおよびおよび Oracle8iで廃止された動的パフォーマンス・で廃止された動的パフォーマンス・で廃止された動的パフォーマンス・で廃止された動的パフォーマンス・ビュービュービュービュー

この項に示す動的パフォーマンス・ビューは、Oracle8および Oracle8iで廃止されました。

リリースリリースリリースリリース 8.1で廃止された動的パフォーマンス・ビューで廃止された動的パフォーマンス・ビューで廃止された動的パフォーマンス・ビューで廃止された動的パフォーマンス・ビューリリース 8.1では、次の動的パフォーマンス・ビューは廃止になり、リリース 8.1以降では使用できません。

動的パフォーマンス・ビューの日付列動的パフォーマンス・ビューの日付列動的パフォーマンス・ビューの日付列動的パフォーマンス・ビューの日付列Oracle7では、動的パフォーマンス・ビューの日付列は、すべてMM/DD/YY HH24:MI:SSという書式の VARCHAR2(20)文字列です。Oracle8および Oracle8iでは、日付列は、すべて DATEデータ型を使用する実際の DATE列です。以前の VARCHAR2(20)文字列とは対照的に、DATEデータ型には次のような利点があります。

� すべての日付列が DATEデータ型であるため、一貫性を確立します。

� SQLおよび PL/SQLでは、日付算術(ソートを含む)を簡易化します。

� NLS_DATE_FORMATを使用して、日付書式を設定します。

� NLS_DATE_FORMATをMM/DD/YY HH24:MI:SSへ設定することにより、以前の書式で日付を見せることができます。

� 2桁の年数値の使用を避け、それによって西暦 2000年以降の問題が避けることができます。

GV$CURRENT_BUCKET GV$RECENT_BUCKET

V$CURRENT_BUCKET V$RECENT_BUCKET

注意注意注意注意 : リリース 8.0では、動的パフォーマンス・ビューは廃止されていません。

注意注意注意注意 : Oracle7は、動的パフォーマンス・ビューの VARCHAR(20)データ型を使用して日付を表示しますが、完全には西暦 2000年問題を避けることができません。Oracle7は、REDOログ・ファイルと制御ファイルにある最も近い秒に合わせて時間を格納します。

動的パフォーマンス・ビューの変更 D-13

Page 428: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

動的パフォーマンス・ビューの日付列

D-14 Oracle8i 移行ガイド

Page 429: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

新しい内部データ型と SQL

E

新しい内部データ型と新しい内部データ型と新しい内部データ型と新しい内部データ型と SQL関数関数関数関数

この付録では、Oracle8および Oracle8iで追加された新しい内部データ型と SQL関数を示します。この付録では、次の項目について説明します。

� 新しいリリースで追加された内部データ型

� 新しいリリースで追加された SQL関数

参照参照参照参照 : Oracleの内部データ型および SQL関数の詳細は、『Oracle8i SQLリファレンス』を参照してください。

関数 E-1

Page 430: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

新しいリリースで追加された内部データ型

新しいリリースで追加された内部データ型新しいリリースで追加された内部データ型新しいリリースで追加された内部データ型新しいリリースで追加された内部データ型この項で示す内部データ型は、Oracle8および Oracle8iで新しく追加されました。これらのデータ型は、SELECTリスト内の関数名として使用される場合があります。ただし、スキーマ(schema.function)で修飾されている場合に限ります。次に、その例を示します。

select scott.true() ...

Oracle8および Oracle8iでは、スキーマ修飾がない場合はエラーを生成しますが、バージョン 7では、未修飾で使用するとエラーを生成せずに機能します。

リリースリリースリリースリリース 8.0で追加された内部データ型で追加された内部データ型で追加された内部データ型で追加された内部データ型リリース 8.0では、次の内部データ型が追加されました。

� NCHAR

� NVARCHAR2

� CLOB

� NCLOB

� BLOB

� BFILE

リリースリリースリリースリリース 8.1で追加された内部データ型で追加された内部データ型で追加された内部データ型で追加された内部データ型リリース 8.1では、次の内部データ型が追加されました。

� UROWID(ユニバーサル ROWID)

E-2 Oracle8i 移行ガイド

Page 431: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

新しいリリースで追加された SQL関数

新しいリリースで追加された新しいリリースで追加された新しいリリースで追加された新しいリリースで追加された SQL関数関数関数関数この項で示す SQL関数は、Oracle8および Oracle8iで新しく追加されました。

リリースリリースリリースリリース 8.0で追加されたで追加されたで追加されたで追加された SQL関数関数関数関数リリース 8.0では、次の SQL関数が追加されました。

単一行関数単一行関数単一行関数単一行関数リリース 8.0では、次の単一行関数が追加されました。

� EMPTY_[B | C]LOB

� BFILENAME

� NLS_CHARSET_DECL_LEN

� NLS_CHARSET_ID

� NLS_CHARSET_NAME

オブジェクト参照関数オブジェクト参照関数オブジェクト参照関数オブジェクト参照関数リリース 8.0では、次のオブジェクト参照関数が追加されました。

� DEFEF

� MAKE_REF

� REF

� REFTOHEX

� VALUE

新しい内部データ型と SQL関数 E-3

Page 432: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

新しいリリースで追加された SQL関数

リリースリリースリリースリリース 8.1で追加されたで追加されたで追加されたで追加された SQL関数関数関数関数リリース 8.1では、次の関数が追加されました。

文字関数文字関数文字関数文字関数リリース 8.1では、次の文字関数が追加されました。

� TRIM

変換関数変換関数変換関数変換関数リリース 8.1では、次の変換関数が追加されました。

� TO_LOB

集計関数集計関数集計関数集計関数リリース 8.1では、次の集計関数が追加されました。

� GROUPING

単一行関数単一行関数単一行関数単一行関数リリース 8.1では、次の単一行関数が追加されました。

� SYS_CONTEXT

� SYS_GUID

注意注意注意注意 : SYSで始まる関数名は、Oracleが確保しています。関数名を SYSで開始することはできません。関数名を SYSで開始すると、互換性に問題が発生する可能性があります。

E-4 Oracle8i 移行ガイド

Page 433: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

移行およびアップグレードに関する SQL*Netおよび Net8の考

F

移行およびアップグレードに関する移行およびアップグレードに関する移行およびアップグレードに関する移行およびアップグレードに関する SQL*Net

およびおよびおよびおよび Net8の考慮点の考慮点の考慮点の考慮点

この付録では、SQL*Netと Net8の共存、移行およびアップグレードについて説明します。この付録では、次の項目について説明します。

� Net8と SQL*Netの違い

� クライアントおよびデータベースの共存問題

� Net8 Assistantを使用した互換性の問題の処理

� Net8リリース 8.1への移行およびアップグレード

� Oracle Connection Managerリリース 8.1の使用

� Oracle Namesリリース 8.0およびリリース 8.1の使用

慮点 F-1

Page 434: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Net8と SQL*Netの違い

Net8とととと SQL*Netの違いの違いの違いの違いSQL*Netを Net8へ移行する場合は、次の機能に注意してください。

必須ではありませんが、次の理由のため、ご使用のネットワークを Net8に移行することをお薦めします。

� 最小限の設定作業

Net8を使用すると、ネットワーク・コンポーネントの設定処理が簡単になります。Net8を使用すると、クライアント、ネットワーク・リスナー、Oracle Names Serverおよび Oracle Connection Managerをデフォルトの設定で起動できます。これによって、構成ファイルを作成およびメンテナンスする必要性が最小限になります。

インストール・プロセスの一部として、Net8 Configuration Assistantは、単純な環境に必要な Net8構成ファイルの基本パラメータを設定します。

Net8を使用すると、Net8 Assistantによって、Oracle Network Managerで提供されているほとんどの機能が置き換えられます。Net8 Assistantを使用して、既存のtnsnames.oraファイル、sqlnet.oraファイル、listener.oraファイルおよびnames.oraファイルを作成または変更します。

� 拡張されたネットワークの機能性。Net8は、SQL*Netバージョン 2で使用可能な機能の多くを、同じ機能または拡張された機能に置き換えます。

機能機能機能機能 SQL*Net Net8

複数プロトコル・サポート

Multi-Protocol Interchangeによって、TNSネットワーク内のアプリケーションは異なるプルトコルで通信できます。

Oracle Connection Managerには複数プロトコル・サポート機能があります。これによって、異なるプロトコル・スタックで動作するクライアントとデータベースを相互に通信させることができます。

参照参照参照参照 : 複数プロトコル・サポートの詳細は、『Oracle8i Net8 管理者ガイド』を参照してください。

構成 Tools � SQL*Net Easy Configuration(サービス名の作成)

� Oracle Network Manager(複合構成)

� Net8 Configuration Assistant(リスナー、ネット・サービス名およびネーミング・メソッドの基本構成)

� Net8 Assistant(複合構成およびネットワーク管理)

外部プロシージャ なし 外部プロシージャ、ファンクションまたはプロシージャのサポート。これらは、第三世代言語(3GL)で記述され、PL/SQLコードでコールできます。

F-2 Oracle8i移行ガイド

Page 435: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Net8と SQL*Netの違い

次の表に、各 Oracleリリースでサポートされているネットワーク機能を示します。

廃止された廃止された廃止された廃止された SQL*Netパラメータパラメータパラメータパラメータ次の SQL*Netパラメータは、Net8では機能しません。

データベース・データベース・データベース・データベース・リリースリリースリリースリリース

7.1.4 7.1.5 7.1.6 7.2.2 7.2.3 7.3.2 7.3.3 7.3.4 8.x

SQL*Net 2.1.4 2.1.5 2.1.6 2.2.2 2.2.3 2.3.2 2.3.3 2.3.4 なし

Oracle Names Server

1.0 1.0 1.0 1.1 2.0 2.0.2 2.0.3 2.0.4 8.x

Oracle Advanced Networking Option

なし なし なし なし なし 2.3.2 2.3.3 2.3.4 8.0.x

Oracle Advanced Security

なし なし なし なし なし なし なし なし 8.1.x

Secure Network Services1

1 Secure Network Servicesおよび SQL*Net/DCEの機能は、現在 Oracle Advanced Networking Optionおよび Oracle Advanced Security Optionに含まれます。

1.0.1 1.0.2 1.0.3 1.1 2.0 なし なし なし なし

Net8 なし なし なし なし なし なし なし なし 8.x

パラメータパラメータパラメータパラメータ ファイルファイルファイルファイル 説明説明説明説明

COMMUNITY tnsnames.ora COMMUNITYパラメータは、すべてのネットワーク・サービス・アドレスに必要な部分でした。そのため、このパラメータはアドレスのある場所(たとえば、ローカル・ネーミング・ファイルやリスナー構成ファイルなど)にある可能性があります。

NAMES.DEFAULT_ZONE sqlnet.ora NAMES.DEFAULT_ZONEは、NAMES.DEFAULT_DOMAINおよびNAMES.PREFERRED_SERVERSパラメータの変形としてプロファイルにありました。

注意注意注意注意 : これらのパラメータを削除するかまたは残しておくかの選択ができます。これらのパラメータは必要ではありませんが、ネットワーク操作には影響しません。

移行およびアップグレードに関する SQL*Netおよび Net8の考慮点 F-3

Page 436: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

クライアントおよびデータベースの共存問題

クライアントおよびデータベースの共存問題クライアントおよびデータベースの共存問題クライアントおよびデータベースの共存問題クライアントおよびデータベースの共存問題ご使用の環境で移行またはアップグレードが適切かどうかを判断する前に、次のようなクライアント /データベース接続の問題を考慮してください。

� リリース 8.1クライアントからリリース 8.1データベースへの接続

� リリース 8.0/Oracle7クライアントからリリース 8.1データベースへの接続

� リリース 8.1クライアントからリリース 8.0/Oracle7データベースへの接続

� Oracle Names

リリースリリースリリースリリース 8.1クライアントからリリースクライアントからリリースクライアントからリリースクライアントからリリース 8.1データベースへの接続データベースへの接続データベースへの接続データベースへの接続図 F-1に示すとおり、Oracleリリース 8.1のクライアントには Net8 Clientリリース 8.1、Oracleリリース 8.1のデータベースにはNet8 Serverリリース 8.1が必要です。

図図図図 F-1 Oracle8 クライアントからクライアントからクライアントからクライアントから Oracle8iデータベースデータベースデータベースデータベース

クライアントはサービス名で構成する必要があります。ローカル・ネーミング・メソッドの構成の詳細は、『Oracle8i Net8 管理者ガイド』を参照してください。

リリースリリースリリースリリース 8.0/Oracle7クライアントからリリースクライアントからリリースクライアントからリリースクライアントからリリース 8.1データベースへの接続データベースへの接続データベースへの接続データベースへの接続図 F-2に示すとおり、Oracleリリース 8.0のクライアントには互換性のある Net8 Clientのリリース、Oracle7のクライアントには SQL*Net Client、Oracleリリース 8.1のデータベースには Net8 Serverリリース 8.1が必要です。

Oracle8i クライアント�リリース 8.1

Oracle8i データベース�リリース 8.1

Net8 Clientリリース 8.1

Net8 Server�リリース 8.1

ネットワーク�

F-4 Oracle8i移行ガイド

Page 437: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

クライアントおよびデータベースの共存問題

図図図図 F-2 Oracle8 クライアント・リリースクライアント・リリースクライアント・リリースクライアント・リリース 8.0/Oracle7クライアントからクライアントからクライアントからクライアントから Oracle8iデータベースデータベースデータベースデータベース

Oracleリリース 8.1のデータベースへ接続するために作成された新しい接続記述子は、データベースを SERVICE_NAMEパラメータのサービス名によって識別します。現在(Oracleリリース 8.1のデータベースを識別するために)SIDパラメータで構成されている接続記述子は残しておくことができます。新機能(クライアント・ロード・バランスやConnect-Time Failoverなど)の利点を得るために、SIDを SERVICE_NAMEに置き換えることをお薦めします。

Oracleリリース 8.0または Oracle7のデータベースへの接続記述子は、次の例のように SIDを使用します。

sales= (description= (address=(protocol=tcp)(host=sales-sun1)(port=1521)) (connect_data= (sid=sales))

参照参照参照参照 : SIDではなく SERVICE_NAMEでデータベースを識別する方法は、『Oracle8i Net8 管理者ガイド』を参照してください。

Oracle8 クライアント�リリース 8.0

Net8 Clientリリース 8.0

Net8 Serverリリース 8.1

Net8 Server�リリース 8.1

Oracle8iリリース 8.1データベース�

Oracle7 クライアント�

SQL*NetClient

ネットワーク�

ネットワーク�

移行およびアップグレードに関する SQL*Netおよび Net8の考慮点 F-5

Page 438: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

クライアントおよびデータベースの共存問題

Oracleリリース 8.0のデータベースへの接続記述子は、次の例のように SERVICE_NAMEを使用します。

sales= (description= (address=(protocol=tcp)(host=sales-sun1)(port=1521)) (connect_data= (service_name=sales.us.acme.com))

SERVICE_NAMEを使用するように接続記述子を変更するには、F-9ページの「Net8 Assistantを使用した互換性の問題の処理」で説明されているように、Net8 Assistantの互換性モードを使用します。

Oracleリリース 8.0または Oracle7のクライアントが Oracleリリース 8.1のデータベースに接続している環境について、次の質問を考慮してください。

� 使用しているサード・パーティー製アプリケーションは、Net8リリース 8.1の機能の利点を得ることができますか ?

できません。Net8ライブラリで動作するようにアプリケーションを再構築またはアップグレードする必要があります。

� クライアントがリモートの Oracleリリース 8.1データベースに接続するには、Net8 Clientが必要ですか ?

必要ありません。クライアントがリモートの Oracleリリース 8.1データベースに接続する必要がある場合、SQL*Net Clientリリース 2.xを Oracle7クライアントに、Net8 Clientリリース 8.0を Oracleリリース 8.0のクライアントに設定するのみです。制限事項は、Net8で使用できる新しいネットワーク機能(クライアント・ロード・バランスや Connect-Time Failoverなど)がこの接続では使用できないことのみです。

� クライアントがローカルの Oracleリリース 8.1データベースに接続するには、Net8 Clientが必要ですか ?

必要です。Oracle7のクライアントがローカルの Oracleリリース 8.1のデータベースに接続する必要がある場合、同じシステムに SQL*Net Clientリリース 2.x、Net8 Clientリリース 8.1および Net8 Serverリリース 8.1が必要です。同様に、Oracleリリース 8.0のクライアントには、同じシステムに Net8 Clientリリース 8.0、Net8 Clientリリース 8.1および Net8 Serverリリース 8.1が必要です。

Net8 Clientおよび Net8 Serverは、Oracle8i Enterprise Editionまたは Oracle8iのインストール中にインストールされます。

参照参照参照参照 : リリース 8.1の機能の詳細は、『Oracle8i Net8 管理者ガイド』を参照してください。

参照参照参照参照 : リリース 8.1の機能の詳細は、『Oracle8i Net8 管理者ガイド』を参照してください。

F-6 Oracle8i移行ガイド

Page 439: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

クライアントおよびデータベースの共存問題

リリースリリースリリースリリース 8.1クライアントからリリースクライアントからリリースクライアントからリリースクライアントからリリース 8.0/Oracle7データベースへの接続データベースへの接続データベースへの接続データベースへの接続図 F-3に示すとおり、

� Oracleリリース 8.1のクライアントには、Net8 Clientリリース 8.1が必要です。

� Oracle7のデータベースには、SQL*Net Serverが必要です。

� Oracleリリース 8.0のデータベースには、Net8 Serverリリース 8.0が必要です。

図図図図 F-3 Oracle8iのクライアントからのクライアントからのクライアントからのクライアントから Oracle8またはまたはまたはまたは Oracle7のデータベースのデータベースのデータベースのデータベース

Oracle7または Oracleリリース 8.0のデータベースへ接続するために作成された接続記述子は、次の例に示すとおり、SIDによってデータベースを認識します。

sales= (description= (address=(protocol=tcp)(host=sales-sun1)(port=1521)) (connect_data= (sid=sales))

Oracle8iリリース 8.1クライアント�

Net8 Server�リリース 8.0

SQL*NetServer

Net8 Client�リリース 8.1

Oracle7データベース�

Oracle8データベース�リリース 8.0

移行およびアップグレードに関する SQL*Netおよび Net8の考慮点 F-7

Page 440: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

クライアントおよびデータベースの共存問題

F-8 Oracle8i移行ガイド

さらに、データベース・サーバーの listener.oraファイルは、SIDの記述で構成されている必要があります。

Oracleリリース 8.1のクライアントが Oracle7のデータベースに接続している環境について、次の質問を考慮してください。

� Oracleリリース 8.1のクライアントがリモートの Oracle7データベースに接続するには、SQL*Net Clientリリース 2.xが必要ですか ?また、リモートの Oracleリリース 8.0のデータベースに接続するには、Net8 Clientリリース 8.0が必要ですか ?

必要ありません。Oracleリリース 8.1のクライアントがリモートの Oracle7データベースまたは Oracleリリース 8.0データベースに接続する必要がある場合は、Net8 Clientリリース 8.1のみクライアントに設定されている必要があります。SQL*Netリリース2.xおよび Net8 Clientリリース 8.0は、Net8と上位互換性があります。制限事項は、Net8リリース 8.1で使用できる新しいネットワーク機能がこの接続では使用できないことのみです。

� Oracleリリース 8.1のクライアントがリモートの Oracle7データベースに接続するには、SQL*Net Clientリリース 2.xが必要ですか ?また、ローカルの Oracleリリース 8.0のデータベースに接続するには、Net8 Clientリリース 8.0が必要ですか ?

必要です。Oracleリリース 8.1クライアントがローカルの Oracle7データベースまたはOracleリリース 8.0データベースに接続する必要がある場合は、Oracle7データベースとの接続には SQL*Net Serverリリース 2.x、Oracleリリース 8.0データベースとの接続には Net8 Clientリリース 8.0が同じシステムに必要です。

参照参照参照参照 : サービス情報の構成の詳細は、『Oracle8i Net8 管理者ガイド』を参照してください。

参照参照参照参照 : リリース 8.1の機能の詳細は、『Oracle8i Net8 管理者ガイド』を参照してください。

Page 441: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Net8 Assistantを使用した互換性の問題の処理

Oracle Namesご使用のネットワークのすべてまたは一部を Net8へ移行またはアップグレードする場合は、リージョンのすべての Oracle Names Serverをリリース 8.0およびリリース 8.1へ移行またはアップグレードする必要があります。

� Oracle7クライアントは、Oracle Namesリリース 8.0およびリリース 8.1を使用してサービス名を解決できますか ?

できます。

� Oracle7クライアントは、Oracle Namesリリース 8.0およびリリース 8.1から戻された接続記述子を使用して Oracle7または Oracleリリース 8.0およびリリース 8.1データベースへ接続できますか ?

接続記述子が Oracle Namesへ入力されたときに正常に指定されている場合は、接続できます。

Net8 Assistantを使用した互換性の問題の処理を使用した互換性の問題の処理を使用した互換性の問題の処理を使用した互換性の問題の処理いくつかのパラメータはリリース 8.1のみで使用可能であるため、Net8 Assistantは、リリース 8.1、リリース 8.0または Oracle7データベースに接続するクライアントに対してtnsnames.oraファイルの適切なパラメータを設定するため 2つのオプションを提供します。

Net8 Assistantオプションオプションオプションオプション 説明説明説明説明

Net8 Client 8.0と互換性のあるオプションを使用

複数アドレス・パラメータをクライアントに構成できます。

このオプションを選択すると、Oracle Connection Managerへの接続が必要なリリース 8.1より前のクライアントに、SOURCE_ROUTEパラメータを使用できます。

使用しない場合は、SOURCE_ROUTE、LOAD_BALANCEおよび FAILOVERパラメータをリリース 8.1のクライアントに使用できます。

参照参照参照参照 : 詳細は、『Oracle8i Net8 管理者ガイド』を参照してください。

Oracle8iリリース 8.0互換識別子を使用

接続記述子の CONNECT_DATAセクションにあるデータベース・リリース固有のパラメータを構成できます。

このオプションを選択した場合、Oracle8リリース 8.0または Oracle7データベースの SIDを入力できます。

使用しない場合は、Oracle8iデータベースのサービス名(SERVICE_NAME)を入力できます。

注意注意注意注意 : 「Service Identification」グループにある「Advanced」ボタンが選択されているときに表示される「Advanced Service Options」ダイアログ・ボックスは、このオプションの選択の有無に影響されます。いくつかの設定は、Oracle8iデータベース・サービスへの接続のみで使用可能です。

参照参照参照参照 : 詳細は、『Oracle8i Net8 管理者ガイド』を参照してください。

移行およびアップグレードに関する SQL*Netおよび Net8の考慮点 F-9

Page 442: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Net8リリース 8.1への移行およびアップグレード

F-10 Oracle8i移行ガイド

Net8リリースリリースリリースリリース 8.1への移行およびアップグレードへの移行およびアップグレードへの移行およびアップグレードへの移行およびアップグレードSQL*Netリリース 2.xからNet8リリース 8.1へ移行、または Net8リリース 8.0から Net8リリース 8.1へアップグレードするには、次の作業を行います。

手順 1: サービス名およびインスタンス名の検証

手順 2: サーバーのソフトウェアのアップグレードまたは移行の実行

手順 3: クライアントのソフトウェアの移行またはアップグレードの実行

手順 4: 機能のアップグレードおよび移行の実行

手順手順手順手順 1: サービス名およびインスタンス名の検証サービス名およびインスタンス名の検証サービス名およびインスタンス名の検証サービス名およびインスタンス名の検証Net8リリース 8.1の機能の利点を得て tnsnames.oraファイルのサービスおよびインスタンスを検証するには、SERVICE_NAMESおよび INSTANCE_NAMES初期化パラメータが初期化ファイルに設定されていることを確認します。

パラメータパラメータパラメータパラメータ 説明説明説明説明

SERVICE_NAMES このインスタンスが接続するデータベース・サービスに、1つ以上の名前を指定します。複数のサービス名を指定して、同じデータベースの異なる使用を区別することができます。次にその例を示します。

SERVICE_NAMES = sales.us.acme.com, widgetsales.us.acme.com

このパラメータにある名前をドメインで修飾しない場合、Oracleはこれらの名前をDB_DOMAINパラメータの値で修飾します。DB_DOMAINが指定されない場合、Oracleは、データ・ディクショナリに現在あるローカル・データベースのドメインを使用します。

INSTANCE_NAME このインスタンスの一意の名前を指定します。インスタンス名を Oracleシステム識別子(SID)の値に設定します。

Page 443: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Net8リリース 8.1への移行およびアップグレード

手順手順手順手順 2: サーバーのソフトウェアのアップグレードまたは移行の実行サーバーのソフトウェアのアップグレードまたは移行の実行サーバーのソフトウェアのアップグレードまたは移行の実行サーバーのソフトウェアのアップグレードまたは移行の実行

データベース・サーバーのソフトウェアをアップグレードまたは移行するには、Oracle Universal Installerから Net8 Serverの最新リリースをインストールして、最新の実行可能ファイルを入手します。

Oracle Universal Installerがシステムでリリース 8.0データベースを検出した場合は、データベースを Oracle Data Migration Assistantでアップグレードするよう指示されます。インストール・プロセス中にアップグレードしない場合は、この Assistantのインストールおよび使用を後で行うことができます。

Oracle Universal Installerは自動的に次の作業を実行します。

� Net8リリース 8.0または SQL*Netリスナーの停止

� Net8リリース 8.1リスナーの起動

手順手順手順手順 3: クライアントのソフトウェアの移行またはアップグレードの実行クライアントのソフトウェアの移行またはアップグレードの実行クライアントのソフトウェアの移行またはアップグレードの実行クライアントのソフトウェアの移行またはアップグレードの実行クライアントのソフトウェアの移行またはアップグレードを実行するには、Oracle Universal Installerから Net8 Clientの最新リリースをインストールして、最新の実行可能ファイルを入手します。

手順手順手順手順 4: 機能のアップグレードおよび移行の実行機能のアップグレードおよび移行の実行機能のアップグレードおよび移行の実行機能のアップグレードおよび移行の実行ソフトウェアがアップグレードまたは移行された後は、リリース 8.1の新機能を使用しない限り、構成ファイルをアップグレードする必要はありません。新機能の利点を得るには、構成ファイルを確認します。

� sqlnet.ora

� tnsnames.ora

� listener.ora

注意注意注意注意 : リリース 8.1は、Oracleリリース 8.1データベースより前のリリースを使用して作成された Oracleホームにはインストールできません。また、リリース 8.1より前の Oracleリリース 8.1データベースのリリースは、リリース 8.1で作成された Oracleホームにはインストールできません。

移行およびアップグレードに関する SQL*Netおよび Net8の考慮点 F-11

Page 444: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Net8リリース 8.1への移行およびアップグレード

sqlnet.oraAUTOMATIC_IPC(セッションに強制的に IPCを使用させるパラメータ)は無視されるため、削除します。

tnsnames.ora次の例のように、リリース 8.1サービスに接続するために SIDを SERVICE_NAMEパラメータに置き換えます。

sales= (description= (address=(protocol=tcp)(host=sales-sun1)(port=1521)) (connect_data= (service_name=sales.us.acme.com)))

複数のアドレスがある場合、次の例のように、クライアント・ロード・バランスおよびConnect-Time Failover機能を構成できます。

sales= (description= (address_list= (failover=on) (load_balance=on) (address=(protocol=tcp)(host=sales-sun1)(port=1521) (address=(protocol=tcp)(host=sales-sun1)(port=1521)) (connect_data= (service_name=sales.us.acme.com)))

参照参照参照参照 :

� サービス名および複数のアドレス機能の構成については、F-9ページの「Net8 Assistantを使用した互換性の問題の処理」を参照してください。

� 接続記述子およびサービス名文字列の詳細は、『Oracle8i Net8 管理者ガイド』を参照してください。

F-12 Oracle8i移行ガイド

Page 445: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Net8リリース 8.1への移行およびアップグレード

listener.oraインスタンス情報はリリース 8.1のリスナーに登録されるため、インスタンス情報をlistener.oraファイルの SID_LIST_listener_nameセクションに入れる必要はありません。

ただし、Oracle Enterprise Managerでは、listener.oraファイルに静的情報が必要です。Oracle Enterprise Managerを使用してデータベース・オブジェクトを管理している場合は、次の方法で、listener.oraファイルをデータベースに関する情報で構成する必要があります。

sid_list_listener_name= (sid_list= (sid_desc= (global_dbname=global_database_name) (oracle_home=oracle_home) (sid_name=sid)))

パラメータパラメータパラメータパラメータ 説明説明説明説明

SID_NAME データベース・インスタンスを識別します。SID値は、データベース初期化ファイルの INSTANCE_NAMEパラメータから取得できます。

注意注意注意注意 : この設定は、UNIXおよびWindows NTに必要です。

GLOBAL_DBNAME データベース名およびデータベース・ドメイン名で構成される名前です。GLOBAL_DBNAME値は、データベースの初期化ファイルの SERVICE_NAMESパラメータ、または DB_NAMEパラメータおよび DB_DOMAINパラメータから取得できます。

ORACLE_HOME 指定しているデータベースの Oracleホームの場所を識別します。

注意注意注意注意 : この設定は UNIXで必要です。

重要重要重要重要 : Oracle Parallel Server環境などで、Connect-Time Failoverまたは透過的アプリケーション・フェイルオーバーを使用している場合は、GLOBAL_DBNAMEパラメータは設定しないでください。静的に構成されたグローバル・データベース名は、これらの機能を使用禁止にします。

移行およびアップグレードに関する SQL*Netおよび Net8の考慮点 F-13

Page 446: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle Connection Managerリリース 8.1の使用

listener.oraファイルに事前生成済専用サーバーが構成されている場合は、これらのサーバーを使用しないクライアントに別に設定する必要があります。

Oracle Connection Managerリリースリリースリリースリリース 8.1の使用の使用の使用の使用リリース 8.1では、ゲートウェイ・プロセス CMGWのデフォルトのリスニング・ポートが、1610から正式に登録された 1630ポートへ変更されています。

CMCTL制御ユーティリティが管理コマンドを実行するために使用する管理プロセスCMADMINには、cman.oraファイルにリスニング・プロトコル・アドレスが必要です。このアドレスは、デフォルトでは次のようになります。

cman_admin= (address=(protocol=tcp)(host=host)(port=1830))

Oracle Connection Managerリリース 8.1は、リリース 8.0と下位互換性があります。そのため、次のことができます。

� Oracle Connection Managerリリース 8.0はOracleリリース 8.1データベースにアクセスできます。古い cman.oraファイルが使用されている場合、CMADMINプロセスはポート 1830で TCP/IPでリスニングします。ポート 1830が使用されている場合は、手動で cman.oraファイルに別の CMAN_ADMINアドレスを構成します。

� Oracle Connection Managerリリース 8.1はOracleリリース 8.0データベースにアクセスできます。ただし、機能性はリリース 8.0に戻ります。

� Oracleリリース 8.0クライアントは、そのクライアントに現在設定されているtnsnames.oraファイルを使用して Oracle Connection Managerリリース 8.1にアクセスできます。

参照参照参照参照 :

� サービス情報および事前生成済専用サーバーの構成については、『Oracle8i Net8 管理者ガイド』を参照してください。

� Connect-Time Failoverおよび透過的アプリケーション・フェイルオーバーの構成については、『Oracle8i Parallel Server セットアップおよび構成ガイド』を参照してください。

参照参照参照参照 : データベースへアクセスするための Orale Connection Managerの構成、および Oracle Connection Managerへアクセスするためのクライアントの構成については、『Oracle8i Net8 管理者ガイド』を参照してください。

F-14 Oracle8i移行ガイド

Page 447: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle Namesリリース 8.0およびリリース 8.1の使用

Oracle Multi-Protocol Interchangeのかわりののかわりののかわりののかわりの Oracle Connection Managerの使用の使用の使用の使用クライアントを Net8へ移行した後、複数プロトコル・サポートが必要な場合は、Oracle Connection Managerをインストールし、Oracle Connection Managerを使用してセッションをルートさせる必要があります。Oracle Multi-Protocol Interchangeは、以前の SQL*Netリリース 2.3をサポートしません。

Oracle Connection Managerが適切に機能することを確認するには、Oracle Connection Managerがインストールされているコンピュータから次のファイルが削除されていることを確認します。

� tnsnet.ora

� tnsnav.ora

� intchg.ora

その他の移行に関する考慮点は、ご使用のネットワーク構成によって異なります。

Oracle Namesリリースリリースリリースリリース 8.0およびリリースおよびリリースおよびリリースおよびリリース 8.1の使用の使用の使用の使用Oracle Namesリリース 8.0およびリリース 8.1は SQL*Netバージョン 2と下位互換性があります。つまり、SQL*Netバージョン 2を実行しているクライアントは、Oracle Namesリリース 8.0およびリリース 8.1を使用して Oracle Names Serverにアクセスし、Oracle8iデータベースに接続できます。

Oracle Namesリリース 8.0およびリリース 8.1で提供される新機能の利点を得るには、Oracle Namesリリース 8.0およびリリース 8.1をすべての既存のネーム・サーバー・ノードにインストールし、リージョンにあるすべての既存のネーム・サーバーをリリース 8.0およびリリース 8.1へ移行する必要があります。

注意が必要な移行問題は、次の項で説明しています。

� データベースを使用した Oracle Namesバージョン 2からの移行

� 動的検出オプションを使用した Oracle Namesバージョン 2からの移行

� ROSFILESからの移行

� 移行チェックリストの確認

参照参照参照参照 : 複数プロトコル・サポートの詳細は、『Oracle8i Net8 管理者ガイド』を参照してください。

移行およびアップグレードに関する SQL*Netおよび Net8の考慮点 F-15

Page 448: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle Namesリリース 8.0およびリリース 8.1の使用

データベースを使用したデータベースを使用したデータベースを使用したデータベースを使用した Oracle Namesバージョンバージョンバージョンバージョン 2からの移行からの移行からの移行からの移行既存の Oracle Names Serverデータベースから、リリース 8.0およびリリース 8.1データベースへデータを移行および転送するには、Oracle Network Managerがネットワーク定義を格納しているノードで、UNIXプラットフォームでは $ORACLE_HOME/network/admin、Windowsプラットフォームでは ORACLE_HOME¥network¥adminにある namesupg.sqlスクリプトを実行します。

namesupg.sqlスクリプトを実行するには、NAMES_DOMおよび NAMES_DIDの 2つの表を作成し、既存の names.oraファイルの値を使用して移入する必要があります。

� NAMES_DOM表には、names.oraファイルのNAMES.DOMAINSパラメータに指定されているドメインごとに、1行の DOMAIN列が必要です。

� NAMES_DID表には、NMO_INFORMATION表の NAME_P列に定義されている IDが必要です。NAME_P列は、names.oraファイルの NAMES.ADMIN_REGIONパラメータに指定されている DOCNAMEと同じです。

データを移行するには、次の手順を行います。

1. 次のように、NAMES_DOM表を作成します。

SQL> CONNECT user/passwordSQL> CREATE TABLE NAMES_DOM (domain varchar(256));

2. names.oraファイルの NAMES.DOMAINSパラメータに指定されているドメイン名で表を移入します。たとえば、次のような NAMES.DOMAINパラメータ設定があるとします。

names.domains= (domain_list= (domain= (name=) (min_ttl=86400)) (domain= (name=com) (min_ttl=86400)) (domain= (name=oracle.com) (min_ttl=86400))

この例では、次のように、rootドメイン、acmeサブドメインおよび comドメインに対する 3行を作成する必要があります。

SQL> INSERT into NAMES_DOM values (’(root)’);SQL> INSERT into NAMES_DOM values (’acme’);SQL> INSERT into NAMES_DOM values (’acme.com’);

F-16 Oracle8i移行ガイド

Page 449: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle Namesリリース 8.0およびリリース 8.1の使用

3. 次のように、NAMES_DID表を作成します。

SQL> CREATE TABLE NAMES_DID (did number(10))

4. names.oraファイルにある NAMES.ADMIN_REGIOパラメータの DOCNAME値を検索します。DOCNAMEは、リージョンに対応付けられた名前を示します。次の例では、DOCNAMEは sboxです。

names.admin_region= (region= (name= local_region.world) (type= rosdb) (userid = names) (password = names) (description = (address_list = (address = (protocol = tcp) (host = nineva) (port = 1387))) (connect_data = (sid = em))) (docname = sbox) (version = 34619392) # 2.1.4 (retry = 60))

5. DOCNAMEに対応付けられた IDをNMO_INFORMATION表に問い合せ、この IDをNAMES.DOM表に挿入します。

SQL> SELECT ID from NMO_INFORMATION where name_P=docname;SQL> INSERT into NAMES_DID select DID from NMO_INFORMATION where NAME_p='docname';

6. namesupg.sqlスクリプトを実行します。

SQL> CONNECT user/passwordSQL> @oracle_home/network/admin/namesupg.sql;

移行およびアップグレードに関する SQL*Netおよび Net8の考慮点 F-17

Page 450: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle Namesリリース 8.0およびリリース 8.1の使用

動的検出オプションを使用した動的検出オプションを使用した動的検出オプションを使用した動的検出オプションを使用した Oracle Namesバージョンバージョンバージョンバージョン 2からの移行からの移行からの移行からの移行動的検出オプションを使用して Oracle Namesバージョン 2を移行する手順は、Oracle Nameリリース 8.0およびリリース 8.1にリージョン・データベースへ情報を格納させるかどうかによって異なります。

� 非リージョン・データベースの移行

� リージョン・データベースの移行

非リージョン・データベースの移行非リージョン・データベースの移行非リージョン・データベースの移行非リージョン・データベースの移行動的検出オプションを使用して Oracle Namesバージョン 2から Oracle Namesリリース 8.0およびリリース 8.1へ移行する場合、新しい Oracle Names Serverは、古いチェックポイント・ファイルから登録されたデータを取得できる必要があります。何らかの原因でデータが登録されていない場合は、『Oracle8i Net8 管理者ガイド』で説明している次の手順を行うことによって、オブジェクトを登録できます。

� リスナーを USE_PLUG_AND_PLAYパラメータで適切に構成します。

� オブジェクトを Oracle Names Serverに登録します。

リージョン・データベースの移行リージョン・データベースの移行リージョン・データベースの移行リージョン・データベースの移行動的検出オプションを使用して Oracle Namesバージョン 2を実行済で、リージョン・データベースを Oracle Names情報のリポジトリとして構成する場合は、次の手順を行う必要があります。

1. Oracle Namesバージョン 2のローカル管理リージョンに格納されている情報を Oracle Network Managerから tnsnames.oraファイルに書き込むか、またはリリース 8.0およびリリース 8.1 NAMESCTLユーティリティを使用してコマンドラインから次のコマンドを実行します。

NAMESCTLNAMESCTL> dump_tnsnames

2. データベースが常駐しているコンピュータで、UNIXプラットフォームでは$ORACLE_HOME/network/admin、WindowsプラットフォームではORACLE_HOME¥network¥adminにある namesini.sqlスクリプトを実行します。

SQL> CONNECT user/passwordSQL> @oracle_home/network/admin/namesini.sql;

3. Net8 Assistantを使用して、すべての Oracle Names Server構成ファイル(names.ora)に NAMES.ADMIN_REGIONパラメータを構成します。

参照参照参照参照 : Oracle Names Serverの作成の詳細は、『Oracle8i Net8 管理者ガイド』を参照してください。

F-18 Oracle8i移行ガイド

Page 451: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle Namesリリース 8.0およびリリース 8.1の使用

4. Net8 AssistantまたはNAMESCTL制御ユーティリティを使用して、tnsnames.oraファイルを Oracle Names Serverリリース 8.0およびリリース 8.1にロードします。

Net8 Assistantを使用する場合を使用する場合を使用する場合を使用する場合 NAMESCTL制御ユーティリティを使用する場合制御ユーティリティを使用する場合制御ユーティリティを使用する場合制御ユーティリティを使用する場合

1. Net8 Assistantを起動します。

-UNIXでは、$ORACLE_HOME/binで netasstを実行します。

-Windowsプラットフォームでは、「スタート」 > 「プログラム」 > 「Oracle - HOME_NAME」 > 「Network Administration」 > 「Net8 Assistant」を選択します。

2. ナビゲータ・シートで、Oracle Names Serversを拡張します。

3. 「Oracle Names Server」を選択します。

4. 右のペインのリストから、「Manage Data」を選択します。

5. 「Net Service Names」タブをクリックします。

6. 「Load」をクリックします。

7. 手順 1で作成された「File」フィールドに、Oracle Network Managerによって生成されたtnsnames.oraファイルのパス名およびファイル名を入力します。

8. 「Execute」をクリックします。

9. 「File」>「Save Network Configuration」を選択します。

コマンドラインから、次のコマンドを入力します。

NAMESCTLNAMESCTL> LOAD_TNSNAMES FILE_NAME

移行およびアップグレードに関する SQL*Netおよび Net8の考慮点 F-19

Page 452: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle Namesリリース 8.0およびリリース 8.1の使用

ROSFILESからの移行からの移行からの移行からの移行Oracle Namesリリース 8.0およびリリース 8.1では、Resource Object Store(ROS)ファイル(ROSFILES)を使用する古い構成はサポートしません。ROSFILESは、Oracle Namesデータベース表へ直接移行するか、または最初に tnsnames.oraファイルへ移行してからOracle Namesへ移行する必要があります。次の項では両方の手順を説明します。

� ROSFILESをデータベース表へ移行

� ROSFILESを tnsnames.oraファイルへ移行

ROSFILESをデータベース表へ移行をデータベース表へ移行をデータベース表へ移行をデータベース表へ移行ROSFILESをデータベース表へ移行するには、次の操作を行います。

1. Oracle Network Managerのデータベース・ユーザー・アカウントを作成します。

SQL> CONNECT system/passwordSQL> CREATE USER user identified by password default tablespace users temporary tablespace temp;

2. 必要な表を構築するには、次に説明するスクリプトをサーバーに対して実行する必要があります。通常、これらのスクリプトは Oracle Network Managerノードで実行されます。

SQL> CONNECT username/passwordSQL> @oracle_home¥dbs¥rosbild.sql;SQL> @oracle_home¥dbs¥nmcbild.sql;SQL> @oracle_home¥dbs¥rosgrnt.sql;SQL> @oracle_home¥dbs¥nmcgrnt.sql;

3. Oracle Network Managerから、ROSFILESをデータベースに保存します。

a. 「File」メニューから「Save As」を選択します。

スクリプトスクリプトスクリプトスクリプト 説明説明説明説明

rosbild.sql ROSが使用する表を作成します。

nmcbild.sql Oracle Network Manager Objects(NMO)コンポーネントが使用する表を作成します。

rosgrnt.sql 共通の表にアクセス権限を付与します。ユーザー名を入力するように求められます。Oracle Network Managerのアカウントを設定したときに使用したものと同じユーザー名を使用します。

nmcgrnt.sql Oracle Network Manager表にアクセスするユーザーにアクセス権限を付与します。

F-20 Oracle8i移行ガイド

Page 453: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle Namesリリース 8.0およびリリース 8.1の使用

b. 「Save Network Definition」ダイアログ・ボックスで「Database」を選択し、「OK」をクリックします。

c. 「Connect」ダイアログ・ボックスに、手順 1で作成したデータベースのユーザー名/パスワード、およびデータベースのネット・サービス名を入力します。

d. 「OK」をクリックします。

e. 「Save Network Definition」ダイアログ・ボックスに、保存するネットワーク名を選択または入力します。

f. 「File」>「Generate」を選択してネットワーク定義を保存し、保存された定義からOracle Names表を作成します。

g. 「File」>「Exit」を選択して、Oracle Network Managerを終了します。

4. F-16ページの「データベースを使用した Oracle Namesバージョン 2からの移行」で説明しているように、サーバーで NAMES_DIDおよびNAMES_DOM表を作成し、namesupg.sqlスクリプトを実行します。

ROSFILESをををを tnsnames.oraファイルへ移行ファイルへ移行ファイルへ移行ファイルへ移行ROSFILESを tnsnames.oraファイルへ移行し、tnsnames.oraファイルを Oracle Namesへインポートするには、次の操作を行います。

1. ROSFILESから tnsnames.oraファイルを作成します。

a. Oracle Network Managerから、「Special」>「Preferences」を選択します。

b. 「Preferences」ダイアログ・ボックスで、Oracle Namesが選択されていないことを確認します。

c. 「File」>「Generate」を選択してネットワーク定義を更新し、tnsnames.oraファイルを作成します。

d. 「File」>「Exit」を選択して、Oracle Network Managerを終了します。

移行およびアップグレードに関する SQL*Netおよび Net8の考慮点 F-21

Page 454: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle Namesリリース 8.0およびリリース 8.1の使用

2. Net8 AssistantまたはNAMESCTL制御ユーティリティを使用して、tnsnames.oraファイルを Oracle Names Serverにロードします。

Net8 Assistantを使用する場合を使用する場合を使用する場合を使用する場合 NAMESCTL制御ユーティリティを使用する場合制御ユーティリティを使用する場合制御ユーティリティを使用する場合制御ユーティリティを使用する場合

1. Net8 Assistantを起動します。

-UNIXでは、$ORACLE_HOME/binで netasstを実行します。

-Windowsプラットフォームでは、「スタート」 > 「プログラム」 > 「Oracle - HOME_NAME」 > 「Network Administration」 > 「Net8 Assistant」を選択します。

2. ナビゲータ・シートで、Oracle Names Serversを拡張します。

3. 「Oracle Names Server」を選択します。

4. 右のペインのリストから、「Manage Data」を選択します。

5. 「Net Service Names」タブをクリックします。

6. 「Load」をクリックします。

7. 手順 1で作成された「File」フィールドに、Oracle Network Managerによって生成されたtnsnames.oraファイルのパス名およびファイル名を入力します。

8. 「Execute」をクリックします。

9. 「File」>「Save Network Configuration」を選択します。

コマンドラインから、次のコマンドを入力します。

NAMESCTLNAMESCTL> load_tnsnames file_name

参照参照参照参照 : 次のマニュアルを参照してください。

� 『Oracle Network Manager管理者ガイド』

� 『Oracle Names管理者ガイド』

F-22 Oracle8i移行ガイド

Page 455: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle Namesリリース 8.0およびリリース 8.1の使用

移行チェックリストの確認移行チェックリストの確認移行チェックリストの確認移行チェックリストの確認次のチェックリストは、Oracle Namesリリース 8.0およびリリース 8.1への適切な移行を確認するために提供されています。

❏ 各リージョンにあるすべての Oracle Names Serverを、リリース 8.0およびリリース 8.1の同じリリースへ移行します。

❏ Oracle Namesバージョン 2を実行済で、データベースを Oracle Names情報のリポジトリとして更新する場合は、ネットワーク定義が格納されているノードでnamesupg.sqlスクリプトを実行します。

❏ 動的検出オプションを使用して Oracle Namesバージョン 2を実行済で、リージョン・データベースを Oracle Names情報のリポジトリとして構成する場合は、次の操作を行う必要があります。

1. データベースをインストールするノードで、namesini.sqlスクリプトを実行します。

2. Net8 Assistantを使用して、NAMES.ADMIN_REGIONパラメータをすべてのnames.oraファイルに構成します。NAMES.ADMIN_REGIONパラメータの詳細は、『Oracle8i Net8 管理者ガイド』を参照してください。

❏ 各リージョンに 2つ以上の Oracle Names Serverを設定して、フォールト・トレラントを提供します。

移行およびアップグレードに関する SQL*Netおよび Net8の考慮点 F-23

Page 456: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracle Namesリリース 8.0およびリリース 8.1の使用

F-24 Oracle8i移行ガイド

Page 457: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

レプリケーション環境の移行および互換

G

レプリケーション環境の移行および互換性レプリケーション環境の移行および互換性レプリケーション環境の移行および互換性レプリケーション環境の移行および互換性

この付録では、Oracle7から Oracle8iへのレプリケーション環境の移行に必要な手順について説明します。この付録では、次の項目について説明します。

� レプリケーションの移行の概要

� すべてのサイトの同時移行

� 段階的移行

� 主キー・スナップショットへのアップグレード

� Oracleリリース 8.0およびリリース 8.1への移行が必要な機能

� 廃止されたプロシージャ

参照参照参照参照 : 特に指定されていない限り、Replication Managerを使用して、この付録で説明されている手順を完了する方法については、Replication Managerのオンライン・ヘルプを参照してください。Replication Management APIを使用して、この付録で説明されている手順を完了する方法については、『Oracle8i レプリケーション・マネージメント API リファレンス』を参照してください。

注意注意注意注意 : この付録では、Oracle7から Oracle8iへの移行の必要性について説明します。以前の Oracle8から現行の Oracle8iへのアップグレードの詳細は、第 7章「以前の Oracle8から新しい Oracle8iへのアップグレード」を参照してください。

性 G-1

Page 458: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

レプリケーションの移行の概要

レプリケーションの移行の概要レプリケーションの移行の概要レプリケーションの移行の概要レプリケーションの移行の概要ご使用の環境、特にご使用の環境のマルチマスター・コンポーネントを 1ステップで移行することが最も簡単である場合があります。通常、これは小規模な構成でのみ可能です。また、既存の Oracle7レプリケーション環境を Oracle8iへ段階的移行する場合もあります。レプリケーションおよび管理操作は、Oracle7と Oracle8iが混在したレプリケーション環境で正常に実行されます。

ただし、相互運用を正常に行うには、次の制限事項に従う必要があります。

� Oracle8iスナップショット・サイトは、Oracle7リリース 7.3.3以上のマスター・サイトとのみ相互運用できます。

� Oracle8iマスター・サイトは、Oracle7リリース 7.3.4以上のスナップショット・サイトおよび Oracle7リリース 7.3.3以上のマスター・サイトとのみ相互運用できます。

マスター・サイトを Oracle8iへ移行後、すべての関連スナップショット・サイトの完全リフレッシュを実行してください。

Oracle8iから Oracle7へのレプリケーション環境のダウングレードは、サポートされていません。

特定の Oracle8iレプリケーション機能では、この機能の使用前にすべてのサイトを Oracleリリース 8.0以上に正常に移行する必要があります。たとえば、主キー・スナップショットを使用する前に、そのスナップショットおよび関連マスター・サイトをリリース 8.0以上に移行する必要があります。副問合せ機能およびマスター表の再編成プロシージャのあるOracle8i単純スナップショットでは、まず ROWIDスナップショットから主キー・スナップショットへアップグレードする必要があります。

Oracle7から全データベースをエクスポートして Oracle8iへインポートする移行もサポートされています。

G-2 Oracle8i移行ガイド

Page 459: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

すべてのサイトの同時移行

すべてのサイトの同時移行すべてのサイトの同時移行すべてのサイトの同時移行すべてのサイトの同時移行この項では、すべてのマルチマスター環境を同時に Oracle8iへ移行する手順について説明します。Oracle8iへ移行しないスナップショット・サイトも Oracle7リリース 7.3.4以上にアップグレードする必要があることに注意してください。

すべてのマスター・サイトおよび(オプションで)スナップショット・サイトを同時に移行するには、次の手順を実行します。

1. マスター定義サイトですべてのマスター・レプリケーション・グループに対してDBMS_REPCAT.SUSPEND_MASTER_ACTIVITYを実行し、レプリケーション環境を停止します。また、たとえば、スナップショット・サイトで自動伝播および自動リフレッシュを制御するジョブ・キューのエントリを一時的にサスペンドまたは中断し、スナップショット・サイトからマスターへのすべての伝播およびリフレッシュを停止します。また、ローカル・エラー・キューが空になるまで、ローカル・エラー・キューにあるエラーを解決して再実行する必要があります。詳細は、『Oracle7 Server分散システム Vol.2: レプリケート・データ』を参照してください。第 4章の「DML変更の非同期伝播」および「レプリケーション・アクティビティの一時停止」、第 7章の「手動によるエラーの解決」を参照してください。

2. Oracle7および Oracle8iの移行ユーティリティを使用して、第 4章および第 5章に説明されている catrep.sqlや rold_release.sqlなどの適切な移行スクリプトを実行し、すべてのマスター・サイトを移行します。ここで、old_releaseは移行前のリリースを示します。

3. Replication Manager Setup Wizardを使用して、プライマリ・マスター・レプリケーション管理者アカウントを作成し、このユーザーにすべてのマスター・サイトに対するOracle8i Replication Administrator、Propagatorおよび Receiverの権限を付与し、すべてのサイトに接続する適切なリンクを設定します。

4. Replication Managerまたは Replication Management APIを使用して、各レプリケーション・ベース・オブジェクトに対するレプリケーション・サポートを再生成します。その他のアクティビティでは、レプリケーション・サポートの作成によって、登録されたプロパゲータが、生成されたオブジェクトの所有者として確立されます。

5. Replication Managerまたは Replication Management APIを使用して、停止されている環境を元に戻し、レプリケーション・アクティビティを再開します。

6. すべての関連スナップショット・サイトを Oracle7リリース 7.3.4以上へアップグレードする必要があります。Oracle8iへのスナップショット・サイトの移行については、G-6ページの「スナップショット・サイトの段階的移行」を参照してください。

レプリケーション環境の移行および互換性 G-3

Page 460: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

すべてのサイトの同時移行

7. マスター・サイトを Oracle8iへ移行後、すべてのスナップショット・サイトですべてのスナップショットの完全リフレッシュを行います。リフレッシュ前に、DBMS_JOB.BROKENプロシージャをコールして、スナップショット・サイトの移行中に中断した可能性のあるジョブが中断されていないことを確認してください。

スナップショットがリフレッシュの FORCEオプションで定義されている場合、次のリフレッシュは自動的に完全リフレッシュになります。リフレッシュの FASTオプションで定義されたスナップショットは、DBMS_REFRESH.REFRESHプロシージャまたはその他のリフレッシュ・プロシージャを使用して、手動でリフレッシュする必要があります。

スナップショット・サイトでプロシージャ・レプリケーションを使用している場合、プロシージャ・レプリケーションが使用するすべてのパッケージおよびパッケージ本体にも、スナップショット・サポートを再作成します。

8. Oracle7マルチマスター・レプリケーション環境のメンテナンスに使用していたすべての管理アカウントおよびリンクを削除します。これらは、Oracle8i環境では必要ありません。不要な権限が取り消される場合もあります。Oracle7スナップショット・サイトのメンテナンスに必要なアカウントを削除しないよう注意してください。

注意注意注意注意 : マスター・サイトが Oracle8iに移行されているときに、すべてのマスターのスナップショット・サイトを Oracle8iへ移行する場合(スナップショット・サイトを段階的移行する必要がない場合)、かわりに、マスターのスナップショット・ログを削除し、主キーのスナップショット・ログとして再作成できます。各スナップショット・サイトでスナップショットを変更して、主キーのスナップショットに変換してください。各主キーのスナップショットに対して完全リフレッシュを行えるようになります。詳細は、G-11ページの「主キー・スナップショットへのアップグレード」を参照してください。

G-4 Oracle8i移行ガイド

Page 461: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

段階的移行

段階的移行段階的移行段階的移行段階的移行レプリケーション環境では、段階的移行を行うことができます。ただし、サイト間の相互依存性を慎重に分析し、移行中の相互運用を確実に継続させる必要があります。表 G-1では、Oracle7と Oracle8iのレプリケーション・サイトが相互運用するための条件について説明します。

レプリケーション環境内での相互運用性の問題を避けるために、段階的移行を実行する必要がある場合は、次の順序で実行することをお薦めします。

1. すべてのマスター・サイトを Oracle7リリース 7.3.3以上にアップグレードし、G-5ページの「段階的移行のための Oracle7マスター・サイトの準備」の手順を実行して段階的移行を行います。

2. すべてのスナップショット・サイトを Oracle8iへ段階的移行します。

3. すべてのマスター・サイトを Oracle8iへ段階的移行します。

段階的移行のための段階的移行のための段階的移行のための段階的移行のための Oracle7マスター・サイトの準備マスター・サイトの準備マスター・サイトの準備マスター・サイトの準備Oracle7マスター・サイトまたはスナップショット・サイトの段階的移行を開始する前に、Oracle7リリース 7.3.3以上のマスター・サイトを構成し、各サイトのシングル・ユーザーのセキュリティ・コンテキスト内で、すべてのレプリケーション管理および伝播が行われるようにする必要があります。また、プライマリ・マスター・レプリケーション管理者は、すべての Oracle7および Oracle8iサイトで同じユーザー名およびパスワードを持つ必要があります。Oracle7マスター・サイトは、このように構成済である場合があります。そうでない場合は、次の手順を実行します。

表表表表 G-1 レプリケーション環境での相互運用性レプリケーション環境での相互運用性レプリケーション環境での相互運用性レプリケーション環境での相互運用性

環境環境環境環境 処置処置処置処置 前提条件前提条件前提条件前提条件

マルチマスター マスター・サイトをOracle7から Oracle8iへ移行します。

その他のすべてのマスター・サイトがOracle7リリース 7.3.3以上である必要があります。

依存スナップショットのあるマスター

マスター・サイトをOracle7から Oracle8iへ移行します。

すべての依存スナップショットがOracle7リリース 7.3.4以上である必要があります。

依存スナップショットのあるマスター

スナップショット・サイトを Oracle7からOracle8iへ移行します。

関連マスター・サイトが Oracle7リリース 7.3.3以上である必要があります。

レプリケーション環境の移行および互換性 G-5

Page 462: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

段階的移行

1. ご使用のレプリケーション環境に対するプライマリ・マスター・レプリケーション管理者を選択します。現行のレプリケーション管理者を選択するか、または新しいユーザーを作成します。

2. 各マスター・サイトで、DBMS_REPCAT_ADMIN.GRANT_ADMIN_ANY_REPGROUPおよび DBMS_REPCAT_AUTH.GRANT_SURROGATE_REPCATを使用して、プライマリ・マスター・レプリケーション管理者に必要な権限を付与します。

3. 次に示すリンクがまだ存在していない場合、マルチマスター環境の各マスター・サイトから他のすべてのマスター・サイトへのリンク(3N(N - 1)の合計)を作成する必要があります。

– SYSとして作成されたパブリック・データベース・リンク。有効なグローバル・データベース名および有効な SQL*Net 2.3 TNS別名を持つ USING句が含まれます。

– SYSとして作成されたプライベート・データベース・リンク。有効なグローバル・データベース名およびプライマリ・マスター・レプリケーション管理者のユーザー名およびパスワードを持つ CONNECT TO句が含まれます。

– プライマリ・レプリケーション管理者として作成されたプライベート・データベース・リンク。有効なグローバル・データベース名およびプライベート・マスター・レプリケーション管理者のユーザー名およびパスワードを持つ CONNECT TO句が含まれます。

スナップショット・サイトの段階的移行スナップショット・サイトの段階的移行スナップショット・サイトの段階的移行スナップショット・サイトの段階的移行スナップショット・サイトを Oracle8iへ移行する前に、関連マスター・サイトを Oracle7リリース 7.3.3以上へアップグレードし、段階的移行のためにマスター・サイトの準備を完全に整える必要があります。

スナップショット・サイトを Oracle8iへ段階的移行するには、次の手順を実行します。

1. スナップショット・サイトで更新可能なスナップショットへのすべてのローカル更新を停止し、スナップショット・サイトをレプリケーション環境から切り離します。別のセッションで、それ以降のトランザクションを防ぐために、各スナップショットのベース表をロックします。キューをスナップショットのマスターへ送信して、ローカルの遅延トランザクション・キューを空にします。スナップショット・サイトで自動伝播および自動リフレッシュを制御するジョブ・キューのエントリを一時的にサスペンドまたは中断し、スナップショット・サイトからマスターへのすべての伝播を停止します。

G-6 Oracle8i移行ガイド

Page 463: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

段階的移行

2. Oracle7から Oracle8iへの移行ユーティリティを実行し、第 4章「移行ユーティリティによる Oracle7からの移行」および第 5章「Oracle Data Migration AssistantによるOracle7からの移行」に説明されている catrep.sqlと rold_release.sqlスクリプトを実行します。ここで、old_releaseは移行前のデータベースのバージョンを示します。

3. Replication Manager Setup Wizardを使用するか、または適切な Replication Management APIのコールを実行して、プライマリ・スナップショット・レプリケーション管理者をスナップショット・サイトのレプリケーション管理者およびプロパゲータとして構成し、関連マスターで受信者のアカウントを構成し、マスターへの適切なリンクを構成します。Oracle7マスター・サイトでは、マスター・サイトの受信者は、前述のセクションで準備したプライマリ・マスター・レプリケーション管理者である必要があります。Replication Manager Setup Wizardを使用している場合、「Customize」オプションを選択してこの受信者を指定します。

4. Replication Managerまたは適切な Replication Management APIのコールを使用して、スナップショット・レプリケーション・サポートを再生成します。その他のアクティビティでは、レプリケーション・サポートの作成によって、登録されたプロパゲータが、生成されたオブジェクトの所有者として確立されます。

5. Replication Managerまたは適切な Replication Management APIのコールを使用して、マスターで伝播またはリフレッシュ(あるいはその両方)間隔をスケジューリングし直し、ローカルの更新が適切に行われるようにします。DBMS_JOB.BROKENプロシージャを使用して手順 1でマスター・サイトを切り離した場合、中断しているジョブを元に戻して、スナップショット・サイトからレプリケーション・アクティビティを再開させる必要があります。

6. Oracle7レプリケーション環境のメンテナンスに使用し、Oracle8i環境では不要な管理アカウントおよびリンクを削除します。不要な権限が取り消される場合もあります。

マスター・サイトの段階的移行マスター・サイトの段階的移行マスター・サイトの段階的移行マスター・サイトの段階的移行マスター・サイトを Oracle7から Oracle8iへアップグレードする前に、次の条件を満たす必要があります。

� マルチマスター環境内のその他すべてのマスター・サイトが Oracle7リリース 7.3.3以上を実行している。

� G-5ページの「段階的移行のための Oracle7マスター・サイトの準備」の手順を完了している。

� すべての依存スナップショット・サイトが Oracle7リリース 7.3.4以上を実行している。

Oracle7マスター・サイトを Oracle8iへ段階的移行するには、次の手順を実行します。

1. 移行するマスター・サイトを選択します。まず、マスター定義サイトを移行する必要があります。

レプリケーション環境の移行および互換性 G-7

Page 464: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

段階的移行

2. プロシージャ・レプリケーションを使用している場合は、既存のプロシージャ・ラッパーの構成情報および場所を記録します。この情報は後で使用します。

3. マスター・サイトをレプリケーション環境から切り離します。切り離すには、次の操作を実行する必要があります。

– 次のいずれかの方法でマスター・サイトへの更新を停止します。

マスター定義サイトで、すべてのマスター・レプリケーション・グループに対してDBMS_REPCAT.SUSPEND_MASTER_ACTIVITYをコールするか、またはすべてのリモート・マスター・サイトおよび依存スナップショット・サイトで、(Oracle7サイトに対しては)DBMS_DEFER_SYS.UNSCHEDULE_EXECUTIONまたは(Oracle8iサイトに対しては)DBMS_DEFER_SYS.UNSCHEDULE_PUSHをコールし、移行されているマスター・サイトでの更新アクティビティを防ぎます。また、移行されているマスター・サイトに影響する可能性があるマスター定義サイトで、管理操作を行わないでください。キューをすべてのサイトへ手動で送信して、ローカルの遅延トランザクション・キューを空にします。

– ローカル・エラー・キューが空になるまで、ローカル・エラー・キューにあるエラーを解決して再実行します。

– スナップショット・サイトで自動伝播および自動リフレッシュを制御する各スナップショット・サイトのジョブ・キューのエントリを中断し、スナップショット・サイトのリフレッシュが行われないようにします。

– 手順 1の作業の詳細は、『Oracle7 Server分散システム Vol.2: レプリケート・データ』を参照してください。レプリケーションされたデータ第 4章「DML変更の非同期伝播」、「レプリケーション・アクティビティの一時停止」、「遅延送信リストからのマスター・サイトの除去」、「遅延トランザクション・キューのリスト強制送信」「手動でのエラー解決」も参照してください。

4. Oracle7から Oracle8iへの移行ユーティリティを実行し、第 4章「移行ユーティリティによる Oracle7からの移行」および第 5章「Oracle Data Migration AssistantによるOracle7からの移行」に説明されている catrep.sqlと rold_release.sqlスクリプトを実行します。ここで、old_releaseは移行前のデータベースのバージョンを示します。

5. Replication Manager Setup Wizardまたは Replication Management APIを使用して、プライマリ・マスター・レプリケーション管理者に、マスター・サイトに対する Oracle8i Replication Administrator、Propagatorおよび Receiverの権限を付与します。G-5ページの「段階的移行のための Oracle7マスター・サイトの準備」の手順に従って、ご使用の Oracle7マスター・サイトを Oracle8iとの互換用に準備できている場合は、プライマリ・レプリケーション管理者からプライマリ・マスター・レプリケーション管理者へのデータベース・リンクが、その他すべての Oracle7および Oracle8iマスター・サイトに存在しています。

G-8 Oracle8i移行ガイド

Page 465: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

段階的移行

6. まだ停止状態でない場合、Replication Managerまたは Replication Management APIを使用して、すべてのマスター・グループに対してすべてのレプリケーション・アクティビティをサスペンドします。

7. Replication Managerまたは Replication Management APIを使用して、各レプリケーション・オブジェクトに対するレプリケーション・サポートを再作成します。レプリケーション環境のサイトが Oracle7を実行している場合、min_communicationパラメータを FALSEに設定する必要があります。一度すべてのサイトを Oracle8iへ移行したら、min_communicationパラメータは TRUE(デフォルト)に設定する必要があります。その他のアクティビティでは、レプリケーション・サポートの作成によって、登録されたプロパゲータが生成されたオブジェクトの所有者として確立されます。

8. プロシージャ・レプリケーションを使用している場合、残りの Oracle7マスター・サイトをチェックしてラッパーが移動されたかどうかを判断します(手順 2で作成されたリスト)。移動されている場合、プライマリ・レプリケーション管理者のスキーマにある新しい場所を指定するように、シノニムを以前の場所(サイトがシステム・ベース・モデルかユーザー・ベース・モデルかによって、レプリケーション管理者または表所有者のいずれかのスキーマ内にあります)に作成します。新しい所有者および場所へアクセスするために必要なオブジェクト権限が付与されているかどうかを確認してください。スナップショット・サイトでプロシージャ・レプリケーションを使用している場合、プロシージャ・レプリケーションに使用されるすべてのパッケージおよびパッケージ本体にスナップショット・サポートを再作成します。

9. Replication Managerまたは Replication Management APIを使用して、レプリケーション・アクティビティを再開し、各マスター・グループで停止されている環境を元に戻します。他のマスターへの伝播および他のマスターからの伝播をスケジューリングしないでマスターを切り離した場合、すべてのマスター・サイトに対して(Oracle7サイトに対して)DBMS_DEFER_SYS.SCHEDULE_EXECUTIONを実行するか、または(Oracle8iサイトに対して)Replication Managerのオンライン・ヘルプの指示に従って、伝播をスケジューリングし直します。

10. マスター・サイトを Oracle8iへ移行後、Oracle7、Oracleリリース 8.0およびリリース8.1のサイトで、すべてのスナップショットの完全リフレッシュを行う必要があります。Oracle8iで ROWIDフォーマットが変更されたため、Oracle7から Oracle8iへの移行ユーティリティはすべてのマスター・スナップショット・ログを切り捨てます。DBMS_JOB.BROKENプロシージャを使用して手順 3でマスター・サイトを切り離した場合、中断しているジョブを元に戻してスナップショット・サイトからレプリケーション・アクティビティを再開させます。

スナップショットがリフレッシュの FORCEオプションで定義されている場合、次のリフレッシュは自動的に完全リフレッシュになります。リフレッシュの FASTオプションで定義されたスナップショットは、DBMS_REFRESH.REFRESHプロシージャまたはその他のリフレッシュ・プロシージャを使用して、手動でリフレッシュする必要があります。

参照参照参照参照 : min_communicationの詳細は、『Oracle8i レプリケーション・ガイド』を参照してください。

レプリケーション環境の移行および互換性 G-9

Page 466: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

エクスポート /インポートを使用した移行

11. Oracle7マルチマスター・レプリケーション環境のメンテナンスに使用していたすべての管理アカウントおよびリンクを削除します。これらは、Oracle8i環境では必要ありません。不要な権限が取り消される場合もあります。Oracle7スナップショット・サイトまたはマスター・サイトのメンテナンスに必要なアカウントを削除しないよう注意してください。

エクスポートエクスポートエクスポートエクスポート /インポートを使用した移行インポートを使用した移行インポートを使用した移行インポートを使用した移行Oracle7リリース 7.3.3以上からの全データベースのエクスポートおよび Oracle8iへのインポートは、マスターとスナップショットの両方に対してサポートされています。前述の手順で示した Oracle7から Oracle8iへの移行ユーティリティおよびレプリケーション・スクリプトを実行するかわりに、インポート /エクスポートを使用することができます。ただし、実際に Oracle7から Oracle8iへの移行する前後で、前述のすべての手順を行う必要があります。

Oracle7リリース 7.3.3以上からデータベースをエクスポートして Oracle8iへインポートするには、次の手順を実行します。

1. SYSTEMスキーマで FULL=yと設定した状態でリリース 7.3のエクスポート・ユーティリティを使用し、Oracle7リリース 7.3.3以上のデータベースをダンプ・ファイルにエクスポートします。

2. SYSTEMスキーマで FULL=yと設定した状態で Oracle8iインポート・ユーティリティを使用し、ダンプ・ファイルを Oracle8iデータベースにインポートします。

また、個別の Oracle7表からデータをエクスポートし、そのデータを Oracle8i表へインポートした後、標準レプリケーション・プロシージャを使用して、マスターとしてそれらの表をOracle8iレプリケーション環境に構成することもできます。

注意注意注意注意 : マスター・サイトが Oracle8iに移行されているときに、すべてのマスターのスナップショット・サイトを Oracle8iへ移行する場合(スナップショット・サイトを段階的移行する必要がない場合)、かわりに、マスターのスナップショット・ログを削除し、主キーのスナップショット・ログとして再作成できます。各スナップショット・サイトでスナップショットを変更して、主キーのスナップショットに変換してください。各主キーのスナップショットに対して完全リフレッシュを行えるようになります。詳細は、G-11ページの「主キー・スナップショットへのアップグレード」を参照してください。

参照参照参照参照 : 詳細は、『Oracle8i ユーティリティ・ガイド』を参照してください。

G-10 Oracle8i移行ガイド

Page 467: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

主キー・スナップショットへのアップグレード

主キー・スナップショットへのアップグレード主キー・スナップショットへのアップグレード主キー・スナップショットへのアップグレード主キー・スナップショットへのアップグレードスナップショット・サイトおよびそのマスターが Oracle8iへ移行されると、ROWIDスナップショットを Oracle8iの主キー・スナップショットへアップグレードできます。アップグレードするには、まず各マスター表に対するスナップショット・ログを変更し、マスター行が更新されたときに主キー情報および ROWID情報のログが取られるようにします。マスター・サイトでこれが完了したら、スナップショットが主キー・スナップショットに変換されるように変更して、Oracle8iスナップショット・サイトの段階的な変換を行うことができます。主キーおよび ROWIDの情報のログを取るように変更された Oracle8iマスターは、Oracle7 ROWIDスナップショット、および Oracle8iの主キー・スナップショットとROWIDスナップショットの同時の段階的移行をサポートします。

マスター・サイトでの主キー・スナップショットの変換マスター・サイトでの主キー・スナップショットの変換マスター・サイトでの主キー・スナップショットの変換マスター・サイトでの主キー・スナップショットの変換主キー・スナップショットをサポートするには、Oracle8iマスター・サイトで次の手順を実行します。

1. 主キー制約が使用可能になっていない各マスター表で、主キー制約を定義し、使用可能にします。

2. ALTER SNAPSHOT LOG文を使用して、高速リフレッシュをサポートする各マスター表のスナップショット・ログを変更して、主キー情報を含むようにします。

注意注意注意注意 : 主キー・スナップショットは ROWIDスナップショットへ変換またはダウングレードできません。

参照参照参照参照 : 詳細は、『Oracle8i SQLリファレンス』の「ALTER SNAPSHOT LOG」を参照してください。

注意注意注意注意 : 前述の条件が満たされない場合、スナップショット・サイトで主キー・スナップショットに変換するために ALTER SNAPSHOT文を実行するとエラーが発生します。

レプリケーション環境の移行および互換性 G-11

Page 468: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

主キー・スナップショットへのアップグレード

スナップショット・サイトでの主キー・スナップショットの変換スナップショット・サイトでの主キー・スナップショットの変換スナップショット・サイトでの主キー・スナップショットの変換スナップショット・サイトでの主キー・スナップショットの変換主キー・スナップショットをサポートするために Oracle8iマスター・サイトを構成した後、Oracleリリース 8.0およびリリース 8.1スナップショット・サイトで次の手順を実行します。

1. スナップショット・サイトで更新可能なスナップショットへのすべてのローカル更新を停止し、スナップショット・サイトをレプリケーション環境から切り離します。

2. 読取り専用の ROWIDスナップショットが主キー・スナップショットへ変換されている場合、主キーのすべての列を含めず、削除してすべて主キー列で再生成します。

3. すべてのスナップショットの高速リフレッシュを実行し、マスター・スナップショット・ログに残っている ROWID参照への必要性を削除します。

4. ALTER SNAPSHOT文を使用して、ROWIDスナップショットを主キー・スナップショットに変換します。

5. マスターでの伝播またはスナップショット(あるいはその両方)のリフレッシュをスケジューリングし直し、レプリケーションを再開させて、ローカルの更新が適切に行われるようにします。DBMS_JOB.BROKENプロシージャを使用して手順 1でマスター・サイトを切り離した場合、中断しているジョブを元に戻してスナップショット・サイトからレプリケーション・アクティビティを再開させる必要があります。

参照参照参照参照 : ROWIDスナップショットの詳細は、『Oracle8i レプリケーション・ガイド』を参照してください。

注意注意注意注意 : ROWIDスナップショットで制約を定義しないでください。

参照参照参照参照 : ALTER SNAPSHOTの完全な構文については、『Oracle8i SQLリファレンス』を参照してください。

G-12 Oracle8i移行ガイド

Page 469: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Oracleリリース 8.0およびリリース 8.1への移行が必要な機能

Oracleリリースリリースリリースリリース 8.0およびリリースおよびリリースおよびリリースおよびリリース 8.1への移行が必要な機能への移行が必要な機能への移行が必要な機能への移行が必要な機能次の機能を使用するには、すべての関連サイトが Oracleリリース 8.0およびリリース 8.1へ正常に移行されている必要があります。

� LOBデータ型のレプリケーション(リリース 8.0)

� 削減されたデータ伝播(リリース 8.0)

– min_communicationパラメータの使用

– SEND_OLD_VALUESおよび COMPARE_OLD_VALUESプロシージャの使用

� 遅延トランザクションのパラレル伝播(リリース 8.0)

� グローバル認証および権限付きデータベース・リンク(リリース 8.0)

� 検査プロシージャ(リリース 8.0)

次の機能を使用するには、すべての関連サイトが Oracleリリース 8.0およびリリース 8.1および主キー・スナップショットへ正常に移行されている必要があります。

� 副問合せがある単純スナップショット(リリース 8.0)

� マスター表の再編成プロシージャ(リリース 8.0)

� 垂直パーティション・スナップショット(リリース 8.1)

� 配置テンプレート(リリース 8.1)

次の機能は、Oracle7と Oracle8iが混在する環境で自動的に動作しますが、Oracle8サイトのみに影響します。

� ファイン・グレイン停止

� スナップショット登録

参照参照参照参照 : レプリケーションの新機能の詳細は、『Oracle8i レプリケーション・ガイド』を参照してください。

注意注意注意注意 : Oracle7サイトでマスター・グループが停止された場合、このサイトのすべてのマスター・グループが停止されます。

レプリケーション環境の移行および互換性 G-13

Page 470: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

廃止されたプロシージャ

廃止されたプロシージャ廃止されたプロシージャ廃止されたプロシージャ廃止されたプロシージャOracle8iで廃止されたプロシージャは次のとおりです。

DBMS_REPCAT.GENERATE_REPLICATION_PACKAGE

DBMS_REPCAT.GENERATE_REPLICATION_TRIGGER

DBMS_REPCAT_ADMIN.GRANT_ADMIN_REPGROUP

DBMS_REPCAT_ADMIN.GRANT_ADMIN_ANY_REPGROUP

DBMS_REPCAT_ADMIN.REVOKE_ADMIN_REPGROUP

DBMS_REPCAT_ADMIN.REVOKE_ADMIN_ANY_REPGROUP

DBMS_REPCAT_AUTH.GRANT_SURROGATE_REPCAT

DBMS_REPCAT_AUTH.REVOKE_SURROGATE_REPCAT

DBMS_DEFER_SYS.EXECUTE

DBMS_DEFER_SYS.SCHEDULE_EXECUTION

注意注意注意注意 : Oracleリリース 8.0およびリリース 8.1では Oracle7スナップショットは自動的に登録されませんが、マスター・サイトでDBMS_SNAPSHOT.REGISTER_SNAPSHOTプロシージャを使用して手動で登録することができます。このプロシージャの使用方法の詳細は、『Oracle8i レプリケーション・マネージメント API リファレンス』を参照してください。

G-14 Oracle8i移行ガイド

Page 471: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

索引索引索引索引

数字数字数字数字1610ポート,F-141630ポート,F-141830ポート,F-142GBを超えるファイルオペレーティング・システム依存性,9-50

2次索引索引構成表からの削除,13-15

32ビットから 64ビットへの変換「ワード・サイズ」を参照

AAda「SQL*Module for Ada」を参照

ALTER DATABASE CONVERT文,4-4,4-33再実行,A-20

ALTER DATABASE OPEN RESETLOGS文,4-4,4-33ALTER DATABASE RESET COMPATIBILITY文,9-8ALTER DATABASE RESET LOGS文,4-8,5-6ALTER SESSION SET ISOLATION_

LEVEL=SERIALIZABLEコマンド,B-8ALTER TABLE文ビットマップ索引の無効性,9-26

ANALYZE TABLE VALIDATE STRUCTURE文リリース 8.1での変更,9-18

AQ「アドバンスト・キューイング」を参照

AQ_TM_PROCESSES初期化パラメータ,7-18,7-39ARCHIVE_DEST_n初期化パラメータダウングレード,13-47

AUDIT_TRAIL初期化パラメータ移行,A-3

AUTOMATIC_IPCパラメータ,F-12

BBUILD DEFERRED句マテリアライズド・ビューおよびダウングレード,

13-17

CCACHE READS

LOB使用中断,13-3,13-26

CALL文互換性,9-13

CartridgeServices.jar,8-5CATALOG5.SQLスクリプト、Oracle8iで廃止,9-25CATALOG6.SQLスクリプト、Oracle8iで廃止,9-25CATALOG.SQLスクリプト,4-4,4-34,7-22,13-60CATEXP7.SQLスクリプト,9-49

Oracle7へのダウングレード,14-3CATNOQUEUE.SQLスクリプト,7-41CATPARR.SQLスクリプト,4-34,7-36,13-61CATPROC.SQLスクリプト,4-4,4-34,7-22,13-60CATQUEUE.SQLスクリプト,7-41CATREP.SQLスクリプト,4-34,5-21,7-28,13-60CHAR最大サイズ変更,9-16

CHARACTERキーワードOracle7と Oracle8iでの動作,9-23

CHECK_ONLY移行ユーティリティ・オプション,4-18,4-22

CLOB互換性,9-26

CMAN_ADMINパラメータ,F-14

索引索引索引索引 -1

Page 472: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

CMAN.ORAファイルCMAN_ADMINパラメータ,F-14アップグレード,F-14移行,F-14

COMMIT FORCEコマンド,4-8,5-6COMMITキーワード

Oracle7と Oracle8iでの動作,9-23COMMITコマンド

Server Managerと SQL*Plusとの違い,11-17COMMUNITYパラメータ,F-3COMPATIBLE初期化パラメータ,9-2

8.1.0設定必要とする機能,9-9

設定,9-6設定の確認,9-5設定のタイミング,9-5データベース構造,9-3

CONNECT THROUGH権限取消し,13-46

Connect-Time Failoverlistener.oraの GLOBAL_DBNAMEパラメータ,

F-13ContText

interMediaへの移行,4-7,5-6CREATE LIBRARYコマンド

Server Managerと SQL*Plusとの違い,11-16CREATE TABLE

AS副問合せ動作変更,9-31

動作変更Oracle7から Oracle8iへ,9-31

CREATE TYPEコマンドServer Managerと SQL*Plusとの違い,11-16

C言語Cのコール仕様互換性,9-13

DDB_BLOCK_SIZE初期化パラメータ移行,4-6,5-5

DB_DOMAIN初期化パラメータ,F-13互換性,B-10

DB_NAME初期化パラメータ,F-13DBMSプリコンパイラ・コマンドライン・オプション,

9-21

DBMS_APPLICATION_INFOパッケージSET_SESSION_LONGOPSプロシージャ構文変更,9-34

DBMS_LOBパッケージNOCOPY構文および互換性,9-34

DBMS_REPAIRパッケージ互換性,9-13,9-34ダウングレード,13-42

DBMS_ROWIDパッケージ,12-3DBMS_STATSパッケージ統計表のアップグレード,7-45

DBMSLOB.SQLスクリプト互換性,9-34

DBNAME移行ユーティリティ・オプション,4-18

DECキーワードOracle7と Oracle8iでの動作,9-23

DEGREEキーワードPARALLEL句,9-36

DISABLE VALIDATE制約互換性,9-13ダウングレード,13-42

DML_LOCKS初期化パラメータ互換性,B-10

DTYCHR型,12-10DUMP_TNSNAMESコマンド,F-18

EEBUバックアップ管理,9-41

Enterprise Manager「Oracle Enterprise Manager」を参照

FFAILOVERパラメータ,F-9FALSEキーワード

Oracle7と Oracle8iでの動作,9-23FAST REFRESHモードマテリアライズド・ビューおよびダウングレード,

13-17Forms

Oracle Formsアプリケーションのアップグレード,10-12

索引索引索引索引 -2

Page 473: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

GGLOBAL_DBNAMEパラメータ,F-13GREATEST_LBファンクションデサポート,9-30

IINIT.ORAパラメータ「初期化パラメータ」を参照

INSTANCE_NAME初期化パラメータ,F-10INSTANCESキーワード

PARALLEL句からの削除,9-36intchg.oraファイル,F-15interMedia

ConTextからの移行,4-7,5-6interMedia Textアップグレード,7-24

INTキーワードOracle7と Oracle8iでの動作,9-23

JJava

CartridgeServices.jarのインストール,8-5ODCI.jarのインストール,8-5アップグレード,7-31互換性,9-9ダウングレードのための非互換性の削除,13-34

JOB_QUEUE_PROCESSES初期化パラメータ,4-30,5-11,7-18,7-39

JServerアップグレード,7-31

LLARGE_POOL_SIZE初期化パラメータパラレル実行の割当て,B-11リリース 8.1での変更点,8-5

LEAST_UBファンクションデサポート,9-30

listener.oraファイルUSE_PLUG_AND_PLAY_listener_name,F-18アップグレード,F-13アップグレード後に変更,8-6移行,F-13移行後に変更,8-6

事前生成済専用サーバー,F-14パラメータ

GLOBAL_DBNAME,F-13ORACLE_HOME,F-13SID_NAME,F-13

LOAD_BALANCEパラメータ,F-9LOAD_TNSNAMESコマンド,F-19,F-22LOB互換性,9-11,9-26索引構成表からの削除,13-14ダウングレード,13-26パーティション表からの削除,13-28

LOB索引句互換性,9-27

LOBデータ型LONGからコピー,8-2

LOG_CHECKPOINT_TIMEOUT新規デフォルト値,B-9

LOG_CHECKPOINT_TIMEOUT初期化パラメータ互換性,B-9

LogMiner互換性,9-43

LONGデータ型LOBへのコピー,8-2

Mmigprepユーティリティ実行,4-19

MIGRATE.BSQスクリプト,4-26MIGRATEユーザー回避,4-11,5-9

Migration Assistant「Oracle Data Migration Assistant」を参照

MTS「マルチスレッド・サーバー」を参照

MULTIPLIER移行ユーティリティ・オプション,4-18,A-5

Multi-Protocol Interchange,F-2

NNAMES_DID表,F-16NAMES.ADMIN_REGIONパラメータ,F-17,F-18NAMES.DEFAULT_DOMAINパラメータ,F-3NAMES.DEFAULT_ZONEパラメータ,F-3NAMES.DOMAINSパラメータ,F-16

索引索引索引索引 -3

Page 474: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

NAMES.PREFERRED_SERVERSパラメータ,F-3NCHAR

Oracle8iでの使用,9-28移行,9-28

NCHARおよび NLS環境変数互換性,9-28

NCLOB互換性,9-26

Net8FAILOVERパラメータ,F-9LOAD_BALANCEパラメータ,F-9NAMES.DEFAULT_DOMAINパラメータ,F-3NAMES.PREFERRED_SERVERSパラメータ,F-3Net8 Assistant

Net8 Client 8.0と互換性のあるオプションを使用するオプション,F-9

Oracle8iリリース 8.0互換識別子を使用するオプション,F-9

Oracle Enterprise Managerのある listener.oraファイル,F-13

SERVICE_NAMEパラメータ,F-5SOURCE_ROUTEパラメータ,F-9SQL*Netとの比較,F-2アップグレード

listener.oraファイル,F-13Oracle Connection Managerリリース 8.1へ,

F-14Oracle Namesリリース 8.1へ,F-15sqlnet.oraファイル,F-12tnsnames.oraファイル,F-12クライアントのソフトウェア,F-11構成ファイル,F-11サーバーのソフトウェア,F-11サービス名およびインスタンス名の検証,F-10リリース 8.1へ,F-10,F-13

移行またはアップグレード,8-13,9-46共存問題,F-4~ F-9

Net8 Assistantを使用する,F-9Oracle Names,F-9SERVICE_NAMEを使用する,F-6SIDを使用する,F-6サード・パーティー製 Oracle7アプリケーション,

F-6リリース 8.0クライアントのリリース 8.1データ

ベースへの接続,F-4リリース 8.1クライアントのバージョン 7データ

ベースへの接続,F-7

リリース 8.1クライアントのリリース 8.0データベースへの接続,F-7

リリース 8.1クライアントのリリース 8.1データベースへの接続,F-4

サービス・ネーミング,9-47ダウングレード,13-50

接続時ロード・バランシング,9-47廃止されたパラメータ,F-3,F-12

COMMUNITYパラメータ,F-3NAMES.DEFAULT_ZONEパラメータ,F-3

Net8 Assistant、説明,F-2Net8 Client 8.0と互換性のあるオプションを使用する

オプション,F-9Net8 Configuration Assistant、説明,F-2NEVER REFRESHモードマテリアライズド・ビューおよびダウングレード,

13-17NEW_DBNAME移行ユーティリティ・オプション,4-18

NLS移行,9-28

NLS_LANG環境変数互換性,9-28

NLS_NCHAR移行ユーティリティ・オプション,4-18

NLSおよび NCHAR環境変数互換性,9-28

nmcbild.sqlスクリプト,F-20nmcrgrnt.sqlスクリプト,F-20NO_SPACE_CHECK移行ユーティリティ・オプション,4-18

NOCOPYパラメータ引渡しモード互換性,9-13

N-Tierの認証および認可互換性,9-12

NUMERICキーワードOracle7と Oracle8iでの動作,9-23

OO7_DICTIONARY_ACCESSIBILITYパラメータ互換性,9-25,B-9

OCIOCIChangePasswordコール,9-38OCISessionBeginコール,9-38アプリケーション

Oracle8iを使用するための変更,10-11

索引索引索引索引 -4

Page 475: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

アプリケーションの Oracle8iへのアップグレード,10-3

互換性,9-18LISTENコールおよび AQ,9-20クライアント通知,9-9,9-19スレッド・セーフティ,9-19バッチ・エラー・モード,9-19リンク・ライン,9-19

相互運用性,9-18Oracle7クライアント,9-19共有構造,9-18

OCIアプリケーションアップグレード選択肢,10-8

ODCI.jar,8-5OFA,1-11OID「オブジェクト識別子」を参照

OLONコール廃止,9-19

OLQP,3-18OLTP,3-18OPS「Oracle Parallel Server」を参照

Optimal Flexible Architecture「OFA」を参照

ORA_NLS32環境変数互換性,9-28

ORA_NLS33環境変数,4-20互換性,9-28

Oracle AQ「アドバンスト・キューイング」を参照,9-13

Oracle Connection ManagerCMADMINプロセス,F-14CMCWプロセス,F-14intchg.ora,F-15Oracle Multi-Protocol Interchangeのかわりに使用,

F-15tnsnav.oraファイル,F-15tnsnet.oraファイル,F-15複数プロトコル・サポート,F-15ポート 1610,F-14ポート 1630,F-14ポート 1830,F-14リリース 8.1へアップグレード,F-14リリース 8.1へ移行,F-14

Oracle Data Migration AssistantOracle Parallel Serverアップグレードをサポートしない,7-7移行をサポートしない,3-9

SYSTEM表領域に必要な領域,5-4移行ユーティリティとの違い,3-9概要,5-3異なるオペレーティング・システムへの移行,5-6実行,5-20,7-7,7-13使用するキャラクタ・セット,5-7制限事項,5-3長所および短所,3-8ドキュメント・ロードマップ,5-2

Oracle Developerアプリケーションアップグレード,10-12

Oracle Enterprise Managerlistener.oraファイルのスタティック・サービス情報,

F-13Oracle Media Management API互換性,9-12プロキシ・コピー要件,9-44

プロキシ・コピーおよびダウングレード,13-46Oracle Names

NAMES_DID表,F-16NAMES_DOM表,F-16NAMESCTLユーティリティ

DUMP_TNSNAMESコマンド,F-18LOAD_TNSNAMESコマンド,F-19

namesini.sqlスクリプト,F-23names.oraファイルの NAMES.ADMIN_REGION

パラメータ,F-17,F-18names.oraファイルの NAMES.DOMAINS

パラメータ,F-16namesupg.sqlスクリプト,F-16,F-18,F-21,F-23Net8 Assistant

tnsnames.oraファイルを Oracle Namesへロードする,F-19,F-22

NMO_INFORMATION表,F-17USE_PLUG_AND_PLAY_listener_nameパラメータ,

F-18移行

ROSFILES,F-20ROSFILESを tnsnames.oraファイルへ移行,

F-21ROSFILESをデータベースの Oracle Names表へ,

F-20

索引索引索引索引 -5

Page 476: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

データベースを使用する Oracle Namesバージョン 2,F-16

リリース 8.1,F-15共存問題,F-9動的検出オプションのある Oracle Names

バージョン 2,F-18リリース 8.1へアップグレード,F-15

Oracle Namesの NAMES_DOM表,F-16Oracle Namesの namesini.sqlスクリプト,F-23Oracle Namesの namesupg.sqlスクリプト,F-16,

F-18,F-21,F-23Oracle Namesの NMO_INFORMATION表,F-17Oracle Namesの動的検出オプション移行問題,F-18

Oracle Network Manager、説明,F-2Oracle Parallel Serverアップグレード,7-3,7-36

Oracle Data Migration Assistantではサポートされていない,7-7

移行,4-8Oracle Data Migration Assistantではサポートさ

れていない,3-9互換性の要件,9-35ジョブのインスタンス親和性互換性,9-12

ダウングレード,13-61ローリング・アップグレード,1-13

Oracle Trace Managerアプリケーション,B-17ORACLE_HOME初期化パラメータ,F-13ORACLE_TRACE_COLLECTION_NAMEサーバー初

期化パラメータ,B-17ORACLE_TRACE_ENABLE初期化パラメータ,B-17Oracle7移行のための準備,4-10,5-7

Windowsプラットフォーム,4-13,5-12ダウングレード,14-1

Oracle8i初期化パラメータへの変更,B-1新規 SQL関数,E-1新規内部型,E-1新機能移行またはアップグレード後の追加,8-8

Oracle8iリリース 8.0互換識別子を使用するオプション,F-9

Oracleアドバンスト・キューイング「アドバンスト・キューイング」を参照

Oracleコール・インタフェース「OCI」を参照

Oracleプリコンパイラ「プリコンパイラ」を参照

Oracleホーム複数,1-5

ORADIMアップグレード,7-16移行,4-25,7-16ダウングレード,13-57

ORLONコール廃止,9-19

OUTLNユーザー回避,4-11,5-9,7-4パスワードの変更,8-2

OWAパッケージ互換性,9-33

PParallel Server「Oracle Parallel Server」を参照

PARALLEL句DEGREEキーワード,9-36INSTANCESキーワードの削除,9-36

PFILE移行ユーティリティ・オプション,4-18

PL/SQLPLSQL_V2_COMPATIBILITY初期化パラメータ,

9-21下位互換性,9-21互換性,9-13,9-21相互運用性,9-21ダウングレードのための非互換性の削除,13-33バルク・バインドダウングレード,13-34

ファンクションOracle8iでのデサポート,9-30

変数NCHARおよび NLS,9-28

モジュール再コンパイル,7-46

PREBUILT TABLE句マテリアライズド・ビューおよびダウングレード,

13-17Pro*Ada

SQL*Module for Adaへのアップグレード,9-20

索引索引索引索引 -6

Page 477: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

Pro*C/C++SYSDBA権限との接続,9-20

Pro*COBOLSYSDBA権限との接続,9-20

PROPS$ビューNCHARおよび NLS,9-28NCHARキャラクタ・セット,4-18

RR0703040.SQLスクリプトレプリケーション,4-34,5-21

RAW最大サイズ変更,9-16

REALキーワードOracle7と Oracle8iでの動作,9-23

Recovery Manager8.0.3にダウングレードパッケージを再インストール,13-64

カタログを正規化,8-9互換性,9-40コマンド互換性,9-41

バックアップ管理,9-41REF互換性,9-11

REFRESH ON COMMITモードマテリアライズド・ビューおよびダウングレード,

13-17REMOTE_LOGIN_PASSWORDFILE初期化パラメータ移行,A-18

ROLLBACK FORCEコマンド,4-8,5-6rosbild.sqlスクリプト,F-20ROSFILES

nmcbild.sqlスクリプト,F-20nmcgrnt.sqlスクリプト,F-20rosbild.sqlスクリプト,F-20rosgrnt.sqlスクリプト,F-20

rosgrnt.sqlスクリプト,F-20ROWID

DBMS_ROWID互換性パッケージ,12-3Oracle8i形式への変換,12-3例,12-5

移行,12-1FAQ,12-9質問および回答,12-9

移行および互換性の問題,12-7拡張,12-7互換性,9-27クライアント・アクセス,12-7

索引,12-10スナップショット・リフレッシュ,12-6制限付き,12-7

SSAVEPOINTキーワード

Oracle7と Oracle8iでの動作,9-23SERIALIZABLE=TRUE初期化パラメータ,B-8Server Manager

SQL*Plusとの違いCOMMITコマンド,11-17CREATE LIBRARYコマンド,11-16CREATE TYPEコマンド,11-16アンパサンド,11-15起動,11-2空白行,11-12構文,11-9コマンド,11-3コメント,11-9ハイフン継続文字,11-13

スクリプトの SQL*Plusへの移行,11-1SERVICE_NAMES初期化パラメータ,F-10,F-13SERVICE_NAMEパラメータ,F-5SET COMPATIBILITYコマンド

SQL*Plusスクリプト,10-11SET TRANSACTION ISOLATION LEVEL

SERIALIZABLEコマンド,B-8SET_SESSION_LONGOPSプロシージャ構文変更,9-34

SHARED_POOL_SIZE初期化パラメータパラレル実行の割当て,B-11リリース 8.1での変更点,8-5

SID_NAMEパラメータ,F-13SIDパラメータ,F-5SORT_AREA_SIZE初期化パラメータ互換性,B-9

SORT_DIRECT_WRITES初期化パラメータ互換性,B-9

SOURCE_ROUTEパラメータ,F-9Spatial互換性,9-14

索引索引索引索引 -7

Page 478: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

SPOOL移行ユーティリティ・オプション,4-18

SQL関数

Oracle8iで新規,E-3互換性,9-13ダウングレードのための非互換性の削除,13-33

SQL*Modulefor Ada,9-20

SQL*Net,F-7Net8との比較,F-2Net8への移行,8-13,9-46Oracle8iでの使用,10-2SIDパラメータ,F-5V1から V2へのアップグレード,9-46移行,F-10~ F-13

listener.oraファイル,F-13Oracle Namesリリース 8.1,F-15sqlnet.oraファイル,F-12tnsnames.oraファイル,F-12クライアントのソフトウェア,F-11構成ファイル,F-11サーバーのソフトウェア,F-11サービス名およびインスタンス名の検証,F-10

移行の要件Windowsプラットフォーム,4-13,5-12

共存問題,F-4,F-9SERVICE_NAMEを使用する,F-6SIDを使用する,F-6サード・パーティー製 Oracle7アプリケーション,

F-6互換性の問題

Oracle7クライアントのリリース 8.1データベースへの接続,F-4

再リンク,10-2SQL*Net Easy Configuration、説明,F-2SQL*Netでの再リンク,10-2SQL*Plus

Server Managerからのスクリプトの移行,11-1Server Managerとの違い

COMMITコマンド,11-17CREATE LIBRARYコマンド,11-16CREATE TYPEコマンド,11-16アンパサンド,11-15起動,11-2空白行,11-12構文,11-9

コマンド,11-3コメント,11-9ハイフン継続文字,11-13

スクリプトアップグレード,10-11

sqlnet.oraファイルAUTOMATIC_IPC,F-12アップグレード,F-12移行,F-12

SQLコマンドALTER SESSION SET ISOLATION_

LEVEL=SERIALIZABLE,B-8COMMIT FORCE,4-8,5-6ROLLBACK FORCE,4-8,5-6SET TRANSACTION ISOLATION LEVEL

SERIALIZABLE,B-8SUBSTR演算子,9-16SYSDBA

Pro*C/C++で接続,9-20Pro*COBOLで接続,9-20

SYSTEM_TRIG_ENABLED初期化パラメータ,7-31SYSTEM表領域

Oracle Data Migration Assistant,5-4移行ユーティリティ,3-6,4-6領域移行用の領域不足,A-2

SYSTEMロールバック・セグメントの OPTIMAL設定移行,A-4

SYSスキーマユーザー作成オブジェクト,9-25

Ttnsnames.oraファイルアップグレード,F-12移行,F-12パラメータ

FAILOVER,F-9LOAD_BALANCE,F-9SERVICE_NAME,F-6SID,F-5SOURCE_ROUTE,F-9

tnsnav.oraファイル,F-15tnsnet.oraファイル,F-15TO_LABELファンクションデサポート,9-30

TO_LOBファンクション,8-2

索引索引索引索引 -8

Page 479: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

TPモニター,3-18TRUEキーワード

Oracle7と Oracle8iでの動作,9-23Trusted Oracleエクスポート /インポート,6-3

TuxedoアプリケーションOracle8i XAライブラリとの互換性,9-18

UU0703040.SQLスクリプト,4-33UROWID互換性,9-11相互運用性,9-27ダウングレード,13-25

USE_PLUG_AND_PLAY_listener_nameパラメータ,F-18

UTL_REFパッケージダウングレード,13-41ダウングレード後の再インストール,13-63

UTLCHN1.SQLスクリプト,9-31互換性,9-13

UTLCONST.SQLスクリプト,8-4UTLDST.SQLスクリプト,9-6,13-9UTLEXPT1.SQLスクリプト,9-31互換性,9-13

UTLRP.SQLスクリプト,4-34,5-22,7-46

VVALUE$ビュー

NCHARおよび NLS,9-28VARCHAR2最大サイズ変更,9-16

VARRAYLOBとして格納互換性,9-29

互換性,9-11非互換性の削除,13-32

Visual Image Retrieval互換性,9-14

XXAライブラリ互換性,9-18

ああああアーカイブエラー検出動作,9-43

アーカイブ REDOログ互換性,9-43再アーカイブ,9-43分析他のデータベース,9-44

アーカイブ・ログの宛先のパラメータリリース 8.1の新規,B-14

アクティブ・トランザクション読取り専用表領域,9-24

アップグレードinterMedia Text,7-24Java,7-31JServer,7-31listener.oraファイル,8-6Oracle Data Migration Assistantの使用,7-7Oracle Formsアプリケーション,10-12Oracle Parallel Server,7-3,7-36ローリング・アップグレード,1-13

ORADIM,7-16OUTLNユーザー、回避,7-4SQL*Plusスクリプト,10-11新しい管理手順,8-8定義,1-3アップグレード後,8-1,8-14アップグレード後の処理,8-1アップグレードの準備,7-3アドバンスト・キューイング,7-39アプリケーション,10-1互換性規則,10-5再リンク,10-5選択肢,10-8

キュー表,7-42サポートされているリリース,7-2手動,7-14初期化パラメータ,7-18スクリプト,7-20

CATALOG.SQL,7-22CATPARR.SQL,7-36CATPROC.SQL,7-22CATREP.SQL,7-28UTLRP.SQL,7-46再実行,7-22実行中のエラー,1-11

索引索引索引索引 -9

Page 480: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

スタンバイ・データベース,8-6スナップショット,7-38手順,7-3統計表,7-45特定のコンポーネント,7-24パス,7-2パラレル実行,8-5ユーザー定義データ型,7-43リカバリ・カタログ,7-44レプリケーション,7-28

アドバンスト・キューイングアップグレード,7-39オブジェクトおよびシステム・レベル権限の取消し,

13-38拡張アドレス・フィールド,7-39キュー表のダウングレード,13-39キュー表ダウングレード,13-39

互換性,9-13,9-32権限,9-32メッセージ・ストリーミング,9-32ルール・ベースのサブスクリプション,9-32

スクリプトCATNOQUE.SQL,7-41CATQUEUE.SQL,7-41

相互運用性,9-32送信者の ID列,9-32

伝播の削除,13-40非互換性の削除ダウングレード,13-35

アプリケーションOCI互換性,9-18相互運用性,9-18

Oracle8iの物理 ROWID,12-2PL/SQL互換性,9-21相互運用性,9-21

Tuxedoアプリケーション互換性,9-18

アップグレード,10-1互換性規則,10-5再リンク規則,10-5選択肢,10-8

アプリケーション・コンテキスト互換性,9-12ダウングレード,13-45

開発移行における役割,2-7

クライアント /サーバー構成アップグレード,10-4

互換性,9-16,10-2索引構成表互換性,9-17

相互運用性,9-16物理 ROWIDおよび UROWID,9-17プリコンパイラ互換性,9-20相互運用性,9-20

古いサーバーで実行する,10-6より新しいライブラリにリンクする,10-6

いいいい異機種間サービスエージェント互換性,9-46相互運用性,9-46マルチスレッド,9-46

移行ALTER DATABASE CONVERT文,4-4,4-33再実行,A-20

ALTER DATABASE OPEN RESETLOGS文,4-4,4-33

AUDIT_TRAIL初期化パラメータ,A-3listener.oraファイル,8-6migprepユーティリティ,4-19MIGRATE.BSQスクリプト,4-26MIGRATEユーザー、回避,4-11,5-9NCHARおよび NLS,9-28Oracle Data Migration Assistant,3-8Oracle Parallel Server,4-8ローリング・アップグレード,1-13

Oracle7ソース・データベースの準備,4-10,5-7Windowsプラットフォーム,4-13,5-12

ORADIM,4-25,7-16OUTLNユーザー、回避,4-11,5-9ROWID,12-1

FAQ,12-9ROWIDの互換性,12-7SQL*Netの要件

Windowsプラットフォーム,4-13,5-12SYSTEM表領域,A-2

索引索引索引索引 -10

Page 481: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

SYSTEMロールバック・セグメントの OPTIMAL設定,A-4

新しい管理手順,8-8アプリケーション開発者の役割,2-7移行後,8-1,8-12移行後の処理,8-1,11-1移行の準備,3-2移行の手順,2-2移行ユーティリティ,3-6一時表領域,A-2一般的な問題の回避,3-19インポート /エクスポートを使用,G-10エクスポート /インポート,3-10手順,6-2

オフライン・データ・ファイル,4-4オフラインの表領域,4-11,5-9キャラクタ・セット,4-9,5-7後のチューニング,8-14システム要件,3-15主キー・スナップショットへのアップグレード,

G-11初期化パラメータ,4-30,5-11,B-1スクリプト

CATALOG.SQL,4-4,4-34CATPARR.SQL,4-34CATPROC.SQL,4-4,4-34CATREP.SQL,4-34,5-21R0703040.SQL,4-34,5-21U0703040.SQL,4-33UTLRP.SQL,4-34,5-22再実行,4-34,5-22実行中のエラー,1-11

スタンバイ・データベース,8-6スナップショット・サイト,G-6制御ファイル,4-26,7-17,13-58段階的,G-5中止,4-36,5-24定義,1-3データのコピー,3-14データベース管理者の役割,2-7テスト,3-21テストの結果,8-13トラブルシューティング,A-1

ALTER DATABASE CONVERT文,A-17AUDIT_TRAIL初期化パラメータ,A-3MULTIPLIERオプション,A-5

NOMOUNTデータベース・スタート・モード,A-17

OPTIMAL設定,A-4Oracle Data Migration Assistantの実行,A-2Oracle7制御ファイル,A-17SYSTEM表領域,A-2移行ユーティリティのエラー・メッセージ,A-5移行ユーティリティの実行,A-2一時表領域,A-2データ・ファイルのバージョン整合性,A-20データベース名の不一致,A-19長いスクリプトの実行,A-21パスワード・ファイル,A-18不明変換ファイル,A-18

廃止されたレプリケーション・プロシージャ,G-14排他パスワード・ファイル,A-18バックアップ計画,3-21パラレル実行,8-5必要とする機能,G-13ブロック・サイズ最小値,4-6,5-5分散データベースの考慮点,4-8,5-6方法選択,3-3

方法の選択,3-3マスター・サイト,G-3メモリー要件,3-15,4-6,5-4用語,1-2読取り専用表領域,4-4領域要件,3-15,4-6,5-4レプリケーション,4-7レプリケーション概要,G-2ロールバック・セグメント,4-4

移行された表領域移行された表領域の削除,13-6,13-10一時セグメントの一致,13-7,13-11

移行ユーティリティMULTIPLIERオプション,A-5Oracle Data Migration Assistantとの違い,3-9SYSTEM表領域,3-6SYSTEM表領域に必要な領域,4-6エラーおよびメッセージ,A-5オプション

CHECK_ONLY,4-18,4-22DBNAME,4-18MULTIPLIER,4-18NEW_DBNAME,4-18NLS_NCHAR,4-18

索引索引索引索引 -11

Page 482: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

NO_SPACE_CHECK,4-18PFILE,4-18SPOOL,4-18

概要,4-3異なるオペレーティング・システムへの移行,4-8コマンドライン・オプション,4-18実行,4-22

UNIX上,4-22Windowsプラットフォーム上,4-24

使用,4-20使用するキャラクタ・セット,4-9長所および短所,3-6ドキュメント・ロードマップ,4-2必要な権限,4-20

一時表互換性,9-10ダウングレードの削除,13-13

一時表領域領域移行用の領域不足,A-2

イベント・データコレクション,B-17

インストールリリース 8.1の Oracleソフトウェア,4-14,5-14,

6-3インポート拡張 ROWID,12-8

インポート・ユーティリティ移行,3-10,6-1移行要件,6-2データ定義変換,3-13

ええええエージェント自動登録互換性,9-12

エクスポート拡張 ROWID,12-8

エクスポート /インポートTrusted Oracle,6-3移行されたデータベースへの影響,3-11移行の基本手順,6-2移行の時間要件,3-13移行の制約,3-12移行の利点,3-12互換性,9-48使用した移行手順,6-3

スクリプトCATEXP7.SQL,9-49

長所および短所,3-10データ定義変換,3-13非互換データ,9-49

エクスポート・ユーティリティCATEXP7.SQLを使用する Oracle8i,14-3移行,3-10,6-1移行要件,6-2

エラー移行時「トラブルシューティング」を参照

演算子削除,13-20

エンタープライズ・ユーザー管理相互運用性,9-39

おおおお大きいファイルオペレーティング・システム依存性,9-50

オブジェクト識別子ユーザー定義ダウングレード,13-30

オブジェクト表パーティション化ダウングレード,13-23

オプション移行ユーティリティ用,4-18削除,1-13

オプティマイザダウングレード,13-44プラン・スタビリティ互換性,9-13

オフライン・データ・ファイル移行,4-4

オペレーティング・システム異なるオペレーティング・システムへの移行,4-8,

5-6オンライン索引(再)構築互換性,9-10

オンライン読取り専用表領域互換性,9-9

索引索引索引索引 -12

Page 483: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

かかかかカーソルオープン数,3-18

下位互換性ROWID,12-7

各国語キャラクタ・セットOracle8i,9-28

拡張 ROWID,12-7インポートおよびエクスポートの問題,12-8

拡張アドレス・フィールドアドバンスト・キューイング,7-39

拡張索引作成機能互換性,9-10ダウングレード,13-20

型相互参照ダウングレード,13-32

可変幅のキャラクタ・セットLOBダウングレード,13-27

環境変数ORA_NLS32,9-28ORA_NLS33,4-20,9-28アップグレードに必要,7-19移行に必要,4-20,4-24互換性

NCHARおよび NLS,9-28関数

SQLOracle8iで新規,E-3

ききききキー圧縮使用の中断,13-13

キーワード動作の違い

Oracle7と Oracle8i,9-23機能新機能,9-9必要な移行,G-13

機能の互換性,9-8逆方向移行未サポート,14-2

キャラクタ・セットOracle Data Migration Assistant,5-7

移行ユーティリティ,4-9可変幅

CLOBおよび NCLOB,9-26データベースの移行,4-9,5-7

キュー表アップグレード,7-42ダウングレード,13-39

共存問題リリース 8.1クライアントのバージョン 7データ

ベースへの接続,F-7共有構造相互運用性,9-18

くくくくクライアント /サーバー構成,1-4クラスタクラスタ表データのコピー,3-15

グローバル・ユーザーダウングレード,13-5,13-45

けけけけ結合ダウングレード,13-44

ここここコール仕様ダウングレード,13-33

互換性,9-18.1.0互換性レベル必要とする機能,9-9

ALTER DATABASE RESET COMPATIBILITY文,9-8

ANALYZE VALIDATE STRUCTURE文,9-18COMPATIBLE初期化パラメータ,9-2CREATE TABLEの動作変更,9-31DBMS_REPAIRパッケージ,9-13DISABLE VALIDATE制約,9-13LOB,9-11,9-26

CLOBおよび NCLOB,9-26LOB索引句,9-27LogMiner,9-43NLSおよび NCHAR環境変数,9-28N-Tierの認証および認可,9-12

索引索引索引索引 -13

Page 484: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

OCI,9-18スレッド・セーフティ,9-19リンク・ライン,9-19

Oracle Media Management API,9-12Oracle Parallel Serverジョブのインスタンス親和性,9-12

OWAパッケージ,9-33PL/SQL,9-21

PLSQL_V2_COMPATIBILITY初期化パラメータ,9-21

REF,9-11ROWID,9-27ROWIDの問題,12-7SHUTDOWN IMMEDIATE,9-23Spatial,9-14SQLおよび PL/SQL,9-13

CALL文,9-13Cのコール仕様,9-13NOCOPYパラメータ引渡しモード,9-13システム固有の動的 SQL,9-13自律型トランザクション,9-13バルク・バインド,9-13

UROWID,9-11VARRAY,9-11

LOBとして格納,9-29Visual Image Retrieval,9-14アーカイブ REDOログ,9-43アドバンスト・キューイング,9-13,9-32アプリケーション,9-16,10-2

Tuxedoアプリケーション,9-18XAコール,9-18索引構成表,9-17物理 ROWIDおよび UROWID,9-17

アプリケーション・コンテキスト,9-12異機種間サービス・エージェント,9-46エージェント自動登録,9-12エクスポート /インポート,9-48オプティマイザのプラン・スタビリティ,9-13拡張可能オプティマイザ,9-13機能のレベルの確認,9-8互換性レベル,9-5最大サイズの変更

CHAR,9-16RAW,9-16VARCHAR2,9-16

最適化,9-35

索引キー圧縮,9-10

サマリー管理,9-14初期化パラメータ,B-9スキーマ・オブジェクト,9-10一時表,9-10オンライン索引(再)構築,9-10拡張索引作成機能,9-10コレクション・ロケータ,9-11索引,9-10索引構成表,9-10単一表ハッシュ・クラスタ,9-10ネストした表,9-11ファンクション索引,9-10列削除,9-10

スクリプトUTLCHN1.SQL,9-13,9-31UTLEXPT1.SQL,9-13,9-31

スタンバイ・データベース,9-42スナップショット,9-44ダウングレード,9-5データ型,9-26データ・ディクショナリ,9-25データ・ファイル,9-23データベースのリセット,13-51データベース・リソース・マネージャ,9-13動的パフォーマンス・ビューの日付列,D-13トリガー,9-13ネストした表,9-29パーティション化,9-10バックアップ,9-12,9-40パッケージ

DBMS_LOB,9-34DBMS_REPAIR,9-34

非互換性の削除,13-2表領域,9-9,9-23オンライン読取り専用表領域,9-9トランスポータブル表領域,9-9ローカルで管理される表領域,9-9

ファイン・グレイン・アクセス・コントロール,9-12

プリコンパイラ,9-20マテリアライズド・ビュー,9-14ユーザー定義オブジェクト識別子,9-11リカバリ,9-12,9-40ファスト・スタート・ロールバック,9-12

レプリケーション,9-12,9-45

索引索引索引索引 -14

Page 485: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

互換性レベル調査,13-2リセット,9-8

コマンドALTER SESSION SET ISOLATION_

LEVEL=SERIALIZABLE,B-8COMMIT FORCE,4-8,5-6ROLLBACK FORCE,4-8,5-6SET TRANSACTION ISOLATION LEVEL

SERIALIZABLE,B-8コマンドラインコマンドライン・オプション移行ユーティリティ,4-18

コメントServer Managerと SQL*Plusとの違い,11-9

コレクションコレクション列ユーザー指定の記憶域,9-29

コレクション・ロケータ互換性,9-29

コレクション・ロケータ互換性,9-11

コンポジット・メソッドパーティション化およびダウングレード,13-24

ささささサーバー・プロセス

SHUTDOWN,9-23サーバー・イベント・データコレクション,B-17

サーバー・イベント・データのコレクション,B-17サービス・ネーミング

Net8,9-47最適化互換性,9-35オプティマイザのプラン・スタビリティ,9-13拡張可能オプティマイザ,9-13

索引キー圧縮,9-10互換性,9-10再構築物理 ROWID,12-10

ドメイン削除,13-20

ビットマップ,8-12ファンクション,8-14

削除,13-20物理 ROWID,12-10

索引構成表LOBの削除,13-14互換性,9-10パーティションの削除,13-22

索引タイプ削除,13-20

索引の再構築物理 ROWID,12-10

削除,1-13サマリー管理互換性,9-14

参照列参照制約ダウングレード,13-31

ししししシステム固有の動的 SQL互換性,9-13相互運用性,9-30ダウングレード,13-34

システム要件移行に必要,3-15

事前生成済専用サーバー,F-14実行者権限句ダウングレード,13-33

シャドウ・プロセスオープン・カーソル,3-18

主キースナップショットのアップグレード,G-11

初期化パラメータAQ_TM_PROCESSES,7-18,7-39COMPATIBLE,9-2JOB_QUEUE_PROCESSES,4-30,5-11,7-18,7-39LARGE_POOL_SIZEパラレル実行の割当て,B-11

ORACLE_TRACE_COLLECTION_NAME,B-17ORACLE_TRACE_ENABLE,B-17Oracle8iで改名,B-4Oracle8iで追加,B-2Oracle8iで廃止,B-6Oracle8iで変更,B-1SERIALIZABLE=TRUE,B-8SHARED_POOL_SIZEパラレル実行の割当て,B-11

索引索引索引索引 -15

Page 486: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

SYSTEM_TRIG_ENABLED,7-31アーカイブ・ログの宛先新規への切替え,B-14

互換性,B-9DB_DOMAIN,B-10DML_LOCKS,B-10LOG_CHECKPOINT_TIMEOUT,B-9O7_DICTIONARY_ACCESSIBILITY,B-9SORT_AREA_SIZE,B-9SORT_DIRECT_WRITES,B-9

リリース 8.1の調整,4-30,5-11,7-18,8-8自律型トランザクション互換性,9-13

新機能8.1.0互換性を必要とする,9-9移行またはアップグレード後の追加,8-8

すすすすスキーマ・オブジェクト互換性,9-10

スクリプトutlconst.sql,8-4アップグレード,7-20再実行,4-34,5-22,7-22,13-55実行中のエラー,1-11ダウングレード,13-54

スタンバイ・データベースOracle8iへ移行,8-6アップグレード,8-6移行,8-6互換性,9-42

ストアド・アウトラインダウングレード,13-44

スナップショットアップグレード,7-38互換性,9-44主キーへのアップグレード,G-11リフレッシュ物理 ROWID,12-6

スナップショット・サイト移行,G-6

スレッド・セーフティ互換性,9-19

せせせせ制御ファイル移行の改名または削除,4-26,7-17,13-58

制限付き ROWID,12-7生成レプリケーション・サポートおよび移行,G-3,G-9

静的データ・ディクショナリ・ビューOracle8iで追加,C-2Oracle8iで廃止,9-25,C-17Oracle8iで変更

NULLを戻す可能性のある列,C-15列を改名,C-14列を削除,C-12列を追加,C-7

セキュリティ・ポリシーダウングレード,13-45ファイン・グレイン・アクセス・コントロール,

13-45接続

Net8でのロード・バランシング,9-47ローカルとリモート,3-17マルチスレッド共有サーバーの使用,3-17

そそそそ相互運用性,9-1,9-15

OCI,9-18Oracle7クライアント,9-19共有構造,9-18

PL/SQL,9-21UROWID,9-27アドバンスト・キューイング,9-32アプリケーション,9-16異機種間サービス・エージェント,9-46システム固有の動的 SQL,9-30プリコンパイラ,9-20ユーザー定義データ型,9-29

ソース・データベース定義,1-3

たたたたターゲット・データベース定義,1-3

ダウングレードCATALOG.SQL,13-60

索引索引索引索引 -16

Page 487: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

CATPROC.SQL,13-60CONNECT THROUGH権限の取消し,13-46Oracle Parallel Server,13-61Oracle7,14-1

CATEXP7.SQLスクリプト,14-3代替方法,14-4

ORADIM,13-57アドバンスト・キューイング,13-6,13-35以前の 8.0リリース,13-8以前の 8.1リリース,13-3キュー表,13-39スクリプト,13-54再実行,13-55実行中のエラー,1-11

定義,1-3データベース互換性のリセット,13-51手順,13-52トリガー,13-5非互換性の削除,13-2

DBMS_REPAIRパッケージ,13-42DISABLE VALIDATE制約,13-42Java,13-34LOB,13-26LOBの CACHE READS,13-3,13-26Net8サービス・ネーミング,13-50SET_SESSION_LONGOPSの構文変更,13-41SQLおよび PL/SQL,13-33UROWID,13-25UTL_REFパッケージ,13-41VARRAY,13-32アプリケーション・コンテキスト,13-45移行された表領域,13-6,13-10一時セグメント,13-7,13-11一時表,13-13移動された表領域,13-10演算子,13-20オプティマイザ,13-44拡張索引作成機能,13-20グローバル・ユーザー,13-5,13-45結合,13-44索引および索引構成表上におけるキー圧縮,

13-13索引構成表の 2次索引,13-15索引構成表の LOB,13-14索引タイプ,13-20参照列の参照制約,13-31ストアド・アウトライン,13-44

セキュリティ・ポリシー,13-45相互参照型,13-32相互参照ビュー,13-18単一表ハッシュ・クラスタ,13-16ディメンション,13-21ドメイン・インデックス,13-20トリガー,13-5,13-43ネストした表,13-31ネストした表ビュー列におけるトリガー,13-43パーティション化,13-22ビットマップ索引の無効性,13-19ファイン・グレイン・アクセス・コントロール,

13-45ファンクション索引,13-20部分的に削除された列,13-15プラン・スタビリティ,13-44マテリアライズド・ビュー,13-16未使用列,13-15ユーザー定義オブジェクト識別子,13-30ユーザー定義データ型,13-29例外表,13-25レプリケーション,13-47連鎖行表,13-25ローカルで管理される表領域,13-12

古い Oracle8のリリース,13-1レプリケーション,13-60再生成,13-63

ローカルで管理される表領域,13-7,13-12ダウングレードのための非互換性の削除,13-31単一表ハッシュ・クラスタ互換性,9-10削除,13-16

段階的移行,G-5

ちちちちチューニング移行後,8-14

直列可能トランザクション,B-8

てててて定義「用語」を参照ディメンションダウングレード,13-21

索引索引索引索引 -17

Page 488: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

データ型互換性,9-26内部

Oracle8iで新規,E-2データ定義変換インポート・ユーティリティ,3-13

データ・ディクショナリ互換性,9-25保護,9-25

データのコピー移行方法,3-14大きいクラスタ表,3-15領域要件,3-15

データ・ファイル移行におけるオフライン,4-4互換性,9-23

データベース移行結果のテスト,8-13移行後のチューニング,8-14移行のバックアップ,4-27ダウングレード,13-52非互換性の削除後オープンできない,9-8

データベース管理者移行における役割,2-7

データベース・リソース・マネージャ互換性,9-13

テストEXPLAIN PLAN,3-24INTO句,3-24移行結果,8-13移行処理,3-25移行済のテスト・データベース,3-25移行前後,3-24移行のアプリケーション,3-25移行の機能,3-22移行の計画の作成,3-21移行の最小限度,3-22移行の統合,3-22移行のパフォーマンス,3-23移行のボリューム /ロード・ストレス,3-23

伝播削除,13-40

テンポラリ・ファイルデータ・ディクショナリ情報,9-24

とととと統計表アップグレード,7-45

同時アクセス,3-17同時ユーザー,3-18動的パフォーマンス・ビュー

Oracle8iで改名,D-7Oracle8iで追加,D-2Oracle8iで廃止,D-13Oracle8iで変更列を改名,D-12列を追加,D-8

Oracle8iに削除列を持つ,D-11日付列互換性,D-13

ドキュメントOracle Data Migration Assistantのロードマップ,

5-2移行ユーテイリティのロードマップ,4-2表記規則,xvii

ドメイン・インデックス削除,13-20

トラブルシューティング移行,A-1

ALTER DATABASE CONVERT文,A-17AUDIT_TRAIL初期化パラメータ,A-3MULTIPLIERオプション,A-5NOMOUNTデータベース・スタート・モード,

A-17OPTIMAL設定,A-4Oracle Data Migration Assistantの実行,A-2Oracle7制御ファイル,A-17SYSTEM表領域,A-2移行ユーティリティのエラー・メッセージ,A-5移行ユーティリティの実行,A-2一時表領域,A-2データ・ファイルのバージョン整合性,A-20データベース名の不一致,A-19長いスクリプトの実行,A-21パスワード・ファイル,A-18不明変換ファイル,A-18

非互換性の削除後データベースをオープンできない,9-8

トランザクション分離レベルの設定,B-8ペンディング,4-8,5-6

索引索引索引索引 -18

Page 489: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

トランスポータブル表領域移動された表領域の削除,13-10互換性,9-9

トリガー互換性,9-13ダウングレード中に自動的に削除される,13-43ネストした表のビュー列におけるダウングレード,13-43

なななな内部データ型

Oracle8iで新規,E-2

ねねねねネストした表互換性,9-11,9-29

ははははバージョン定義済,1-2複数,1-4

バージョン 6エクスポート /インポートによる移行,6-2

パーティション化LOBの削除,13-28互換性,9-10ダウングレード,13-22

パーティション・ビューパーティション表への移行,8-12

廃止されたレプリケーション・プロシージャ,G-14パスワード管理

Oracle8iに必要なアプリケーションの変更,9-38相互運用性,9-39パスワードの期限切れ,9-39

パスワード・ファイル移行排他設定,A-18

バックアップEBU,9-41Recovery Managerおよび EBU,9-41移行の計画の準備,3-21移行前,4-27移行またはアップグレード後,8-2互換性,9-12,9-40

パラメータ移行ユーティリティ用「コマンドライン・オプション」を参照

パラレル実行問題の回避,8-5ラージ・プールからの割当て,B-11

バルク・バインド互換性,9-13ダウングレード,13-34

ひひひひ非互換性削除,13-2システム定義,9-6,13-9

非互換性の削除後データベースをオープンできない,9-8

日付の制約無効チェック,8-4

ビットマップ索引無効性,9-26移行時,8-12ダウングレード時,13-19

ビュー相互参照ダウングレード,13-18例,13-18

表領域オフライン表領域の移行,4-11,5-9互換性,9-9,9-23

ふふふふファイル名正規化,8-9

ファイン・グレイン・アクセス・コントロール互換性,9-12

ファスト・スタート・パラレル・リカバリ互換性,9-42

ファスト・スタート・ロールバック互換性,9-12,9-42

ファンクション索引互換性,9-10無効性アップグレード時,8-14

複数バージョン,1-4複数プロトコル・サポート,F-2,F-15

索引索引索引索引 -19

Page 490: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

部分的に削除された列削除,13-15

プラン・スタビリティ互換性,9-13ダウングレード,13-44

プリコンパイラPL/SQL下位互換性,9-21アプリケーション

Oracle8iを使用するための変更,10-10アップグレード選択肢,10-8動的にリンクされたアップグレード,10-7

アプリケーションの Oracle8iへのアップグレード,10-3

互換性,9-20相互運用性,9-20

プロキシ・コピー要件,9-44

プロシージャ・オプション移行に必要,4-10,5-8

ブロックブロック・サイズ

DB_BLOCK_SIZE初期化パラメータ,4-6,5-5移行最小値,4-6,5-5

文ALTER DATABASE RESET COMPATIBILITY,9-8ALTER DATABASE RESET LOGS,4-8,5-6

分散データベース移行の準備,4-8,5-6

へへへへペンディング・トランザクション移行,4-8,5-6

ほほほほポート 1610,F-14ポート 1630,F-14ポート 1830,F-14

ままままマスター・サイト移行,G-3部分的移行,G-7

マテリアライズド・ビュー互換性,9-14

ダウングレード,13-16BUILD DEFERRED句,13-17FAST REFRESHモード,13-17NEVER REFRESHモード,13-17PREBUILT TABLE句,13-17REFRESH ON COMMITモード,13-17

非互換性の削除,13-16マルチスレッド・サーバー共有,3-17共有およびローカル /リモート接続,3-17実行要件,9-46

みみみみ未使用列削除,13-15

めめめめメモリー要件移行,3-15,4-6,5-4同時アクセス,3-17

ゆゆゆゆユーザー作成オブジェクト

SYSスキーマ,9-25ユーザー定義オブジェクト識別子互換性,9-11ダウングレード,13-30

ユーザー定義データ型新しい書式,9-29アップグレード,7-43相互運用性,9-29ダウングレード,13-29

ユニバーサル ROWID「UROWID」を参照

よよよよ要件エクスポート,6-2

用語移行,1-2

用語集「用語」を参照読取り専用表領域

索引索引索引索引 -20

Page 491: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

アクティブ・トランザクション,9-24移行,4-4互換性,9-24

ららららラージ・オブジェクト「LOB」を参照

りりりりリカバリ互換性,9-12,9-40

リカバリ・カタログRecovery Managerとの互換性,9-40アップグレード,7-44

リスナーOracle Enterprise Managerの構成,F-13事前生成済専用サーバー,F-14

リソース・マネージャ「データベース・リソース・マネージャ」を参照リモート接続マルチスレッド共有サーバー,3-17

領域要件移行,3-15,4-6,5-4データのコピー,3-15

リリース定義済,1-2

れれれれ例外表削除,13-25

列部分的に削除された削除,13-15

未使用削除,13-15

列削除互換性,9-10

レプリケーションアップグレード,7-28移行,4-7移行概要,G-2互換性,9-12,9-45ダウングレード,13-60環境の準備,13-47

後の再生成,13-63廃止されたプロシージャ,G-14

連鎖行表削除,13-25

ろろろろローカル接続マルチスレッド共有サーバー,3-17

ローカルで管理される表領域互換性,9-9ディクショナリの表領域への変換,13-12

ロード・バランシングNet8,9-47

ロールバック・セグメント移行,4-4

ロックDMLロック制限、DML_LOCKS,B-10

わわわわワード・サイズ変更,1-12,7-46

索引索引索引索引 -21

Page 492: Oracle8i 移行ガイド, リリース8...Oracle8i 移行ガイド, リリース8.1 部品番号: J02416-01 原本名:Oracle8i Migration, Release 3 (8.1.7) 原本部品番号:A86632-01

索引索引索引索引 -22