Oracle のアップグレード 10.2 → 11.2 その② [DBMS]
Oracle のアップグレード 10g (10.2) から 11g (11.2) へのアップグレードです。
前回は 11g のソフトウェアのみインストールして、パッチも充てて最新化しました。
今回はアップグレード前処理からです。
11g に含まれるアップグレード前チェック用のスクリプトを 10g の ORACLE_HOME へコピーします。
(11g ORACLE_HOME)\RDBMS\admin\utlu112i.sql
→ (10g ORACLE_HOME)\RDBMS\admin
アップグレード前処理です。
だいたい以下の事が推奨されている様です。
監査情報表情報の削除
ディクショナリ統計の取得
リサイクル・ビンのパージ
AWR統計期間の拡大(→43日)
アーカイブモード変更(→NOARCHIVE)
タイムゾーン・パッチ(アップグレード後でもOKなので行ってません)
無効オブジェクトの再コンパイル
アップグレード事前チェック
-----------------------------------------
TRUNCATE TABLE SYS.AUD$;
EXECUTE dbms_stats.gather_dictionary_stats;
PURGE DBA_RECYCLEBIN;
EXECUTE dbms_workload_repository.modify_snapshot_settings ( retention => 60*24*42 );
-- archive off
shutdown immediate;
startup mount exclusive;
alter database noarchivelog;
alter database open;
-- recompile invalid objects
@?/rdbms/admin/utlrp.sql
-- upgrade pre check
@?/rdbms/admin/utlu112i.sql
-----------------------------------------
これを pre_upgrade.sql にして実行しました。
事前チェックは最後に結果が出ますのでこれに対応します。
今回は3つ問題が残ってました。
1つ目はタイムゾーン・パッチの話なので、アップグレード後に対応します。
2つ目はディクショナリ統計の取得ですが、何度やっても出てくる様です。
3つ目は無効オブジェクトがあると言われています。
…チェック直前でも行ってますが、なぜか無効オブジェクトが残ってます。
無効オブジェクトがある場合は utlrp.sql で再コンパイルします。
再コンパイル後、再度 utlu112i.sql でチェックします。
環境変数 ORACLE_HOME がある場合は削除します。
Database Upgrade Assistant (DBUA) によるアップグレードです。
スタートメニューから 11gの Database Upgrade Assistant を起動します。
「次へ」
アップグレードするデータベースを選択し、管理者ユーザ SYS のパスワードを入力して「次へ」
事前チェックが実行されます。
チェック結果が出ます。
ここで無効なオブジェクトが出る場合はもう一度 utlrp.sql を実行して再度チェックします。
「アップグレード終了時に無効なオブジェクトを再コンパイル」を選び「次へ」
「アップグレードの一部としてデータベース・ファイルを移動しない」を選び「次へ」
「フラッシュ・リカバリ領域の指定」は今回設定しませんでした。
「診断先」はトレースファイル等を格納する保存先を指定します。
「Emterprise Managerによるデータベースの構成」は今回設定しませんでした。
アップグレードの準備が出来ましたので、内容を確認して「完了」でアップグレードを開始します。
ちなみに環境によってだいぶ違うと思うので参考にならないかもしれませんが、データベースは37GB程度で20分くらいだったと思います。
前回は 11g のソフトウェアのみインストールして、パッチも充てて最新化しました。
今回はアップグレード前処理からです。
11g に含まれるアップグレード前チェック用のスクリプトを 10g の ORACLE_HOME へコピーします。
(11g ORACLE_HOME)\RDBMS\admin\utlu112i.sql
→ (10g ORACLE_HOME)\RDBMS\admin
アップグレード前処理です。
だいたい以下の事が推奨されている様です。
監査情報表情報の削除
ディクショナリ統計の取得
リサイクル・ビンのパージ
AWR統計期間の拡大(→43日)
アーカイブモード変更(→NOARCHIVE)
タイムゾーン・パッチ(アップグレード後でもOKなので行ってません)
無効オブジェクトの再コンパイル
アップグレード事前チェック
-----------------------------------------
TRUNCATE TABLE SYS.AUD$;
EXECUTE dbms_stats.gather_dictionary_stats;
PURGE DBA_RECYCLEBIN;
EXECUTE dbms_workload_repository.modify_snapshot_settings ( retention => 60*24*42 );
-- archive off
shutdown immediate;
startup mount exclusive;
alter database noarchivelog;
alter database open;
-- recompile invalid objects
@?/rdbms/admin/utlrp.sql
-- upgrade pre check
@?/rdbms/admin/utlu112i.sql
-----------------------------------------
これを pre_upgrade.sql にして実行しました。
事前チェックは最後に結果が出ますのでこれに対応します。
今回は3つ問題が残ってました。
1つ目はタイムゾーン・パッチの話なので、アップグレード後に対応します。
2つ目はディクショナリ統計の取得ですが、何度やっても出てくる様です。
3つ目は無効オブジェクトがあると言われています。
…チェック直前でも行ってますが、なぜか無効オブジェクトが残ってます。
無効オブジェクトがある場合は utlrp.sql で再コンパイルします。
再コンパイル後、再度 utlu112i.sql でチェックします。
環境変数 ORACLE_HOME がある場合は削除します。
Database Upgrade Assistant (DBUA) によるアップグレードです。
スタートメニューから 11gの Database Upgrade Assistant を起動します。
「次へ」
アップグレードするデータベースを選択し、管理者ユーザ SYS のパスワードを入力して「次へ」
事前チェックが実行されます。
チェック結果が出ます。
ここで無効なオブジェクトが出る場合はもう一度 utlrp.sql を実行して再度チェックします。
「アップグレード終了時に無効なオブジェクトを再コンパイル」を選び「次へ」
「アップグレードの一部としてデータベース・ファイルを移動しない」を選び「次へ」
「フラッシュ・リカバリ領域の指定」は今回設定しませんでした。
「診断先」はトレースファイル等を格納する保存先を指定します。
「Emterprise Managerによるデータベースの構成」は今回設定しませんでした。
アップグレードの準備が出来ましたので、内容を確認して「完了」でアップグレードを開始します。
ちなみに環境によってだいぶ違うと思うので参考にならないかもしれませんが、データベースは37GB程度で20分くらいだったと思います。
コメント 0