読者です 読者をやめる 読者になる 読者になる

misc.log

日常茶飯事とお仕事と

Oracle 64bitのデータを32bitに移す

職場で質問が出ていたので調べてみた。

THe Mail Archive / 64bit 5o 32bit downgrade
http://www.mail-archive.com/oracle-l@fatcity.com/msg18901.html

ここからマイグレーションガイドをみろという情報を得る。特に「Changing word-size」に注目とのこと。で。探してみるとこれを見つけた。

Oracle9i Database Migration Release 2 (9.2)
http://download.oracle.com/docs/cd/B10500_01/server.920/a96530/migintro.htm#1006950

9iのだけど、マイグレーションに関する資料。ここに「Changing Word Size」という項目がある。

データベースのアップグレードやダウングレードを行う際には、ワードサイズを変更しなければならない場合がある。
たとえば下記のような場合である。

・32ビットOracleを64ビットOS上で動かしており、Oracleを64ビットに変更したい
・64ビットOracleを64ビットOS上で動かしており、Oracleを32ビットに変更したい。

このような場合、アップグレードの過程でワードサイズを変更するが、特に特別な操作は必要無い。ワードサイズは
自動的に作業の過程で変更される。しかしながら、明示的に変換を行う必要がある場合には、
「http://download.oracle.com/docs/cd/B10500_01/server.920/a96530/migaftrm.htm#1009682」
にある手順で作業を行う必要がある。例えば、リリース9.2の32ビット版をもっている状況で、同じリリース9.2の64
ビット版に変更する必要がある場合などが相当する。

以下に記載した内容は、32ビット版環境を64ビット版に変える場合、またはその逆の場合に適用できる。
(中略)

ディスク上のデータベースデータ、Redo、Undoデータは32bit、64bitのOracleを問わず同一である。32bitと64bitの
Oracleで、内部的な構造に関する違いは以下の2点のみである。

・コンパイルされたPL/SQL。
・ユーザー定義型(Object型、REF、varray、ネストされたテーブル)

ってことで、データ自体は互換性があるものの、PL/SQLなどには互換性が無いとのこと。で、そこを移すにはデータのエクスポートインポートではなく、「64ビットのOracleを32ビットにダウングレードする」という手順に従う必要がありそう。

とりあえずこの辺で問題は解決したようなので、メモ書き程度にとどめておく。


図解 64ビットがわかる (図解 知りたい!テクノロジー)

図解 64ビットがわかる (図解 知りたい!テクノロジー)