この質問の簡単なバージョンは次のとおりです。4GBの最大サイズ制限に達したOracle10gXEデータベースからすべてのデータをエクスポートすることは可能ですか?
ここで、背景を説明します。私の(Windows)Oracle 10g XEデータベースは、最大許容データベースサイズである4GBに達しました。この問題に実装しようとした解決策は、最大サイズ制限が大きく、とにかく本番環境をより適切に反映するOracle11gXEにアップグレードすることでした。もちろん、典型的なOracleのやり方では、それらにはインプレースアップグレードオプションがありません(少なくともXEで見つけることができたものではありません)。そこで、 『Oracle 11g XEインストール・ガイド』の「10.2XEと11.2XE間のデータのインポートとエクスポート」セクションの指示に従うことにしました。しばらくSQLPlusと戦った後、私は最終的に、ユーザーに次のように入力するように指示する命令のステップ3dに到達しました(SQLPlusではなくコマンドラインを指定していませんが、コマンドラインを意味します)。
expdp system/system_password full=Y EXCLUDE=SCHEMA:\"LIKE \'APEX_%\'\",SCHEMA:\"LIKE \'FLOWS_%\'\" directory=DUMP_DIR dumpfile=DB10G.dmp logfile=expdpDB10G.log
このコマンドを実行すると、次の出力が得られます。
Export: Release 10.2.0.1.0 - Production on Thursday, 29 September, 2011 10:19:11
Copyright (c) 2003, 2005, Oracle. All rights reserved.
Connected to: Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
ORA-31626: job does not exist
ORA-31633: unable to create master table "SYSTEM.SYS_EXPORT_FULL_06"
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPV$FT", line 863
ORA-12952: The request exceeds the maximum allowed database size of 4 GB
USERS表領域からかなりの量のデータを削除しましたが、データの物理的な場所が原因でサイズを変更できません。そして、私が何をしても、私は常に同じ出力を取得します。管理Webアプリケーションから「コンパクトストレージ」を実行しようとしましたが、効果がありません。
だから私の質問は、私は何かが足りないのですか?それとも、Oracleは本当に無能なので、XEデータベースがいっぱいになった場合に人々は完全に運が悪くなりますか?