免费注册 查看新帖 |

Chinaunix

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

不同用户执行otl程序,oracle用户可以,其他用户报错 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-11-07 12:34 |只看该作者 |倒序浏览
我使用的平台是Red Hat Enterprise Linux AS release 4 (Nahant Update 3)

数据库版本是9.2.0,数据库和程序运行在同一台机器上

我编译了一个otl自带的测试程序,以oracle用户执行该程序ok,以其他用户(包括root)则不能执行 报错ora-12545(目标或者对象不存在)

我很是郁闷,切换到oracle用户下,使用tnsping命令,结果ok

以下是我的tnsname.ora

xb18 =
(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 211.137.171.1(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = WAPYQDB)
    )
  )
这个是sqlnet.ora

NAMES.DIRECTORY_PATH= (TNSNAMES)

这个是listen.ora

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST=211.137.171.1(PORT = 1521))
      )
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
      )
    )
  )
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /opt/oracle/product/9.2.0)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = WAPYQDB)
      (ORACLE_HOME = /opt/oracle/product/9.2.0)
      (SID_NAME = WAPYQDB)
    )
  )
#TRACE_LEVEL_LISTENER = 16 TRACE_DIRECTORY_LISTENER = /tmp TRACE_FILE_LISTENER = "listener"

请问前辈,这个问题出在哪里呢

[ 本帖最后由 hityyp 于 2006-11-7 12:54 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-11-07 14:36 |只看该作者
解决了,主要就是由于其他用户的环境变量和oracle用户不同

我写了一个脚本,补充了一些程序运行所需要的环境变量 如下
export PATH=$PATH":/usr/X11R6/bin:/home/oracle/bin:/opt/oracle/product/9.2.0/bin:/opt/oracle/product/9.2.0/dbs"
export LD_LIBRARY_PATH=":/opt/oracle/product/9.2.0/lib:/usr/local/lib"
export ORACLE_OWNER=oracle
export ORACLE_SID=WAPYQDB
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME="/opt/oracle/product/9.2.0"
export CLASSPATH=$CLASSPASS":/opt/oracle/product/9.2.0/JRE:/opt/oracle/product/9.2.0/jlib:/opt/oracle/product/9.2.0/rdbms/jlib"

执行后程序就可以运行了,当然也可以在c程序里设置 用getenv,setenv函数,大致就是这样,希望遇到同样问题的朋友能顺利解决

论坛徽章:
0
3 [报告]
发表于 2006-11-08 09:18 |只看该作者
正常來說 不會有這個問題 因為 您上面的env本來就要設定了 沒設定可以用才有鬼~~~

之前您不能用 是觀念不正確的問題 而且您script的方式來用 不是一般的方式作為

因此 你解決了 <== 這個只能算是您觀念通了 但是 不是常態
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP