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


29

クライアントから、テストする必要がある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.

しかし、スキーマ内のテーブルに関する限り、マネージャーには何も表示されません。


おかげで、ここで正確な問題。Oracleダンプを取得し、インポートする必要があります。他のほとんどのデータベースシステムと比較して、非常に直感に
反し

回答:


28

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

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

お役に立てば幸いです!


ORA-65096:共通ユーザーまたはロール名が無効です
-Kvasi

12

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

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

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

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

追加のヒントについては、この質問を確認してください。OracleData Pump Exportファイル内のスキーマの決定方法。


7

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

何かのようなもの

SQL * PLUSの場合:

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

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


3

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


関連する質問があります。あなたはそれについてコメントしたいですか?リンクは次のとおり
130515

3

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

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


1

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

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

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


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

1
これがどのように機能するか、パラメータとは何か、実際にはコマンドライン以外のものを説明することにより、答えを明確にする必要があります。
マックスヴァーノン14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.