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のシステムデータベース内の情報を更新する必要がある.
そのために,いくつかのスクリプトを実行する. なお,スクリプトには間違いがあるので,それを変更する手順も含んでいる.
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>
|