大家好,现在遇到一个情况,编译包就卡机,换在别的数据库中就可以编译,重启这个服务器和数据库在编译也都卡机,请问是什么原因!

解决方案 »

  1.   

    乍一看,以为你是什么特殊业务,谓语:编译,宾语:包就卡机。呵呵。
    重启服务器和数据也卡机?那卡机的时候,看一下v$lock,啥玩竟儿锁了,或者用下面语句查看一下:
    SELECT p.spid     ,
     decode(locked_mode,0,'None',1,'Null',2,'Row share', 
           3,'Row Exclusive',4,'Share',5,'Share Row Exclusive',6,'Exclusive') lock_type,
      c.object_name    ,
      b.session_id     ,
      b.oracle_username,
      b.os_user_name,
      b.locked_mode, 
      a.sid,
      a.serial#,
      a.machine,
      a.action,
      to_char(a.logon_time,'yyyy/mm/dd hh24:mi')
       FROM v$process p,
      v$session a      ,
      v$locked_object b,
      all_objects c
      WHERE p.addr =a.paddr
    AND a.process  =b.process
    AND c.object_id=b.object_id
      

  2.   


    这个服务器 重启完 是没有内容的,在把包拖进pl/sql中就 点击执行就卡住了!
      

  3.   

    那你别用Pl/sql执行了呗。。
    直接后台运行!
      

  4.   

    我已经在sql/plus下执行成功了,谢谢!但是我是把PCK文件里的包头与包体复制出来后执行的,能不能直接在sql/plus下直接执行PCK文件啊 就像执行sql文件一样呢??
      

  5.   

    可能是你的package编写的有问题
      

  6.   


    我估计是pl/sql有问题,为什么在sqlplus下 可以执行呢?这个包体有7w行
      

  7.   

    看一下,PL/SQL里是不是有自动格式化SQL语句的选项。
    这一项不要选,再编译试试。曾经死在这一步上,300多行的PRC,因为这原因,一直编译卡住。
      

  8.   


    自动格式化SQL语句的选项  这个是什么东西
      

  9.   

    怎么在sqlplus下编译包文件  *.pck 求解,我是把包头和包体分别复制,然后执行的!