Oracle 11g R2 64-рдмрд┐рдЯ рдкрд░ PL / SQL рд╕реЗ 32-рдмрд┐рдЯ рдмрд╛рд╣рд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ

рдореБрдЭреЗ рддреБрд░рдВрдд рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЕрдм рдЖрдк рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ 32 рдФрд░ 64 рдмрд┐рдЯ рдмрд╛рд╣рд░реА рджреЛрдиреЛрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдХрд░, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред

32 рд╡реЗрдВ рдмрд┐рдЯ рдкрд░ рдкрд╣рд▓реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЧрдП рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдХрд╛рдо рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд╕рд╛рде, рдУрд░реЗрдХрд▓ рдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдУрд░реЗрдХрд▓ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдпрд╣ рдкрд╣рд▓реВ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд рдмрд╣реБрдд рдмрджрд▓ рдЧрдпрд╛ рдерд╛ред


рдирд┐рдореНрди рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
тАв Windows 2008 R2 64-рдмрд┐рдЯ
тАв Oracle 11g R2 64-рдмрд┐рдЯ
тАв рдУрд░реЗрдХрд▓ рдЗрдВрд╕реНрдЯреЗрдВрдЯ рдХреНрд▓рд╛рдЗрдВрдЯ 11.2.0.2 32-рдмрд┐рдЯ

рдпрд╣рд╛рдБ рдУрд░реЗрдХрд▓ рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдХреБрдЫ рдЕрдВрддрд░реЛрдВ рдХреА рд╕реВрдЪреА рджреА рдЧрдИ рд╣реИ:
тАв extproc32.exe - рдЕрдм рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ;
тАв рд╕реНрдиреИрдк-рдЗрди рдЗрдВрд╕реНрдЯреЗрдВрдЯ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЕрдм рдПрдХ рдЕрд▓рдЧ ORACLE_HOME рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП;
тАв рдПрдХ рдирдИ рдПрдХреНрд╕рдкреНрд░реЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рджрд┐рдЦрд╛рдИ рджреА -% ORACLE_HOME% \ hs \ admin \ extproc.ora;
тАв LISTNER рд▓реЙрдЧ рдлрд╛рдЗрд▓реЗрдВ -% ORACLE_HOME% \ diag \ tnslsnr \ [hostname] рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВред

рдЪрд▓реЛ рдУрд░реЗрдХрд▓ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ


рдкрд╣рд▓реА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ 32-рдмрд┐рдЯ рдУрд░реЗрдХрд▓ рдЗрдВрд╕реНрдЯреЗрдВрдЯ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдХрд╕реНрдЯрдо рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХрд░рдирд╛ рд╣реИред рдпрд╣ рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд▓рд┐рдП рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ: рдУрд░реЗрдХрд▓ рдбрд╛рдЯрд╛рдмреЗрд╕ рдпреВрдЯрд┐рд▓рд┐рдЯреАрдЬ рдФрд░ рдУрд░реЗрдХрд▓ рдиреЗрдЯ рд╢реНрд░реЛрддрд╛ред рд╕реНрдерд╛рдкрдирд╛ рдкрде рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛: [рдбреНрд░рд╛рдЗрд╡]: \ oracle \ product \ 11.2.0 \ client_32ред рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдЕрдВрдд рдореЗрдВ, рдиреЗрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рд╣рд╛рдпрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдЬрд┐рд╕реЗ рдмрд╛рдж рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдиреЗрдЯрдХрд╛ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ ORACLE_HOME рд╕реЗ рд╢реНрд░реЛрддрд╛ (рд▓рд┐рд╕реНрдЯрдирд░) рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдпрд╣ 64-рдмрд┐рдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдореИрдВ рдиреЗрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рд╣рд╛рдпрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдирдпрд╛ рд╢реНрд░реЛрддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛:

тАв рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд┐рдВрдбреЛ рдореЗрдВ, рдЪрдпрди рдХрд░реЗрдВ: рд╢реНрд░реЛрддрд╛ рд╡рд┐рдиреНрдпрд╛рд╕ рдФрд░ рдлрд┐рд░
тАв рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдЬрд╛рд░реА рд░рдЦреЗрдВ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред
тАв рдЗрд╕рдХреЗ рдмрд╛рдж LISTENER_32 рдирд╛рдо рд╕реЗрдЯ рдХрд░реЗрдВ
тАв рдЪрдпрдирд┐рдд рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЙрд▓рдо рд╕реЗ рдЯреАрд╕реАрдкреА рдирд┐рдХрд╛рд▓реЗрдВ рдФрд░ рдЖрдИрдкреАрд╕реА рдФрд░ рдЖрдЧреЗ рдЬреЛрдбрд╝реЗрдВ
тАв рдлрд╝реАрд▓реНрдб рдореЗрдВ IPC рдХреБрдВрдЬреА рдорд╛рди рджрд░реНрдЬ рдХрд░реЗрдВ: IPC_EXT32 рдФрд░ рдЙрд╕рд╕реЗ рдЖрдЧреЗ
тАв рдХрд┐рд╕реА рдЕрдиреНрдп рд╢реНрд░реЛрддрд╛ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░реЗрдВ рдФрд░ рдЖрдЧреЗ, рдЖрдЧреЗ, рдпрд╣ рддреИрдпрд╛рд░ рд╣реИ

рдиреЗрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рд╣рд╛рдпрдХ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдЬрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП% ORACLE_HOME% \ client_32 \ NETWORK \ ADMIN \ listener.ora рд╢реНрд░реЛрддрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдЙрджрд╛рд╣рд░рдг рд╢реЛ рдХреА рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП, рдУрд░реЗрдХрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдкрде рдХреЛ рдЫреЛрдбрд╝рдХрд░:
LISTENER_32 = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = IPC_EXT32)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) ) SID_LIST_LISTENER_32 = (SID_LIST = (SID_DESC = (SID_NAME = callout32) (ORACLE_HOME = []:\oracle\product\11.2.0\client_32) (PROGRAM = extproc) ) ) ADR_BASE_LISTENER_32 = []:\oracle 


рд╢реНрд░реЛрддрд╛ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдЕрдВрдд рдореЗрдВ, рдЖрдкрдХреЛ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, services.mscред рдПрдХ рдирд╡ рдирд┐рд░реНрдорд┐рдд рд╢реНрд░реЛрддрд╛, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдареАрдХ рдХрд░рдирд╛ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реЛрдЧрд╛ред
рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЖрдкрдХреЛ tnsnames.ora рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкреВрд░рдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рд╕реНрдерд╛рдкрд┐рдд рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдореБрдЦреНрдп рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:% ORACLE_HOME% \ dbhome_1 \ NETWORK \ ADMINS рдХреА tnasnames.oraред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЛ рдирд┐рдореНрди рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЗ рд╕рд╛рде рдкреВрд░рдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
 extproc_connection_data32b = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = IPC_EXT32)) (CONNECT_DATA = (SID = callout32) ) ) 


рд╕рд┐рд╕реНрдЯрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╡рд░реНрдгрди рдореЗрдВ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдЕрдВрддрд┐рдо рдмрд╛рдд рдирдИ extproc.ora рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рд╣реИред рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ 32-рдмрд┐рдЯ рдФрд░ 64-рдмрд┐рдЯ рдУрд░реЗрдХрд▓ рджреЛрдиреЛрдВ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╡реНрдпрд╛рдкрдХ рд╡рд┐рд╡рд░рдг рд╕реЗ рд╕реБрд╕рдЬреНрдЬрд┐рдд рд╣реИ, рдФрд░ рдореИрдВ рдХреЗрд╡рд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛ред рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рдореВрд▓реНрдп рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╣реИ EXTPROC_DLLS = рдХреЛрдИ рднреА; рдпрд╛ рдХреЗрд╡рд▓ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдЯреАрдХ рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ: [MY_PATH \ my.dll]ред

рдУрд░реЗрдХрд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реБрд╡рд┐рдзрд╛рдПрдБ


64-рдмрд┐рдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд▓рд┐рдП, рд╕рдм рдХреБрдЫ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдмрджрд▓рд╛рд╡ рдХреЗ рд░рд╣рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдУрд░реЗрдХрд▓ рдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ 32-рдмрд┐рдЯ рдПрдХреНрд╕рдкреНрд░реЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреМрди рд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рдЪрд▓рд╛рдирд╛ рд╣реИ, рдЖрдкрдХреЛ рдПрдХ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд▓рд┐рдВрдХ рдмрдирд╛рдиреЗ рдФрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдирд┐рд░реНрдорд╛рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдлрд┐рд░ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдПрдХ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд▓рд┐рдВрдХ рдмрдирд╛рдПрдБ:
 CREATE DATABASE LINK AGENT_LINK_32B USING 'extproc_connection_data32b'; 

рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдо рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
 CREATE OR REPLACE LIBRARY MY_SCHEMA.MY_NAME IS '[]:\oracle\product\11.2.0\client_32\BIN\my.dll' AGENT 'agent_link_32b'; 

рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реБрд╡рд┐рдзрд╛рдПрдБ рд╕рдорд╛рдкреНрдд рд╣реЛрддреА рд╣реИрдВред

рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рдХрд░рдирд╛


рдореИрдВрдиреЗ TNS_ADMIN, ORACLE_HOME, LD_LIBRARY_PATH рдФрд░ рдЕрдиреНрдп рдЬреИрд╕реЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡реЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рдкрде рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдореЗрдВ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ 64-рдмрд┐рдЯ рдбреЗрдЯрд╛рдмреЗрд╕ рдЖрд╡реГрддреНрддрд┐ рдФрд░ рдлрд┐рд░ 32-рдмрд┐рдЯ рдХреНрд▓рд╛рдЗрдВрдЯ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдкрде рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

Source: https://habr.com/ru/post/In158035/


All Articles