• 検索結果がありません。

2 概要

3.3 データベースの 11.2.0.3 へのアップグレード

3.3.2 手動でのアップグレード

本項では、データベースを手動でアップグレードする方法について説明します。本ガイドでは、以下の手順で データベースのアップグレードを行っていきます。

1. ファイルのバックアップ

2. Database Controlデータの保存 3. アップグレード前情報ツールの実行 4. データベースのアップグレード 5. アップグレード後の確認事項 6. Database Controlのアップグレード

1.ファイルのバックアップ

 アップグレードするデータベースをバックアップします。

 アップグレード前のOracleホームから11.2.0.3のOracleホームへ構成ファイルをコピーします。

a.初期化パラメータ・ファイルがASMインスタンス内にある場合は、次のコマンドを使用して初期化パラメ

ータ・ファイルをバックアップします。

注:spfileをASMに配置しているデータベースをダウングレードする場合は、ダウングレードする前に初期 化パラメータ・ファイルをリストアする必要があるため、事前にバックアップを取得します。

b.初期化パラメータ・ファイルやパスワード・ファイルがアップグレード前のOracle ホームに存在する場合

は、11.2.0.3のOracleホームへコピーします。また、初期化パラメータ・ファイルは任意の場所に格納でき ますが、11.2.0.3へアップグレード後、アップグレード前のOracleホームに初期化パラメータ・ファイルを格 納しないでください。

SQL> CREATE PFILE [='<pfile_path>'] FROM SPFILE [='<spfile_path>'];

$ cp <BASE_DB_HOME>/dbs <11203_DB_HOME>/dbs

2. Database Controlデータの保存

Database Controlを利用している場合、そのデータのバックアップを取得しておきます。 Database Controlをア ップグレード後、Database Controlのダウングレードが必要となった場合に、バックアップしたデータを利用します。

バックアップの取得を行う場合は、次の手順に従ってください。なお、手順の途中にDatabase Controlのデータを 保存するディレクトリが必要になります。本ガイドでは、Database Control のデータを保存するディレクトリを

<Save_Directory>とします。

 次のように環境変数をセットします。

・ORACLE_HOME=<BASE_DB_HOME>

・ORACLE_SID=<DBインスタンス名>

・PATH=<BASE_DB_HOME>/bin:$PATH

・LD_LIBRARY_PATH=<BASE _DB_HOME>/lib:$LD_LIBRARY_PATH

・SHLIB_PATH=<BASE_DB_HOME>/lib:$SHLIB_PATH

 バックアップを保存するディレクトリを作成します。

 11.2.0.3のOracleホームのbinに移動します。

 emdwgrdユーティリティを用いて、バックアップを取得します。

注:emdwgrdユーティリティを実行中に、Oracle DatabaseのSYSユーザーのパスワードの入力を求め られます。

$ export ORACLE_HOME=<BASE_DB_HOME>

$ export ORACLE_SID=<DB インスタンス名>

$ export PATH=<BASE_DB_HOME>/bin:$PATH

$ export LD_LIBRARY_PATH=<BASE_DB_HOME>/lib:$LD_LIBRARY_PATH

$ export SHLIB_PATH=<BASE_DB_HOME>/lib:$SHLIB_PATH

$ cd <11203_DB_HOME>/bin

$ ./emdwgrd -save -sid <DB インスタンス名> -path <Save_Direcroty>

$ mkdir <Save_Direcroty>

3.アップグレード前情報ツールの実行

DBUAを起動する前に、アップグレード前情報ツール(<11203_DB_HOME>/rdbms/admin/utlu112i.sql) を使 用して環境を確認します。アップグレード前情報ツールでは、アップグレードを行う際、データベースに発生する可 能性のある問題について警告が表示されます。アップグレード前情報ツールを実行するには、次の手順を実行し てください。

 Oracle Databaseのインストール・ユーザーでシステムにログインします。

 次のように環境変数をセットします。

・ORACLE_HOME=<BASE_DB_HOME>

・ORACLE_SID=<DBインスタンス名>

・PATH=<BASE_DB_HOME>/bin:$PATH

<11203_DB_HOME>/rdbms/adminディレクトリへ移動します。

 SQL*PlusでSYSDBA権限を持つユーザーとして、データベース・インスタンスに接続します。

 アップグレード前検証の結果の取得を開始します。

 アップグレード前情報ツールを実行します。

 アップグレード前検証の結果の取得を終了します。

SQL> SPOOL upgrade_info.log

SQL> @<11203_DB_HOME>/rdbms/admin/utlu112i.sql

SQL> SPOOL OFF

$ export ORACLE_HOME=<BASE_DB_HOME>

$ export ORACLE_SID=<DB インスタンス名>

$ export PATH=<BASE_DB_HOME>/bin:$PATH

$ sqlplus / as sysdba

$ su - oracle

$ cd <11203_DB_HOME>/rdbms/admin

4.データベースのアップグレード

 Oracle Databaseのインストール・ユーザーとしてシステムにログインします。

 次のように環境変数をセットします。

・ORACLE_HOME=<BASE_DB_HOME>

・ORACLE_SID=<DBインスタンス名>

・PATH=<BASE_DB_HOME>/bin:$PATH

 SQL*PlusでSYSDBA権限を持つユーザーとして、データベース・インスタンスに接続します。

 インスタンスを停止します。

 SQL*Plusを終了します。

 /etc/oratabファイルに11.2.0.3のOracle DatabaseのOracleホームのエントリがあることを確認します。

記載がない場合は書き換えが必要です。次に、/etc/oratab内のファイル出力例を記載します。

 次のように環境変数をセットします。

・ORACLE_HOME=<11203_DB_HOME>

・PATH=<11203_DB_HOME>/bin:$PATH

$ cat /etc/oratab +ASM:<11203_GI_HOME>:N orcl:<11203_DB_HOME>:N SQL> SHUTDOWN IMMEDIATE

$ export ORACLE_HOME=<11203_DB_HOME>

$ export PATH=<11203_DB_HOME>/bin:$PATH

$ export ORACLE_HOME=<BASE_DB_HOME>

$ export ORACLE_SID=<DB インスタンス名>

$ export PATH=<BASE_DB_HOME>/bin:$PATH

$ sqlplus / as sysdba

SQL> EXIT

$ su - oracle

 この後の手順で、catupgrd.sqlを実行するため、<11203_DB_HOME>/rdbms/adminへ移動します。

 SQL*PlusでSYSDBA権限を持つユーザーとして、データベース・インスタンスに接続します。

 アップグレード・モードでインスタンスを起動します。ただし、既にインスタンスが起動している場合は一度 停止してからアップグレードモードで起動します。

 アップグレード結果の取得を開始します。

 catupgrd.sqlスクリプトを実行します。

注:catupgrd.sqlスクリプトの途中でデータベースが停止されます。

 SQL*PlusでSYSDBA権限を持つユーザーとして、データベース・インスタンスに再接続します。

 データベース・インスタンスを起動します。

注:インスタンス起動時に、廃止された初期化パラメータのリストが表示された場合は、再起動する前 に廃止された初期化パラメータを初期化パラメータ・ファイルから削除します。『Oracle® Database管 理者ガイド 11g リリース 2(11.2)』の「サーバー・パラメータ・ファイルを使用した初期化パラメータの 管理」に関する章を参照してください。

SQL> STARTUP UPGRADE

SQL> SPOOL upgrade.log

SQL> @catupgrd.sql

SQL> STARTUP

$ cd <11203_DB_HOME>/rdbms/admin

$ sqlplus / as sysdba

$ sqlplus / as sysdba

5.アップグレード後の確認事項

 アップグレードの結果を把握するため utlu112s.sql を実行します。実行終了後に、データベース・コンポー

ネントがVALIDとなっていることを確認します。

 catuppst.sql を実行し、データベースをアップグレード・モードにする必要がないアップグレード操作を実行 します。

 utlrp.sqlを実行して、すべてのストアドPL/SQLおよびJavaコードを再コンパイルします。

 すべてのパッケージおよびクラスが有効であることを確認します。

 SQL*Plusを終了します。

SQL> @utlu112s.sql

SQL> @catuppst.sql

SQL> @utlrp.sql

SQL> SELECT count(*) FROM dba_invalid_objects;

SQL> SELECT distinct object_name FROM dba_invalid_objects;

出力結果例:無効なオブジェクトの数が出力されます。出力結果が 0 件であれば すべてのパッケージおよびクラスが有効であると確認できます。

SQL> SELECT count(*) FROM dba_invalid_objects;

COUNT(*) ---

0

SQL> SELECT distinct object_name FROM dba_invalid_objects;

no rows selected

SQL> EXIT

 11.2.0.1または11.2.0.2から11.2.0.3へアップグレードした場合、Oracle Clusterwareの構成をアップグ レードします。

・10g R2または11g R1から11.2.0.3へアップグレードした場合、次の手順を実行します。

$ <11203_GI_HOME>/bin/srvctl upgrade database \ -d <db_unique_name> -o <11203_DB_HOME>

次がコマンドの実行例です。ここでは、<db_unique_name>を orcl、

<11203_DB_HOME>を/u01/app/oracle/product/11.2.0.3/dbhome_1 とします。

$/u01/app/oracle/product/11.2.0.3/dbhome_1/bin/srvctl upgrade database -d orcl \ -o /u01/app/oracle/product/11.2.0.3/dbhome_1

$ <11203_GI_HOME>/bin/srvctl add database \

-d <db_unique_name> -o <11203_DB_HOME> -a <DiskGroup>

次がコマンドの実行例です。ここでは、<db_unique_name>を orcl、

<11203_DB_HOME>を/u01/app/oracle/product/11.2.0.3/dbhome_1 とします。

<DiskGroup>を DATA とします。

$/u01/app/oracle/product/11.2.0.3/dbhome_1/bin/srvctl add database -d orcl \ -o /u01/app/oracle/product/11.2.0.3/dbhome_1 –a DATA

6. Database Controlのアップグレード

 次のように環境変数をセットします。

・ORACLE_HOME=<11203_DB_HOME>

・PATH=<11203_DB_HOME>/bin:$PATH

 emcaコマンドを用いて、Database Controlのアップグレードを行います。

注:アップグレード前のDatabase Controlが起動した状態で行います。

注:emcaコマンドを実行すると、次の情報の入力を求められます。

・アップグレード前のOracle DatabaseのOracleホーム

・データベース・インスタンス名

・リスナー・ポート番号

・ASMインスタンスをリスニングしているリスナー・ポート番号

・アップグレード前のASMのOracleホーム

・ASMインスタンス名

・SYSユーザーのパスワード

・ASMSNMPユーザーのパスワード

$ export ORACLE_HOME=<11203_DB_HOME>

$ export PATH=<11203_DB_HOME>/bin:$PATH

$ emca -upgrade db_asm

7.タイム・ゾーン・ファイル及びタイム・ゾーン・データ付きタイムスタンプのアップグレード

注:アップグレード前情報ツールの検証結果により、タイム・ゾーン・ファイルのアップグレードを求められた場合、

この手順を行います。『Oracle® Databaseグローバリゼーション・サポート・ガイド11gリリース2(11.2)』の「タイ ム・ゾーン・ファイルおよびタイム・ゾーン・データ付きタイムスタンプのアップグレード」も合わせて参照してくださ い。

7-1.タイム・ゾーン・ファイルおよびタイム・ゾーン・データ付きタイムスタンプのアップグレードの準備

 次のように環境変数をセットします。

・ORACLE_HOME=<11203_DB_HOME>

・ORACLE_SID=<DBインスタンス名>

・PATH=<11203_DB_HOME>/bin:$PATH

 SQL*PlusでSYSDBA権限を持つユーザーとして、データベース・インスタンスに接続します。

 DBMS_DST.CREATE_AFFECTED_TABLEプロシージャ、DBMS_DST.CREATE_ERROR_TABLE プロシージャを使用して、エラー表、および影響を受けるタイムスタンプとタイム・ゾーン情報の表を作成し ます。

SQL> EXEC DBMS_DST.CREATE_AFFECTED_TABLE('my_affected_tables');

SQL> EXEC DBMS_DST.CREATE_ERROR_TABLE('my_error_table');

$ export ORACLE_HOME=<11203_DB_HOME>

$ export ORACLE_SID=<DB インスタンス名>

$ export PATH=<11203_DB_HOME>/bin:$PATH

$ sqlplus / as sysdba

関連したドキュメント