10.6 °²×°Oracle®

Contributed by Marcel Moolenaar.

10.6.1 ǰÑÔ

¡¡¡¡Õâ½ÚÃèÊöÔÚFreeBSDÉϰ²×°Linux°æµÄOracle® 8.0.5ºÍOracle 8.0.5.1 Enterprise Edition¡£

10.6.2 °²×°Linux»·¾³

¡¡¡¡È·ÐÅÄúÒѾ­´Ó Ports Collection °²×°ÁË emulators/linux_base ºÍ devel/linux_devtools¡£ Èç¹ûÔÚʹÓÃÕâЩ port ʱÓöµ½À§ÄÑ£¬ Äú¿ÉÄܾͲ»µÃ²»´Ó package£¬ »òʹÓýÏÔç°æ±¾µÄ Ports Collection À´°²×°¡£

¡¡¡¡Èç¹ûÒªÔËÐÐÖÇÄÜ´úÀí£¬ Äú»¹ÐèÒª°²×° Red Hat Tcl Èí¼þ°ü£º tcl-8.0.3-20.i386.rpm¡£ ÓÃÓÚ°²×°¹Ù·½µÄ RPM (archivers/rpm) Èí¼þ°üµÄÃüÁîÊÇ£º

# rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm package

¡¡¡¡°üµÄ°²×°Í¨³£²»»á³ö´í¡£

10.6.3 ´´½¨Oracle»·¾³

¡¡¡¡°²×°Oracle֮ǰ£¬ÄúÐèÒªÉèÖÃÕýÈ·µÄ»·¾³¡£ Õâ½ÚÖ»ÃèÊöÁËÔÚFreeBSDϰ²×°Linux°æ±¾OracleÐèÒªÌØ±ð×¢ÒâµÄµØ·½¡£ ²»ÏñÔÚOracle°²×°Ö¸ÄÏÖÐËùÃèÊöµÄÄÇÑù¡£

10.6.3.1 µ÷ÕûÄÚºË

¡¡¡¡ÕýÈçOracle°²×°Ö¸ÄÏÃèÊöµÄÄÇÑù£¬ÄúÐèÒªÉèÖù²ÏíÄÚ´æµÄ×î´óÖµ¡£ ²»ÒªÔÚFreeBSDÏÂʹÓÃSHMMAX£¬SHMMAX Ö»ÊÇÓÃÀ´¼ÆËãSHMMAXPGSºÍPGSIZEµÄ¡£ Òò´ËҪʹÓÃSHMMAXPGS¡£ËùÓÐÆäËûҪʹÓõÄÑ¡Ïî¿ÉÒԲο¼Ö¸ÄÏ£¬ÀýÈ磺

options SHMMAXPGS=10000
options SHMMNI=100
options SHMSEG=10
options SEMMNS=200
options SEMMNI=70
options SEMMSL=61

¡¡¡¡ÉèÖÃÕâЩѡÏîÀ´ÊÊÓ¦ OracleµÄʹÓá£

¡¡¡¡µ±È»£¬È·ÐÅÄúµÄÄÚºËÅäÖÃÎļþÖÐÓÐÏÂÃæÕâЩѡÏ

options SYSVSHM #SysV shared memory
options SYSVSEM #SysV semaphores
options SYSVMSG #SysV interprocess communication

10.6.3.2 OracleÕʺÅ

¡¡¡¡´´½¨Ò»¸öoracleÕʺţ¬ÕýÈçÄú´´½¨ÆäËûÕʺÅÒ»Ñù¡£ oracle ÕʺÅÌØÊâµÄµØ·½ÊÇÄúÐèÒª¸øËüÒ»¸öLinux shell¡£ Ìí¼Ó/compat/linux/bin/bashµ½/etc/shells£¬ È»ºóÉèÖÃoracleÕʺŵÄshellΪ/compat/linux/bin/bash¡£

10.6.3.3 »·¾³

¡¡¡¡³ýÁËÆÕͨµÄOracle±äÁ¿Í⣬ ±ÈÈçORACLE_HOMEºÍORACLE_SID£¬Äú»¹±ØÐëÉèÖÃÏÂÃæµÄ»·¾³±äÁ¿£º

±äÁ¿ Öµ
LD_LIBRARY_PATH $ORACLE_HOME/lib
CLASSPATH $ORACLE_HOME/jdbc/lib/classes111.zip
PATH /compat/linux/bin /compat/linux/sbin /compat/linux/usr/bin /compat/linux/usr/sbin /bin /sbin /usr/bin /usr/sbin /usr/local/bin $ORACLE_HOME/bin

¡¡¡¡½¨ÒéÔÚ.profileÀïÃæÉèÖÃËùÓеĻ·¾³±äÁ¿¡£Ò»¸öÍêÕûµÄÀý×ÓÊÇ£º

ORACLE_BASE=/oracle; export ORACLE_BASE
ORACLE_HOME=/oracle; export ORACLE_HOME
LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH
ORACLE_SID=ORCL; export ORACLE_SID
ORACLE_TERM=386x; export ORACLE_TERM
CLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip
export CLASSPATH
PATH=/compat/linux/bin:/compat/linux/sbin:/compat/linux/usr/bin
PATH=$PATH:/compat/linux/usr/sbin:/bin:/sbin:/usr/bin:/usr/sbin
PATH=$PATH:/usr/local/bin:$ORACLE_HOME/bin
export PATH

10.6.4 °²×°Oracle

¡¡¡¡ÓÉÓÚ Linux Ä£ÄâÆ÷µÄÒ»´¦Ð¡Ð¡µÄ²îÒ죬 Äú±ØÐëÔÚ /var/tmp Öд´½¨Ò»¸öÃûΪ .oracle µÄĿ¼²ÅÄܹ»Æô¶¯°²×°³ÌÐò¡£ ÐèÒª°ÑËüÉèÖÃΪÊôÓÚ oracle Óû§¡£ ½ÓÏÂÀ´£¬ Äú¾Í¿ÉÒÔºÁÎÞÎÊÌâµØ°²×° Oracle ÁË¡£ Èç¹ûÄúÓöµ½ÎÊÌ⣬ ÇëÊ×Ïȼì²é Oracle Èí¼þ°üºÍ/»òÅäÖÃÎļþ£¡°²×°Íê Oracle Ö®ºó£¬ ʹÓÃÏÂÃæÁ½½ÚÖÐËù˵µÄ²¹¶¡¡£

¡¡¡¡Ò»¸ö±È½Ï³£¼ûµÄÎÊÌâÊÇ TCP ЭÒéÊÊÅäÆ÷°²×°²»ÕýÈ·¡£ Æä½á¹ûÊǽ«ÎÞ·¨½øÐÐÈÎºÎµÄ TCP ÕìÌý¡£ ÏÂÃæµÄ²Ù×÷½«°ïÖú½â¾ö´ËÎÊÌ⣺

# cd $ORACLE_HOME/network/lib
# make -f ins_network.mk ntcontab.o
# cd $ORACLE_HOME/lib
# ar r libnetwork.a ntcontab.o
# cd $ORACLE_HOME/network/lib
# make -f ins_network.mk install

¡¡¡¡²»ÒªÍü¼ÇÁËÔÙÔËÐÐÒ»ÏÂroot.sh£¡

10.6.4.1 ÐÞ²¹root.sh

¡¡¡¡´ÓCD°²×°Oracleʱ£¬Ò»Ð©¹¤×÷ÐèÒªÔÚrootÏÂÖ´ÐУ¬ ÕâЩ¹¤×÷¶¼±»¼Ç¼ÔÚÒ»¸ö½Ðroot.shµÄ½Å±¾ÀïÃæ¡£Õâ¸ö½Å±¾±»Ð´ÔÚorainstĿ¼¡£ ΪÁËʹÓÃroot.shÀ´ÕýÈ·¶¨Î»chown»òÔÚLinux±¾µØshellÏÂÖ´Ðнű¾£¬ Ó¦¸Ã¶ÔËü½øÐÐÐÞ²¹¡£

*** orainst/root.sh.orig Tue Oct 6 21:57:33 1998
--- orainst/root.sh Mon Dec 28 15:58:53 1998
***************
*** 31,37 ****
# This is the default value for CHOWN
# It will redefined later in this script for those ports
# which have it conditionally defined in ss_install.h
! CHOWN=/bin/chown
#
# Define variables to be used in this script
--- 31,37 ----
# This is the default value for CHOWN
# It will redefined later in this script for those ports
# which have it conditionally defined in ss_install.h
! CHOWN=/usr/sbin/chown
#
# Define variables to be used in this script

¡¡¡¡µ±Äú²»´ÓCD°²×°Oracleʱ£¬ Äú¿ÉÒÔ´ÓÔ´´úÂëÀ´ÐÞ²¹root.sh¡£ Ëü½Ð×örthd.sh£¬¶¨Î»ÔÚÔ´´úÂëÊ÷µÄorainstĿ¼¡£

10.6.4.2 ÐÞ²¹genclntsh

¡¡¡¡genclntsh½Å±¾ÓÃÀ´´´½¨Ò»¸ö¼òµ¥µÄ¹²Ïí¿Í»§¶Ë¿â¡£ÔÚ½¨Á¢demosʱ±»Ê¹ÓᣠÍê³É²¹¶¡ºó¾Í×¢Ê͵ôÁËÏÂÃæµÄPATH±äÁ¿£º

*** bin/genclntsh.orig Wed Sep 30 07:37:19 1998
--- bin/genclntsh Tue Dec 22 15:36:49 1998
***************
*** 32,38 ****
#
# Explicit path to ensure that we're using the correct commands
#PATH=/usr/bin:/usr/ccs/bin export PATH
! PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH
#
# each product MUST provide a $PRODUCT/admin/shrept.lst
--- 32,38 ----
#
# Explicit path to ensure that we're using the correct commands
#PATH=/usr/bin:/usr/ccs/bin export PATH
! #PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin export PATH
#
# each product MUST provide a $PRODUCT/admin/shrept.lst

10.6.5 ÔËÐÐOracle

¡¡¡¡Èç¹ûÄúÒѾ­°´ÉÏÃæµÄָʾȥ²Ù×÷£¬ÄúÓ¦¸Ã¿ÉÒÔÏñÔÚLinuxÏÂÔËÐÐOracleÁË¡£

±¾ÎĵµºÍÆäËüÎĵµ¿É´ÓÕâÀïÏÂÔØ£ºftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Èç¹û¶ÔÓÚFreeBSDÓÐÎÊÌ⣬ÇëÏÈÔĶÁÎĵµ£¬Èç²»Äܽâ¾öÔÙÁªÏµ<questions@FreeBSD.org>.
¹ØÓÚ±¾ÎĵµµÄÎÊÌâÇë·¢ÐÅÁªÏµ <doc@FreeBSD.org>.