2017-05-15 118 views
0

私はUATのENVを与えられている。、のためのDMPファイルをインポートDMPファイルは、Oracleに失敗した[ORA-31685、ORA-39083、ORA-01932、ORA-31684]

何をやっていますhereの手順に従いました。

エラー

以下をは私が取得していますエラーで、私のローカルユーザ名は私が把握することができませんいくつかの役割が欠落しているように思えます。私は 'SYSTEM'ユーザーにADMIN/DBA権限を与えました。

Master table "SYSTEM"."UAT" successfully loaded/unloaded 
Starting "SYSTEM"."UAT": 
Processing object type SCHEMA_EXPORT/USER 
ORA-31685: Object type USER:"SYSTEM" failed due to insufficient privileges. Failing sql is: 
ALTER USER "SYSTEM" IDENTIFIED BY VALUES 'DABD3C3A967782B6' DEFAULT TABLESPACE "UAT01" TEMPORARY TABLESPACE "TEMP01" 
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT 
Processing object type SCHEMA_EXPORT/ROLE_GRANT 
ORA-39083: Object type ROLE_GRANT failed to create with error: 
ORA-01932: ADMIN option not granted for role 'CONNECT' 
Failing sql is: 
GRANT "CONNECT" TO "SYSTEM" 
ORA-39083: Object type ROLE_GRANT failed to create with error: 
ORA-01932: ADMIN option not granted for role 'RESOURCE' 
Failing sql is: 
GRANT "RESOURCE" TO "SYSTEM" 
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE 
ORA-31685: Object type DEFAULT_ROLE:"SYSTEM" failed due to insufficient privileges. Failing sql is: 
ALTER USER "SYSTEM" DEFAULT ROLE "CONNECT", "RESOURCE" 
Processing object type SCHEMA_EXPORT/TABLESPACE_QUOTA 
ORA-31685: Object type TABLESPACE_QUOTA:"SYSTEM" failed due to insufficient privileges. Failing sql is: 
DECLARE TEMP_COUNT NUMBER; SQLSTR VARCHAR2(200); BEGIN SQLSTR := 'ALTER USER "SYSTEM" QUOTA UNLIMITED ON "UAT01"'; EXECUTE IMMEDIATE SQLSTR;EXCEPTION WHEN OTHERS THEN IF SQLCODE = -30041 THEN  SQLSTR := 'SELECT COUNT(*) FROM USER_TABLESPACES    WHERE TABLESPACE_NAME = ''UAT01'' AND CONTENTS = ''TEMPORARY''';  EXECUTE IMMEDIATE SQLSTR INTO TEMP_COUNT;  IF TEMP_COUNT 

システムユーザーのWITH adminオプションにCONNECT、RESOURCEロールを指定すると、以下のエラーが発生します。すべて事前に

SYSTEM USER WITH ROLES

Master table "SYSTEM"."IMPORT_JOB_SQLDEV_101" successfully loaded/unloaded 
Starting "SYSTEM"."IMPORT_JOB_SQLDEV_101": 
Processing object type SCHEMA_EXPORT/USER 
ORA-39083: Object type USER failed to create with error: 
ORA-00959: tablespace 'UAT01' does not exist 
Failing sql is: 
ALTER USER "SYSTEM" IDENTIFIED BY VALUES 'DABD3C3A967782B6' DEFAULT TABLESPACE "UAT01" TEMPORARY TABLESPACE "TEMP01" 
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT 
Processing object type SCHEMA_EXPORT/ROLE_GRANT 
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE 
Processing object type SCHEMA_EXPORT/TABLESPACE_QUOTA 
ORA-39083: Object type TABLESPACE_QUOTA failed to create with error: 
ORA-00959: tablespace 'UAT01' does not exist 
Failing sql is: 
DECLARE TEMP_COUNT NUMBER; SQLSTR VARCHAR2(200); BEGIN SQLSTR := 'ALTER USER "SYSTEM" QUOTA UNLIMITED ON "UAT01"'; EXECUTE IMMEDIATE SQLSTR;EXCEPTION WHEN OTHERS THEN IF SQLCODE = -30041 THEN  SQLSTR := 'SELECT COUNT(*) FROM USER_TABLESPACES    WHERE TABLESPACE_NAME = ''UAT01'' AND CONTENTS = ''TEMPORARY''';  EXECUTE IMMEDIATE SQLSTR INTO TEMP 

感謝!!

+0

システムはすでにスーパーユーザーである必要があります。ユーザーは「システム」に何も付与する必要はありません。どのユーザー名でインポートを行っていますか、そのユーザーにどのような役割と特権を与えましたか? –

+0

システムユーザーを使用してインポートしています。 – Cmen535

+0

dmpファイルの元のOracleのバージョンと、Oracleのどのバージョンをファイルをインポートするのか知っていますか? 'UAT01'表スペースのように、ファイルをインポートする前にいくつかのオブジェクトが存在する必要があります。手動でテーブルスペースを作成すると、ファイルがインポートされると思います。 –

答えて

2

ダンプをインポートする前に、必要なすべての表領域を作成する必要があります。ダンプのインポートでデータベースに必要な物理ファイルが作成されない

+0

まさに!! CONNECT、RESOURCE、IMP_FULL_DATABASEのロールにADMIN OPTIONとDEFAULT_ROLEを付与する必要があることも分かりました – Cmen535

関連する問題