我刚刚通过以下命令导入了数据转储:
IMPDP user/pass FULL=Y DUMPFILE=BIRDV24012014.DMP LOGFILE=BIRDV24012014.log;
转储已恢复问题是我不知道如何连接到我刚刚导入的这个数据库,它驻留在什么服务或 TNS 以及如何查询它?
您没有导入数据库,而是将文件内容导入现有数据库。如果你可以成功运行,impdp user/pass
那么你的ORACLE_SID
etc. 已经设置好了,你应该可以登录并使用sqlplus user/pass
.
如果您来自其他 RDBMS 背景,您可能会将“数据库”与“模式”混淆。根据转储中的内容,您可能已经在架构下创建了大量架构对象和数据,USER
或者您的真实 'user'
值是什么)。
导入对此没有影响,但是如果您想从另一个客户端(例如,从另一台机器或通过 JDBC)访问数据库,那么您需要检查您的侦听器配置以获取主机名/IP 地址和它正在侦听的端口on,并获取数据库的服务名称;lsnrctl services
如果您有权运行它,所有这些都可以从中获得。然后,您可以将这些值用于 JDBC URL、tnsnames.ora
条目或 ODBC 等。
查看您的ORACLE_SID
环境变量。在那里您会找到实例 ID。如果您以 Oracle 用户身份运行 IMPDP 工具,您还应该能够使用
sqlplus / as sysdba
如果全部失败,请查看您的/etc/oratab
文件以查看此主机上可用的实例。
另一方面,您的命令似乎不完整。Datapump 需要一个DIRECTORY
参数来知道在哪里查找您指定的转储文件。