免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7358 | 回复: 16
打印 上一主题 下一主题

ORA-12154: TNS:无法处理服务名。在后台执行JOB时出错! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-09-18 10:12 |只看该作者 |倒序浏览
ORA-12154: TNS:无法处理服务名。在后台执行JOB时出错,这个JOB调用一个存储过程,但直接手工执行这个存储过程是没有问题的。以前出现这个错误的时候,我就把存储过程里用到的DB_LINK封装成同义词,调用同义词,错误解决,现在过了几天又出现这个错误了,而且很不稳定,有时候又不报错。请问这是什么原因?谢谢!!

[ 本帖最后由 ws_dmgy 于 2007-9-18 10:15 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-09-18 10:29 |只看该作者
数据库版本多少,什么平台

论坛徽章:
0
3 [报告]
发表于 2007-09-18 10:48 |只看该作者
我这边的版本:
Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production
AIX 5.3.0.0

服务端的版本和我这边一样。

论坛徽章:
0
4 [报告]
发表于 2007-09-18 10:52 |只看该作者
job的创建用户
job调用的procedure创建用户
procedure中的dblink创建用户
这几个用户是同一用户?

alert_sid.log是否有其他的错误信息?

论坛徽章:
0
5 [报告]
发表于 2007-09-18 11:04 |只看该作者
都是同一个用户!
以下是alert_sid.log信息,没这个时间点的报错啊,我的JOB是8:00执行的,然后我8:30又让它执行了一次。

Tue Sep 18 04:18:21 2007
Thread 2 advanced to log sequence 2025
  Current log# 5 seq# 2025 mem# 0: /dev/rredo_05_512m_01
  Current log# 5 seq# 2025 mem# 1: /dev/rredo_05_512m_02
Tue Sep 18 04:22:41 2007
Thread 2 advanced to log sequence 2026
  Current log# 6 seq# 2026 mem# 0: /dev/rredo_06_512m_01
  Current log# 6 seq# 2026 mem# 1: /dev/rredo_06_512m_02
Tue Sep 18 04:30:37 2007
Thread 2 advanced to log sequence 2027
  Current log# 7 seq# 2027 mem# 0: /dev/rredo_07_512m_01
  Current log# 7 seq# 2027 mem# 1: /dev/rredo_07_512m_02
Tue Sep 18 07:23:12 2007
Thread 2 advanced to log sequence 2028
  Current log# 8 seq# 2028 mem# 0: /dev/rredo_08_512m_01
  Current log# 8 seq# 2028 mem# 1: /dev/rredo_08_512m_02
Tue Sep 18 08:53:07 2007
Thread 2 advanced to log sequence 2029
  Current log# 5 seq# 2029 mem# 0: /dev/rredo_05_512m_01
  Current log# 5 seq# 2029 mem# 1: /dev/rredo_05_512m_02
Tue Sep 18 09:30:06 2007
Thread 2 advanced to log sequence 2030
  Current log# 6 seq# 2030 mem# 0: /dev/rredo_06_512m_01
  Current log# 6 seq# 2030 mem# 1: /dev/rredo_06_512m_02
Tue Sep 18 09:33:05 2007
Thread 2 advanced to log sequence 2031
  Current log# 7 seq# 2031 mem# 0: /dev/rredo_07_512m_01
  Current log# 7 seq# 2031 mem# 1: /dev/rredo_07_512m_02
Tue Sep 18 09:34:45 2007
Thread 2 advanced to log sequence 2032
  Current log# 8 seq# 2032 mem# 0: /dev/rredo_08_512m_01

论坛徽章:
0
6 [报告]
发表于 2007-09-18 11:09 |只看该作者
所有job都有这个问题,还是包含有dblink的job有这个问题。

写个最简单的procedure,只包含一个dblink的查询(简单的查询,返回一条记录),往日志表(自己定义)中写入一条日志信息(异常信息也写),然后job每隔5分钟执行一次。然后看结果。

论坛徽章:
0
7 [报告]
发表于 2007-09-18 11:14 |只看该作者
别的JOB是没有问题的!
在UNIX里执行后台crontab时,必须把环境变量写进shell里面。应该是同样的道理,但我就不知道写在哪,怎么写,关于这个问题。~_~

[ 本帖最后由 ws_dmgy 于 2007-9-18 11:16 编辑 ]

论坛徽章:
0
8 [报告]
发表于 2007-09-18 11:16 |只看该作者
不是oracle job,是crontab job?

论坛徽章:
0
9 [报告]
发表于 2007-09-18 11:17 |只看该作者
是ORACLE的JOB,我是拿crontab举例说明 ~_~

论坛徽章:
0
10 [报告]
发表于 2007-09-18 11:17 |只看该作者
原帖由 ws_dmgy 于 2007-9-18 11:14 发表
在UNIX里执行后台crontab时,必须把环境变量写进shell里面。应该是同样的道理,但我就不知道写在哪,怎么写,关于这个问题。~_~


比如crontab里要执行test.sh

则test.sh:

ORACLE_SID=
ORACLE_HOME=
...
export ORACLE_SID ORACLE_HOME ...

other codes here.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP