ユーザーユーザーユーザー
手順 5: SQL スクリプトの実行 スクリプトの実行 スクリプトの実行 スクリプトの実行
1. アップグレードするリリース8.0.xのデータベースのOracle8サービスを開始します。た とえば、SIDがORCLの初期データベースのサービスを開始するには、MS-DOSコマン ド・プロンプトで次のように入力します。
C:¥> NET START ORACLESERVICEORCL
2. ORACLE_SIDを、アップグレードするリリース8.0.xのデータベースのSIDに設定しま
す。たとえば、アップグレードするデータベースが、SIDがORCLの初期データベース の場合は、MS-DOSコマンド・プロンプトで次のように入力します。等号(=)文字の 両側にはスペースを入れないでください。
C:¥> SET ORACLE_SID=ORCL
3. MS-DOSコマンド・プロンプトからSQL*Plusを起動します。
C:¥> SQLPLUS
4. INTERNALでリリース8.0.xのOracle8のインスタンスに接続します。
ユーザー名を入力してください。INTERNAL/PASSWORD
5. STARTUP RESTRICTを実行します。
SQL> STARTUP RESTRICT
6. UPGRADE.LOGというスプール・ファイルを作成します。
SQL> SPOOL UPGRADE.LOG 注意注意注意
注意: STARTUP RESTRICTは、1つのインスタンスにのみ適用されま
す。データベースには適用されません。Oracle Parallel Serverを使用する 場合、PARALLEL_SERVER=FALSEを指定して1つのインスタンスを起動 するか、すべてのインスタンスを起動するためにSTARTUP RESTRICTを 使用します。
7. 次のスクリプトを実行します。
アップグレード アップグレードアップグレード アップグレード 対象のリリース 対象のリリース対象のリリース 対象のリリース
スクリプトを スクリプトをスクリプトを スクリプトを 実行します 実行します実行します 実行します1
1 U*.SQLスクリプトのどれかを実行すると、CATALOG.SQLスクリプトとCATPROC.SQLスクリプトも実行されます。これ
らのスクリプトによって、システム・カタログのビューと、PL/SQLの使用に必要なパッケージがすべて作成されます。
SQL*Plusのプロンプトで入力するのプロンプトで入力するのプロンプトで入力するのプロンプトで入力する 8.0.3.0から
8.1.5へ
U0800030.SQL SQL> @%ORACLE_HOME%¥RDBMS¥ADMIN¥U0800030.SQL
%ORACLE_HOME%は、ドライブ名とリリース8.1.5のOracleホーム・ディレ クトリを表します。
8.0.4.0または 8.0.4.1から 8.1.5へ
U0800040.SQL SQL> @%ORACLE_HOME%¥RDBMS¥ADMIN¥U0800040.SQL
%ORACLE_HOME%は、ドライブ名とリリース8.1.5のOracleホーム・ディレ クトリを表します。
8.0.5 U0800050.SQL SQL> @%ORACLE_HOME%¥RDBMS¥ADMIN¥U0800050.SQL
%ORACLE_HOME%は、ドライブ名とリリース8.1.5のOracleホーム・ディレ クトリを表します。
注意注意注意 注意:
■ リリース8.1.5のインストレーションで用意されたバージョンのスクリ
プトを使用する必要があります。
■ リリース8.1.5の環境でスクリプトを実行する必要があります。
■ 複数のリリースをアップグレードする場合でも、実行するスクリプト は1つのみです。たとえば、現行のリリースが8.0.3.0.0の場合、実行 する必要があるのはU0800030.SQLのみです。
■ アップグレードする前にインストールされていたリリースが8.0.5.0よ り後のリリースであった場合には、新規インストレーションに含まれ
ているREADMEMIG.docファイルを参照して、正しいアップグレー
ド・スクリプトを実行するようにしてください。
■ アップグレード・スクリプトの実行時間がむやみに長い場合、
LARGE_POOL_SIZEの設定が大きすぎてインストレーションに合わ
ないことが原因と思われます。V$PARAMETERビューを使用して、
LARGE_POOL_SIZEの設定をチェックし、大きすぎたら、INIT.ORA
ファイルの中のその値を小さくしてください。
8. Advanced Replicationがインストールされている場合には、CATREP.SQLスクリプトを 実行します。Oracle Parallel Serverがインストールされている場合には、
CATPARR.SQLスクリプトを実行します。それ以外の場合は、手順9.に進みます。
Oracle8iには、その他のスクリプトも提供されています。これらのスクリプトでは、
データベースの管理や、データベース・アプリケーションの作成に使用できる、その他 の構造体が作成されます。これらのスクリプトは ORACLE_HOME ¥RDBMS¥ADMIN にもあります。使用可能なスクリプトの完全なリストと説明は、『Oracle8iリファレン ス・マニュアル』を参照してください。
9. UTLRP.SQLスクリプトを実行します。パッケージ、プロシージャ、データ型など、以
前にINVALID状態だった既存のPL/SQLモジュールを、このスクリプトによってすべ
てコンパイルすることをお薦めします。以前にINVALID状態だったPL/SQLモジュー ルをすべてコンパイルする処理をここで行うのは、必須ではありません。ただし、ここ でコンパイルを行っておくと、他の機会にではなくインストレーション時に再コンパイ ルのコストが発生することが確実になります。SQL*Plusのプロンプトで次のように入 力します。
SQL> @%ORACLE_HOME%¥RDBMS¥ADMIN¥UTLRP.SQL
10. SPOOLコマンドをオフにします。
SQL> SPOOL OFF
手順6.でスプール・ファイルUPGRADE.LOGをチェックします。すべてのパッケージ とプロシージャが正しくコンパイルされたかどうかを検証します。ファイルで、問題が 見つかった場合は、訂正します。
11. ALTER SYSTEM DISABLE RESTRICTED SESSIONを実行します。
SQL> ALTER SYSTEM DISABLE RESTRICTED SESSION
12. UTLCONST.SQLを実行します。不正な日付の制約がチェックされます。前のリリース
のバージョン8データベースに移行またはアップグレードした後に、UTLCONST.SQL を実行したことがある場合は、再び実行する必要はありません。ただし、繰り返してス クリプトを実行しても、システムにダメージは与えないので、以前に実行したことがあ るかどうかがわからない場合は、スクリプトを実行してください。
SQL> SPOOL UTLRESULT.LOG
SQL> @%ORACLE_HOME%¥RDBMS¥ADMIN¥UTLCONST.SQL SQL> SPOOL OFF
不正な日付制約には、無効な日付操作があります。無効な日付操作とは、日付の世紀の 部分を暗黙的に想定する操作です。この操作により2000年問題が発生します。
UTLCONST.SQLスクリプトは、データベース内のすべてのチェック制約を確認し、無
効な日付操作がある場合は不正な制約とみなします。最後に、UTLCONST.SQLは不正 な制約のすべてを選択します。スクリプトを実行すると、不正な日付制約を含む制約が
すべてUTLRESULT.LOGファイルに書き込まれます。UTLCONST.SQLは、不正な日付
制約を修正しませんが、使用禁止にします。不正な制約を削除するか、必要な変更を加 えてから制約を再作成してください。
13. SQL*Plusを終了します。
SQL> EXIT
14. COMPATIBLEパラメータはINITSID.ORAファイル内で設定されていなければ、未設
定のままであることを確認します。COMPATIBLEパラメータは、すでに設定されてい るのでなければ、そのままにしておきます。
データベースはリリース8.1.5にアップグレードされています。
追加情報 追加情報追加情報
追加情報: Oracle8iリリース8.1.xの新しいいくつかの機能は、8.1.0以降
の互換性設定を必要とします。詳細は、『Oracle8i移行ガイド』の第8章
「互換性と相互運用性」を参照してください。
Net8 と と と と SQL*Net の移行に関する問題 の移行に関する問題 の移行に関する問題 の移行に関する問題
Oracle 7.xまたはOracle 8.0.xからOracle8iに移行するときに、次の問題に対処する必要が
あります。
■ ネットワーク構成ファイルの場所
■ 複数のOracleホームをインストールするときのリスナーの構成
■ 移行されたデータベースのLISTENER.ORAの変更
■ TCP/IPリスニング・アドレスの処理の変更
■ NT固有の認証を使用可能にする
■ データベース内のNT認証ユーザー
■ マルチスレッド・サーバー・モードを使用した接続
■ 適切なバージョンのSQL*Netのインストール
■ Oracle Namesのインストール
ネットワーク構成ファイルの場所 ネットワーク構成ファイルの場所 ネットワーク構成ファイルの場所 ネットワーク構成ファイルの場所
SQL*NetおよびNet8 8.1では、デフォルトでORACLE_HOME¥network¥adminにある構成
ファイルを使用しますが、Net8 8.0では、デフォルトORACLE_HOME¥net80¥adminにあ る構成ファイルを使用します。すべてのOracle製品で同じ場所にある構成ファイルが使用 されるようにするには、レジストリ変数TNS_ADMINを設定します。
複数の 複数の 複数の
複数の Oracle ホームをインストールするときのリスナーの構成 ホームをインストールするときのリスナーの構成 ホームをインストールするときのリスナーの構成 ホームをインストールするときのリスナーの構成
Oracle8i Serverをインストールする前に、同一コンピュータ上に存在するNet8または
SQL*Plusのリスナーがあればそのリスナーを停止してください。リスナー終点が既存のリ
スナーと競合するため、Oracle8iをインストールするときにNet8 8.1リスナーが起動しない 場合があります。
Oracle8iをインストールした後、Oracle8iリリース8.1およびそれ以前のリリースのすべて
のOracleデータベース(Oracle8 8.0データベースなど)で新しいNet8 8.1リスナーを使用
するようお薦めします。Oracle8iを同一コンピュータ上の複数のOracleホームにインストー ルする場合でも、同一コンピュータ上のすべてのデータベースに対しリスナーを1つだけ使 用してください。
追加情報追加情報追加情報
追加情報: 詳細は、付録D「Net8構成パラメータ、サービスおよびポー
ト番号」を参照してください。
同一コンピュータ上で複数のリスナー(Net 8.0リスナーやNet8 8.1リスナーなど)を使用 し続ける場合には、リスナーを起動する前にリスナー間でリスナー終点の競合が発生してい ないことを確認してください。リスナー終点の構成の詳細は、Oracle8iのオンライン・ド キュメントに含まれている『Oracle8i Net8管理者ガイド』を参照してください。
さらに、Windows NTプラットフォームでは、新しいNet8 8.1リスナーはシステムの再起
動時に自動的に起動するように設定されます。すべてのデータベースでNet8 8.1リスナーの みを使用する場合には、Windows NTサービス・コントロール・パネルに表示されている、
Net8 8.1リスナーのWindows NTサービスのみが自動起動に設定されていることを確認する
必要があります。
同一コンピュータ上で複数のリスナーを使用する場合には、すべてのプロトコルに対し異な るリスニング終点を使用するように、リスナーの1つを再構成する必要があります。競合を 解決するために、次の変更をリスナー構成に加えます。
■ TCP/IPのポート番号
■ SPXのサービス名
■ Named Pipesのパイプ名
■ IPCのキー
外部プロシージャで使用するIPCキーを変更する必要がある場合には、listener.oraの中の KEY値と一致するように、TNSNAMES.ORAの中の別名EXPROC_CONNECTION_DATA のKEYも変更する必要があります。
Oracle8iのインストール時にリスニング終点の競合のためNet8 8.1リスナー・サービスが作
成されない場合、リスナー制御プログラムを使用するとNet8 8.1リスナーを起動できます。
コマンド・プロンプトで、次のように入力します。
lsnrctl start <listener_name>
<listener_name>は、標準インストールではLISTENERか、またはカスタム・インス トールで指定した名前です。
また、このコマンドを実行すると、サービスがすでに存在していなければ、リスナーのNT サービスが作成されます。
移行されたデータベースの 移行されたデータベースの 移行されたデータベースの 移行されたデータベースの LISTENER.ORA の変更 の変更 の変更 の変更
Oracle7またはOracle8.0データベースをOracle8iデータベースに移行するときに、データ
ベースのSIDをORacle 7/8.0ホームのLISTENER.ORAから削除し、Oracle8iホームの
LISTENER.ORAファイルに追加する必要があります。