! ^ .R-  jx  ( 4 @ LXdp|ӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢ !"#$%&'((4)@*L+X,d-p.|/01d,-.ӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢӴϢ޷ڴ޷ļжȡļ¼¼̫¼ͺ/ѡЧ/01 3O_my޷ Btrieve ļ޷ȡ Btrieve ļֿ֧ɱ䳤ȵ Btrieve ļָ˷ǷѡڲתǶײιıвתԪر׼δӦ޷ͨ system() ɽ޷Ӳϵͳȡںʱ߼Сƥ߼СЧ޷ļ޷ȡļͷļͷЧlseek() ʧ, ޷ȡļȡʧ, ޷ȡļȡضWritefile() ʧ, ޷дļд뱻ضh-AL`NlOPQRָ ѡ, ļѾGetFileSize() ʧ, ޷ȡļСļСƥ޷ȡļе޷رļ޷ɾļDosQueryPathInfo() ʧ, ޷ȡ·ϢָΪ鵵Ŀ·Ŀ¼ָ豸ϵĿռ䲻SetFilePtr() ʧ, ޷ȡļ޷ڴfree() ʧ, ޷ͷѷڴ޷ڴ޷ӵ SGA: SGA SGA Ч: SGA δʼ޷ӵ SGA Ŀɱ䲿StTUV!)BWl޷ӵ SGA ݿ⻺޷ӵ SGA ָЧڴ汣ģʽVirtualProtect() ʧ, ޷ڴ汣pid Ч޷ɽ޷ļжȡļ¼¼̫¼ͺ/ѡЧ޷ Btrieve ļ޷ȡ Btrieve ļֿ֧ɱ䳤ȵ Btrieve ļָ˷ǷѡڲתǶײιıвתԪر׼δӦ޷ͨ system() ɽz!1;GU_k  'internal' Ŀȷδṩδҵϵͳɫ֧޷Ӳϵͳȡںʱ޷ת 'USERNAME' ñ'remote_os_authent' init.ora ûΪ true޷һ߳δҵ pid޷رź޷źֵ޷ź޷ȴź޷ NetWare ȡڴ޷ַSGA Ч򲻴߼С֧߼Сָͬ CREATE ѡ, ļѾ $0:FPd*p+,-ָ REUSE, ļ޷ȡļͷļͷЧļСƥָ˷Ƿѡļ·̫ļ̫޷ļ޷ļжд޷ҵļеָλ޷дļд뱻ض޷ȡļȡض޷ļȡַ޷رļָ NetWare û/ȷָ NetWare DBA 鲻NetWare û̫, ޷ϵͳûԶ̲ϵͳû¼.z/456HIJK'L;p[qsrs     ޷ȡ϶NetWare ڲ˵̫NetWare filecopy ʧѷж Console 㲥ϢʧıвתԪصõתֵ̫̫, ޷ʧ CONFIG.ORA ļת CONFIG.ORA ʱڲO/S רôѡЧ̶¼̫ҵ¼һļ¼Ч߼Сƥ߼СЧ޷ļ޷ȡļͷļͷЧ h $ 2 D P \    DosSetFilePtr() ʧ, ޷ȡļDosRead() ʧ, ޷ȡļȡضDosWrite() ʧ, ޷дļд뱻ضָ ѡ, ļѾDosQueryFileInfo() ʧ, ޷ȡļϢļСƥ޷ȡļе޷رļ޷ɾļDosQueryPathInfo() ʧ, ޷ȡ·ϢָΪ鵵Ŀ·Ŀ¼ָ豸ϵĿռ䲻DosAllocMem() ʧ, ޷ڴDosAllocSharedMem() ʧ, ޷ڴ b ! " # $ % & 4 V f    DosFreeMem() ʧ, ޷ͷѷڴ޷ڴ޷ӵ SGA: SGA SGA Ч: SGA δʼ޷ӵ SGA Ŀɱ䲿޷ӵ SGA ݿ⻺޷ӵ SGA ָЧڴ汣ģʽDosSetMem() ʧ, ޷ڴ汣޷һ߳DosGetInfoBlocks() ʧ, ޷ʻDosSetPriority() ʧ, ޷ýȼDosKillProcess() ʧ, ޷ֹpid ЧDosExecPgm() ʧ, ޷ɽ h   ,H II _      DosSetMaxFH() ʧ, ޷ļ CONFIG ORACLE_PRIORITY ָȼЧ޷ļжȡļ¼¼̫¼ͺ/ѡЧ޷ Btrieve ļ޷ȡ Btrieve ļֿ֧ɱ䳤ȵ Btrieve ļ޷ȡ̵ڲźDosWaitEventSem() ʧ, ޷ȡźָ˷ǷѡڲתǶײιıвתԪ޷ DosSleep() ̱߳׼δӦ t FVdp޷ͨ system() ɽ'internal' Ŀȷδṩδҵϵͳɫ֧޷Ӳϵͳȡںʱڷ޷ת 'USERNAME' config.ora 'remote_os_authent' init.ora ûΪ true߼Сƥ߼СЧ޷ļ޷ȡļͷļͷЧSetFilePointer() ʧ, ޷ȡļReadFile() ʧ, ޷ȡļȡضWriteFile() ʧ, ޷дļд뱻ضt)B\nָ ѡ, ļѾGetFileInformationByHandle() ʧ, ޷ȡļϢļСƥ޷ȡļе޷رļ첽 I/O 󷵻˴첽 I/O Ŷʱ޷ָ RAW 豸޷ָĿ¼豸޷ļָ롣޷ļβǡ޷ȡļ޷дļSleepEx() ʧ, ޷޷ɾļЧݵIJЧг\n~  4 R shij޷ļд޷ȡļmalloc() ʧ, ޷ڴSGA Ч: SGA δʼ޷Ϊڴ/ļ޷ӵ SGA: SGA ޷ڴ (SGA) ӳ䵽ַռ䡣ڴ (SGA) ӳ䵽ĵַ޷ VirtualAlloc ڴ档޷ VirtualFree ȡڴ䡣޷ VirtualProtect ڴ档޷һ߳û spdcr() ṩ pid ṹDosSetPriority() ʧ, ޷ýȼ kVlymopqr%s7tGuevwxDosKillProcess() ʧ, ޷ֹpid ЧCreateProcess() ʧ, ޷ɽ CONFIG ORACLE_PRIORITY ָȼЧOpenProcess() ʧ, ޷򿪽̾ spdcr() ṩ˲ȷĻδ֪ıͼȴ߳źʱʱδҵ߳ϢѴﵽ ORACLE ̵߳ORACLE ̲߳ʹ DuplicateHandle()ORACLE ̲߳ʹ CreateEvent() ssthreadop ṩ˴ĺ롣δҵ̵߳ļyzz{}~.60O1e޷ǰûϵͳû̡ܴ߳߳бźŴڴ󡣵ǰĿ̺߳æ޷ȡ߳޷߳޷Ŀ߳޷ָĿ߳޷ļжȡļ¼¼̫¼ͺ/ѡЧ޷ȡ̵ڲźWaitForSingleObject() ʧ, ޷ȡźָ˷ǷѡڲתǶײιıвתԪر׼δӦ޷ͨ system() ɽt,GYiw'internal' Ŀȷδṩδҵϵͳɫ֧޷Ӳϵͳȡںʱڷ޷ת 'USERNAME' config.ora 'remote_os_authent' init.ora ûΪ trueNT ڲ˵̫Ŀǰδʵʩ߼Сƥ߼СЧ޷ļ޷ȡļͷļͷЧļָԶȡļʱ lseek() ʧread() , ޷ȡļȡض޷дļ.BTP`QpR|YZд뱻ضļʧ, ļѾļСƥ޷ȡļе޷رļ޷ɾļ·:ļṩ·Ŀ¼malloc() ʧ, ޷ڴ޷ȡڴ䡣޷ݿ⻺޷޷ SGA޷µ߳޷ֹ߳޷̸ֹ߳ spdcr() ṩ˲ȷĻδ֪ıͼϵͳɫ֧޷ļжȡļ¼¼̫n|}~&0:Hn¼ͺ/ѡЧ޷ȡ̵ڲźָ˷ǷѡڲתǶײιıвתԪر׼δӦ Macintosh, ѡδʵʩ'internal' Ŀȷδṩδҵ޷ع޷ Oracle ҵҪڵδҵ Oracle Oracle ̫Oracle ̫ڴ治, ޷ Oracle