web-dev-qa-db-ja.com

Oracleデータベース10gR2をクロスプラットフォームに移行できますか

LinuxベースのOracleデータベース10gR2(10.2.0.1.0)をOracleデータベース10gR2(10.2.0.3.0)を使用してWindows Server2003に移行できるか知りたいです。互換性のセクションがわからない、データベースの移行に関連するドキュメントを見ました。これは、ホストとターゲットの両方のデータベースバージョンとパッチレベルが同じである必要がある移行において重要ですか。私を助けてください。

これは、transport.sqlを実行してデータベースをLinuxからWindowsに移行したときに得られる出力です。

E:\new\test>set Oracle_SID=newdb
E:\new\test>sqlplus / as sysdba

SQL*Plus: Release 10.2.0.3.0 - Production on Fri Dec 19 20:49:08 2014

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

Connected to an idle instance.

SQL> @transport.sql
Oracle instance started.

Total System Global Area  452984832 bytes
Fixed Size                  1291120 bytes
Variable Size             150998160 bytes
Database Buffers          293601280 bytes
Redo Buffers                7094272 bytes

Control file created.

ALTER DATABASE OPEN RESETLOGS
*
ERROR at line 1:
ORA-01092: Oracle instance terminated. Disconnection forced


ERROR:
ORA-03114: not connected to Oracle


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Your database has been created successfully!
* There are many things to think about for the new database. Here
* is a checklist to help you stay on track:
* 1. You may want to redefine the location of the directory objects.
* 2. You may want to change the internal database identifier (DBID)
*    or the global database name for this database. Use the
*    NEWDBID Utility (nid). ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ORA-24324: service handle not initialized
ORA-01041: internal error. hostdef extension doesn't exist
ORA-24324: service handle not initialized
ORA-01041: internal error. hostdef extension doesn't exist
SQL>
SQL> WHENEVER SQLERROR EXIT;
SQL>
SQL> DOC
DOC>#######################################################################
DOC>#######################################################################
DOC>   The following statement will cause an "ORA-01722: invalid number"
DOC>   error if there the database was not opened in UPGRADE mode
DOC>
DOC>   If you encounter this error, execute "SHUTDOWN", "STARTUP UPGRADE" and
DOC>   re-execute utlirp.sql
DOC>#######################################################################
DOC>#######################################################################
DOC>#
SQL> SELECT TO_NUMBER('MUST_BE_OPEN_UPGRADE') FROM v$instance
2  WHERE status != 'OPEN MIGRATE';
ERROR:
ORA-03114: not connected to Oracle


Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Pr
oduction With the Partitioning, OLAP and Data Mining options
1
M.AZ

LinuxデータベースをWindowsプラットフォーム上の上位のOracleリリースに移行できるかどうかという質問に答えるには、次のようにします。はいできます。

覚えておくべきことがいくつかあります...

LinuxとWindowsはリトルエンディアンを使用し、UNIXはビッグエンディアンを使用します。基本的にはCPUに依存し、OSにはあまり依存しません。

Linuxサーバーの生産性を維持しながら、ダウンタイムを最小限に抑えてWindowsサーバー上のデータベースを復元する場合は、切り替えを行うまで、Windowsデータベース上のLinuxデータベースからアーカイブログを適用する必要があります。基本的にこれは機能するはずですが、これを行うときに直面したいくつかのバグがあります。したがって、少なくとも10gまたは11gではこのオプションをお勧めしません(12cで試したことはありません)。 Oracleは、11gR2のWindowsおよびLinuxでDataGuardを公式にサポートしていますが、前述したように、いくつかのバグがあります。 5回のうち3回の試行で失敗しました。

無効なオブジェクト、文字セットの変換、データの欠落、パブリックシノニムの欠落などで常に問題が発生するため、私は個人的にエクスポートとインポートの移行が好きではありません。

->次の行動計画をお勧めします。

  1. linuxデータベースをシャットダウンします
  2. スタートアップはLinuxデータベースをマウントします
  3. rmanバックアップを作成する
  4. windowsでデータベースを復元する
  5. alter database open resetlogs upgradeでデータベースを開きます
  6. catupgrd.sqlを実行します
  7. アップグレード後のタスクを実行する
1
ora-600