web-dev-qa-db-ja.com

エラー1659でOracle .dmpをインポートすると、表領域SYSTEMに3を超えるMINEXTENTSを割り当てることができません

Oracle DUMPファイル(v10.2)をOracle Express 11.2.0.2.0にインポートしようとしています。私はいくつかのスキーマエラーを受け取り、ここの他の投稿をフォローすることでそれらを解決しました。現在、このエラーが発生しており、トラブルシューティングを行うのに十分に理解できません。

C:\>imp system/pass FROMUSER=DWH TOUSER=IMPORT_MAN file=e:\LRT_ARCHIVE_170911.dmp

Import: Release 11.2.0.2.0 - Production on Wed Sep 20 11:01:48 2017

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.


Connected to: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

Export file created by EXPORT:V10.02.01 via conventional path

Warning: the objects were exported by DWH, not by you

import done in WE8MSWIN1252 character set and AL16UTF16 NCHAR character set
import server uses AL32UTF8 character set (possible charset conversion)
. importing DWH's objects into IMPORT_MAN
IMP-00017: following statement failed with Oracle error 1659:
 "CREATE TABLE "LRT_ARCHIVE_170911" ("EVENTTIME" TIMESTAMP (6) WITH LOCAL TIM"
 "E ZONE, "TTR_ID" NUMBER(10, 0), "STATUS" VARCHAR2(3), "ISEMPTY" VARCHAR2(1)"
 ", "TDP_IDCURR" NUMBER(6, 0), "TNP_IDLASTPOS" NUMBER(6, 0), "STORINGREASON" "
 "VARCHAR2(20), "ISPROCESSED" VARCHAR2(1))  PCTFREE 10 PCTUSED 40 INITRANS 1 "
 "MAXTRANS 255 STORAGE(INITIAL 1824522240 FREELISTS 1 FREELIST GROUPS 1 BUFFE"
 "R_POOL DEFAULT)                   LOGGING NOCOMPRESS"
IMP-00003: Oracle error 1659 encountered
ORA-01659: unable to allocate MINEXTENTS beyond 3 in tablespace SYSTEM
Import terminated successfully with warnings.

誰かがこれがなぜ起こっているのか、そしてそれを解決する方法を指摘できるなら、本当に感謝します。

また、full = yes command-argを指定してコマンドを実行していましたが、まったく実行されておらず、FROMUSERでfullを使用できないと報告されました

背景:これは、新しくインストールされたOracle Expressのインスタンスです。私はダンプを得て、それを復元するように命じられました。最初に試したとき、実際にダンプを作成/エクスポートしたスキーマ/ユーザーに関する警告に従って、同じ名前DWHの新しいユーザーを作成しました。それは問題ではなかったと思います。それを除けば、これに費やした2時間はあまり行っていません。

2
Hassan Gulzar
01659, 00000, "unable to allocate MINEXTENTS beyond %s in tablespace %s"
// *Cause:  Failed to find sufficient contiguous space to allocate MINEXTENTS
//          for the segment being created.
// *Action: Use ALTER TABLESPACE ADD DATAFILE to add additional space to the
//          tablespace or retry with smaller value for MINEXTENTS, NEXT or
//          PCTINCREASE

上記のように、2つのオプションがあります。SYSTEMテーブルスペースのサイズを増やすか、簡単にするか、最初にテーブルDDL(CONTENT=METADATA_ONLY)ダンプファイルからDDLスクリプトを変更してMINEXTENTを低い値に変更し、スクリプトを実行してテーブルを作成してからデータ(CONTENT=DATA_ONLY)。

コメントから...

私はそうではありません。私のクリップボード履歴にこのクエリがあります:ALTER TABLESPACE ADD DATAFILEが実際にそれを使用する方法がわからない、またはIMPORT_MANユーザー/スキーマを作成したときにここでSYSTEMスキーマが使用されている理由

エラーで言及されている[〜#〜] system [〜#〜]はスキーマではなくテーブルスペースです。 SYSTEMテーブルスペースは、SYSスキーマの下のテーブルなど、システムおよびユーザーオブジェクトのメタデータを格納するために使用されます。したがって、テーブルをインポートするときは、SYSTEMテーブルスペースと、行を格納するユーザーのデフォルトのテーブルスペースにスペースが必要です。データファイルを追加するには、このリンクを参照してください ALTER TABLESPACE

1
JSapkota