我刚刚通过以下命令导入数据转储:
IMPDP user/pass FULL=Y DUMPFILE=BIRDV24012014.DMP LOGFILE=BIRDV24012014.log;
转储已经恢复问题是我不知道如何连接到我刚刚导入的这个数据库,它驻留了什么服务或TNS,我该如何查询?
答案 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
参数来知道在何处查找您指定的转储文件。