web-dev-qa-db-ja.com

Oracle DMPファイルをOracleの新規インストールにインポートする

クライアントから、テストが必要なOracleデータベースが送られてきました。オラクルを使用したり、社内のオラクルの専門知識はありません。

データベースに接続して問題をデバッグできるように、データベースをセットアップする必要があります。

Oracle 9(クライアントが実行しているバージョン)と管理ツールの新規インストールを行いました。

私の人生では、データをインポートすることはできません。これは複雑ではありません。私は何かが間違っているに違いない。

私はもう試した:

imp 'sys/password AS SYSDBA' file=c:\database.dmp full=yes log=implog.txt

そして得た:

Connected to: Personal Oracle9i Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production

Export file created by EXPORT:V09.02.00 via conventional path

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

import done in WE8MSWIN1252 character set and AL16UTF16 NCHAR character set
. importing SYSTEM's objects into SYS
. importing ABCDE's objects into ABCDE
IMP-00003: Oracle error 1435 encountered
ORA-01435: user does not exist
Import terminated successfully with warnings.

しかし、どのスキーマのテーブルについても、マネージャーには何も表示されません。

30
James

最初にユーザー(またはスキーマ)を作成する必要があります

C:\>sqlplus system/password

SQL> create user CLIENT_TEST identified by client_test_password;
SQL> grant connect, unlimited tablespace, resource to CLIENT_TEST;
SQL> exit

次に、fromuser=およびtouser= IMPスイッチを使用して、データを新しいユーザー/スキーマにインポートします。

C:\>imp system/password FROMUSER=ABCDE TOUSER=client_test file=c:\database.dmp full=yes

お役に立てば幸いです。

29
Andrew

これら2つのアカウントは管理者であるため、OracleでSYSまたはSYSTEMとしてテーブルを作成することは一般的ではありません。

エラーは、クライアントがユーザーABCDEとしてテーブルを作成したことを意味します。

インポートする前にそのユーザーを作成し、次にそのユーザーとしてデータをインポートする必要があります。

エクスポートされたファイルには、データベースに存在しないユーザーABCDEに関連する権限およびその他の情報が含まれているため、これによりエラーが解消されます。

追加のヒントについては、この質問を確認してください: Oracle Data Pump Exportファイル内のスキーマを判別する方法

12
zendar

最初にユーザー「ABCDE」を作成する必要があります

何かのようなもの

SQL * PLUSの場合:

create user ABCDE identified by password;
grant connect, resource to ABCDE;

「ユーザーの作成」には数十億のオプションがありますが、これはデフォルトを使用します。

7
Nick Pierpoint

クライアントは、ダンプファイルの生成方法の詳細を提供しましたか?特に、これがスキーマレベルのエクスポート、テーブルスペースレベルのエクスポート、またはテーブルレベルのエクスポートではなく、完全なエクスポートであることを確信していますか?

3
Justin Cave

「sys/password AS SYSDBA」ではなく、「system/password」を試してください。

Oracleのツールでは、sysが「すべての強力な」ユーザーであるにもかかわらず、エクスポートを作成したときと同じユーザーがインポートする必要があります。

3
dacracot

インポートするデータが実際にSYSユーザーによって.dmoファイルとしてエクスポートされたという警告が表示されました。これを試して..

C:\Oracle\ora92\bin>imp sys/pwd@dbname file=c:\database.dmp full=yes

dbnameは、指定したデータベース名です

1
Dhruv
c:\\ imp database name/password@Oracle9i file=xyz,dmp grants=n ignore=y 
  fromuser=database name touser=database name
0
vikas