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

CLI を用いたアップグレード

ドキュメント内 Oracle DB RAC with ASM Installation Guide on Linux x86 (ページ 51-59)

3 インストール環境と事前準備

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

4.3.3 CLI を用いたアップグレード

- 52 -

Copyright© 2012, Oracle. All rights reserved.

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

> cd <11203_DB_HOME>/rdbms/admin

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

> sqlplus / as sysdba

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

SQL> STARTUP UPGRADE

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

SQL> SPOOL upgrade.log

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

SQL> @catupgrd.sql

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

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

> sqlplus / as sysdba

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

SQL> STARTUP

注:インスタンス起動時に、廃止された初期化パラメータのリストが表示された場合は、再起動する前に廃止 された初期化パラメータを初期化パラメータ・ファイルから削除します。『Oracle® Database 管理者ガイド

11g リリース2(11.2)』の「サーバー・パラメータ・ファイルを使用した初期化パラメータの管理」に関する章を

参照してください。

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

 アップグレードの結果を把握するため utlu112s.sql を実行します。実行終了後に、データベース・コン ポーネントがVALIDとなっていることを確認します。

SQL> @utlu112s.sql

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

SQL> @catuppst.sql

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

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;

レコードが選択されませんでした。

 SQL*Plusを終了します。

SQL> EXIT

- 54 -

Copyright© 2012, Oracle. All rights reserved.

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

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

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

<11203_DB_HOME>を D:\app\oracle\product\11.2.0.3\dbhome_1 とします。

> D:\app\oracle\product\11.2.0.3\dbhome_1\bin\srvctl upgrade database -d orcl % -o D:\app\oracle\product\11.2.0.3\dbhome_1

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

> <11203_GI_HOME>\bin\srvctl add database -d <db_unique_name> -o <11203_DB_HOME> -a %

<DiskGroup>

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

<11203_DB_HOME>を D:\app\oracle\product\11.2.0.3\dbhome_1 とします。

<DiskGroup>を DATA とします。

> D:\app\oracle\product\11.2.0.3\dbhome_1\bin\srvctl add database -d orcl % -o D:\app\oracle\product\11.2.0.3\dbhome_1 –a DATA

4.3.3.3 Database Control のアップグレード

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

・ORACLE_HOME=<11203_DB_HOME>

・PATH=<11203_DB_HOME>¥bin;$PATH

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

> emca -upgrade db_asm

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

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

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

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

・リスナー・ポート番号

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

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

・ASMインスタンス名

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

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

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

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

この手順を行います。『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権限を持つユーザーとして、データベース・インスタンスに接続します。

> sqlplus / as 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');

 DBMS_DST.BEGIN_PREPARE(<versioin_number>) プロシージャを実行します。DBMS_DST権限 情報の詳細は、『Oracle® Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス11g リ リース2(11.2)』を参照してください。DBMS_DST.BEGIN_PREPARE(<versioin_number>) プロシー ジャを実行し、「DST_PRIMARY_TT_VERSION」と「DST_SECONDARY_TT_VERSION」のバージョ ンと「DST_UPGRADE_STATE」の状態を確認します。

SQL> EXEC DBMS_DST.BEGIN_PREPARE(14);

PL/SQL プロシージャが正常に完了しました。

SQL> SELECT PROPERTY_NAME, SUBSTR(property_value, 1, 30) value FROM DATABASE_PROPERTIES

WHERE PROPERTY_NAME LIKE 'DST_%' ORDER BY PROPERTY_NAME;

PROPERTY_NAME VALUE --- --- DST_PRIMARY_TT_VERSION 4

DST_SECONDARY_TT_VERSION 14 DST_UPGRADE_STATE PREPARE

 DBMS_DST.FIND_AFFECTED_TABLESプロシージャを実行して影響を受けるデータを確認します。

SQL> EXEC DBMS_DST.FIND_AFFECTED_TABLES(affected_tables =>

'my_affected_tables',log_errors => TRUE,log_errors_table => 'my_error_table');

- 56 -

Copyright© 2012, Oracle. All rights reserved.

 my_affected_tables表で影響を受ける表を確認します。

SQL> SELECT * FROM my_affected_tables;

 my_affected_tables表でエラーのある表を確認します。

SQL> SELECT * FROM my_error_table;

 SYS.DST$AFFECTED_TABLES.ERROE_COUNTでエラー件数が1以上の場合、

SYS.DST$ERROR_TABLEをチェックします。

SQL> SELECT * FROM SYS.DAT$AFFECTED_TABLES;

 DBMS_DST.END_PREPAREプロシージャを実行し、準備ウィンドウを終了します。

SQL> EXEC DBMS_DST.END_PREPARE;

 DATABASE_PROPERTIES表のDST_UPGRADE_STATEが「PREPARE」から「NONE」になってい ることを確認します。

SQL> SELECT PROPERTY_NAME, SUBSTR(property_value, 1, 30) value FROM DATABASE_PROPERTIES

WHERE PROPERTY_NAME LIKE 'DST_%' ORDER BY PROPERTY_NAME;

PROPERTY_NAME VALUE --- --- DST_PRIMARY_TT_VERSION 14 DST_SECONDARY_TT_VERSION 0 DST_UPGRADE_STATE NONE

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

 データベースを停止します。

SQL> SHUTDOWN IMMEDIATE

 アップグレード・モードで、データベースを起動します。

SQL> STARTUP UPGRADE

 DBMS_DST.BEGIN_UPGRADE(<versioin_number>) プロシージャを実行します。

DBMS_DST.BEGIN_ UPGRADE(<versioin_number>) プロシージャを実行し、DSTの状態を確認し ます。

SQL> exec DBMS_DST.BEGIN_UPGRADE(14);

SQL> SELECT PROPERTY_NAME, SUBSTR(property_value, 1, 30) value FROM DATABASE_PROPERTIES

WHERE PROPERTY_NAME LIKE 'DST_%' ORDER BY PROPERTY_NAME;

PROPERTY_NAME VALUE --- --- DST_PRIMARY_TT_VERSION 14

DST_SECONDARY_TT_VERSION 4 DST_UPGRADE_STATE UPGRADE

 データベースを通常のモードで再起動します。

SQL> SHUTDOWN IMMEDIATE SQL> STARTUP

 DBMS_DST.UPGRADE_DATABASEプロシージャを実行して、すべての表内のTSTZデータをアップ グレードします。

SQL> VAR numfail number SQL> BEGIN

DBMS_DST.UPGRADE_DATABASE(:numfail, parallel => TRUE, log_errors => TRUE,

log_errors_table => 'SYS.DST$ERROR_TABLE', log_triggers_table => 'SYS.DST$TRIGGER_TABLE', error_on_overlap_time => TRUE,

error_on_nonexisting_time => TRUE);

DBMS_OUTPUT.PUT_LINE('Failures:'|| :numfail);

END;

/

 DBA_TSTZ_TABLES表でアップグレードが終了しているかを確認します。

「UPGRADE_IN_PROGRESS」列の結果が全て「NO」となっていればアップグレードが終了しています。

「YES」の場合はアップグレード実行中です。

SQL> select * from DBA_TSTZ_TABLES;

OWNERTABLE_NAME UPGRADE_IN_PROGRESS

--- --- --- SYSOPTSTAT_HIST_CONTROL$ NO

SYSWRI$_OPTSTAT_IND_HISTORY NO SYSWRI$_OPTSTAT_OPR NO SYSSCHEDULER$_WINDOW NO :

省略

 DBMS_DST.END_UPGRADEプロシージャを実行して、アップグレード・ウィンドウを終了します。

SQL> BEGIN

DBMS_DST.END_UPGRADE(:numfail);

END;

/

- 58 -

Copyright© 2012, Oracle. All rights reserved.

 アップグレードの確認

DATABASE_PROPERTIES表を確認し、「DST_UPGRADE_STATE」が「NONE」、

「DST_PRIMARY_TT_VERSION」が「14」となっていればアップグレードが完了しています。

SQL> SELECT PROPERTY_NAME, SUBSTR(property_value, 1, 30) value FROM DATABASE_PROPERTIES

WHERE PROPERTY_NAME LIKE 'DST_%' ORDER BY PROPERTY_NAME;

PROPERTY_NAME VALUE --- --- DST_PRIMARY_TT_VERSION 14

DST_SECONDARY_TT_VERSION 0 DST_UPGRADE_STATE NONE

 アップグレードの終了

アップグレードは以上で終了です。また、データベースのバージョンを確認する場合、11.2.0.3 の

SQL*Plus で SYSDBA 権限をもつユーザーとしてデータベース・インスタンスに接続し、データベースの

バージョンを確認します。

> set ORACLE_HOME=<11203_DB_HOME>

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

> set PATH=<11203_DB_HOME>\bin;$PATH

> sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Tue Oct 18 22:50:45 2011 Copyright (c) 1982, 2011, Oracle. All rights reserved.

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production With the partitioning, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options

SQL> select * from v$version;

BANNER

--- Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production PL/SQL Release 11.2.0.3.0 - Production

CORE 11.2.0.3.0 Production

TNS for Linux: Version 11.2.0.3.0 - Production NLSRTL Version 11.2.0.3.0 - Production

以上で、データベースのアップグレードが完了しました。

ドキュメント内 Oracle DB RAC with ASM Installation Guide on Linux x86 (ページ 51-59)

関連したドキュメント