µµÈ­Àç ¼®¹®È£Èí °­ºó(Ë°Þ¯) v0.0.1, 2004³â 4¿ù 9ÀÏ ¿¾ SAP DB, Çö [MaxDB] by [MySQL] ABÀÇ ¼³Ä¡¿Í »ç¿ë¹ý¿¡ ´ëÇؼ­ °£·«ÇÏ°Ô ¼Ò°³ÇÑ´Ù. [[TableOfContents]] = [MaxDB]°¡ ¹«¾ùÀÌÁö? = == [MaxDB] ¼Ò°³ == database.sarang.net ¿¡¼­ Àοë {{{ Ȥ½Ã Adabas D ¶ó´Â DBMS ¿¡ ´ëÇؼ­ ¾Ë°í ÀÖ´Â ºÐÀÌ °è½ÅÁö Àß ¸ð¸£°Ú´Ù. ÀÌ °ÍÀº »ó´çÈ÷ ÃÊâ±â¿¡ Linux ¿ë DBMS ¸¦ ³»¾î ³õÀº ȸ»ç·Î¼­ DBMS ¸Å´Ï¾Æ¿Í ¿À·¡µÈ ¸®´ª½º À¯Àúµé¿¡°Ô´Â ¾î´À Á¤µµ ±â¾ïµÇ°í ÀÖ´Â DBMS ÀÔ´Ï´Ù. ÀÌ°ÍÀ» R/3 ERP ·Î À¯¸íÇÑ SAP-AG »ç¿¡¼­ »çµé¿©¼­ »õ·Î °³¹ßÇÏ¿© GPL ·Î ¹ßÇ¥ÇÑ °ÍÀÌ SAP DB ÀÔ´Ï´Ù. ±×·¯´Ï SAP DB ·Î ¹ßÇ¥µÈÁö ºÒ°ú 3³â Á¤µµ¸¸¿¡ À̸¸ÇÑ ¿Ï¼ºµµ¸¦ º¸ÀÌ°í ÀÖ´Â °ÍÀÔ´Ï´Ù. ÀϹæÀûÀ¸·Î SAP »ç¿¡¼­ °³¹ß ÇÑ °ÍÀ̶ó¸é ÀÌÁ¤µµÀÇ °³¹ß ¼Óµµ¸¦ º¸Àϼö°¡ ¾ø´Â °ÍÀÔ´Ï´Ù. ¿©±â¼­ Á¦°øÇÏ´Â Tool µéÀº »ó´çÇÑ Á¤µµÀÇ ¿Ï¼ºµµ¸¦ º¸À̸ç, ´Ù¸¥ ¿©Å¸ »ó¿ë DBMS ¿¡ µÚÁöÁö ¾Ê´Â °ÍÀÔ´Ï´Ù. (ÀÌ·¸°Ô ¸»ÇÏ´Ï Á» ÀÌ»óÇϱº¿ä. ¿ø·¡ »ó¿ë DBMS Àε¥ ÀÌ°ÍÀÌ GPL ·Î ¹ßÇ¥µÈ °Í »ÓÀε¥ ¸»ÀÌÁÒ.) ÇöÀç SAP DB ´Â ÁÖ·Î À¯·´ÂÊ ¸Å´Ï¾Æµé »çÀÌ¿¡¼­ ¸¹ÀÌ »ç¿ëµÇ°í ÀÖÀ¸¸ç, ÀϹÝÀûÀÎ ¸®´ª½º ÂÊ open source »ç¿ëÀڵ鿡°Ô´Â Àß »ç¿ëµÇ°í ÀÖÁö ¾ÊÀº ½ÇÁ¤ÀÔ´Ï´Ù. °³ÀÎÀûÀ¸·Î »ý°¢ÇÒ¶§ ÀÌÁ¤µµÀÇ ¿Ï¼ºµµ¸¦ Áö´Ï°í ÀÖÀ¸¸é¼­, ¶óÀ̼¾½º ÇǸ¦ ¹°Áö ¾Ê¾Æµµ µÈ´Ù´Â ÀåÁ¡À» »ý°¢Çϸé ÃæºÐÈ÷ »ç¿ëÇÒ¸¸ÇÑ °¡Ä¡°¡ ÀÖ´Â DBMS ¶ó°í »ý°¢ÇÒ ¼ö ÀÖÀ¸¸ç, ¾ÕÀ¸·Î ¸¹Àº ¹ßÀüÀÇ ¿©Áö°¡ ÀÖ´Ù°í ÆǴܵ˴ϴÙ. }}} www.mysql.com ¿¡¼­ Àοë {{{ MaxDB by MySQL is a re-branded and enhanced version of SAP DB, SAP AG's open source database. MaxDB is a heavy-duty, SAP-certified open source database that offers high availability, scalability and a comprehensive feature set. MaxDB complements the MySQL database server, targetted for large mySAP ERP environments and other applications that require maximum enterprise-level database functionality. Today, about 5,000 customer installations are using MaxDB technology globally, including Intel, DaimlerChrysler, Braun, Bayer, Colgate, Yamaha, Deutsche Post (the German Post Office) and Toyota South Africa. MaxDB is available without a license fee under the GNU General Public License (GPL). Commercial non GPL licenses are available for users who prefer not to be restricted by the terms of the GPL. Main Benefits: Round-the-clock operation Easy administration No reorganization required Unlimited number of users Unlimited database size Supports all SAP solutions }}} == History == {{{ 2000³â 8¿ù, SAP AG, SAP DB¸¦ GPL·Î ¸±¸®Áî, SAP DB Release 7.2 2003³â 5¿ù, SAP AG¿Í MySQL AB cross licensing partnership. 2003³â 8¿ù, 'MaxDB¢â'·Î ºê·£µå ¹Ù²Þ. 2003³â 12¿ù, MySQL¿¡ ÀÇÇØ MaxDB¢â ¸±¸®Áî. }}} ¿Ö SAP´Â SAP DB¸¦ ¿ÀǼҽº·Î ¸±¸®Áî Çߴ°¡? {{{ º¯ÇØ°¡´Â ½Ã´ëÀÇ È帧¼Ó¿¡ µ¥ÀÌÅͺ£À̽º°¡ technology infrastructure¿¡ ±âº»ÀûÀÎ ±â¼úÀÌ µÊ¿¡ µû¶ó µ¥ÀÌÅͺ£À̽º´Â µ¶Á¡ÀûÀ̰ųª, º¹ÀâÇÒ ÇÊ¿ä°¡ ¾ø°Ô µÇ¾ú´Ù°í ¿¹»óÇÏ¿´´Ù. µû¶ó¼­, SAP´Â µ¥ÀÌÅͺ£À̽º ±â¼úÀÌ Çõ½ÅÀûÀ¸·Î ÀÎÁ¤¹ÞÀº ¿ÀǼҽº °³¹ß¹æ½ÄÀ¸·Î ÀÌ·ç¾îÁ®¾ß ÇÑ´Ù°í ÆÇ´Ü, SAP DB¸¦ ¿ÀǼҽºÈ­ ÇÏ¿´´Ù. }}} = [MaxDB] ¼³Ä¡ = == ´Ù¿î·Îµå == Âü°í·Î ¼³Ä¡ ȯ°æÀº Debian/GNU Linux Woody 3.0r2¿¡¼­ ÁøÇàÇÏ¿´´Ù. [http://www.mysql.com/downloads/ http://www.mysql.com/downloads/] {{{ [Standard installation, Linux (x86) 7.5.00.08] maxdb-all-linux-32bit-i386-7_5_0_8.tgz }}} ÀÌ·¸°Ô ÇϳªÀÇ ÆÄÀϸ¸ ¹ÞÀ¸¸é µÈ´Ù, MS-Windows »ç¿ëÀÚ´Â DBM GUI, SQL Studio¸¦ ¹Þ¾Æ¼­ ¼³Ä¡Çϸé Æí¸®ÇÏ´Ù. == Standard ¼³Ä¡ == root·Î ·Î±×ÀÎÇÏ¿©, ¾Æ¹«°÷¿¡³ª maxdb-all-linux-32bit-i386-7_5_0_8.tgz È­ÀÏÀ» Ç®¾î ³õ´Â´Ù. {{{ $ tar xvzf maxdb-all-linux-32bit-i386-7_5_0_8.tgz }}} {{{ $ cd maxdb-all-linux-32bit-i386-7_5_0_8 $ ./SDBINST }}} {{{ Installation of MaxDB Software ******************************* starting installation Su, Apr 04, 2004 at 09:14:58 operating system: Linux I386 2.4.24 2-686 GLIBC 2.2.5 callers working directory: /root/maxdb-all-linux-32bit-i386-7_5_0_8 installer directory: /root/maxdb-all-linux-32bit-i386-7_5_0_8 archive directory: /root/maxdb-all-linux-32bit-i386-7_5_0_8 existing profiles: 0: Server 1: Runtime For SAP AS 2: DB Analyzer 3: C Precompiler 4: Webtools 5: ODBC 6: JDBC 7: Script Interface 8: Loader 9: XML Indexing Engine 10: all 11: none please enter profile id: }}} 10 ¹øÀ» ¼±ÅÃÇÏÀÚ. === preparing phase of package Base === ÀÌÁ¦ BASE ÆÐÅ°Áö¸¦ ¼³Ä¡ÇÏ´Â ´Ü°è´Ù. {{{ starting preparing phase of package Base 7.5.00.08 32 bit --------------------------------------------------------- no updatable installation of package "Base" found }}} [MaxDB] (SAP DB)¸¦ ±¸µ¿À» À§ÇÑ ±×·ì¸íÀ» ¼³Á¤ÇÑ´Ù. - ±×³É ¿£ÅÍ {{{ please enter group name for database programs [sdba]: unknown group - create "sdba" on local machine? (y/n) y }}} [MaxDB] (SAP DB)¸¦ ±¸µ¿À» À§ÇÑ À¯Àú¸íÀ» ¼³Á¤ÇÑ´Ù. - ±×³É ¿£ÅÍ {{{ please enter owner name for database programs [sdb]: unknown user - create "sdb" on local machine? (y/n) y }}} ÀÚ ÀÌÁ¦ ¼³Ä¡ÇÒ µð·ºÅ͸®¸¦ ¼³Á¤ÇÏÀÚ. {{{ please enter independent data path [/var/opt/sdb/data]: /var/lib/sdb/data directory "/var/lib/sdb/data" does not exist, create? (y/n) y }}} µ¶¸³ÀûÀÎ µ¥ÀÌÅÍ °ø°£À» ÁöÁ¤ÇÑ´Ù. ¿©±â¼­´Â /var/lib/sdb/data ·Î ÇÏ¿´´Ù. {{{ please enter independent program path [/opt/sdb/programs]: /var/lib/sdb/programs directory "/var/lib/sdb/program" does not exist, create? (y/n) y }}} µ¶¸³ÀûÀÎ ÇÁ·Î±×·¥µéÀÇ À§Ä¡¸¦ ÁöÁ¤ÇÑ´Ù. ¿©±â¼­´Â /var/lib/sdb/programs ·Î ÇÏ¿´´Ù. === preparing phase of package Server Utilities === ÀÔ·ÂÇÏ°í ³ª¸é ´ÙÀ½Ã³·³ BASE À¯Æ¿¸®Æ¼°¡ ¼³Ä¡µÈ´Ù. {{{ starting preparing phase of package Server Utilities 7.5.00.08 32 bit --------------------------------------------------------------------- checking interferences to other packages... ok collecting data finished: independent program path: /var/lib/sdb/program owner: sdb group: sdba start extraction test run of "/root/maxdb-all-linux-32bit-i386-7_5_0_8/SDBUTL.TGZ" package Server Utilities successfully checked }}} === preparing phase of package Database Kernel === ÀÌÁ¦´Â µ¥ÀÌÅͺ£À̽ºÀÇ Ä¿³ÎÀ» ¼³Ä¡ÇÏ´Â ´Ü°è´Ù. {{{ starting preparing phase of package Database Kernel 7.5.00.08 32 bit -------------------------------------------------------------------- no updatable installation of package "Database Kernel" found please enter dependent path [/opt/sdb/7500]: /var/lib/sdb/kernel_7500 directory "/var/lib/sdb/kernel_7500" does not exist, create? (y/n) y }}} ¿©±â¼­´Â /var/lib/sdb/kernel_7500 À¸·Î ÁöÁ¤ÇÏ¿´´Ù. y¸¦ ´©¸£¸é ¼³Ä¡°¡ ÁøÇàÀÌ µÈ´Ù. === ¼³Ä¡ Á¾·á === {{{ installation of MaxDB Software finished successfully Su, Apr 04, 2004 at 10:12:18 }}} ÀÌÁ¦ ¿ì¸®´Â °¢°¢ 3°¡ÁöÀÇ PATH·Î [MaxDB] À§Ä¡¸¦ ÁöÁ¤ÇÏ¿´´Ù. {{{ : /var/lib/sdb/programs : /var/lib/sdb/data : /var/lib/sdb/kernel_7500 }}} ÀÌ À§Ä¡µéÀ» Àß ¿°µÎÇØ µÎÀÚ. == ȯ°æ ¼³Á¤ == === [MaxDB] ±âº» ¼³Á¤ File === À§ÀÇ ¼³Ä¡°¡ ¸ðµÎ ¹«»çÈ÷ ³¡³ª¸é ´ÙÀ½°ú °°Àº ¼³Á¤È­ÀϵéÀÌ »ý±ä´Ù. ³ªÁß¿¡ [MaxDB]¸¦ Á¦°ÅÇÒ ¶§, ÀÌ È­ÀϵéÀ» ²À °°ÀÌ Áö¿ö¾ß ÇÑ´Ù. (±×·¡¾ß À缳ġ ÇÒ ¼ö ÀÖÀ½.) {{{ $ more /etc/opt/sdb [Globals] IndepData=/var/lib/sdb/data IndepPrograms=/var/lib/sdb/programs SdbOwner=sdb SdbGroup=sdba }}} {{{ $ ls -laR /usr/spool/sql /usr/spool/sql: ÇÕ°è 12 drwxrwxr-x 3 sdb sdba 4096 4¿ù 4 10:11 . drwxrwxr-x 3 sdb sdba 4096 4¿ù 4 10:11 .. lrwxrwxrwx 1 sdb sdba 25 4¿ù 4 10:11 dbspeed -> /var/lib/sdb/data/dbspeed lrwxrwxrwx 1 sdb sdba 22 4¿ù 4 10:11 diag -> /var/lib/sdb/data/diag lrwxrwxrwx 1 sdb sdba 22 4¿ù 4 10:11 fifo -> /var/lib/sdb/data/fifo drwxrwxrwx 2 sdb sdba 4096 4¿ù 4 10:12 ini lrwxrwxrwx 1 sdb sdba 21 4¿ù 4 10:11 ipc -> /var/lib/sdb/data/ipc lrwxrwxrwx 1 sdb sdba 21 4¿ù 4 10:11 pid -> /var/lib/sdb/data/pid lrwxrwxrwx 1 sdb sdba 22 4¿ù 4 10:11 pipe -> /var/lib/sdb/data/pipe lrwxrwxrwx 1 sdb sdba 22 4¿ù 4 10:11 ppid -> /var/lib/sdb/data/ppid /usr/spool/sql/ini: ÇÕ°è 24 drwxrwxrwx 2 sdb sdba 4096 4¿ù 4 10:12 . drwxrwxr-x 3 sdb sdba 4096 4¿ù 4 10:11 .. -rw-rw-rw- 1 sdb sdba 127 4¿ù 4 10:12 SAP_DBTech.ini -r--r--r-- 1 sdb sdba 4285 1¿ù 10 04:25 WebAgent75.ini -r--r--r-- 1 sdb sdba 369 1¿ù 10 04:25 sapdbxie.ini }}} === /etc/services ¼³Á¤ === /etc/services ¿¡ ´ÙÀ½À» Ãß°¡ÇÑ´Ù. {{{ sql6 7210/tcp sql30 7200/tcp sapdbni72 7269/tcp }}} === PATH ¼³Á¤ === /etc/profile ³ª, .profile¿¡ /binÀ» PATH¸¦ Ãß°¡ÇÏÀÚ. ±×¸®°í, °ü·Ã lib¸¦ À§ÇØ LD_LIBRARY_PATH¸¦ ÁöÁ¤ÇÏÀÚ. {{{ PATH=$PATH:/var/lib/sdb/programs/bin export PATH export LD_LIBRARY_PATH=/var/lib/sdb/programs/web/lib:/var/lib/sdb/programs/lib:$LD_LIBRARY_PATH }}} = [MaxDB] ±¸µ¿ = == [MaxDB] µ¥ÀÌÅͺ£À̽º ¸¸µé±â == ´ÙÀ½Àº /var/lib/sdb/kernel_7500/misc/create_demo_db.sh ¸¦ ¼öÁ¤ÇÑ °ÍÀÌ´Ù. create_maxdb_db.sh ¶ó°í ÀúÀåÇÏ¿© ½ÇÇàÇØ º»´Ù. {{{ #!/bin/sh # # create_maxdb_db.sh # # »ç¿ëÀÚ°¡ ¿øÇÏ´Â ¼ÂÆÃÀ» ¹°¾îº¸¸é¼­ µ¥ÀÌÅͺ£À̽º¸¦ »ý¼ºÇÑ´Ù. # /var/lib/sdb/kernel_7500/misc/create_demo_db.sh ¸¦ Âü°íÇÏ¿© ¸¸µé¾úÀ½. # # # Helper function: converts an amount to amount of pages. # Usage: BLA=`topages $BLA BLA` # $BLA contains an integer followed by # g - for giga # m - for mega # k - for kilo or # p - for pages (default when no suffix is given) # Emits an errormessage to stderr when a parse error occurs. Also returns # 1 on error (must be checked by caller) function topages() { _val=$1 _var=$2 _scr=`echo ${_val} | sed \ -e 's/^\([0-9]*\)g$/\1 * 128 * 1024/' \ -e 's/^\([0-9]*\)m$/\1 * 128/' \ -e 's/^\([0-9]*\)k$/\1 \/ 8/' \ -e 's/^\([0-9]*\)p$/\1/' \ -e 's/^\([0-9]*\)$/\1/' \ ` _o=`cat <&1 $_scr EOF` _test=`echo $_o | grep error` if [ "$_test" != "" ]; then echo "ERROR: Could not convert amount in $_var \"$_val\" to pages." >&2 echo "ERROR: Must be an integer with a suffix of g, m, k or p." >&2 return 1 else echo $_o return 0 fi } echo "" echo "" echo "[[ (KR) MaxDB 7.5.0.x ÀÇ DB¸¦ »ý¼ºÇϱâ À§ÇÑ . " echo "[[ (KR) ½ºÅ©¸³Æ® ÀÔ´Ï´Ù. .................... " echo "[[ .......................................... " echo "[[ MaxDB 7.5.0.x Create Database Script ..... " echo "[[ .......................................... " echo "" # ÇöÀç °èÁ¤ÀÇ ID¸¦ ¹Ýȯ id=`id | sed s/\(.*// | sed s/uid=//` # root°¡ ¾Æ´Ï¶ó¸é, ½ÇÇà ±ÇÇÑ °Ë»ç if [ $id -gt 0 ]; then admgrp=`cat /etc/opt/sdb | grep SdbGroup | sed s/^SdbGroup=// 2> /dev/null` if [ "$admgrp" = "" ]; then echo "cannot get SAP DB admin group" 1>&2 echo "(KR) MaxDB(SAP DB)ÀÇ ¾îµð¹Î ±×·ìÀ» ãÀ» ¼ö ¾ø½À´Ï´Ù." 1>&2 exit 1 fi user=`id | sed s/uid=[0-9]*\(// | sed s/\).*$//` pgrp=`id | sed s/.*gid=[0-9]*\(// | sed s/\).*$//` is_member=0 for _group in `groups`; do if [ "$_group" = "$admgrp" ]; then is_member=1 fi done if [ "$is_member" = "0" ]; then echo "user \"$user\" cannot create a database" 1>&2 echo "user isn\'t member of SAP DB admin group \"$admgrp\"" 1>&2 echo "(KR) ´ç½Å : \"$user\" ´Â µ¥ÀÌÅÍ º£À̽º¸¦ »ý¼ºÇÒ ¼ö ¾ø½À´Ï´Ù." 1>&2 echo "(KR) ´ç½ÅÀº MaxDB(SAP DB)ÀÇ ¾îµå¹Î ±×·ì \"$admgrp\" ¿¡ ¼Ò¼ÓµÇÁö ¾Ê¾Ò½À´Ï´Ù." 1>&2 exit 1 fi fi INDEP_PROGRAMS_PATH=`cat /etc/opt/sdb | grep IndepPrograms | sed s/^IndepPrograms=// 2> /dev/null` INDEP_DATA_PATH=`cat /etc/opt/sdb | grep IndepData | sed s/^IndepData=// 2> /dev/null` PATH=$INDEP_PROGRAMS_PATH/bin:$PATH export PATH # MaxDB Ä¿³Î À§Ä¡ ÀÔ·Â ¹ÞÀ½ # Get Kernel directory echo "[[ (KR) MaxDBÀÇ Ä¿³ÎÀÌ ¼³Ä¡µÈ µð·ºÅ͸®´Â ¾îµðÀԴϱî? " echo "" echo -n "-==> Where The MaxDB Kernel Directory is [/var/lib/sdb/kernel_7500] : " read INSTROOT if [ "$INSTROOT" = "" ]; then INSTROOT=/var/lib/sdb/kernel_7500 fi echo "......." echo "(KR) Ä¿³Î µð·ºÅ͸®¸¦ ´ÙÀ½°ú °°ÀÌ ¼³Á¤ÇÕ´Ï´Ù." echo "Set Kernel Directory : $INSTROOT" echo "" # get name of the database # µ¥ÀÌÅÍ º£À̽º À̸§À» ÀÔ·Â ¹Þ´Â´Ù. (8ÀÚ ÀÌÇÏ) while : do echo "[[ (KR) µ¥ÀÌÅͺ£À̽º À̸§À» ÀÔ·ÂÇÏ¿© ÁֽʽÿÀ. " echo "[[ (KR) ¿µÀÚ&¼ýÀÚ·Î 8ÀÚ±îÁö °¡´ÉÇϸç, ´ë¼Ò¹®ÀÚ´Â ±¸ºÐÇÏÁö ¾Ê½À´Ï´Ù." echo "" echo -n "-==> Input Database Name (<= 8 character) : " read DATABASE_NAME if [ ${#DATABASE_NAME} -gt 9 ]; then echo "(KR) ¿À·ù! µ¥ÀÌÅͺ£À̽º À̸§Àº 8ÀÚ±îÁö¸¸ °¡´ÉÇÕ´Ï´Ù." echo "ERROR! The DATABASE Name must be less than or equal to 8 character !!" echo "" continue elif [ "$DATABASE_NAME" = "" ]; then echo "(KR) ¿À·ù! µ¥ÀÌÅͺ£À̽º À̸§À» ÀÔ·ÂÇϸç ÁֽʽÿÀ." echo "ERROR! The DATABASE Name need !" echo "" continue else break fi done echo "......." echo "(KR) µ¥ÀÌÅͺ£À̽º À̸§À» $DATABASE_NAME À¸·Î ¼³Á¤ÇÕ´Ï´Ù." echo "Set DATABASE NAME : $DATABASE_NAME" echo "" # get Database Manager operator (DBM operator) # µ¥ÀÌÅͺ£À̽º ¸Þ´ÏÀú ¿ÀÆÛ·¹ÀÌÅÍÀÇ ID¸¦ ÀÔ·Â ¹Þ´Â´Ù. (18ÀÚ ÀÌÇÏ, À¯´ÏÄÚµå´Â 8ÀÚ ÀÌÇÏ) while : do echo "[[ (KR) µ¥ÀÌÅͺ£À̽º ¸Þ´ÏÀú ¿ÀÆÛ·¹ÀÌÅÍ(DBM operator) ID¸¦ ÀÔ·ÂÇÏ¿© ÁֽʽÿÀ." echo "[[ (KR) DBM operator´Â µ¥ÀÌÅͺ£À̽º¸¦ °ü¸®ÇÏ´Â »ç¶÷À» ¶æÇÕ´Ï´Ù." echo "[[ (KR) DBM operator´Â µ¥ÀÌÅͺ£À̽º À¯Àú°¡ ¾Æ´Õ´Ï´Ù. query toolÀ̳ª Loader¿¡" echo "[[ (KR) Á¢±ÙÇÏÁö ¸øÇϸç, µ¥ÀÌÅͺ£À̽ºÀÇ ¹é¾÷/º¹±¸/¸ð´ÏÅ͸µ µî¸¸ ÇÒ¼ö ÀÖ½À´Ï´Ù." echo "" echo -n "-==> Input Database Manager operator (DBM operator) ID (<= 18 char) : " read DBM if [ ${#DBM} -gt 18 ]; then echo "(KR) ¿À·ù! DBM operator ID´Â 18ÀÚ ±îÁö¸¸ °¡´ÉÇÕ´Ï´Ù." echo "ERROR! The DBM ID must be less than or equal to 18 character !!" echo "" continue elif [ "$DBM" = "" ]; then echo "(KR) ¿À·ù! DBM operatorÀÇ ID¸¦ ÀÔ·ÂÇÏ¿© ÁֽʽÿÀ." echo "ERROR! The DBM operator ID need !" echo "" continue else break fi done echo "......." echo "(KR) DBM operator ID¸¦ $DBM À¸·Î ¼ÂÆÃÇÕ´Ï´Ù." echo "Set DBM operator ID : $DBM" echo "" # get Database Manager operator (DBM operator) PASSWORD # DBM operator ¾ÏÈ£ÀÔ·Â stty -echo while : do echo "[[ (KR) DBM operatorÀÇ ¾ÏÈ£¸¦ ÀÔ·ÂÇÏ¿© ÁֽʽÿÀ." echo "" echo -n "-==> Input Database Manager operator (DBM operator) PASSWORD : " read DBMPW echo "" echo "(KR) DBM operatorÀÇ ¾ÏÈ£¸¦ ´Ù½Ã È®ÀÎ ÀÔ·ÂÇÏ¿© ÁֽʽÿÀ." echo -n "Input Database Manager operator (DBM operator) PASSWORD again: " read DBMPW_RE echo "" if [ "$DBMPW" != "$DBMPW_RE" ] ; then echo "(KR) ¿À·ù! È®ÀÎ ÀÔ·ÂÇÑ ¾ÏÈ£°¡ ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù.!" echo "ERROR! Not Match each PASSWORD ! " echo "" continue else break fi done stty echo echo "" # get The database system administrator (SYSDBA user) # The database system administrator (SYSDBA user) ID¸¦ ÀÔ·Â ¹Þ´Â´Ù. (18ÀÚ ÀÌÇÏ, À¯´ÏÄÚµå´Â 8ÀÚ ÀÌÇÏ) while : do echo "[[ (KR) The database system administrator (SYSDBA user) ID¸¦ ÀÔ·Â" echo "[[ (KR) SYSDBA user´Â µ¥ÀÌÅͺ£À̽º¿¡ query tools¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Â" echo "[[ (KR) »ç¿ëÀÚ¸¦ ¸»ÇÕ´Ï´Ù. ÃÖÃÊÀÇ »ç¿ëÀÚÀ̸ç, ´Ù¸¥ »ç¿ëÀÚ¸¦ °ü¸®," echo "[[ (KR) Å×ÀÌºí °ü¸®, ±ÇÇÑ ºÎ¿©¸¦ ÇÒ¼ö ÀÖ½À´Ï´Ù." echo "[[ (KR) SYSDBA user ¿Í DBM operator´Â °°Àº ID¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù." echo "" echo -n "-==> Input The SYSDBA user ID (<= 18 char) : " read DBA if [ ${#DBA} -gt 18 ]; then echo "(KR) ¿À·ù! The SYSDBA user ID´Â 18ÀÚ ±îÁö¸¸ °¡´ÉÇÕ´Ï´Ù." echo "ERROR! The SYSDBA user ID must be less than or equal to 18 character !!" echo "" continue elif [ "$DBA" = "" ]; then echo "(KR) ¿À·ù! The SYSDBA user ÀÇ ID¸¦ ÀÔ·ÂÇÏ¿© ÁֽʽÿÀ." echo "ERROR! The SYSDBA user ID need !" echo "" continue elif [ "$DBM" = "$DBA" ]; then echo "" echo "(KR) ¿À·ù! " echo "(KR) The SYSDBA user ID : $DBA ¿Í" echo "(KR) The DBM operator ID : $DBM ÀÇ" echo "(KR) ID´Â ´Þ¶ó¾ß ÇÕ´Ï´Ù." echo "" echo "ERROR! The SYSDBA user ID and DBM operator ID MUST NOT SAME" echo "" continue else break fi done echo "......." echo "(KR) SYSDBA user ID ¸¦ $DBA ·Î ¼ÂÆÃÇÕ´Ï´Ù." echo "Set The SYSDBA user ID : $DBA" echo "" # get The database system administrator (SYSDBA user) PASSWORD # The database system administrator (SYSDBA user) ¾ÏÈ£ÀÔ·Â stty -echo while : do echo "[[ (KR) The SYSDBA user ÀÇ ¾ÏÈ£¸¦ ÀÔ·ÂÇÏ¿© ÁֽʽÿÀ." echo "" echo -n "-==> Input The SYSDBA user PASSWORD : " read DBAPW echo "" echo "(KR) The SYSDBA user ÀÇ ¾ÏÈ£¸¦ ´Ù½Ã È®ÀÎ ÀÔ·ÂÇÏ¿© ÁֽʽÿÀ." echo -n "Input The SYSDBA user PASSWORD again: " read DBAPW_RE echo "" if [ "$DBAPW" != "$DBAPW_RE" ] ; then echo "(KR) ¿À·ù! È®ÀÎ ÀÔ·ÂÇÑ ¾ÏÈ£°¡ ÀÏÄ¡ÇÏÁö ¾Ê½À´Ï´Ù.!" echo "ERROR! Not Match each PASSWORD ! " echo "" continue else break fi done stty echo echo "" # get DATASIZE while : do echo "[[ (KR) µ¥ÀÌÅͺ£À̽º º¼·ýÀÇ Å©±â¸¦ ÁöÁ¤ÇÏ¿© ÁֽʽÿÀ." echo "[[ (KR) ÃÖ¼ÒÇÑ 16 MByte´Â µÇ¾î¾ß Çϸç, ÃßÈÄ ´Ù½Ã ¼ÂÆÃÇÒ ¼ö ÀÖ½À´Ï´Ù." echo "[[ (KR) ±âº»´ÜÀ§´Â PAGE. ¿¹) 16 MByte => 16m , 20 GByte => 20g " echo "" echo -n "-==> Input DATASIZE [ m)ega, g)iga, p)ages . default:Pages > 16m ] : " read DATASIZE if [ "$DATASIZE" = "" ]; then echo "(KR) ¿À·ù! µ¥ÀÌÅͺ£À̽º º¼·ý Å©±â¸¦ ÀÔ·ÂÇÏ¿© ÁֽʽÿÀ." echo "ERROR! The DATASIZE need !" echo "" continue else break fi done DATAPAGES=`topages $DATASIZE DATAPAGES` echo "Set DATASIZE = $DATASIZE, DATAPAGES = $DATAPAGES pages" echo "" # get LOGSIZE while : do echo "[[ (KR) µ¥ÀÌÅͺ£À̽º ·Î±×ÀÇ Å©±â¸¦ ÁöÁ¤ÇÏ¿© ÁֽʽÿÀ." echo "[[ (KR) ±âº» ´ÜÀ§´Â PAGE " echo "" echo -n "-==> Input LOGSIZE [ m)ega, g)iga, p)ages . default:Pages ] : " read LOGSIZE if [ "$LOGSIZE" = "" ]; then echo "(KR) ¿À·ù! µ¥ÀÌÅͺ£À̽º LOG Å©±â¸¦ ÀÔ·ÂÇÏ¿© ÁֽʽÿÀ." echo "ERROR! The LOGSIZE need !" echo "" continue else break fi done LOGPAGES=`topages $LOGSIZE LOGPAGES` echo "Set LOGSIZE = $LOGSIZE, LOGPAGES = $LOGPAGES pages" echo "" # get catalog cache memory size for all user tasks echo "[[ (KR) DBÀÇ Ä«Å»·Î±× ij½¬ ¸Þ¸ð¸®ÀÇ »çÀÌÁ ÁöÁ¤ÇÕ´Ï´Ù. " echo "" echo -n "-==> catalog cache memory size for all user tasks [ k)ilo, m)ega, g)iga, p)ages . default: 300 Pages ] : " read CATCACHESUPPLY if [ "$CATCACHESUPPLY" = "" ]; then CATCACHESUPPLY=300p fi CATCACHESUPPLY=`topages $CATCACHESUPPLY CATCACHESUPPLY` echo "Set CAT_CACHE_SUPPLY = $CATCACHESUPPLY pages" echo "" # Size of the I/O buffer cache in pages echo "[[ (KR) I/O ¹öÆÛ Ä³½¬ Å©±â¸¦ ÁöÁ¤ÇÕ´Ï´Ù." echo "" echo -n "-==> Size of the I/O buffer cache [ k)ilo, m)ega, g)iga, p)ages . default: 3000 Pages ] : " read CACHESIZE if [ "$CACHESIZE" = "" ]; then CACHESIZE=3000p fi CACHESIZE=`topages $CACHESIZE CACHESIZE` echo "Set CACHE_SIZE = $CACHESIZE pages" echo "" # maximum number of users allowed to connect echo "[[ (KR) µ¥ÀÌÅͺ£À̽º¿¡ Á¢¼ÓÇÒ ¼ö ÀÖ´Â ÃÖ´ë »ç¿ëÀÚ¼ö¸¦ ÁöÁ¤ÇÕ´Ï´Ù." echo "" echo -n "-==> maximum number of users allowed to connect [ default : 5 ] : " read MAXUSERTASKS if [ "$MAXUSERTASKS" = "" ]; then MAXUSERTASKS=5 fi echo "Set MAXUSERTASKS = $MAXUSERTASKS user(s)" echo "" # run the instances as a unicode instance (YES or NO) echo "[[ (KR) ºñ ¿µ¾î±Ç¿¡¼­ »ç¿ë½Ã ¹Ýµå½Ã UNICODE·Î ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù." echo "[[ (KR) MaxDB ³»ºÎÀûÀ¸·Î´Â UTF-16/UCS-2 format À» »ç¿ëÇÕ´Ï´Ù." echo "" echo -n "-==> run the instances as a unicode instance [ YES or NO , default : YES ] : " read UNICODE if [ "$UNICODE" = "" ]; then UNICODE=YES fi if [ "$UNICODE" = "YES" ]; then DEFAULTCODE=UNICODE else DEFAULTCODE=ASCII fi echo "Set UNICODE = $UNICODE, DEFAULT_CODE = $DEFAULTCODE " echo "" # start remote communication server echo "" echo "..................." echo "Start X_SERVER ...." echo "..................." echo "" x_server start >/dev/null 2>&1 # create new demo database echo "create database $DATABASE_NAME..." _o=`dbmcli -s -R $INSTROOT db_create $DATABASE_NAME $DBM,$DBMPW 2>&1` _test=`echo $_o | grep OK` if [ "$_test" = "" ]; then echo "create $DATABASE_NAME failed: $_o" 1>&2 exit 1 fi # setup database parameters echo "set parameters for $DATABASE_NAME..." _o=`cat <&1 param_rmfile param_startsession param_init OLTP param_put CAT_CACHE_SUPPLY $CATCACHESUPPLY param_put CACHE_SIZE $CACHESIZE param_put MAXUSERTASKS $MAXUSERTASKS param_put _UNICODE $UNICODE param_put DEFAULT_CODE $DEFAULTCODE param_put MAXDATAVOLUMES 5 param_checkall param_commitsession param_addvolume 1 DATA DISK_DATA_0001 F $DATAPAGES param_addvolume 1 LOG DISK_LOG_001 F $LOGPAGES quit EOF` _test=`echo $_o | grep ERR` if [ "$_test" != "" ]; then echo "set parameters failed: $_o" 1>&2 exit 1 fi # startup database echo "start $DATABASE_NAME..." _o=`dbmcli -d $DATABASE_NAME -u $DBM,$DBMPW db_start 2>&1` _test=`echo $_o | grep OK` if [ "$_test" = "" ]; then echo "start $DATABASE_NAME failed: $_o" 1>&2 exit 1 fi # initialize database files echo "initialize $DATABASE_NAME..." _o=`cat <&1 util_connect $DBM,$DBMPW db_activate $DBA,$DBAPW quit EOF` _test=`echo $_o | grep ERR` if [ "$_test" != "" ]; then echo "initializing $DATABASE_NAME failed: $_o" 1>&2 exit 1 fi # load database system tables echo "load system tables..." _o=`dbmcli -d $DATABASE_NAME -u $DBM,$DBMPW load_systab -u $DBA,$DBAPW -ud domain 2>&1` _test=`echo $_o | grep OK` if [ "$_test" = "" ]; then echo "load system tables failed: $_o" 1>&2 exit 1 fi echo "set backup parameters..." _o=`cat <&1 medium_put data datasave FILE DATA 0 8 YES medium_put auto autosave FILE AUTO util_connect $DBM,$DBMPW backup_save data autosave_on quit EOF` _test=`echo $_o | grep ERR` if [ "$_test" != "" ]; then echo "set backup parameters failed: $_o" 1>&2 exit 1 fi echo "" echo "(KR) $DATABASE_NAME °¡ ¼º°øÀûÀ¸·Î »ý¼ºµÇ¾ú½À´Ï´Ù." echo "$DATABASE_NAME Creation COMPLETED ." echo "" exit 0 }}} == [MaxDB] ±¸µ¿ == {{{ $ x_server start or $ x_server }}} == Database Manager GUI in WEB == À¥ ºê¶ó¿ìÁ®¿¡¼­ DB¸¦ °ü¸®ÇÏÀÚ. Database Manager GUI ¸¦ [MaxDB] ÀÚü À¥¼­¹ö¸¦ ÀÌ¿ëÇØ ¶ç¿ìÀÚ. {{{ $ cd /var/lib/sdb/programs/web/pgm $ ./wahttp & }}} === WEB DBM === À¥ºê¶ó¿ìÁ®¿¡ ´ÙÀ½°ú °°ÀÌ ³Ö´Â´Ù. {{{ http://localhost:9999/webdbm }}} È­¸éÀÌ ³ªÅ¸³ª¸é, µ¥ÀÌÅͺ£À̽º¸¦ ¼±ÅÃÇÑ ÈÄ¿¡ DBM operatorÀÇ ID¿Í PW¸¦ ³Ö°í ·Î±×ÀÎ ÇÑ´Ù. ±×·¯¸é, È­¸é¿¡ µ¥ÀÌÅͺ£À̽ºÀÇ »óŵéÀÌ ³ªÅ¸³­´Ù. === WEB SQL Studio === À¥ºê¶ó¿ìÁ®¿¡ ´ÙÀ½°ú °°ÀÌ ³Ö´Â´Ù. {{{ http://localhost:9999/websql }}} È­¸éÀÌ ³ªÅ¸³ª¸é, µ¥ÀÌÅͺ£À̽º¸¦ ¼±ÅÃÇÑ ÈÄ¿¡ SYSDBA user ID¿Í PW¸¦ ³Ö°í ·Î±×ÀÎ ÇÑ´Ù. È­¸é¿¡ Äõ¸® âÀÌ ³ªÅ¸³­´Ù. === Administration Tool === À¥ºê¶ó¿ìÁ®¿¡ ´ÙÀ½°ú °°ÀÌ ³Ö´Â´Ù. {{{ http://192.168.0.110:9999/waadmin.wa Username: admin Password: init }}} Global Settings -> General Settings. ¿¡¼­ ¾ÏÈ£¸¦ ¹Ù²Û´Ù. = [MaxDB] ½ÇÁ¦ »ç¿ë = ³ªÁß¿¡... -_-a;