Chinaunix首页 | 论坛 | 博客
  • 博客访问: 147979
  • 博文数量: 47
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 402
  • 用 户 组: 普通用户
  • 注册时间: 2013-03-11 10:08
文章存档

2013年(47)

我的朋友

分类: Oracle

2013-03-13 12:34:56

在项目中需要给同一台服务器的web用户配置环境变量执行oracle的sqlldr,把实现的步骤和碰到问题记录一下:

(1)把oracle目录下.profile文件对于数据库环境变量的设置拷贝到web用户的.profile文件中;

执行命令报错

$ sqlldr
sh: sqlldr:  not found.

查看,发现web用户没有oracle_home目录的执行权限,无法进入到bin目录

(2)使用chmod 755 $oracle_home更改目录权限

执行命令报错

$ sqlldr
/usr/lib/hpux64/dld.so: Unable to find library 'libclntsh.so.10.1'.
Killed

核查,发现对$oracle_home/lib也没有访问权限

(3)使用chmod 755 $oracle_home/lib更改目录权限

执行命令报错

$ sqlldr
Message 2100 not found; No message file for product=RDBMS, facility=ULMessage 2100 not found; No message file for product=RDBMS, facility=UL$

经过一番核查,发现还需要对目录$oracle_home/rdbms/mesg目录赋予相应权限

最后终于可以正确执行命令sqlldr

 

总结:当需要给非oracle用户配置使用sqlldr时,不单需要配置环境变量,还需要把相关目录的访问权限赋予该用户。

阅读(1359) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~