oracle包体怎么编译,oracle包体授权

oracle 编译包的时候,一直提示正在编译

编译的存储过程的时候,程序死住,等待一会出现ora-04021错误解决办法:

创新互联公司长期为1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为临西企业提供专业的成都网站设计、网站制作,临西网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。

1.可能被锁住

查看v$lockedselect b.sid,b.serial#,b.machine,b.terminal,b.program,b.process,b.status from v$lock a , v$session b

where a.SID = b.SID

得到死锁session的SID,SERIAL#参看这个是否为你自己用户下的,然后kill掉session

2.可能被挂起

查看v$session_waitselect b.serial#,a.* from v$session_wait a,v$session

bwhere a.sid = b.sid得到等待的session的sid和serial#3.查看dba_ddl_locksselect

session_id sid, owner, name, type,

mode_held held, mode_requested request

from dba_ddl_locks

where name = 'your_package_name'

求看看这个ORACLE包体编译的时候提示必须声明标识符emp,我该怎么声明它呀

emp表是oracle安装包里的example,它属于scott,确认一下这个表是否存在:

select owner,object_type from dba_objects where object_name='EMP';

如果这个表存在,出现这个错误,有以下几个原因:

1.这个包的所有者没有对emp表的select权限

2.虽然有权限,但在引用它的时候必需明确这个表的schema,也就是上面那个查询的owner,你应该用scott.emp

oracle 包中函数修改了其中一个函数,能不能只编译其中一个函数就行了?

不行,编译的话整个包体全部都会被编译,而不会你鼠标圈哪里编译哪里,如果你怕其他过程被编译,你就把这个过程另拿出来CREATE一个吧,然后在调用这个包里的其他过程。

oracle中自定义的函数怎么编译

可在第三方软件中,如pl/sql中编译。

1、打开pl/sql软件并登录到指定数据库。

2、点击左上方像纸片的按钮,然后点击“sql窗口”

3、在弹出窗口中编写自定义函数。

4、编写完毕后,直接点击左上角像齿轮的按钮(即执行按钮),就可以编译了。


分享标题:oracle包体怎么编译,oracle包体授权
文章链接:http://scjbc.cn/article/hoghce.html

其他资讯