PLSql调试问题解析

最近因为工作问题需要弄一个Orale数据库导出Dmp文件,直接命令行执行很麻烦,于是用PLSql来操作,在配置链接的过程中遇到很多问题,下面把问题及解决方法贴在这里记录一下

1、ORA-12504:TNS:监听程序在CONNECT_DATA中未获得SERVICE_NAME

这种问题是因为监听器中没有获取到SERVICE_NAME导致的。

解决方法;

1)找到plsql配置的tnsnames.ora文件,打开并编辑,加入下面代码段;

##可以
ORCL=
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
)

host 可以改为自身IP地址,也可以改为localhost或者127.0.0.1,本质没有区别

端口号默认为1521,要与Oracle客户端匹配

2)配置环境变量   

指向的是admin文件夹下的tnsnames.ora目录,根据自身情况配置

3)去本地Oracle客户端找到配置的监听器(本地安装Oracle的需要查找,如果本地只是安装精简版的Oracle,则没有必要,因为监听程序是在客户端才有的)

点击菜单-->Oracle - OraDb11g home1--->Net Manager--listener

这里面监听的地址应该有tnsnames.ora文件配置中的host地址,不然就会报未找到监听器的错误

2、ORA-12514: TNS:监听程序当前无法识别连接描述符中请求的服务

1)首先应该查看Oracle服务是否正常启动

2)查看自己PLSql配置的tnsnames.ora文件中是否有配置错误问题,如IP或者端口

3)打开listener.ora文件(与tnsnames.ora文件再同一个目录中)

加入下列代码

LISTENER =
    (DESCRIPTION_LIST =
        (DESCRIPTION =
            (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
            (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
            (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.*.*)(PORT = 1521))
        )
    )

host=192.168.*.*填入自己的IP地址是为了监听此IP,让其他机器输入IP地址也可以访问到

这步完成需要重启Oracle,重新登录

win+R 输入  services.msc回车

找到OracleServiceORCL服务,右键重启

然后再对OracleOraDb11g home1TNSListener 右键重启

3、ORA-12638: 身份证明检索失败

之前的配置是没有问题的,而且发现本地命令界面也登不上,查找资料,排除用户名和密码改动过的情况,应该是网络波动的问题。果然,后续再次登录就好了

4、乱码问题

配置环境变量  

NSL_LANG     

SIMPLIFIED CHINESE_CHINA.ZHS16GBK

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值