之前这台机器用都是好的,后来就不行了。据管理这台机器的人说没有动过什么,所以很奇怪。在机器上执行如下语句,结果: SQL> select * from dba_tab_privs where table_name='EXU8HSTU' 2 ;GRANTEE OWNER ------------------------------ ------------------------------ TABLE_NAME GRANTOR ------------------------------ ------------------------------ PRIVILEGE GRA HIE ---------------------------------------- --- --- PUBLIC SYS EXU8HSTU SYS SELECT NO NO SQL> select * from dba_tab_privs where table_name='UTL_RAW';no rows selectedSQL> 不太懂oracle,求指点。 _____
用户没有包UTL_RAW的可执行权限, 给新用户赋予包UTL_RAW的可执行权限即可: grant execute on UTL_RAW to newuser; SQL> select * from dba_tab_privs where table_name='UTL_RAW';
select * from dba_tab_privs where table_name='UTL_RAW'; 这条语句在正常环境执行结果: GRANTEE OWNER TABLE_NAME GRANTOR PRIVILEGE GRANTABLE HIERARCHY ---------- -------- ------------- ---------- ------------ ------------ ------------ PUBLIC SYS UTL_RAW SYS EXECUTE NO NO 在异常环境执行结果: no rows selected另外, grant execute on UTL_RAW to newuser; 这个newuser 是指那个用户?
-- CAST_TO_RAW-- "UTL_RAW"."CAST_TO_RAW" 是什么东东?
-- 你先在你的SQL语句里查一下:CAST_TO_RAW
-- 要不把你的原代码贴出来,我估计可能是你的用户服务的权限问题,估计是你当前的用户没有
-- 执行 "UTL_RAW"."CAST_TO_RAW" 对象的权限?或者是:"UTL_RAW"."CAST_TO_RAW"对象不存在!
SQL> select * from dba_tab_privs where table_name='EXU8HSTU'
2 ;GRANTEE OWNER
------------------------------ ------------------------------
TABLE_NAME GRANTOR
------------------------------ ------------------------------
PRIVILEGE GRA HIE
---------------------------------------- --- ---
PUBLIC SYS
EXU8HSTU SYS
SELECT NO NO
SQL> select * from dba_tab_privs where table_name='UTL_RAW';no rows selectedSQL>
不太懂oracle,求指点。
_____
给新用户赋予包UTL_RAW的可执行权限即可:
grant execute on UTL_RAW to newuser;
SQL> select * from dba_tab_privs where table_name='UTL_RAW';
这条语句在正常环境执行结果:
GRANTEE OWNER TABLE_NAME GRANTOR PRIVILEGE GRANTABLE HIERARCHY
---------- -------- ------------- ---------- ------------ ------------ ------------
PUBLIC SYS UTL_RAW SYS EXECUTE NO NO
在异常环境执行结果:
no rows selected另外,
grant execute on UTL_RAW to newuser;
这个newuser 是指那个用户?
grant execute on UTL_RAW to user;