Oracle11g バージョンアップ・パッチ適用 手順メモ①
今日は朝始発にて出社してOracleのバージョンアップに励んできた!
うちの会社はOracle11gを使ってるんだけど、
11.2.0.3のサポート(パッチ提供)期間が2015/08/27までだっていうから、
お盆休み中になんとかしろって話だったんだけど、
Oracleサーバ確認したら11.2.0.1なわけwww
え………(´゚д゚`)ポカーン
ってなりました。
とっくにサポート期間切れてますやん。。。
そんなわけで、3段階踏まなくちゃいけない。
①11.2.0.1 → 11.2.0.1.16 ※11.2.0.4に上げるための最低パッチ
②11.2.0.1.16 → 11.2.0.4
③11.2.0.4 → 11.2.0.4.16
ちなみに11.2.0.4.9~11.2.0.4.17まではDBLink系の爆弾を抱えているので、
関連するOracleサーバのバージョンを合わせなければエラーが出まくるので要注意w
うちの会社は11.2.0.4.13と11.2.0.4.16のサーバ間で
1日あたり1GBものログ(trcファイル)を吐きまくられて
恐怖に打ち震えました((((;´゚Д゚)))ガクガクブルブル
11.2.0.4.18でバグfixするとOracleサポートから連絡あったけど、
毎日ログファイル消す仕事つらぽよなので、11.2.0.4.16で全台合わせることに。
バージョンアップの手順 | ※11.2.0.X→11.2.0.4 |
---|
事前作業
Cドラ直下にtmpフォルダを作成し、その中にパッチを解凍しておく。
※7分割されてる圧縮ファイル
当日作業(60分弱)
1 | INVALIDオブジェクト確認 |
---|
C:\>sqlplus /nolog SQL>spool c:\temp\upgrade_info1.txt SQL>conn sys/[パスワード] as sysdba SQL>SELECT distinct object_name FROM dba_invalid_objects;
2 | バージョン確認 |
---|
SQL>select * from v$version; SQL>spool off
3 | 11.2.0.4インストール |
---|
C:\TEMP\database\setup.exeを管理者として実行 1. セキュリティアップデートの構成(ステップ1/11) 2. softwareUpdataのダウンロード(ステップ2/11) 3. インストールオプションの選択(ステップ3/11) データベースソフトウェアのみインストールするを指定 4. Gridインストールオプション(ステップ4/11) 単一インスタンスデータベースのインストールを指定 5. 製品言語の選択(ステップ5/11) 6. データベースエディションの選択(ステップ6/11) 7. インストール場所の指定(ステップ7/11) オラクルベースが、C:\app\Administratorになっている事を確認。 ソフトウェアの場所に、C:\app\Administrator\product\11.2.0\dbhome_2 を入力。 8. 前提条件チェックの実行(ステップ8/11) 9. サマリー(ステップ9/11) 10.製品のインストール(ステップ10/11) 11.完了(ステップ11/11)
4 | アップグレード前情報ツール実行 |
---|
C:\>SET ORACLE_HOME=D:\app\Administrator\product\11.2.0\dbhome_1 C:\>SET ORACLE_SID=[SID名を設定] C:\>SET Path=C:\app\Administrator\product\11.2.0\dbhome_1\BIN;%PATH% C:\>cd C:\app\Administrator\product\11.2.0\dbhome_1\RDBMS\ADMIN C:\>sqlplus /nolog SQL>spool c:\temp\upgrade_info2.txt SQL>conn sys/[パスワード] as sysdba SQL>@utlu112i.sql SQL>spool off
5 | データベースのアップグレード |
---|
C:\app\Administrator\product\11.2.0\dbhome_2\BIN\dbuaを実行する。 1.ようこその画面表示 2.データベースの選択 [SIDを指定する] 警告画面が表示されるので、はいを選択する。 3.アップグレードオプション(ステップ1/3) アップグレード終了時に無効なオブジェクトを再コンパイルを選択する。 4.リカバリー及び診断の場所(ステップ2/3) 5.サマリー(ステップ3/3) 6.完了
6 | 確認 |
---|
C:\>SET ORACLE_HOME=C:\app\Administrator\product\11.2.0\dbhome_2 C:\>SET ORACLE_SID=[SID名設定] C:\>SET Path=C:\app\Administrator\product\11.2.0\dbhome_2\BIN;%PATH% C:\>cd C:\app\Administrator\product\11.2.0\dbhome_2\RDBMS\ADMIN C:\>sqlplus /nolog SQL>spool c:\temp\upgrade_info3.txt SQL>conn sys/[パスワード] as sysdba SQL>@utlu112s.sql SQL>spool off SQL>@catuppst.sql SQL>@utlrp.sql SQL>SELECT count(*) FROM dba_invalid_objects; SQL>SELECT distinct object_name FROM dba_invalid_objects;
7 | リスナー再構成 |
---|
1.全てのプログラムからdbhome_1側のNetCAを立ち上げて、リスナーを削除する。 2.全てのプログラムからdbhome_2側のNetCAを立ち上げて、リスナーを追加する。 3.C:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\Adminのtnsnames.oraを C:\app\Administrator\product\11.2.0\dbhome_2\NETWORK\Adminにコピペする。
8 | 接続確認 |
---|
1.下記で接続できることを確認する。 conn sys/[パスワード]@[SID名] 2.アラートログでおかしなエラーが出てないことを確認する。 3.リスナーログでおかしなエラーが出てないことを確認する。
7番目の手順のところだけど、リスナーはdbhome_1が上がっている状態。dbhome_2側でリスナーって出来もしてなかった。なんでだろう。
あと、こわいからdbhome_1側は削除しない感じでそのままいきます。
たぶん5GBくらいだし、そのままにしててもいっかなって。