Oracle Database アップグレード・ガイド 11g リリース1(11.1) E05758-02 |
|
この章では、データベースを以前のリリースのOracle Databaseにダウングレードする処理について説明します。この章では、次の項目について説明します。
データベースがアップグレードされる前の元のバージョンに基づいて、メジャー・リリースとパッチ・セット・リリースの両方をダウングレードできます。 メジャー・リリースのダウングレードは、リリース10.2とリリース10.1へのダウングレードがサポートされています。パッチ・セットのダウングレードは、11.1以前のすべてのパッチ・リリースへのダウングレードがサポートされています。
すべてのダウングレードについて、アップグレード元のリリースにのみダウングレードできることに注意してください。 たとえば、Oracle Database 10gリリース1(10.1)からOracle Database 11gリリース1(11.1)にアップグレードした場合は、その後、Oracle Database 10gリリース2(10.2)にダウングレードすることはできません。Oracle Database 10gリリース1(10.1)にのみダウングレードできます。
Oracle Database 10gリリース1(10.1)データベースのリリース番号が10.1.0.5より以前のものである場合は、ダウングレードする前にOracle Database 10gリリース1(10.1)の最新パッチをインストールする必要があります。 同様に、Oracle Database 10gリリース2(10.2)データベースのリリース番号が10.2.0.3より以前のものである場合は、ダウングレードする前に10.2の最新パッチ・リリースをインストールする必要があります。10.1または10.2のどのパッチ・リリースからもアップグレードすることは可能ですが、ダウングレード後に使用できるよう、Oracleホームで最新パッチ・リリースをインストールする必要があります。
Oracle Database 11gリリース1(11.1)データベースとともにDatabase Vaultがインストールされている場合は、リリース10.2.0.4にのみダウングレードできます。Database Vaultでは、10.2.0.3へのダウングレードはサポートされていません。
データベースにメッセージ・ゲートウェイまたはWorkspace Managerが存在する場合でも、それらはリリース10.2.0.4以前のOracle Databaseパッチ・セットには含まれません。したがって、ダウングレード前にすべての関連パッチをリリース10.2.0.3またはリリース10.1.0.5のOracleホームに個別に適用する必要があります。
Oracle Enterprise Managerのダウングレードはサポートされていません。 ただし、データベースをアップグレードする前にOracle Enterprise Manager Database Controlのファイルおよびデータを保存した場合、データベースのダウングレード後に古いバージョンのDatabase Controlをリストアできます。
任意のイベントで、データベース内にEnterprise Managerが構成されている場合は、データベースをダウングレードする前にSYSMAN
スキーマを削除する必要があります。 次の文を実行して、SYSMAN
スキーマを削除します。
DROP USER sysman CASCADE;
ご使用のデータベースの互換性レベルを調査して、非互換性があるかどうかを確認します。非互換性がある場合は、ダウングレードできません。Oracle Database 11gリリース1(11.1)データベースの互換性レベルが11.0.0
以上である場合は、ダウングレードできません。
Oracle Database 10gリリース2(10.2)にダウングレードする場合は、COMPATIBLE
初期化パラメータを10.2.0
以下に設定する必要があります。
Oracle Database 10gリリース1(10.1)にダウングレードする場合は、COMPATIBLE
初期化パラメータを10.1.0
に設定する必要があります。
ダウングレードする前に、Oracle Database 11gリリース1(11.1)データベースに対し、全体バックアップを実行します。
Oracle Database 11gリリース1(11.1)データベースをメジャー・リリースまたは関連するパッチ・セット・アップグレードへダウングレードするには、次の手順を実行します。
注意: この手順は、Enterprise Manager Database Controlがデータベースにすでに構成されている場合にのみ実行する必要があります。
次の手順を実行して、Database Controlを停止します。
ダウングレード中のデータベースがOracle Real Application Clusters(Oracle RAC)データベースの場合は、すべてのインスタンスでこの手順を実行する必要があります。
SYSDBA
権限を持つユーザーとして、データベース・インスタンスに接続します。
DOWNGRADE
モードでインスタンスを起動します。
SQL> STARTUP DOWNGRADE
PFILE
オプションを使用して、初期化パラメータ・ファイルの場所を指定する必要がある場合があります。
SYSMAN
スキーマを削除します。
DROP USER sysman CASCADE;
SQL> SPOOL downgrade.log
catdwgrd.sql
を実行します。
SQL> @catdwgrd.sql
スクリプトの実行についての注意は、次のとおりです。
このスクリプトまたは残りの手順のいずれかのスクリプトを実行中になんらかの問題が発生した場合は、問題を解決してスクリプトを再実行します。必要に応じて、この章で説明されているスクリプトのいずれかを実行できます。
コンポーネントのダウングレードに失敗した場合、ORA-39709
エラーが表示され、SQL*Plusセッションは、Oracle Databaseデータ・ディクショナリをダウングレードせずに終了します。 すべてのコンポーネントは、Oracle Databaseのデータ・ディクショナリをダウングレードする前に、正常にダウングレードする必要があります。catdwgrd.sql
スクリプトを再実行する前に、問題を特定して修正する必要があります。
SQL> SPOOL OFF
次に、スプール・ファイルを確認して、ダウングレード中にエラーが発生しなかったかどうかを検証します。手順 9で、スプール・ファイル名をdowngrade.log
としました。このファイルで見つけた問題を修正し、必要に応じてダウングレード・スクリプトを再実行します。
SQL> SHUTDOWN IMMEDIATE
また、oratab
ファイル、およびORACLE_HOME
値を設定するすべてのクライアント・スクリプトが、ダウングレードされたOracleホームを指していることを確認する必要があります。
OracleService
SID
など)を停止します。SID
はインスタンスの名前です。たとえば、SIDがORCLの場合、コマンド・プロンプトで次のように入力します。
C:¥> NET STOP OracleServiceORCL
C:¥> ORADIM -DELETE -SID ORCL
C:¥> ORADIM -NEW -SID SID -INTPWD PASSWORD -MAXUSERS USERS -STARTMODE AUTO -PFILE ORACLE_HOME¥DATABASE¥INITSID.ORA
この構文には次の変数が含まれます。
たとえば、ダウングレード先がOracle Database 10gリリース2(10.2)、SIDがORCL
、PASSWORDがTWxy5791
、USERSの最大数が10、ORACLE_HOMEディレクトリがC:¥ORANTの場合、次のコマンドを入力します。
C:¥> ORADIM -NEW -SID ORCL -INTPWD TWxy5791 -MAXUSERS 10 -STARTMODE AUTO -PFILE C:¥ORANT¥DATABASE¥INITORCL.ORA
Oracle RACデータベースの場合は、次のコマンドを実行して、データベースを単一インスタンス・モードに戻します。
SET CLUSTER_DATABASE=FALSE
SYSDBA
権限を持つユーザーとして、データベース・インスタンスに接続します。
SQL> STARTUP UPGRADE
SQL> SPOOL reload.log
catrelod.sql
を実行します。
SQL> @catrelod.sql
catrelod.sql
スクリプトを使用すると、ダウングレードしたデータベース内の該当するバージョンのすべてのデータベース・コンポーネントが再ロードされます。
catrelod.sql
の実行後に次のスクリプトを実行します。
@dbmsxdbt.sql
SQL> SPOOL OFF
次に、スプール・ファイルを確認して、すべてのパッケージおよびプロシージャのコンパイルが成功したかどうかを検証します。手順 21 で、スプール・ファイル名をreload.log
としました。このファイルで見つけた問題を処理し、必要に応じて適切なスクリプトを再実行します。
SQL> SHUTDOWN IMMEDIATE SQL> STARTUP
PFILE
オプションを使用して、初期化パラメータ・ファイルの場所を指定する必要がある場合があります。
olstrig.sql
スクリプトを、Oracle Database 11gリリース1(11.1)のOracleホームからダウングレード後のデータベースのバージョンのOracleホームにコピーします。olstrig.sql
を実行し、Oracle Label Securityのポリシーを適用して、表のDMLトリガーを再作成します。詳細は、『Oracle Database Enterpriseユーザー・セキュリティ管理者ガイド』を参照してください。
SQL> @olstrig.sql
utlrp.sql
スクリプトを実行します。
SQL> @utlrp.sql
utlrp.sql
スクリプトは、以前INVALID
状態だったパッケージ、プロシージャ、型などのすべての既存のPL/SQLモジュールを、再コンパイルします。
データベースがダウングレードされました。
この項では、データベースのダウングレード後に必要なタスクについて説明します。
この項には、次の項目が含まれます。
Oracle Clusterware 11g構成は、次のいずれかの方法でダウングレードします。
srvconfig
を使用します。次に例を示します。
% srvconfig -downgrade -dbname db_name -orahome 11g_Oracle_home
srvctl
を実行します。次に例を示します。
11g_Oracle_home/bin/srvctl remove database -d db_name pre-11g_Oracle_home/bin/srvctl add database -d db_name -o pre-11g_Oracle_home pre-11g_Oracle_home/bin/srvctl add instance -d db_name -i instance -n node
このタスクは、なんらかの形式でダウングレード中であり、Oracle Enterprise Managerがホストに構成されている場合にのみ実行する必要があります。Oracle Enterprise Managerをリストアするには、アップグレードを実行する前にOracle Enterprise Managerのファイルおよびデータを保存しておく必要があります。
これがOracle Clusterwareを使用したOracle RACデータベースである場合は、emca -restore
コマンドを実行する前にsrvctl
を使用してデータベースを登録する必要があります。これは、ダウングレード後のデータベースのバージョンのORACLE_HOME
/binから実行する必要があります。
適切なオプションを指定してemca
-restore
コマンドを実行し、Oracle Enterprise Manager Database ControlまたはOracle Enterprise Manager Grid Controlを古いOracleホームにリストアします。指定するオプションは、ダウングレード中のデータベースがOracle Real Application Clusters(Oracle RAC)データベースか自動ストレージ管理(ASM)データベースかによって、次のように異なります。
111Home/bin/emca -restore db
次の情報の入力を求められます。
111Home/bin/emca -restore db -cluster
次の情報の入力を求められます。
111Home/bin/emca -restore asm
次の情報の入力を求められます。
111Home/bin/emca -restore asm -cluster
次の情報の入力を求められます。
111Home/bin/emca -restore db_asm
次の情報の入力を求められます。
111Home/bin/emca -restore db_asm -cluster
次の情報の入力を求められます。
emca
の出力は、指定するオプションおよびプロンプトで入力する値によって様々ですが、ほぼ次のように表示されます。
> emca -restore db STARTED EMCA at Mar 23, 2007 2:44:17 PM EM Configuration Assistant, Version 11.1.0.3.0 Production Copyright (c) 2003, 2005, Oracle. All rights reserved. Enter the following information: Mar 23, 2007 2:44:17 PM oracle.sysman.emcp.util.GeneralUtil initSQLEngine SEVERE: No SID specified ORACLE_HOME for the database to be restored: /scratch/oracle/10.2.0/product/db_1 Database SID: DB102 Listener port number: 1521 Password for SYS user: oracle Do you wish to continue? [yes(Y)/no(N)]: Y Mar 23, 2007 2:47:29 PM oracle.sysman.emcp.EMConfig perform INFO: This operation is being logged at /scratch/oracle/cfgtoollogs/emca/DB102/emca_ 2007_03_23_14_44_17.log. Mar 23, 2007 2:47:30 PM oracle.sysman.emcp.util.DBControlUtil stopOMS INFO: Stopping Database Control (this may take a while) ... Mar 23, 2007 2:47:41 PM oracle.sysman.emcp.util.DBControlUtil startOMS INFO: Starting Database Control (this may take a while) ... Mar 23, 2007 2:48:06 PM oracle.sysman.emcp.EMDBPostConfig performRestore INFO: Database Control started successfully Mar 23, 2007 2:48:06 PM oracle.sysman.emcp.EMDBPostConfig performRestore INFO: >>>> The Database Control URL is http://stadd17.us.oracle.com:1158/em <<<<<< Enterprise Manager configuration completed successfully FINISHED EMCA at Mar 23, 2007 2:48:06 PM
インプレース・パッチ・セット・アップグレードでは、パッチ・セットを適用する前に保存した元のホームのバックアップをリストアする必要があります。 この手順は、RAC環境内のすべてのノードに対して繰り返す必要があります。 インプレース・パッチ・セット・アップグレードでは、emca
-restore
コマンドを実行する必要はありません。
emca
-restore
プロシージャの終了後、emdwgrd
ユーティリティを使用して、Oracle Enterprise Managerデータベースのファイルおよびデータをリストアする準備ができます。 Oracle Database 11gリリース1(11.1)ホームからemdwgrdユーティリティを実行する必要があります。ただし、ORACLE_HOME
および他の環境変数を、アップグレードが実行される前のOracleホームを指すように設定する必要があります。
次の手順は、LinuxおよびUNIX用です。この手順をWindowsで実行する場合は、emdwgrd
をemdwgrd.bat
に置き換えてください。
次の手順に従って、Database Controlのファイルおよびデータをリストアします。
ORACLE_HOME
を、データベースがアップグレードされる前のOracleホームに設定します。インプレース・パッチ・セット・アップグレードでは、元のホームのバックアップを(11.1.0.6からアップグレードしている場合はOracle Bug#7198496の個別パッチを使用して)リストアして、ORACLE_HOME
を現行のOracleホームに設定します。
ORACLE_SID
を、アップグレード後にダウングレードされたデータベースのSIDに設定します。
PATH
、LD_LIBRARY_PATH
およびSHLIB_PATH
を設定します。
cd ORACLE_HOME/bin
SID
はアップグレード後にダウングレードされたデータベースのSIDで、save_directory
は、Database Controlのファイルおよびデータの保存時に選択した記憶域の場所へのパスです。
emdwgrd -restore -sid SID -path save_sirectory -tempTablespace TEMP
setenv EM_REMCP /usr/bin/scp
その後、次のrestore
コマンドを実行します。
emdwgrd -restore -tempTablespace TEMP -cluster -sid SID10g -path save_directory
10gのOracleホームが共有デバイス上にある場合は、前述のコマンドラインに-shared
を追加します。
emdwgrd
により要求された場合は、SYSおよびSYSMANパスワードを入力します。
emdwgrd
ユーティリティによって次のような内容が出力されます。
Sat Apr 28 09:27:09 2007 - Verify EM DB Control files ... pass Sat Apr 28 09:27:09 2007 - Validating DB Connection to DB102 ... pass Sat Apr 28 09:27:19 2007 - Validating TEMP tablespace in DB102 ... pass Sat Apr 28 09:27:20 2007 - creating directory ... created Sat Apr 28 09:27:20 2007 - Stopping DB Control ... stopped Sat Apr 28 09:27:21 2007 - dropping sysman schema ... dropped Sat Apr 28 09:27:22 2007 - recreating sysman user ... recreated Sat Apr 28 09:27:23 2007 - Restoring DB Control files ... restored Sat Apr 28 09:27:23 2007 - Importing sysman schema ... imported Sat Apr 28 09:30:42 2007 - recompiling invalid objects ... recompiled Sat Apr 28 09:30:54 2007 - Starting DB Control ... started Sat Apr 28 09:32:37 2007 - DB Control was restored successfully.
emdwgrd
の終了時に、Oracle Enterprise Manager Database Controlは古いOracleホームにダウングレードされています。
Oracle RACデータベースの場合は、emdwgrd
ユーティリティによって次のような内容が出力されます。
$ /scratch/oracle/product/11.1.0/db_1/bin/emdwgrd -srcOracleHome $ORACLE_HOME -sid DB102 -path /scratch/rpattabh/ravi/tmp/dbcdir5 -restore 膨luster -tempTablespace TEMP Enter sys password for database DB102? ***** Enter sysman password for database DB102? ***** Sat Apr 28 09:27:09 2007 - Verify EM DB Control files ... pass Sat Apr 28 09:27:09 2007 - Validating DB Connection to DB102 ... pass Sat Apr 28 09:27:19 2007 - Validating TEMP tablespace in DB102 ... pass Sat Apr 28 09:27:20 2007 - creating directory ... created Sat Apr 28 09:27:20 2007 - Stopping DB Control on all Nodes stbdq04, r101b1, /oradbnas/sangeeta/10.1.0/db, stop, 0 stbdq05, r101b2, /oradbnas/sangeeta/10.1.0/db, stop, 1 Please Execute '/tmp/racdwgrd_dbctl.sh' on Node1, Node2. Press yes to continue when the operations are successful. Continue (yes/no) ? y ... stopped Sat Apr 28 09:27:21 2007 - dropping sysman schema ... dropped Sat Apr 28 09:27:22 2007 - recreating sysman user ... recreated Sat Apr 28 09:27:23 2007 - Restoring DB Control files Executing Restore directories to node Node1 Executing Restore directories to node Node2 ... restored Sat Apr 28 09:27:23 2007 - Importing sysman schema ... imported Sat Apr 28 09:30:42 2007 - recompiling invalid objects ... recompiled Sat Apr 28 09:32:37 2007 - DB Control was restored successfully. Sat Apr 28 09:33:54 2007 - Starting DB Control On All nodes Please Execute '/tmp/racdwgrd_dbctl.sh' on Node1, Node2. Press yes to continue when the operations are successful. Continue (yes/no) ? y ... started Sat Apr 28 09:38:57 2007 - Dump directory was dropped successfully.
Oracle Database Vaultを使用している場合は、データベースをダウングレードする前にこれを無効にするように指示がありました。今度は、もう一度Database Vaultを有効にする必要があります。
|
![]() Copyright © 2008 Oracle Corporation. All Rights Reserved. |
|