· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
MaxDB

µµÈ­Àç ¼®¹®È£Èí °­ºó(Ë°Þ¯)

v0.0.1, 2004³â 4¿ù 9ÀÏ

¿¾ SAP DB, Çö MaxDB by MySQL ABÀÇ ¼³Ä¡¿Í »ç¿ë¹ý¿¡ ´ëÇؼ­ °£·«ÇÏ°Ô ¼Ò°³ÇÑ´Ù.

1. MaxDB°¡ ¹«¾ùÀÌÁö?


1.1. 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 


1.2. 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¸¦ ¿ÀǼҽºÈ­ ÇÏ¿´´Ù.


2. MaxDB ¼³Ä¡


2.1. ´Ù¿î·Îµå


Âü°í·Î ¼³Ä¡ ȯ°æÀº Debian/GNU Linux Woody 3.0r2¿¡¼­ ÁøÇàÇÏ¿´´Ù.


[Standard installation, Linux (x86) 7.5.00.08]
maxdb-all-linux-32bit-i386-7_5_0_8.tgz


ÀÌ·¸°Ô ÇϳªÀÇ ÆÄÀϸ¸ ¹ÞÀ¸¸é µÈ´Ù, MS-Windows »ç¿ëÀÚ´Â DBM GUI, SQL Studio¸¦ ¹Þ¾Æ¼­ ¼³Ä¡Çϸé Æí¸®ÇÏ´Ù.

2.2. 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 ¹øÀ» ¼±ÅÃÇÏÀÚ.

2.2.1. 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 ·Î ÇÏ¿´´Ù.

2.2.2. 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


2.2.3. 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¸¦ ´©¸£¸é ¼³Ä¡°¡ ÁøÇàÀÌ µÈ´Ù.

2.2.4. ¼³Ä¡ Á¾·á


installation of MaxDB Software finished successfully Su, Apr 04, 2004 at 10:12:18


ÀÌÁ¦ ¿ì¸®´Â °¢°¢ 3°¡ÁöÀÇ PATH·Î MaxDB À§Ä¡¸¦ ÁöÁ¤ÇÏ¿´´Ù.

<independent_program_path>   : /var/lib/sdb/programs
<independent_data_path>      : /var/lib/sdb/data
<dependent_path>             : /var/lib/sdb/kernel_7500


ÀÌ À§Ä¡µéÀ» Àß ¿°µÎÇØ µÎÀÚ.

2.3. ȯ°æ ¼³Á¤


2.3.1. 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


2.3.2. /etc/services ¼³Á¤

/etc/services ¿¡ ´ÙÀ½À» Ãß°¡ÇÑ´Ù.

sql6		7210/tcp
sql30		7200/tcp
sapdbni72 	7269/tcp


2.3.3. PATH ¼³Á¤

/etc/profile ³ª, .profile¿¡ <independent_program_path>/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


3. MaxDB ±¸µ¿


3.1. 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 <<EOF |bc 2>&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 <<EOF | dbmcli -d $DATABASE_NAME -u $DBM,$DBMPW 2>&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 <<EOF | dbmcli -d $DATABASE_NAME -u $DBM,$DBMPW 2>&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 <<EOF | dbmcli -d $DATABASE_NAME -u $DBM,$DBMPW 2>&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



3.2. MaxDB ±¸µ¿


$ x_server start

or

$ x_server


3.3. Database Manager GUI in WEB


À¥ ºê¶ó¿ìÁ®¿¡¼­ DB¸¦ °ü¸®ÇÏÀÚ. Database Manager GUI ¸¦ MaxDB ÀÚü À¥¼­¹ö¸¦ ÀÌ¿ëÇØ ¶ç¿ìÀÚ.

$ cd /var/lib/sdb/programs/web/pgm
$ ./wahttp &


3.3.1. WEB DBM


À¥ºê¶ó¿ìÁ®¿¡ ´ÙÀ½°ú °°ÀÌ ³Ö´Â´Ù.

http://localhost:9999/webdbm


È­¸éÀÌ ³ªÅ¸³ª¸é, µ¥ÀÌÅͺ£À̽º¸¦ ¼±ÅÃÇÑ ÈÄ¿¡ DBM operatorÀÇ ID¿Í PW¸¦ ³Ö°í ·Î±×ÀÎ ÇÑ´Ù. ±×·¯¸é, È­¸é¿¡ µ¥ÀÌÅͺ£À̽ºÀÇ »óŵéÀÌ ³ªÅ¸³­´Ù.

3.3.2. WEB SQL Studio


À¥ºê¶ó¿ìÁ®¿¡ ´ÙÀ½°ú °°ÀÌ ³Ö´Â´Ù.

http://localhost:9999/websql


È­¸éÀÌ ³ªÅ¸³ª¸é, µ¥ÀÌÅͺ£À̽º¸¦ ¼±ÅÃÇÑ ÈÄ¿¡ SYSDBA user ID¿Í PW¸¦ ³Ö°í ·Î±×ÀÎ ÇÑ´Ù. È­¸é¿¡ Äõ¸® âÀÌ ³ªÅ¸³­´Ù.

3.3.3. Administration Tool


À¥ºê¶ó¿ìÁ®¿¡ ´ÙÀ½°ú °°ÀÌ ³Ö´Â´Ù.

http://192.168.0.110:9999/waadmin.wa
Username: admin
Password: init


Global Settings -> General Settings. ¿¡¼­ ¾ÏÈ£¸¦ ¹Ù²Û´Ù.

4. MaxDB ½ÇÁ¦ »ç¿ë


³ªÁß¿¡... -_-a;

ID
Password
Join
Might as well be frank, monsieur. It would take a miracle to get you out of Casablanca.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2004-12-04 20:27:54
Processing time 0.0119 sec