亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

包對象之Oracle如何編譯失效包體

發布時間:2020-08-10 22:39:26 來源:ITPUB博客 閱讀:428 作者:VamzJ 欄目:關系型數據庫


主題:如何Oracle編譯失效的包體
作者:基毛飛上天

情況說明:在嗎?可以幫忙重新編譯一個包嗎?我們這邊編譯不了!

處理思維:
(1)包頭失效還是包體失效?
(2)是否存在阻礙的進程影響重新編譯?
(3)如果存在阻礙,與應用人員溝通,是否可以嘗試殺Process以及會話

1. 查看包頭體是否失效?

以下SQL語句輸出得知,包頭沒有,包體失效了

  • BEGIN pkg_test.ap_get_baTran(200,20180515); END;

  • 點擊(此處)折疊或打開

    1. SQL> SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(to_char('7b4dpss4k3hc5'),NULL));

    2. PLAN_TABLE_OUTPUT
    3. --------------------------------------------------
    4. SQL_ID 7b4dpss4k3hc5, child number 0
    5. BEGIN pkg_test.ap_get_baTran(200,20180515); END;
    6. NOTE: cannot fetch plan for SQL_ID: 7b4dpss4k3hc5, CHILD_NUMBER: 0
    7.       Please verify value of SQL_ID and CHILD_NUMBER;
    8.       It could also be that the plan is no longer in cursor cache (check v$sql_plan)
  • 7. 殺會話

  • 經與應用人員溝通,可以盡情地殺會話,以及PROCESS(這個需要本地殺)
  • 點擊(此處)折疊或打開

    1. alter system kill session '12481,8711';

  • 8. 再次查看是否有獨占編譯包體的鎖

    檢查出1719 ZJDB PKG_TEST Body Exclusive None,還是存在獨占DDL鎖的進程。按照以上的方式,殺1719的會話,是不對的!因為這個會話就是SYS用戶正在執行重新編譯的語句。不可能殺掉重新編譯的語句嘛,所以看下還能從什么方面下手!

    點擊(此處)折疊或打開

    1. SQL> select * from dba_ddl_locks where name='PKG_REPORT';

    2. SESSION_ID OWNER NAME TYPE MODE_HELD MODE_REQU
    3. ---------- --------------- ---------------- ------------------------- --------- ---------
    4.       9710 ZJDB PKG_TEST Table/Procedure/Type Null None
    5.        948 ZJDB PKG_TEST Table/Procedure/Type Null None
    6.      10155 ZJDB PKG_TEST Table/Procedure/Type Null None
    7.       6814 ZJDB PKG_TEST Table/Procedure/Type Null None
    8.       2851 ZJDB PKG_TEST Table/Procedure/Type Null None
    9.      21183 ZJDB PKG_TEST Table/Procedure/Type Null None
    10.      14698 ZJDB PKG_TEST Table/Procedure/Type Null None
    11.      16963 ZJDB PKG_TEST Table/Procedure/Type Null None
    12.      23503 ZJDB PKG_TEST Table/Procedure/Type Null None
    13.       2650 ZJDB PKG_TEST Table/Procedure/Type Null None
    14.      20671 ZJDB PKG_TEST Table/Procedure/Type Null None
    15.       1719 ZJDB PKG_TEST Body Exclusive None
    16.       9710 ZJDB PKG_TEST Body Null None
    17.      20671 ZJDB PKG_TEST Body Null None
    18.       6814 ZJDB PKG_TEST Body Null None
    19.      16963 ZJDB PKG_TEST Body Null None
    20.      21183 ZJDB PKG_TEST Body Null None
    21.        948 ZJDB PKG_TEST Body Null None
    22.       2851 ZJDB PKG_TEST Body Null None
    23.      10155 ZJDB PKG_TEST Body Null None
    24.      23503 ZJDB PKG_TEST Body Null None
    25.       2650 ZJDB PKG_TEST Body Null None
    26.      14698 ZJDB PKG_TEST Body Null None
    27. 23 rows selected.

    9. 找出ZJDB.PKG_TEST對應ddl鎖的相關信息

    找出ZJDB.PKG_TEST對應的DDL鎖的
    SID與會話SID符合的會話,機器名字和用戶名字以及狀態

    點擊(此處)折疊或打開

    1. SQL> select b.saddr, b.sid, b.serial#,b.process,b.status,b.username, b.MACHINE from v$sessionwhere b.sid in
    2.       ( Select b.sid From dba_ddl_locks a, v$session b Where a.session_id = b.SID and a.name = 'PKG_TEST' and owner='ZJDB')
    3.       order by b.username desc;

    4. SADDR SID SERIAL# PROCESS STATUS USERNAME MACHINE
    5. ---------------- ---------- ---------- ---------- -------- --------- ---------
    6. 070000A02BB0E7E0 1719 30765 37358470 ACTIVE SYS RACZJ-DB1
    7. 070000A010BFF958 10155 46885 33227250 ACTIVE ZJDB RACZJ-DB1
    8. 070000A00CB32110 9710 9641 27525876 ACTIVE ZJDB RACZJ-DB1
    9. 070000A023BC4438 2032 9479 31195338 ACTIVE ZJDB RACZJ-DB1
    10. 070000A0061E8210 23503 30787 55313168 ACTIVE ZJDB RACZJ-DB1
    11. 070000A0279C9920 948 44781 13631706 ACTIVE ZJDB RACZJ-DB1
    12. 070000A02B9B4FC0 893 27923 54263886 ACTIVE ZJDB RACZJ-DB1
    13. 070000A02BCA68C8 2650 48113 29033334 ACTIVE ZJDB RACZJ-DB1
    14. 070000A00DE3DE58 21183 59867 43516348 ACTIVE ZJDB RACZJ-DB1
    15. 070000A015A40440 18410 50345 3998656 ACTIVE ZJDB RACZJ-DB1
    16. 070000A009727FB0 16963 33555 66847560 ACTIVE ZJDB RACZJ-DB1
    17. 070000A023D20C00 2851 17117 10224286 ACTIVE ZJDB RACZJ-DB1
    18. 070000A02FB62590 1776 28699 46334786 ACTIVE ZJDB RACZJ-DB1
    19. 070000A015E08488 20671 38781 53150014 ACTIVE ZJDB RACZJ-DB1
    20. 070000A011386AF0 14698 60901 37421588 ACTIVE ZJDB RACZJ-DB1
    21. 070000A005CC69A8 20416 37977 30147116 ACTIVE ZJDB RACZJ-DB1
    22. 070000A001EE7AC0 21745 60937 8192734 ACTIVE ZJDB RACZJ-DB1
    23. 17 rows selected.
    10. 操作系統層面殺process

    --以sid=10155為例子,殺系統的process,這個殺process的操作,一般是在他們的主機殺process!

    點擊(此處)折疊或打開

    1. SQL> select sid, SERIAL#,process,status from v$session where sid=10155;

    2.        SID SERIAL# PROCESS STATUS
    3. ---------- ---------- ------------------------ --------
    4.       10155 30765 37358425 ACTIVE
    5.       
    6. $ ps -ef|grep 37358425  
    7. $ kill -9 37358425                    --操作系統層面殺會話
    8. $ ps -ef|grep 37358452
    12. 數據庫層面殺會話

    點擊(此處)折疊或打開

    1. alter system kill session '10155,46885';
    2. alter system kill session '9710,9641';
    3. alter system kill session '2032,9479';
    4. alter system kill session '23503,30787';
    5. alter system kill session '948,44781';
    6. alter system kill session '893,27923';
    7. alter system kill session '2650,48113';
    8. alter system kill session '21183,59867';
    9. alter system kill session '18410,50345';
    10. alter system kill session '16963,33555';
    11. alter system kill session '2851,17117';
    12. alter system kill session '1776,28699';
    13. alter system kill session '20671,38781';
    14. alter system kill session '14698,60901';
    15. alter system kill session '20416,37977';
    16. alter system kill session '21745,60937';
    13. 查看創建包體的命令是否成功

    點擊(此處)折疊或打開

    1. SQL> alter package ZJDB.PKG_TEST compile body;
    2. Package body altered.
    14. 相關鏈接

    http://www.itpub.net/forum.php?mod=viewthread&tid=1761963
    https://blog.csdn.net/u011146687/article/details/72808565









    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    寻乌县| 高碑店市| 扶风县| 洞头县| 邯郸县| 安宁市| 清徐县| 华池县| 临朐县| 北流市| 新昌县| 永德县| 宁化县| 洛浦县| 浮梁县| 凤山县| 奉贤区| 郓城县| 固原市| 隆化县| 本溪市| 吉林省| 上高县| 绍兴县| 盱眙县| 女性| 永清县| 徐州市| 龙岩市| 赤城县| 建阳市| 盐城市| 西盟| 石屏县| 方城县| 漠河县| 康马县| 六安市| 临西县| 资兴市| 碌曲县|