情况描述
环境:windows server 2012 ORACLE
使用数据泵导入数据,报协议适配器错误
原因分析
协议适配器错误一般是服务未启动或网络问题导致的,总而言之就是找不到对应的数据库,所以按照以下步骤来检查
1.数据泵只能在数据库服务器本机使用
2.需检查 1) 实例是否启动 2) 库服务是否启动 3) 环境变量oracle_home必须是服务端在前面
4) oracle_sid需要配置正确 5) 检查tns配置的IP和端口 6) 检查监听配置的IP和端口
检查数据库是否可以正常登录,能正常登录一般数据库肯定是正常启动状态,然后检查环境变量和oracle_sid,可以执行导入语法前,先设置临时变量:set oracle_sid=instance_name ,然后检查tns配置和监听配置
经检查发现,oracle数据库服务器的主机名有做过变更,而对应的tnsnames.ora和listener.ora对应的主机名并未做更新,导致不到本机
总结
导出语法:
create directory dirname as 'D:\';
expdp username/password@dbname directory=dirname dumpfile=dataname.dmp logfile=expdp.log schemas=hr;
导出语法:
create directory dirname as 'D:\';
impdp username/password@dbname remap_schema=newusername:oldusername directory=dirname dumpfile=dataname.dmp content=all
检查步骤
1) 实例是否启动 2) 库服务是否启动 3) 环境变量oracle_home必须是服务端在前面
4) oracle_sid需要配置正确 5) 检查tns配置的IP和端口 6) 检查监听配置的IP和端口