Articles Comments

Oracle DBA & All IT » Database, DBA, DBA, Developer, Function, Oracle, Programming, Utilities » การ config EXTPROC บน Oracle11g

การ config EXTPROC บน Oracle11g

วันนี้เอาเรื่องการ config EXTPROC เพื่อให้ developer สามารถใช้ PL/SQL เรียกใช้โปรแกรมภาษาอื่นๆ ได้ เช่น java, c เป็นต้น

 

โดยมีขั้นตอนการ Config ง่ายได้ 3 ขั้นตอนเราก้สามารถเนรมิตให้ PL/SQL เรียกใช้โปรแกรมด้านนอกได้แล้ว ว่าแล้วก็มาดูขั้นตอนการ Config กัน ^^

1. แก้ไข file $ORACLE_HOME/hs/admin/extproc.ora
เราสามารถกำหนด security ได้ 

ONLY (maximum security) เป็นการกำหนดให้โหลดได้เฉพาะ DLL ที่กำหนดเท่านั้น
EXTPROC_DLLS=ONLY:DLL[:DLL], only the specified DLL(s) can be loaded.
Syntax: SET EXTPROC_DLLS=ONLY: DLL[: DLL]

NULL (the default value) เป็นการกำหนดให้โหลดได้เฉพาะใน bin,lib ของ oracle เท่านั้น
EXTPROC_DLLS=, only the DLL(s) in $ORACLE_HOME/bin and ORACLE_HOME/lib can be loaded.
Syntax: SET EXTPROC_DLLS=

Colon-seperated list of the DLLs เป็นการแบ่ง list ของ DLL
EXTPROC_DLLS=DLL[:DLL], the specified DLL(s) and the DLLs in $ORACLE_HOME/bin and ORACLE_HOME/lib can be loaded.
Syntax: SET EXTPROC_DLLS=DLL:DLL

ANY เป็นการเปิดให้ใช้ DLL อะไรก็ได้เปิดหมด security น้อยสุด
EXTPROC_DLLS=ANY, DLL checking is disabled.
Syntax: SET EXTPROC_DLLS=ANY
 

2. ใส่ EXTPROC ใน $ORACLE_HOME/network/admin/listener.ora

EXTERNAL_PROCEDURE_LISTENER =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
  )

SID_LIST_EXTERNAL_PROCEDURE_LISTENER =
  (SID_LIST =
      (SID_DESC =
      (SID_NAME = callout32)
      (ORACLE_HOME = /u01/ora11g/app/oracle/product/11.2.0)
      (PROGRAM=/u01/ora11g/app/oracle/product/11.2.0/bin/extproc32)
      (ENVS="EXTPROC_DLLS=ANY"))

      (SID_DESC =
      (SID_NAME = callout64)
      (ORACLE_HOME = /u01/ora11g/app/oracle/product/11.2.0)
      (PROGRAM=/u01/ora11g/app/oracle/product/11.2.0/bin/extproc)
      (ENVS="EXTPROC_DLLS=ANY"))
)

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.1)(PORT = 1521))
    (ADDRESS=(PROTOCOL=ipc)(KEY=extproc))))
  )

SID_LIST_ORCL =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = orcl)
      (ORACLE_HOME = /u01/ora11g/app/oracle/product/11.2.0)
      (SID_NAME = orcl)
    )
 (SID_DESC=
      (SID_NAME=plsextproc)
      (ORACLE_HOME=/u01/ora11g/app/oracle/product/11.2.0)
      (PROGRAM=extproc))
  )

3. ใส่ EXTPROC ใน $ORACLE_HOME/network/admin/tnsnames.ora

EXTPROC_CONNECTION_DATA=           
 (DESCRIPTION=                    
   (ADDRESS=(PROTOCOL=ipc)(KEY=extproc))                     
   (CONNECT_DATA=
    (SID=plsextproc)))

แค่นี้เราก็สามารถเรียกใช้โปรแกรมอื่นๆได้แล้ว ลองดูกันจ้า

 

.. Preview : 6391

Related Search:

  • pl sql developer วิธีใช้

Written by

บอกเล่าสิ่งที่พบเจอมาในการทำงาน ประสบการณ์การทำงานด้าน DBA ถ่ายทอดกันด้วยภาษาง่ายๆ บ้านๆ " ทุกอย่างไม่อยาก แต่... แค่ตั้งใจไม่พอ ต้องลงมือทำ และทำ GoodLuck " Fanpage: www.facebook.com/DBAor .. "Oracle Database Consultant " ..

Filed under: Database, DBA, DBA, Developer, Function, Oracle, Programming, Utilities · Tags: , , , , , , , ,