UJP - 技術情報

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

     

Oracle8i 8.1.7へ8.1.7.1.1のパッチを適用する 〜for W2K〜

Oracle8i 8.1.7へ8.1.7.1.1のパッチを適用する

〜for W2K〜


0.更新履歴

  • 2001.10.07 新規作成
  • 2001.10.08 画像の圧縮を行った.

1.はじめに

 このドキュメントでは,Oracle8i R8.1.7に対して,PSR81811というパッチを適用し,Oracle8i R8.1.7.1.1にバージョンアップする手順を説明する.

2.準備物

 以下のようなCD-ROMを用いている.

  • Patch Set Release R 8.1.7.1 for MS Windows(Part#:J03687-01)

3.ファイルを展開する

  • administratorユーザでログインする.
  • パッチの入ったCD-ROMをセットする.
    • note71711.txtは日本語で重大なことがかかれている.
    • 8171-2.pdfは,Solaris版の事を書いているようだが?
    • readme.htmlに英語だが手順がかかれている.

  • コマンドプロンプトを起動する.
  • 次のように,ディレクトリを作成し,パッチのexeファイルをCD-ROMから複写する.

C:\>dir d:\
 ドライブ D のボリューム ラベルは PSR81711 です
 ボリューム シリアル番号は 46D9-7976 です

 d:\ のディレクトリ

2001/04/24  19:09              207,330 8171-2.pdf
2001/04/27  19:19                  904 note81711.txt
2001/04/04  04:02               89,061 README.html
2001/04/04  05:13           29,688,346 WinNT_81711_patchset.exe
               4 個のファイル          29,985,641 バイト
               0 個のディレクトリ               0 バイトの空き領域

C:\>mkdir f:\patch

C:\>copy d:\WinNT_81711_patchset.exe f:\patch\
        1 個のファイルをコピーしました。

C:\>

  • 複写されたファイルを確認する.

C:\>cd f:\patch

C:\>f:

F:\patch>dir

 ドライブ F のボリューム ラベルがありません。
 ボリューム シリアル番号は 68DE-DCD2 です

 F:\patch のディレクトリ

2001/10/07  19:02       <DIR>          .
2001/10/07  19:02       <DIR>          ..
2001/04/04  05:13           29,688,346 WinNT_81711_patchset.exe
               1 個のファイル          29,688,346 バイト
               2 個のディレクトリ   3,411,640,320 バイトの空き領域

F:\patch>

  • WinNT_81711_patchset.exeを実行する.

F:\patch>WinNT_81711_patchset.exe

〜略〜

  inflating: 81711/stage/Queries/netQueries/1.7.1.5.0/1/netQueries.jar
   creating: 81711/stage/Queries/RunningProcessQuery/
   creating: 81711/stage/Queries/RunningProcessQuery/1.4/
   creating: 81711/stage/Queries/RunningProcessQuery/1.4/1/
  inflating: 81711/stage/Queries/RunningProcessQuery/1.4/1/RunningProc
essesQuery.jar
   creating: 81711/stage/Queries/WindowsGeneralQueries/
   creating: 81711/stage/Queries/WindowsGeneralQueries/1.7.1.5.0/
   creating: 81711/stage/Queries/WindowsGeneralQueries/1.7.1.5.0/1/
  inflating: 81711/stage/Queries/WindowsGeneralQueries/1.7.1.5.0/1/Win
dowsGeneralQueries.jar

F:\patch>

  • 展開されたファイルを確認する.

F:\patch>dir

 ドライブ F のボリューム ラベルがありません。
 ボリューム シリアル番号は 68DE-DCD2 です

 F:\patch のディレクトリ

2001/10/07  19:04       <DIR>          .
2001/10/07  19:04       <DIR>          ..
2001/10/07  19:04       <DIR>          81711
2001/04/04  05:13           29,688,346 WinNT_81711_patchset.exe
               1 個のファイル          29,688,346 バイト
               3 個のディレクトリ   3,378,151,424 バイトの空き領域

F:\patch>cd 81711

F:\patch\81711>dir
 ドライブ F のボリューム ラベルがありません。
 ボリューム シリアル番号は 68DE-DCD2 です

 F:\patch\81711 のディレクトリ

2001/10/07  19:04       <DIR>          .
2001/10/07  19:04       <DIR>          ..
2001/10/07  19:04       <DIR>          install
2001/10/07  19:04       <DIR>          response
2000/10/17  05:40               27,136 setup.exe
2001/10/07  19:04       <DIR>          stage
               1 個のファイル              27,136 バイト
               5 個のディレクトリ   3,378,151,424 バイトの空き領域

F:\patch\81711>

4.セットアップの実行

  • Explorerなどで,展開されたファイル中のsetup.exeを実行する.

  • [次]ボタンを押下する.

  • ソースのパスが,展開されたパッチであることを確認する.
    • 複数のバージョンのOracleをインストールしている場合は,アップデートするOracleのパスを指定する.
  • [次]を押下する.

  • Oracleが現在稼動している場合,次のような警告が出る.

  • このエラーが出る場合は,サービスコントロールパネルからOracleに関するサービスを全て停止する.
  • [再試行]ボタンを押下する.

  • インストールされるモジュールを確認する.
  • [インストール]ボタンを押下する.

  • DLLがつかまれているようである...
    • OCI(Oracle Call Interface)用のファイルの様で,IISなどがつかんでいるのかも...
  • 今回は[無視]を押下して継続した...

  • しばらく待つ.

5.再稼動して接続してみる

  • 停止していたOracleをサービスコントロールパネルから起動する.
    • 最低限,インスタンスとTNS Listnerが必要である.
  • SQL*Plusで接続してみる.

F:\patch\81711>sqlplus system/manager

SQL*Plus: Release 8.1.7.0.0 - Production on 日 Oct 7 19:35:08 2001

(c) Copyright 2000 Oracle Corporation.  All rights reserved.


Oracle8i Release 8.1.7.1.1 - Production
JServer Release 8.1.7.1.1 - Production
に接続されました。
SQL> select * from v$version
  2  ;
BANNER
----------------------------------------------------------------
Oracle8i Release 8.1.7.1.1 - Production
PL/SQL Release 8.1.7.1.0 - Production
CORE    8.1.7.0.0       Production
TNS for 32-bit Windows: Version 8.1.7.1.0 - Production
NLSRTL Version 3.4.1.0.0 - Production
SQL> quit
Oracle8i Release 8.1.7.1.1 - Production
JServer Release 8.1.7.1.1 - Productionとの接続が切断されました。
F:\patch\81711>

  • Oracle8iが8.1.7.1.1になっていることが確認できる.
    • 今回のパッチでは,SQL*Plusに関するパッチは無いので,8.1.7.0.0のままである.
    • 今回のパッチでは,JServerに関するパッチも無いのに8.1.7.1.1になっているが,これは誤りで本来は8.1.7.0.0である.

6.カタログ情報の更新

 適用したパッチを反映させるために,Oracleのシステムデータベース内の情報を更新する必要がある. 
 そのために,いくつかのスクリプトを実行する. なお,スクリプトには間違いがあるので,それを変更する手順も含んでいる.

  • SQL*Plusを使い,sysユーザで接続する.

F:\patch\81711>sqlplus sys/change_on_install

SQL*Plus: Release 8.1.7.0.0 - Production on 日 Oct 7 19:41:12 2001

(c) Copyright 2000 Oracle Corporation.  All rights reserved.


Oracle8i Release 8.1.7.1.1 - Production
JServer Release 8.1.7.1.1 - Production
に接続されました。
SQL>

  • catalog.sqlを実行する.
    • ファイルは$ORACLE_HOME\rdbms\admin\catalog.sqlにある.

SQL> @f:\oracle\ora81\rdbms\admin\catalog.sql

パッケージが作成されました。

パッケージ本体が作成されました。

権限付与が成功しました。

権限付与が成功しました。

ビューが作成されました。

〜略〜

ロールが作成されました。

権限付与が成功しました。

コミットが完了しました。
SQL>

  • エクスプローラで,$ORACLE_HOME\rdbms\admin\dbmsstdx.sqlを$ORACLE_HOME\rdbms\admin\dbmsstdx.sql.orgとしてバックアップする.
  • $ORACLE_HOME\rdbms\admin\dbmsstdx.sqlをテキストエディタで開く.
  • 63行目くらいを見る.

変更前
REM *****************************************************************
REM THIS PACKAGE MUST NOT BE MODIFIED BY THE CUSTOMER.  DOING SO
REM COULD CAUSE INTERNAL ERRORS AND SECURITY VIOLATIONS IN THE RDBMS.
REM *****************************************************************

drop package dbms_standard
/ 
create package dbms_standard is
  -- types
   type ora_name_list_t is table of varchar2(64);

  • drop package dbms_standardを次のように編集する.

変更後
REM *****************************************************************
REM THIS PACKAGE MUST NOT BE MODIFIED BY THE CUSTOMER.  DOING SO
REM COULD CAUSE INTERNAL ERRORS AND SECURITY VIOLATIONS IN THE RDBMS.
REM *****************************************************************

-- drop package dbms_standard
-- / 
create or replace package dbms_standard is
  -- types
   type ora_name_list_t is table of varchar2(64);

  • 変更後,保存する.
  • catproc.sqlを実行する.
    • ファイルは$ORACLE_HOME\rdbms\admin\catproc.sqlにある.

SQL> @f:\oracle\ora81\rdbms\admin\catproc.sql

パッケージが作成されました。

パッケージ本体が作成されました。

権限付与が成功しました。

権限付与が成功しました。

ビューが作成されました。

〜略〜

create public synonym WPG_DOCLOAD for WPG_DOCLOAD
                      *
1行でエラーが発生しました。
ORA-00955: すでに使用されているオブジェクト名です。

SQL>
SQL>

  • エラーがでているが?! 既にあるエラーだからいいのかな? ほっとく.
  • Oracle Replicationを使用している場合は,catrep.sqlを実行する.
    • 使っていないので,今回は実行しない.
  • utlrp.sqlを実行する.
    • ファイルは$ORACLE_HOME\rdbms\admin\utlrp.sqlにある.
    • PL/SQLのリコンパイルなので,必須ではないらしい.

SQL> @f:\oracle\ora81\rdbms\admin\utlrp.sql

PL/SQLプロシージャが正常に完了しました。

SQL>



広告スペース
Google