0

我刚刚通过以下命令导入了数据转储:

IMPDP user/pass FULL=Y DUMPFILE=BIRDV24012014.DMP LOGFILE=BIRDV24012014.log;

转储已恢复问题是我不知道如何连接到我刚刚导入的这个数据库,它驻留在什么服务或 TNS 以及如何查询它?

4

2 回答 2

1

您没有导入数据库,而是将文件内容导入现有数据库。如果你可以成功运行,impdp user/pass那么你的ORACLE_SIDetc. 已经设置好了,你应该可以登录并使用sqlplus user/pass.

如果您来自其他 RDBMS 背景,您可能会将“数据库”与“模式”混淆。根据转储中的内容,您可能已经在架构下创建了大量架构对象和数据,USER或者您的真实 'user'值是什么)。

导入对此没有影响,但是如果您想从另一个客户端(例如,从另一台机器或通过 JDBC)访问数据库,那么您需要检查您的侦听器配置以获取主机名/IP 地址和它正在侦听的端口on,并获取数据库的服务名称;lsnrctl services如果您有权运行它,所有这些都可以从中获得。然后,您可以将这些值用于 JDBC URL、tnsnames.ora条目或 ODBC 等。

于 2014-01-28T11:24:49.767 回答
0

查看您的ORACLE_SID环境变量。在那里您会找到实例 ID。如果您以 Oracle 用户身份运行 IMPDP 工具,您还应该能够使用

sqlplus / as sysdba

如果全部失败,请查看您的/etc/oratab文件以查看此主机上可用的实例。

另一方面,您的命令似乎不完整。Datapump 需要一个DIRECTORY参数来知道在哪里查找您指定的转储文件。

于 2014-01-28T10:55:55.857 回答