如何通过数据泵访问数据库导入

时间:2014-01-28 10:52:28

标签: oracle10g datapump

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

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

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

2 个答案:

答案 0 :(得分:1)

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

如果您来自其他RDBMS背景,您可能会感到困惑'数据库'与'架构'。根据转储中的内容,您可能在USER架构下创建了大量架构对象和数据,或者您真正的user'值是什么)。

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

答案 1 :(得分:0)

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

连接到数据库
sqlplus / as sysdba

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

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