<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Decode360's Blog

    業(yè)精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 ::  :: 管理 ::
      397 隨筆 :: 33 文章 :: 29 評(píng)論 :: 0 Trackbacks
    Oracle外部調(diào)用及進(jìn)程終止
    ?
    ??? 關(guān)于Oracle外接的一些接口,這方面很不熟悉,所以這塊內(nèi)容說實(shí)話沒怎么看明白,摘錄到這邊,留著等以后學(xué)習(xí)使用。
    ?
    一、如何連接外部過程
    ?
    ??? 外部過程是從另外的程序中調(diào)用的過程,一般會(huì)采用不同的語言編碼,例如調(diào)用C、Java子程序等。Oracle提供了一個(gè)特殊的接口“調(diào)用規(guī)范”,這個(gè)接口允許用戶調(diào)用使用其他語言編寫的外部過程。
    ?
    ??? 要調(diào)用外部過程,首先激活網(wǎng)絡(luò)監(jiān)聽進(jìn)程。網(wǎng)絡(luò)監(jiān)聽進(jìn)程第一步啟動(dòng)外部過程代理(默認(rèn)名為extproc);第二步建立起網(wǎng)絡(luò)連接;第三步將DLL名稱、外部過程名稱以及參數(shù)傳遞給外部過程代理;然后外部代理裝在DLL并運(yùn)行外部過程;最后將返回值傳回應(yīng)用采用程序。
    ?
    ??? 1、配置一個(gè)調(diào)用外部過程環(huán)境
    ?
    ????? ① 編輯tnsname.ora文件,添加一個(gè)入口連接到監(jiān)聽進(jìn)程(以及隨后的外部過程代理)
    ????? ② 編輯listener.ora文件,為外部過程監(jiān)聽進(jìn)程添加一個(gè)入口
    ????? ③ 啟用一個(gè)單獨(dú)的監(jiān)聽進(jìn)程來專門處理外部過程
    ????? ④ 限制單獨(dú)的監(jiān)聽進(jìn)程權(quán)限,不能讀寫數(shù)據(jù)庫(kù)或Oracle服務(wù)器地址空間的權(quán)限
    ????? ⑤ 若外部過程代理在一臺(tái)遠(yuǎn)程計(jì)算機(jī)上,那么可以講訪問的外部過程代理設(shè)置在4ORACLE_HOME/BIN路徑
    ?
    ??? 2、編輯tnsname.ora文件
    ?
    ??? EXTPROC_CONNECTION_DATE=
    ??? (DESCRIPTION=
    ??? (ADDRESS=(PROTOCOL=ipc)(KEY=extproc_key))
    ??? (CONNECT_DATA=
    ??? (SID=extproc_agent)))
    ?
    ??? 關(guān)鍵字為extproc_key,它必須與listener.ora文件中指定的KEY值一致,而extproc_agent也必須與listener.ora文件中的SID_NAME一致
    ?
    ??? 3、編輯listener.ora文件
    ?
    ??? LISTENER=
    ??? (DESCRIPTION=
    ??? (ADDRESS= (PROTOCOL=ipc)(KEY=extproc_key)))
    ??? SID_LIST_LISTENER=
    ??? (SID_LIST=
    ??? (SID_DESC=(SID_NAME=extproc_agent)(ORACLE_HOME=/u1/app/oracle/9.0)(PROGRAM=extproc)))
    ?
    ??? PROGRAM參數(shù)值extproc以便于默認(rèn)的外部過程代理的名稱一致。
    ?
    ?
    二、終止對(duì)話
    ?
    ??? 1、終止對(duì)話
    ?
    ??? ALTER SYSTEM KILL SESSION '7,15';
    ?
    ??? 7代表該會(huì)話的系統(tǒng)標(biāo)識(shí)號(hào),15代表串行號(hào)
    ?
    ??? 2、識(shí)別要終止的對(duì)話
    ?
    ??? SELECT SID, SERIAL#, STATUS
    ????? FROM V$SESSION
    ???? WHERE USERNAME = 'JWARD';
    ?
    ??? 3、終止處于激活狀態(tài)的對(duì)話
    ?
    ??? 當(dāng)SESSION處于ACTIVE狀態(tài)時(shí)KILL SESSION,則事務(wù)將被回滾,而且收到消息:
    ??? ORA-00028:your session has been killed
    ?
    ??? 在收到ORA-00028后如果重新連接到數(shù)據(jù)庫(kù)錢提交了另外語句,則Oracle返回:
    ??? ORA-01012:not logged on
    ?
    ??? 當(dāng)SESSION在執(zhí)行網(wǎng)絡(luò)I/O或回滾某個(gè)事務(wù)時(shí)無法被KILL,只能等操作完成。
    ??? ALTER SYSTEM終止對(duì)話需要等待60秒的終止過程,不能被終止的操作執(zhí)行超過60秒則將其表示為“已被終止”
    ?
    ??? 4、非激活狀態(tài)SESSION被KILL的情況
    ?
    ??? 非激活的SESSION被KILL后不會(huì)立即收到ORA-00028消息,只有再次試圖使用時(shí)才會(huì)返回。
    ?
    ??? 非激活狀態(tài)SESSION被KILL后會(huì)在V$SSESSION視圖中的STATUS標(biāo)記為KILLED,
    ??? 當(dāng)用戶試圖再次使用該會(huì)話時(shí),該會(huì)話信息才會(huì)從V$SSESSION中刪除
    ?
    ?
    ?
    ?
    posted on 2008-11-19 19:43 decode360 閱讀(332) 評(píng)論(0)  編輯  收藏 所屬分類: 08.DBA
    主站蜘蛛池模板: 国产va在线观看免费| 亚洲宅男永久在线| 啦啦啦www免费视频| 久久免费福利视频| 一级特黄录像视频免费| 亚洲最大中文字幕无码网站| 久久久久亚洲av无码专区| a级亚洲片精品久久久久久久 | 免费看无码特级毛片| 亚洲αⅴ无码乱码在线观看性色| 日本阿v免费费视频完整版| 在线观看免费视频一区| 国产亚洲综合一区二区三区| 国产成人亚洲综合网站不卡| 亚洲电影在线播放| 噜噜噜亚洲色成人网站∨| 亚洲美女又黄又爽在线观看| 国产午夜亚洲精品国产成人小说| 性无码免费一区二区三区在线| 亚洲一区二区三区91| 亚洲av女电影网| 亚洲va久久久噜噜噜久久狠狠| 毛片免费观看的视频| 精品女同一区二区三区免费站| 亚洲国产精品成人AV在线| 99久久国产亚洲综合精品| 亚洲精品在线播放| 亚洲国产高清在线精品一区| 亚洲第一页在线视频| 亚洲国产成人精品无码一区二区| 亚洲AV蜜桃永久无码精品| 亚洲AV无码一区二区三区国产 | 免费永久国产在线视频| 成年女人毛片免费视频| 好吊妞视频免费视频| 西西大胆无码视频免费| 免费观看理论片毛片| 日韩精品成人亚洲专区| 中国亚洲女人69内射少妇| 亚洲成a人片在线观看无码专区| 暖暖日本免费在线视频|