แสดงกระทู้

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - กรรมคือการกระทำ

หน้า: 1 [2]
51
Admin tools / Re: กู้ database ที่หายไป
« เมื่อ: เมษายน 30, 2010, 16:45:33 PM »
ลองทำ server HOSxP ตัวใหม่ โดยใช้ CentOS
แล้วดั้มฐานข้อมูลจาก server เก่ามาใช้
จากนั้นก็ลองทดสอบใช้งานระบบ ก็ใช้งานได้ปกติค่ะ
แต่พอมาอีกวันนึง ทดสอบใช้งานต่อเรื่อยๆ ระบบเริ่มรวนๆ แต่ก็ยังพอใช้ได้บ้าง
พอใช้ไปนานๆ สามารถเข้าโปรแกรม HOSxP ได้ แต่กลับไม่ยอมให้ใช้ tools ต่างๆ
ลอง query ฐานข้อมูลในตาราง vn_stat, opitemrace กลับไม่มีข้อมูลอะไรเลย
ก็ลองดั้มฐานข้อมูลเข้าไปใหม่ ทดสอบแล้วก็ยังเป็นเหมือนเดิม
เลยตัดสินใจติดตั้ง MySQL และ database ใหม่ แล้วดั้มฐานข้อมูลเข้าไป ก็ใช้งานได้
แต่อยากทราบว่า เกิดปัญหาแบบนี้แล้ว เราสามารถที่จะกู้ database ที่หายไปได้มั้ยค่ะ
ข้อมูลที่ได้ทดสอบใช้งานหายไป 1 วัน แบบนี้เราจะกู้คืนมาได้รึปล่าวค่ะ


ได้ครับ ถ้ามีข้อมูลเก่าอยู่
สามารถนำมารวมกันได้

52
คงต้องรอใครที่มีฟอร์มตัวนี้ ส่งมาให้ล่ะครับ


ไม่ต้องมีฟอร์มครับ

53
สปสช เขต 9 สุดยอดมากเร็วทันใจ ถ้านิดครับเอาเกณฑ์จากไหนมาจัดสรรครับ
เกณฑ์ล่วงหน้า

54
นอกเรื่อง / Re: HOSxP กับ นิตยสาร CHIP
« เมื่อ: เมษายน 21, 2010, 19:21:42 PM »
ยินดีด้วยครับ

55
นอกเรื่อง / Re: แก้ปัญหาเน็ตหลุดบ่อย
« เมื่อ: เมษายน 21, 2010, 19:18:10 PM »
สมมติ นะครับว่า ถ้าเราตั้งค่า Endian เป็นแบบ Bridge
คือให้ Endian เป็นตัวจัดการการเชื่อมต่อเอง แทนตัว Router
แล้ว ถ้าเน็ตหลุด Endian จะทำการ Reconnect ให้อัตโนมัติรึเปล่าครับ
ถ้าได้ภายในเวลาเท่าไหร่ครับ ที่ถามเพราะยังไม่เคยใช้แบบ Bridge ครับ

เผื่อมีท่านอื่นๆ ใช้แบบนี้อยู่ เลยอยากขอแลกเปลี่ยนประสบการณ์หน่อยครับ

เวลาที่ตั้งส่วนใหญ่ 5 วินาที

56
MySQL / Re: MySQLDump To a Remote Server
« เมื่อ: เมษายน 18, 2010, 19:26:46 PM »
ใช้ XtraBackup ข้ามเครื่องจะเร็วกว่านะครับ

คราวนี้เราก็สามารถ กำหนด schedule crond job ให้ส่งข้อมูล Full backup ไปยัง host B อัตโนมัติ ด้วยคำสั่งนี้ครับ  (แทนที่ B ด้วย ip address เครื่องปลายทาง และ 192,0x2e,168,0x2e,1,0x2e,1 คือ IP Address ของเครื่อง Master  ใส่ 0x2e แทนเครื่องหมายจุด เพื่อหลีกเลี่ยงการใช้เครื่องหมาย '  )

หรือจะประยุกต์ใช้สำหรับการนำข้อมูลไปไว้ในเครื่อง Slave ก็ได้ครับ  สามารถลดเวลาที่ใช้ในการ Initial import ลงไปได้ถึง 3 - 20 ชั่วโมงเชียวครับ


ssh root@B 'service mysql stop'

rsync -avP -e ssh /etc/my.cnf root@B:/etc/

rsync -avP -e ssh /usr/bin/xtrabackup root@B:/usr/bin/

rsync -avP -e ssh /usr/bin/innobackupex root@B:/usr/bin/

innobackupex --stream=tar /tmp/--slave-info | ssh root@B "tar xfi - -C /var/lib/mysql/"

echo "Transfer data done wait 5 sec to continue"
sleep 5

ssh root@B 'xtrabackup --prepare --use-memory=150M  --target-dir=/var/lib/mysql'

ssh root@B 'chown mysql:mysql /var/lib/mysql/* -R'

ssh root@B 'service mysql start'

ssh root@B 'mysql -e "show full processlist"'

while [ "$?" -ne "0" ]
do
echo "Wait for slave mysql startup"
sleep 3
ssh root@B 'mysql -e "show full processlist"'
done

ssh root@B 'mysql -e "delete from hos.replicate_cfg"'

ssh root@B 'mysql -e "insert into hos.replicate_cfg (server) values (0)"'

ssh root@B 'mysql -e "update hos.replicate_cfg set server =concat(192,0x2e,168,0x2e,1,0x2e,1)"'

ssh root@B 'mysql -e "update hos.replicate_cfg set lastreplicate = (select max(event_id) from hos.replicate_log)"'


57
อ้างถึง
น่าสงสาร
;D ;D ;D ไม่ใช่เรื่องแปลกครับ ที่ผมก็เป็น หลายแห่งก็เป็นถ้าระบบงานบัญชี 1 ยังไม่สมบูรณ์ ก็แค่ตามไปคีย์เข้าแล้วทำ patient links ซะก็หมดปัญหา ;D ;D ;D

kon_phahol (รพ.พหล จ.กาญจนบุรี)
แปลกเพราะ ไม่เคยทำเลย และ V.HOSxP ก็เก่า อย่างน้อยต้อง v.3.53.3.26

58
                                                        ถ้าเป็นแบบนี้

DIAG Warning : HN 0551729  ไม่มีรหัส CID link ไปยัง Person  ไม่สามารถหารหัส Person ID ส่งออกได้
DIAG Warning : HN 0551730  ไม่มีรหัส CID link ไปยัง Person  ไม่สามารถหารหัส Person ID ส่งออกได้
DIAG Warning : HN 0551730  ไม่มีรหัส CID link ไปยัง Person  ไม่สามารถหารหัส Person ID ส่งออกได้
DIAG Warning : HN 0551732  ไม่มีรหัส CID link ไปยัง Person  ไม่สามารถหารหัส Person ID ส่งออกได้
DIAG Warning : HN 0551731  ไม่มีรหัส CID link ไปยัง Person  ไม่สามารถหารหัส Person ID ส่งออกได้
         
         รบกวนท่านอาจารย์ทั้งหลายช่วยแนะนำหน่อยครับแก้ไขอย่างไรครับ
น่าสงสาร

59
Linux / Re: แฟนพันธุ์แท้ FreeBSD
« เมื่อ: เมษายน 06, 2010, 10:24:03 AM »
http://www.freebsd.sru.ac.th/
การติดตั้ง FreeBSD 7.0 ตอนที่ 1
http://www.freebsd.sru.ac.th/index.php/freebsd-70-installation/45-freebsd-70-installation-1
การติดตั้ง FreeBSD 7.0 ตอนที่ 2
http://www.freebsd.sru.ac.th/index.php/freebsd-70-installation/46-freebsd-installation-2
ขั้นตอน การติดตั้งฐานข้อมูล MySQL 5.1
http://www.freebsd.sru.ac.th/index.php/mysql-v-51/65-mysql51

61
Linux / ติดตั้ง Asterisk 1.6.2.0 บน CentOS 5.4
« เมื่อ: เมษายน 06, 2010, 10:04:13 AM »
http://www.voip4share.com/asterisk-sip-server-f12/asterisk-1-6-2-0-centos-5-4-t271.html
ติดตั้ง Asterisk 1.6.2.0 ตอนที่ 1
ติดตั้ง Asterisk 1.6.2.0 ตอนที่ 2
ติดตั้ง Asterisk 1.6.2.0 ตอนที่ 3
ติดตั้ง Asterisk 1.6.2.0 ตอนที่ 4

http://www.be2hand.com/scripts/shop.php?do=view_article&user=adventek&pagetopic=1
อุปกรณ์
http://www.adventekshop.com/

ขั้นตอนการติดตั้ง Asterisk 1_6_1_1 บน CentOS 5_3

1. Hardware
     ผมจะติดตั้ง Asterisk 1.6.1.1 บน CentOS 5.3 บน Notebook Compaq nx9040
     วางแผนไว้ว่าจะไม่ใช้ GUI (FreePBX, Asterisk-GUI) สเปค Notebook nx9040 คือ
          - CPU Centrino 1.5 GHz
          - RAM 1 GB
          - HD ประมาณ 20 GB
          - LAN card 100 Mbps
     ขั้นแรกผมลง Centos 5.3 โดยเลือกแบบ server ไม่มี GUI   ขณะที่ลง OS ก็มี
     Internet connection อยู่

2. Compile Asterisk
     เนื่องจากผมไม่สามารถหา RPM binary file ของ Asterisk ได้   จำเป็นต้อง compile
     การ compile Asterisk 1.6.x บน CentOS 5.x ผมอ่านจากเอกสารใน www.voip-info.org
     ลอง search ดู หรือไม่ก็อ่านที่ผมสรุปจากการลอง compile ดูก็ได้ ดังนี้

     2.1 ติดตั้ง dependencies และ packages ที่จำเป็นในการ compile
          #yum -y install gcc gcc-c++ kernel-devel bison openssl-devel \
            libtermcap-devel ncurses-devel doxygen curl-devel newt-devel \
            mlocate lynx tar wget nmap bzip2 mod_ssl crontabs vixie-cron \
            speex speex-devel unixODBC unixODBC-devel libtool-ltdl \
            libtool-ltdl-devel mysql-connector-odbc mysql mysql-devel \
            mysql-server php-mysql php-mbstring php-mcrypt flex screen\
            subversion

     2.2 เช็ค kernel.xxx kernel-devel และ kernel-headers ต้องเป็น version เดียวกัน
          ถ้าไม่เป็น version เดียวกันก็จัดการด้วย
          #yum -y install kernel.xxx kernel-devel kernel-headers
          (xxx หมายถึง architecture ของ CPU)

     2.3 จะยังไม่ติดตั้ง mysql-server และ asterisk-addons packages

     2.4 ทำตามขั้นตอนได้เลย
          #mkdir -p /usr/src/asterisk
          #cd /usr/src/asterisk 
          #wget http://downloads.digium.com/pub/asterisk/asterisk-1.4-current.tar.gz
          #wget http://downloads.digium.com/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
          #wget http://downloads.digium.com/pub/libpri/libpri-1.4-current.tar.gz
          #tar -zxvf dahdi-linux-complete-current.tar.gz
          #tar -zxvf asterisk-1.4-current.tar.gz
          #tar -zxvf libpri-1.4-current.tar.gz

          #cd /usr/src/asterisk/libpri-VERSION          (แทน VERSION ด้วยตัวเลข version ทีมีอยู่จริง)
          #make clean
          #make
          #make install

          #cd /usr/src
          #ln -s kernels linux
          #cd /usr/src/asterisk/dahdi-linux-complete-VERSION
          #make all
          #make install
          #make config
          #chkconfig dahdi on
          #service dahdi start

          #cd /usr/src/asterisk/asterisk-VERSION
          #make clean
          #./configure

          #Choose which options to install ... (ตาม default ก็ OK)

          #make menuselect
          #make
          #make install

          Install sample files in /etc/asterisk, install docs/manpages and set to start on boot ...

          #make samples
          #make progdocs
          #make config
          #chkconfig asterisk on
          #service asterisk start

          ถึงตอนนี้ Asterisk server ก็น่าจะ run แล้ว ลอง connect ดู
         #asterisk -r
          ก็จะได้ message ว่า Asterisk 1.6.1.1 กำลัง run อยู่
         เป็นอันเสร็จสิ้นการติดตั้ง

          อ่านบทความอื่นๆ
          http://www.be2hand.com/scripts/shop.php?user=adventek&do=view_article
 

adventek:
คอนฟิก Asterisk 1.6.1.1 เบื้องต้นครับ

1. คอนฟิกไฟล์ของ Asterisk จะอยู่ที่ /etc/asterisk โดยมีคอนฟิกไฟล์เบื้องต้น ดังนี้
     - /etc/zaptel.conf   เป็นคอนฟิกไฟล์เกี่ยวกับ driver ของการ์ดต่างๆ เช่น
                                TDM400P, X100P เป็นต้น
     - /etc/asterisk/zapata.conf   เป็นคอนฟิกไฟล์ของ Asterisk ที่กำหนดพารามิเตอร์
                                            ต่างๆ ให้กับ channels ของการ์ดที่ติดตั้ง
     - /etc/asterisk/sip.conf   เป็นคอนฟิกไฟล์สำหรับ sip protocol
     - /etc/asterisk/iax.conf   เป็นคอนฟิกไฟล์สำหรับ iax protocol
     - /etc/asterisk/extensions.conf เป็นคอนฟิกไฟล์ที่กำหนด dial plan ทำให้ระบบ
                                                ทำงานตาม flow ที่ต้องการ
     - /etc/asterisk/voicemail.conf   เป็นคอนฟิกไฟล์ที่กำหนด voicemail

     เนื่องจากระบบที่เราติดตั้งในตอนที่ 1 ไม่มีการ์ดใดๆ (TDM400P, X100P etc.)
     เลย ดังนั้นเราไม่จำเป็นต้องคอนฟิก /etc/zaptel.conf และ /etc/asterisk/zapata.conf
     เราจะคอนฟิก 3 ไฟล์ คือ
          - /etc/asterisk/sip.conf
          - /etc/asterisk/extensions.conf
          - /etc/asterisk/voicemail.conf

2. ก่อนลงมือให้ backup ไฟล์เดิมไว้ก่อน
     #cd /etc/asterisk                 ; ไปที่ directory ที่ต้องการ
     #mv sip.conf sip.conf.bak      ; เปลี่ยนชื่อไฟล์ต้นฉบับ
     #touch sip.conf                   ; สร้างไฟล์ใหม่ ขณะนี้ยังเป็นไฟล์ที่ว่างเปล่า
     แล้ว edit ไฟล์ sip.conf ดังนี้


[general]

register=username:password@voip.mouthmun.com   ; Register to Mouthmun, ต้องไปสร้าง account
                                                                      ; Mountmun ก่อนนะครับ                                                                       
port=5060                                   ; Port to bind to (SIP is 5060)
bindaddr=0.0.0.0                          ; Address to bind to (all addresses on machine)
allow=all                                       ; Allow all codecs
match_auth_username=yes            ; What is it?

[mm]                                           ; This is for outgoing SIP trunk to Mouthmun

username=yourusername                ; Username that you get from Mouthmun
type=friend
secret=password                           ; Password from Mouthmun
nat=yes
host=voip.mouthmun.com              ; Mouthmun SIP server
fromuser=yourusername                 ; Username that you get from Mouthmun
fromdomain=voip.mouthmun.com    ; Mouthmun SIP server
dtmfmode=rfc2833
disallow=all
defaultexpirey=20
canreinvite=no
allow=g729
allow=ulaw
allow=alaw
context=from-sip                             ; This will relate to /etc/asterisk/extensions.conf

[yourusername]                                 ; Incoming from Mouthmun, ใช้ username ที่ได้จาก Mouthmun มาเป็น context
                                                      ; ที่จริงแล้วจะตั้งชื่ออะไรก็ได้
canreinvite=no
quality=no
type=user
fromuser=yourusername                   ; Username that you get from Mouthmun
username=yourusername                  ; Username that you get from Mouthmun
secret=password                             ; Password from Mouthmun
context=from-mm                           ; This will relate to /etc/asterisk/extensions.conf

[2000]                                           ; This is our extension nember

type=friend                                     ; This device takes and makes calls
username=2000                               ; Username on device
secret=1234                                   ; Password for device
host=dynamic                                  ; This host is not on the same IP addr every time
context=from-sip                              ; Inbound calls from this host go here
mailbox=100@default                        ; Define voicemail for extension 2000
                                                      ; This will relate to /etc/asterisk/voicemail.conf

[2001]                                            ; Same patterm as of extension 2000

type=friend
username=2001
secret=1234
host=dynamic
context=from-sip
mailbox=101@default


3. edit /etc/asterisk/extensions.conf ดังนี้ (อย่าลืม backup ไฟล์ต้นฉบับ)


[general]

static=yes           ; These two lines prevent the command-line interface
writeprotect=yes ; from overwriting the config file. Leave them here.

[from-sip]

;
; If the number dialed by the calling party was "2000", then
; Dial the user "2000" via the SIP channel driver. Let the number
; ring for 20 seconds, and if no answer, proceed to priority 2.
;

exten => 2000,1,Dial(SIP/2000,20)

;
;

exten => 2000,2,Voicemail(100@default)
exten => 2000,3,PlayBack(vm-goodbye)
exten => 2000,4,Hangup

;
; Now, what if the number dialed was "2001"?
;

exten => 2001,1,Dial(SIP/2001,20)
exten => 2001,2,Voicemail(101@default)
exten => 2001,3,PlayBack(vm-goodbye)
exten => 2001,4,Hangup

;
; Define a way so that users can dial a number to reach
; voicemail. Call the VoicemailMain application with the
; number of the caller already passed as a variable, so
; all the user needs to do is type in the password.
;

exten => 2999,1,VoicemailMain()

;
; According to SIP in sip.conf - sip outbound to mm
;

exten => _00[1-9].,1,Dial(SIP/mm/${EXTEN})     ; Dial Mouthmun user
exten => _66[1-9].,1,Dial(SIP/mm/${EXTEN})     ; Dial fixed or mobile phone
                                                                     ; in Thailand (66 is Thailand
                                                                     ; country code

;
; sip inbound from mm
;

[from-mm]
exten => s,1,Answer
exten => s,n,Dial(SIP/2000,20)                          ; route inbound call to extension 2000
exten => s,n,Hangup


4. edit /etc/asterisk/voicemail.conf ดังนี้ (อย่าลืม backup ไฟล์ต้นฉบับ)


[general]

format=wav|gsm

;
; format: password, name, email address for attached voicemail msgs
;

[default]
100 => 1234,Vitaya P,vitaya@adventek.biz
101 => 1234,Vitaya P,vitaya@adventek-th.com


5. หลังจากคอนฟิกไฟล์เรียบร้อยแล้วให้ reload Asterisk ดังนี้

เข้าสู่ Asterisk CLI interface

[root@ast16 asterisk]# asterisk -r
Asterisk 1.6.1.1, Copyright (C) 1999 - 2008 Digium, Inc. and others.
Created by Mark Spencer <markster@digium.com>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Connected to Asterisk 1.6.1.1 currently running on ast16 (pid = 3600)
Verbosity is at least 3
ast16*CLI>

แล้วใช้คำสั่ง reload ดังนี้

ast16*CLI>reload

ถึงตอนนี้ Asterisk ก็ run ด้วยคอนฟิกใหม่เรียบร้อยแล้ว ให้คอนฟิก softphone
2 เครื่อง เบอร์ 2000 และ 2001 ต่อเข้าระบบ Asterisk แล้วเริ่มทดสอบได้เลย

ดูการคอนฟิก softphone (x-lite) ได้จากลิ้งค์
http://www.be2hand.com/scripts/shop.php?do=article_detail&news_id=5886&user=adventek
 

adventek:
เขียน dialplan ขั้นพื้นฐาน

1. บทเริ่ม     
     Asterisk dialplan เป็นกลไกของระบบที่จะควบคุม call flow ตามที่เราต้องการ
     dialplan จะอยู่ในไฟล์ /etc/asterisk/extensions.conf   dialplan ประกอบด้วย
     4 ส่วนหลักๆ คือ contexts, extensions, priority และ applications

2. Contexts
     Context คือ section ย่อยของ dialplan   context เป็นกลุ่มของ extensions
     extensions ใน context หนึ่ง จะแยกจากกันอย่าเด็ดขาดจาก extensions ใน
     context อื่นๆ     context จะมีรูปแบบ ดังนี้

     [context-name1]
     exten => xxx,1,app1()
     exten => xxx,n,app2()
     ...
     ...
     [context-name2]
     exten => 123,1,app1()
     extex => 123,n,app2()
     ...
     ...

     extensions ที่ถัดจาก context ใดๆ ก็จะอยู่ใน context นั้น จนกว่าจะเริ่ม context ใหม่
     ชื่อ context จะประกอบด้วย A-Z, a-z, 0-9, - (hyphen), _ (underscore)
     ตัวอย่างเช่น
          [incoming]
          [outbound-sip-trunk]
          [iax_trunk] เป็นต้น
     อย่าใช้ [globals] หรือ [general] เพราะ [general] จะใช้กำหนดเรื่องทั่วไปของ dialplan ส่วน
     [globals] จะกำหนด global variables ซึ่งเราจะเรีบนรู้ต่อไป

     ชื่อ context ยาวได้ถึง 79 ตัวอักษร !!!   มีเวลาก็ลองทดสอบดู !!!

3. Extensions
     Extension คือ step ในการทำงานของระบบ   เมื่อมี call เข้ามาระบบต้องเช็คว่า call จัดอยู่ใน context ใด
     ระบบก็จะใช้ extensions ใน context นั้นๆ ในการ process โดยจะทำตาม priority ที่เราจะกล่าวถึงต่อไป
     รูปแบบของ extension
          exten => name,priority,application
     ตัวอย่าง
          exten => 2000,1,Answer()
          extension name = 2000
          priority = 1
          application = Answer()

     s extension (start extension)
          ในกรณีที่มี incoming call มาจาก trunks เช่น PSTN (TOT เป็นต้น), SIP trunk (Voip providers)
          calls เหล่านี้จะไม่มีข้อมูล extension (เลขหมายภายใน) ปลายทาง   ดังนั้นจะต้องมี
          extension พิเศษรับ calls เหล่านี้ นั่นคือ extension s

          exten => s,1,Answer()
          exten => s,n,App1()
          exten => s,n,App2()
          ...
          ...

     i extension (invalid extension)
          ในบางกรณีระบบต้องการรับ input จากผู้โทร   ถ้าผู้โทรกด input ที่นอกเหนือจากที่ระบบต้องการ
          call นั้นจะถูกส่งไปที่ i extension เพื่อ run app ที่แจ้งให้ผู้โทรทราบว่ากดผิด (เช่น ระบบ IVR)

          exten => i,1,App1()

     t extension (timeout extension)
          ในกรณีที่ระบบต้องการ input จากผู้โทร   แต่ผู้โทรไม่กด input ใดๆ จนกะทั่ง timeout ระบบ
          ก็จะส่ง call นั้นไปยัง t extension เพื่อ run app ที่กำหนดไว้ต่อไป (เช่นระบบ IVR)

          exten => t,1,App2()

     extension wildcards
          [1236-9]     หมายถึง 1 หรือ 2 หรือ 3 หรือ 6 หรือ 7 หรือ 8 หรือ 9   ตัวใดตัวหนึ่งเพียงตัวเดียวเท่านั้น
          X                หมายถึง 0 ถึง 9   ตัวใดตัวหนึ่งเพียงตัวเดียวเท่านั้น
          Z                หมายถึง 1 ถึง 9   ตัวใดตัวหนึ่งเพียงตัวเดียวเท่านั้น
          N                หมายถึง 2 ถึง 9   ตัวใดตัวหนึ่งเพียงตัวเดียวเท่านั้น
          .                 หมายถึง   ตัวเลขอะไรก็ได้หนึ่งตัวหรือมากกว่าหนึ่งตัวก็ได้

          exten => 20XX,1,Answer()

          20XX จะหมายถึง 2000 ถึง 2099   เป็นต้น

4. Priority
     แต่ละ extension อาจจะมีหลาย steps     priority คือ ลำดับของ steps   ดูตัวอย่าง
          [incoming]
          exten => 2000,1,Answer()
          exten => 2000,2,Playback()
          exten => 2000,3,Hangup()

     ระบบจะ process context incoming ตามลำดับ priority คือ 1,2,3
     
     ถ้าเราเรีบงลำดับใหม่
          [incoming]
          exten => 2000,3,Hangup()
          exten => 2000,2,Playback()
          exten => 2000,1,Answer()

     ระบบก็จะทำงานเหมือนเดิมตามตัวอย่างข้างบน คือ ดูลำดับ priority แล้วจะไล่ทำ
     Answer(), Playback() และ Hangup()

     อย่างไรก็ตามถ้าใน context มีหลายๆ steps แล้วเราต้องการแก้ไขโดยการ
     เพิ่มหรือลด steps เราก็ต้องแก้ไข priority ใหม่ทั้ง context ทำให้ไม่สะดวก
     เราจึงนิยมเขียนแบบ unnumbered priorities คือ

          [incoming]
          exten => 2000,1,Answer()
          exten => 2000,n,Playback()
          exten => 2000,n,Hangup()

     n = next ระบบจะทำ priority 1 แล้วจะทำบรรทัดถัดไป ดังนั้นเราสามารถเพิ่มหรือลด
     steps ได้โดยไม่ต้องเปลี่ยน priority

5. Applications
     Application คือ โปรแกรมที่ทำงานต่างๆ เช่น Answer() จะเป็น app ที่ตอบรับ call
     ที่เข้ามาที่ channel,   Playback(soundfile) จะเป็น app ที่เล่น soundfile เพื่อให้ผู้ที่
     โทรมารับทราบข้อมูล,   Hangup() เป็น app ที่วางสาย   จะเห็นว่าบาง app จะต้อง
     argument ตัวอย่างเช่น   Playback(soundfile)   argument คือ soundfile (ไม่ต้องมี
     file extension)

6. มาดูตัวอย่าง
     ถ้าคุณต้องการทดลองตามตัวอย่าง คุณจะต้องมีอย่างน้อย 2 extensions และ 1 trunk
     จะดูตามบทความในตอนที่ 2 ก็ได้   sip.conf มี extensions 2000, 2001 และ 1 SIP
     trunk ติดต่อกับ voip.mouthmun.com

     ตัวอย่างแรกเป็นการรับ call จาก trunk

     [from-mm]                                          ; context สำหรับ incoming จาก Mouthmun
     exten => s,1,Answer()                        ; รับ call
     exten => s,n,Dial(SIP/2000,20)             ; Dial extension 2000 โดยมี timeout = 20 วินาที
     exten => s,n,Hangup()

     ตัวอย่างข้างบน ถ้ามี call จาก trunk เข้ามาระบบจะ forward call ไปที่ extension 2000
     เราจะเพิ่ม context [from-sip] สำหรับการโทรภายในและโทรออก

     ====================================================

     [from-mm]                                          ; context สำหรับ incoming จาก Mouthmun
     exten => s,1,Answer()                        ; รับ call
     exten => s,n,Dial(SIP/2000,20)             ; Dial extension 2000 โดยมี timeout = 20 วินาที
     exten => s,n,Hangup()

     [from-sip]                                                         ; context สำหรับโทรภายใน และโทรออก
     exten => 2000,1,Answer()
     exten => 2000,n,Dial(SIP/2000,20)
     exten => 2000,n,Hangup()

     exten => 2001,1,Answer(0)
     exten => 2001,n,Dial(SIP/2001,20)
     exten => 2001,n,Hangup()

     exten => _00XXXXXXXX,1,Dial(SIP/mm/${EXTEN})     
     exten => _668XXXXXXXX,1,Dial(SIP/mm/${EXTEN})
     exten => _662XXXXXXX,1,Dial(SIP/mm/${EXTEN})

======================================================

     _ (underscore)   บอกให้ระบบทราบว่าที่ตามมาจะเป็น extension wildcards
     _00XXXXXXXX     เป็น extension wildcards สำหรับเลขหมายของ Mouthmun
                             คือ ขึ้นต้นด้วย 00 แล้วตามด้วยตัวเลขอีก 8 ตัว
     _668XXXXXXXX   เป็น extension wildcards สำหรับโทรจาก Mouthmun เข้ามือถือ
                             ประเทศไทย
     _662XXXXXXX     เป็น extension wildcards สำหรับโทรจาก Mouthmun เข้าโทรศัพท์บ้าน
                             ในเขตกรุงเทพฯ และปริมณฑล

     SIP/mm/${EXTEN}     หมายถึงโทรออกที่ trunk ชื่อ mm (definded ใน sip.conf)
                                    ${EXTEN} หมายถึงเลขหมายปลายทางที่ผู้โทรกดเพื่อโทรออก

อ่านบทความอื่นๆ http://www.be2hand.com/scripts/shop.php?user=adventek&do=view_article

adventek:
เขียน dialplan ขั้นพื้นฐาน (ต่อ)

1. ตัวแปร
     จากตัวอย่างในตอนที่แล้ว เราได้ extensions.conf ดังนี้

     ====================================================

     [from-mm]                                          ; context สำหรับ incoming จาก Mouthmun
     exten => s,1,Answer()                        ; รับ call
     exten => s,n,Dial(SIP/2000,20)             ; Dial extension 2000 โดยมี timeout = 20 วินาที
     exten => s,n,Hangup()

     [from-sip]                                                         ; context สำหรับโทรภายใน และโทรออก
     exten => 2000,1,Answer()
     exten => 2000,n,Dial(SIP/2000,20)
     exten => 2000,n,Hangup()

     exten => 2001,1,Answer(0)
     exten => 2001,n,Dial(SIP/2001,20)
     exten => 2001,n,Hangup()

     exten => _00XXXXXXXX,1,Dial(SIP/mm/${EXTEN})     
     exten => _668XXXXXXXX,1,Dial(SIP/mm/${EXTEN})
     exten => _662XXXXXXX,1,Dial(SIP/mm/${EXTEN})

     ====================================================

     จะเห็นว่าใน 3 บรรทัดสุดท้ายมี ${EXTEN}   สักษณะเช่นนี้ คือ ${NAME} เรียกว่าตัวแปร
     ${EXTEN} มีค่าเท่ากับ เลขหมายปลายทางที่ผู้โทรกด

     ${EXTEN:1}   มีค่าเท่ากับ   ตัดตัวเลขตัวแรกออกจากเลขหมายปลายทางที่ผู้โทรกด
     ตัวอย่างเช่น
   
     exten => _900XXXXXXXX,Dial(SIP/mm/${EXTEN:1})

     ถ้าเรากด 90018067894 ระบบจะตัด 9 ออกแล้ว Dial เฉพาะ 0018067894

2. Application Goto()
     ใน extensions.conf ของเรา เมื่อมีสายเข้ามา ระบบจะ ring ที่ extension 2000
     ถ้าเราต้องการให้มีระบบตอบรับอัตโนมัติเราจะต้องใช้ Application Goto() มาช่วย
     
     Application Goto() จะใช้ในการบังคับให้ระบบข้ามไป process ในบรรทัดที่ต้องการ
     มีรูปแบบ ดังนี้
 
     exten => 123,1,Goto(context,extension,priority)
     หรือ
     exten => 123,1,Goto(extension,priority)   ถ้าอยู่ใน context เดียวกัน

     มาดูตัวอย่างกันเลย modify จาก extensions.conf เดิม   ปรับเฉพาะ context ขาเข้า
     context โทรภายในและโทรออกคงไว้เช่นเดิม

     ====================================================

     [from-mm]                                          ; context สำหรับ incoming จาก Mouthmun
     exten => s,1,Answer()                        ; รับ call
     exten => s,2,Background(th-mainmenu)     ; ข้อความต้อนรับ บอกให้ผู้โทรกดเลขหมายต่างๆ
     exten => s,3,WaitExten()                       ; รอรับตัวเลขที่ผู้โทรกด
     
     exten => t,1,Goto(s,2)                         ; ถ้าผู้โทรไม่กดนานกว่า timeout (10s) ให้กลับไปที่
                                                               ; mainmenu

     exten => i,1,Playback(th-invalid)        ; ถ้าผู้โทรกดเลขหมายนอกเหนือจากที่กำหนดให้ระบบ
                                                              ; play soundfile เพื่อบอกผู้โทร
     exten => i,2,Goto(s,2)                         ; แล้วกลับไปที่ mainmenu

     exten => 2000,1,Dial(SIP/2000,20)        ; ถ้าผู้โทรกด 2000 ให้ระบบ ring extension 2000
     exten => 2001,1,Dial(SIP/2001,20)        ; ถ้าผู้โทรกด 2001 ให้ระบบ ring extension 2001

     [from-sip]                                                         ; context สำหรับโทรภายใน และโทรออก
     exten => 2000,1,Answer()
     exten => 2000,n,Dial(SIP/2000,20)
     exten => 2000,n,Hangup()

     exten => 2001,1,Answer(0)
     exten => 2001,n,Dial(SIP/2001,20)
     exten => 2001,n,Hangup()

     exten => _00XXXXXXXX,1,Dial(SIP/mm/${EXTEN})     
     exten => _668XXXXXXXX,1,Dial(SIP/mm/${EXTEN})
     exten => _662XXXXXXX,1,Dial(SIP/mm/${EXTEN})

     ====================================================

3. Branching with Application GotoIf()
     entensions.conf ในข้อ 2 สามารถทำงานได้   แต่อาจจะเกิด loop ไม่รู้จบได้   สมมติว่ามีผูโทรเข้ามา
     แล้วไม่กดอะไรเลย   ระบบจะรอจน timeout (default = 10s) แล้ว play mainmenu   และจะวน
     loop อย่างนี้ไปเรื่อยๆ   ระบบจะเสีย incoming trunk ไปโดยเปล่าประโยชน์   จะต้องมีการกำหนดให้นับ
     จำนวน loop ถ้าครบก็ให้ Hangup()   

     GotoIf() จะมีการใช้งาน ดังนี้

     exten => 123,1,GotoIf(Expression?destination1:destination2)

     โดยที่ destination1, destination2 คือ

          - priority label หรือ
          - extention,priority label หรือ
          - contect,extension,priority label

     ดูตัวอย่าง โดยการ modify extensions.conf ในข้อ 2 เพื่อไม่ให้

======================================================

[from-mm]

exten => s,1,Answer()
exten => s,2,Set(COUNT=0)                                         ; Set counter = 0
exten => s,3,Background(th-mainmenu)
exten => s,4,Set(COUNT=$[${COUNT} + 1])                  ; เพิ่ม counter
exten => s,5,GotoIf($[${COUNT} = 3]?stopping:goingon) ; เช็ค counter = 3 หรือไม่ (กำหนด maximum loop ที่นี่)
exten => s,6(stopping),Hangup()                                    ; counter = 3 ให้ Hangup()
exten => s,7(goingon),WaitExten()                                 ; counter < 3 ให้ทำงานต่อ


exten => t,1,Goto(s,3)
exten => i,1,Playback(th-invalid)
exten => i,2,Goto(s,3)


exten => 2000,1,Dial(SIP/2000,20)
exten => 2001,1,Dial(SIP/2001,20)

[from-sip]

exten => 2000,1,Answer()
exten => 2000,n,Dial(SIP/2000,20)
exten => 2000,n,Hangup()

exten => 2001,1,Answer()
exten => 2001,n,Dial(SIP/2001,20)
exten => 2001,n,Hangup()

exten => _00XXXXXXXX,1,Dial(SIP/mm/${EXTEN})าย
exten => _668XXXXXXXX,1,Dial(SIP/mm/${EXTEN})
exten => _662XXXXXXX,1,Dial(SIP/mm/${EXTEN})



62
;D ช้าเฉพาะระบบงาน PCU ตามบัญชี ต่างๆ ครับ จุดอื่นปกติ ครับ

ต้องรอ อ.ชัยพร แก้ให้เป็นแบบ
Compress protocol

63
MySQL / Re: MySQL เวอร์ชั่นไหนดีที่สุดขณะนี้
« เมื่อ: มีนาคม 31, 2010, 18:27:53 PM »
ตอนนี้กำลังทดสอบ freebsd 8.0 statbe (version ปรับปรุงจากตัวเดิม)+mysql 5.1.45 ครับ
ผลเป็นงัยเดี๋ยวมาเผยแพร่ครับแต่ขอบอกไว้ก่อนว่าใช้เวลานานมาก  ;D ;D ;D

ไม่ลอง
ทดสอบ
FreeBSD-8.0+Percona-XtraDB-5.1.43-9.1 +Xtrabackup-1.0
เร็วมากตอนใช้งาน
แต่ช้ามากกับการรอคอยที่จะได้ใช้


ขออนุเคราะห์ วิธีทำหน่อยครับ อ. pompam2

ผมทดลองลงแล้ว XtraDB แล้ว ทำงานได้ไม่ถึงเดือน มันเดี้ยง ไม่ยอม Sync ข้อมูลให้ ส่วน XtraBackup มันติด error

เลยเลิกไปพักหนึ่งแล้ว เห็น มีหลายท่านทดสอบกันแล้ว เลยอยากทดสอบอีกสักครั้งครับ

ลองติดตั้งใน    centos 4.7 + percona-xtradb 5.1.43    หรือไม่ ก็ centos 5.4 +percona-xtradb 5.1.43  ดูเลยครับ 

centos 4.7 or centos 5.4 + percona-xtradb 5.1.43 ไม่แนะนำ MariaDB-5.1.4x

64
Admin tools / Re: ไฟล์สอนเรื่องThin Client( NoDisk ) Diskless Server & Network
« เมื่อ: มีนาคม 28, 2010, 22:37:40 PM »

65
Admin tools / Re: ไฟล์สอนเรื่องThin Client( NoDisk ) Diskless Server & Network
« เมื่อ: มีนาคม 28, 2010, 22:35:51 PM »

66
มีคำถามเกียวกับการลงหัตถการใน HOSXP _PCU เวลาเด็กมารับวัคซีนครับ
1. ต้องลงหัตถการการมารับวัคซีนหรือไม่ครับ เช่น OPV จะต้องลง ฉีดยาวัคซีนป้องกันโปลิโอ รหัสที่ส่งออก ICD9 คือ 9941
2. ถ้าต้องลงหัตถการมารับวัคซีน อย่างวัคซีน DTP-HB  ก็ต้องลงหัตการทั้งหมด 4 รายการใช่ไหมครับ ? คือ
                  2.1 ฉีดยาวัคซีนป้องกันบาดทะยัก
                  2.2 ฉีดยาวัคซีนป้องกันคอตีบ
                  2.3 ฉีดยาวัคซีนป้องกันไอกรน
                  2.4 ฉีดยาวัคซีนป้องกันตับอักเสบ


ถ้าจำเป็นต้องลง จะได้เพิ่มในตาราง er_oper_code แล้วโยง icd9 เพิื่อส่งออก 18 แฟ้มครับ
ขอบคุณครับ


รวมเป็น ฉีดวัคซีน แล้วเชื่อมกับค่าฉีดยา

67
ยินดีต้อนรับ / Re: คีย์วัคซีนใน one stop service
« เมื่อ: มีนาคม 28, 2010, 10:47:35 AM »
จุดยืนทางระบบ  และจุดยืนของ ผู้ดูแลระบบ  จะแกว่ง....ไม่นิ่งไหมครับ  ถ้าผู้ใช้หลากหลายความคิด และวิธีการมากเกินไป  หรือ....อย่างไร

หลักที่สำคัญคือ ข้อมูลที่ครบถ้วนและตัวเงินที่จะเข้า รพ.

68
ยินดีต้อนรับ / Re: คีย์วัคซีนใน one stop service
« เมื่อ: มีนาคม 28, 2010, 10:31:41 AM »
ควรใช้การบันทึกข้อมูลแบบไหนดีและเหมาะสมที่สุด กับ โรงพยาบาลชุมชนครับ...รบกวนสอบถาม

ผมใช้แบบ ดูความสามารถของคนใช้ มากกว่าว่าถนัดแบบ HOSxP หรือ HOSxP PCU

แต่ส่วนใหญ่ ถนัด HOSxP PCU มากกว่า แต่อาจจะมีปัญหาตอนเพิ่ม HN ที่ HOSxP PCU
อ.ชัยพร ใช้ PCU_HN แทน HN ในตาราง serial
จึงต้องเพิ่ม HN ที่ห้องบัตร ทุกคน

ดูงานมาจาก รพช.ด่านมะขามเตี้ย
วันที่ 31 นี้ก็ส่งฝ่ายส่งเสริม ไปดูอีกรอบ

69
Development / Re: ขอเพิ่มปุ่ม Clear replication log ใน Replicate log manager
« เมื่อ: มีนาคม 28, 2010, 10:23:06 AM »
ขอถาม อ. manoi เพิ่มเติม
เกี่ยวกับการใช้ปุ่ม clear replication log กับการใช้คำสั่ง delete from replicate_log ต่างกันหรือไม่ครับ



คงไม่ต่างกันครับ

น่าจะเป็นการ ค่า replication log ของเครื่อง Master กับเครื่อง Slave เพราะ ปุ่มนี้มีที่  replication agent

70
ยินดีต้อนรับ / Re: คีย์วัคซีนใน one stop service
« เมื่อ: มีนาคม 28, 2010, 10:14:22 AM »
ไม่น่าจะมีปัญหานะครับ..key ที่บัญชี 2-3 หรือ key ที่ Onestop service ได้ข้อมูลเหมือนกัน

ได้ข้อมูลไม่เหมือนกัน
คีย์ที่บัญชี 1  จะได้ update person card home chronic เพิ่ม

แค่นี้ก็แตกต่างแล้วครับ

71
MySQL / Re: function get_serialnumber
« เมื่อ: มีนาคม 28, 2010, 10:08:53 AM »
หลังจากติดตั้ง MySQL แล้ว
ใน my.cnf
ใน section [mysqld] ให้ใส่  log_bin_trust_function_creators = 1  ไว้ก่อนเลย

ควรทำก่อนติดตั้ง MySQL เพราะทำหลังก็เป็นเหมือนเดิม

72
Admin tools / diskless ของเครื่อง ubuntu server
« เมื่อ: มีนาคม 27, 2010, 19:59:33 PM »

73
Admin tools / โปรแกรมรีโมตเครื่องแบบง่ายสุด
« เมื่อ: มีนาคม 27, 2010, 19:27:08 PM »
 ตัวนี้เด็กมากๆเลยนะครับ สำหรับโปรแกรม ควบคุมคอมพิวเตอร์ทางไกล ไม่ว่าจะใช้ในด้านการทำงาน หรือช่วยซ่อมคอมให้เพื่อน อะไรก็แล้วแต่ ตัวนี้เหมาะมากๆครับ ใช้งานง่าย โหลดไฟล์ไปแล้วสามารถ คลิกให้ทำงานได้ทันที แถมไม่ต้องจำ Ip Address ให้ยุ่งยาก เพียงคุณรันโปรแกรมทั้ง 2 ฝ่าย ที่หน้าจอของโปรแกรมจะปรากฎ ID number  ขึ้นมา แล้วให้อีกฝ่ายที่ต้องการเข้ามาดูหน้าจอ หรือควบคุมเครื่อง ใช้ ID number ในการเชื่อมต่อเข้ามาแค่นี้ก็เรียบร้อยครับ ส่วนเรื่องความปลอดภัย ไม่ต้องห่วงครับ คุณสามารถกำหนด Permission ในการใช้งานได้  และข้อมูลที่ทำการส่งตัวโปรแกรมก็ทำการเข้ารหัสให้เรียบร้อย เรียกได้ว่าปลอดภัย ง่าย และสะดวกจริงๆครับ 
http://www.ammyy.com/en/downloads.html

74
นอกเรื่อง / Re: New TOSAKUN MEETING Free Edition
« เมื่อ: มีนาคม 27, 2010, 19:16:25 PM »

75
ยินดีต้อนรับ / Re: ตรวจสอบ 18 แฟ้ม Provis
« เมื่อ: มีนาคม 27, 2010, 15:47:56 PM »
สนุกดีเหมือนกัน ยังไม่ได้ส่งเลยครับ ตั้งแต่ 52/10-53/02  วันนี้ว่าจะเริ่มทยอยส่ง

น่าจะรีบส่งนะครับ คุยกับ พี่ ที่ สปสช.
เขาว่าข้อมูลติด C จะไม่หักคะแนน แต่ขอให้ส่งให้ทันเวลาก่อน

76
MySQL / Re: mysql show
« เมื่อ: มีนาคม 27, 2010, 15:42:27 PM »
To relax the preceding conditions on function creation (that you must have the SUPER privilege and that a function must be declared deterministic or to not modify data), set the global log_bin_trust_function_creators system variable to 1. By default, this variable has a value of 0, but you can change it like this:

mysql> SET GLOBAL log_bin_trust_function_creators = 1;

You can also set this variable by using the --log-bin-trust-function-creators=1 option when starting the server.

If binary logging is not enabled, log_bin_trust_function_creators does not apply and SUPER is not required for function creation.

ปกติ จะเป็น  0

หรือจะทำไว้ที่ My.cnf ก็ได้ครับ

http://mysql-dox.net/O.Reilly-MySQL.Stored.Procedur/0596100892/mysqlspp-CHP-10-SECT-1.html

77
MySQL / Re: Percona-XtraDB 5.1.43 VS MariaDB 5.1.44
« เมื่อ: มีนาคม 27, 2010, 13:29:13 PM »

Percona-XtaDB    มี MyIsam +InnoDB ฯลฯ +XtraDB(plugin)

MariaDB               มี MyIsam +InnoDB ฯลฯ +XtraDB(plugin) +Maria


เรื่องความเสถียร จะไม่เหมือนกัน
Percona-XtaDB
จะเสถียร มากกว่า
 
ต้องลองทดสอบ MariaDB กับแรม 2 Gb สำหรับ รพท.,รพศ. ว่าระบบจะนิ่งกี่นาที่ เทียบกับ Percona-XtaDB
อันนี้คือบทพิสูจน์ ครับ
เนื่องจากผมเคยทดสอบจาก MySQL-5.1.23 มาเป็น Percona-XtaDB-5.1.43 ระบบแตกต่างอย่างเห็นได้ชัด


วัดด้วยโปรแกรมอะไรครับ

วัดจากคนใช้ระบบก็บอกได้แล้ว ว่าเป็นอย่างไร
คง ไม่ใช้ config my.cnf 2 Gb ไว้แค่ 512 Mb
ความแตกต่างเลยครับ

แล้วส่ง 18 แฟ้มได้อีก
ระบบการันตรีได้จากงานสิทธิ์

78
นอกเรื่อง / Re: New TOSAKUN MEETING Free Edition
« เมื่อ: มีนาคม 27, 2010, 13:26:07 PM »
tosakun.meeting@gmail.com
เรียน ทุกท่าน

เนื่องด้วยเราได้รับแจ้งปัญหาการติดตั้งระบบ TOSAKUN Meeting Free Edition จากผู้ที่ดาวน์โหลดไปแล้ว 2-3 รายด้วยกัน ทั้งที่ดาวน์โหลดไฟล์ได้ครบถ้วนแล้ว ซึ่งปัญหาดังกล่าวนี้ยากที่จะบอกสาเหตุที่แท้จริงได้เนื่องจากเราไม่สามารถไปตรวจสอบสถาพแวดล้อมของท่านได้ ดังนั้นเพื่อเป็นการตัดขั้นตอนการติดตั้งระบบ เราจึงใคร่เสนอชุด on the road ซึ่งเป็นชุดพร้อมใช้งาน(โดยการติดตั้ง Thumb Drive กับ Port USB 2.0 ทั่วไป) ติดตั้งบน thumb drive ขนาด 4 GB (สามารถทำสำเนาลงบน Hard Drive ได้)  ภายในชุดนอกจาก TOSAKUN MEETING Free Edition แล้ว ยังมี Open offfice 3.2 portable version ติดตั้งไปด้วย โดยมีรายละเอียดค่าใช้จ่ายดังนี้

1) Thumb Drive + ค่าจัดส่งทางไปรษณีย์   =  490.00   บาท
2) Software                                         =      0.00  บาท
3) VAT                                               =     34.30  บาท

รวม                                                          524.30  บาท

หมายเหตุ : ชุดนี้ได้รับการทดสอบกับ Windows : (XP, 2003, Windows 7) และ Linux (Ubuntu,CentOS,Fedora)

หากท่านผู้ใดสนใจจะสั่งซื้อ Thumb Drive ชุดนี้กรุณาตอบจดหมายฉบับนี้ เพื่อที่เราจะได้ดำเนินการต่อไป

ด้วยความนับถือ

--
TEAM TOSAKUN
N3A Media Limited Partnership
http://www.n3amedia.biz

Dimdim ผู้ให้บริการฟรีประชุม
http://www.it-guides.com/index.php/technology-updated/670-dimdim-free-web-conference

79
MySQL / Re: Percona-XtraDB 5.1.43 VS MariaDB 5.1.44
« เมื่อ: มีนาคม 27, 2010, 11:33:09 AM »

Percona-XtaDB    มี MyIsam +InnoDB ฯลฯ +XtraDB(plugin)

MariaDB               มี MyIsam +InnoDB ฯลฯ +XtraDB(plugin) +Maria


เรื่องความเสถียร จะไม่เหมือนกัน
Percona-XtaDB
จะเสถียร มากกว่า
 
ต้องลองทดสอบ MariaDB กับแรม 2 Gb สำหรับ รพท.,รพศ. ว่าระบบจะนิ่งกี่นาที่ เทียบกับ Percona-XtaDB
อันนี้คือบทพิสูจน์ ครับ
เนื่องจากผมเคยทดสอบจาก MySQL-5.1.23 มาเป็น Percona-XtaDB-5.1.43 ระบบแตกต่างอย่างเห็นได้ชัด

80
:) :) :)  ความรู้ดี ๆ เข้ามาเพียบ เลย ไม่ได้เข้าเน้ตมา 3 วัน  (เน้ตเจ๊งอ่ะ ที่ รพ. TT&T ตีกับ ToT)
ไม่รู้พรุ่งนี้จะใช้ได้เปล่า   เฮ้อเซ็ง  ห้องบัตรก็บ่น   พยาบาลก็ถาม  เฮ้อ.......................

ลองใช้ RV-042 กับ net 2 เส้น ( TT&Tและ ToT ) ระบบจะเสถียรขึ้นมาก
เส้นไหนมีปัญหาก็สลับใช้อีกเส้นเลย โดยเราไม่ต้องมาสนใจ

81
HOSxP 3.53.3.12c  เข้า Report Browser ไม่ได้ครับ
;D ;D ;D ;D

82
MySQL / Re: MySQL เวอร์ชั่นไหนดีที่สุดขณะนี้
« เมื่อ: มีนาคม 26, 2010, 18:37:32 PM »
ตอนนี้กำลังทดสอบ freebsd 8.0 statbe (version ปรับปรุงจากตัวเดิม)+mysql 5.1.45 ครับ
ผลเป็นงัยเดี๋ยวมาเผยแพร่ครับแต่ขอบอกไว้ก่อนว่าใช้เวลานานมาก  ;D ;D ;D

ไม่ลอง
ทดสอบ
FreeBSD-8.0+Percona-XtraDB-5.1.43-9.1 +Xtrabackup-1.0
เร็วมากตอนใช้งาน
แต่ช้ามากกับการรอคอยที่จะได้ใช้

83
MySQL / Re: Percona-XtraDB 5.1.43 VS MariaDB 5.1.44
« เมื่อ: มีนาคม 26, 2010, 18:15:16 PM »

มีใครเคยลอง MariaDB 5.1.44 บ้างหรือยังครับ

เห็น อ.บอย ว่าเหมาะกับ สอ. หรือ รพ.ขนาดเล็ก

พอจะมี config ที่เหมาะสมไหมครับ


Maria  ไมใช่ MariaDB หัดทำความเข้าใจใหม่

-MariaDB = MySQL
-Maria = storage-engine

ไม่รู้ ไม่โพสต์จะดีกว่า ไม่มีใครว่าอะไร
;D ;D ;D ;D ;D
เห็น อ.บอยใช้  MariaDB-5.1.43 กับ DATACENTER แล้วเกิดปัญหาล่มสนิท
เลยมาใช้ Percona-XtraDB 5.1.43 แทน
ล่มวันเดียวกับ Server ผมเลย
ผมใช้
Percona-XtraDB 5.1.43 ก็ดีนะครับเร็วกว่าเดิมมาก ที่ อ.สุชัย ไว้ช้ามากๆ

xtrabackup
http://hosxp.net/index.php?option=com_smf&topic=9623

84
MySQL / Re: MySQL เวอร์ชั่นไหนดีที่สุดขณะนี้
« เมื่อ: มีนาคม 24, 2010, 20:29:39 PM »
อ.บอยให้คู่มือ ทำ FreeBSD-8.0+Mysql-5.1.45 มา
เห็นแก่กำลังทำคู่มือ FreeBSD-8.0+Mysql-XtraDB-5.1.43

85
MySQL / Re: MySQL เวอร์ชั่นไหนดีที่สุดขณะนี้
« เมื่อ: มีนาคม 24, 2010, 20:21:36 PM »
สุดยอด อ.บอย   


อ.แก่สอนใช้ putty กับ winscp

พอดี Server เสียเลยยกไปหา ตั้งแต่ บ่าย 3 เสร็จ 5 ทุ่ม พร้อมแก้ข้อมูลเก่าคืนมาทั้งหมด
 ;D ;D ;D ;D ;D ;D


86
MySQL / Re: เปลี่ยนเป็นInnoDB
« เมื่อ: มีนาคม 24, 2010, 20:17:56 PM »
เพิ่งทำเป็นInnoDbเสร็จ 90% ลุ้น........สุดๆ เพราะทำในฐานจริง ขอบคุณ อ.บอย ที่ให้คำชี้แนะ ;D

ตอนพี่กำลังทำ InnoDB ผมก็อยู่กับ อ.บอย ช่วยจนเสร็จ 1 เครื่อง
ของพี่ 4 โมงเย็น จน 3 ทุ่ม

87
MySQL / Re: MySQL เวอร์ชั่นไหนดีที่สุดขณะนี้
« เมื่อ: มีนาคม 24, 2010, 20:13:21 PM »
น่าสนใจ

ผมยกไปให้ อ.บอย ลงให้ ที่ รพ.ด่านมะขามเตี้ย
สอนหลายอย่างจดไม่ทัน
แต่ได้วิธีลง  FreeBSD-8.0 +PerconaSQL 5.1.43-9 XtraDB แต่ยากมาก แต่ทำง่ายมากถ้า อ.บอยสอนลง
ทำง่าย แต่ อ.บอกให้ลองใช้ดูก่อน

88
MySQL / Re: MySQL เวอร์ชั่นไหนดีที่สุดขณะนี้
« เมื่อ: มีนาคม 24, 2010, 20:06:54 PM »
ตอนแรกเป็น FreeBSD-8.0 +PerconaSQL 5.1.43-9 XtraDB

89
MySQL / Re: MySQL เวอร์ชั่นไหนดีที่สุดขณะนี้
« เมื่อ: มีนาคม 24, 2010, 20:00:21 PM »
ภาพรวมระบบเป็นอย่างไรครับ


กำลังลง FreeBSD 8.0 + MySQL 5.1.45 เครื่องสำรอง

90
MySQL / Re: MySQL เวอร์ชั่นไหนดีที่สุดขณะนี้
« เมื่อ: มีนาคม 24, 2010, 18:32:34 PM »
ท่านใดได้ลอง Percona-XtraDB-5.1.43  บ้างครับ    ผลเป็นอย่างไรครับ


ทดสอบกับระบบจริงอยู่ครับ
CentOS 4.8+Percona-XtraDB-5.1.43

91
ยินดีต้อนรับ / Microsoft ใจดี แจกฟรี 4 License MS Web Server + SQL
« เมื่อ: กุมภาพันธ์ 21, 2010, 18:58:02 PM »
รายละเอียดโครงการ WebsiteSpark

Microsoft&reg; WebsiteSpark™ มุ่งจุดประกายความสำเร็จในกลุ่มนักพัฒนาและออกแบบเว็บของไทย โดยมอบซอฟต์แวร์และการสนับสนุน พร้อมโอกาสทางธุรกิจโดยไม่คิดค่าใช้จ่ายตลอดระยะเวลา 3 ปีของโครงการนี้ หรือชำระค่าธรรมเนียมเมื่อบอกเลิกการเข้าร่วมโครงการนี้

ประโยชน์ของโครงการ WebSiteSpark คือโอกาสในการเข้าถึงเทคโนโลยีสำหรับการโฮสต์เว็บไซต์ต่างๆ เมื่อลงทะเบียนเข้าร่วมแล้ว คุณสามารถดาวน์โหลดซอฟต์แวร์ของไมโครซอฟท์ต่อไปนี้ได้

• ซอฟต์แวร์สำหรับการออกแบบ, การทดสอบ และสาธิตเว็บไซต์ใหม่ –สิทธิ์สำหรับผู้ใช้มากถึง
  3 คนต่อ 1 องค์กรที่พัฒนาและออกแบบเว็บ:
    • Visual Studio Professional
     • Expression Studio 3 (1 user) and Expression Web 3 (up to 2 users)
     • Windows Web Server 2008 R2
     • SQL Server 2008 Web Edition

• ซอฟต์แวร์สำหรับการใช้งานเว็บไซต์ – คือซอฟต์แวร์สำหรับการติดตั้งและโฮสต์เว็บไซต์ เป็น
  สิทธิ์สำหรับ processor 4 ตัวต่อ 1 องค์กรที่พัฒนาและออกแบบเว็บใช้ได้กับเซิร์ฟเวอร์ทั้ง
  แบบจริงและเซิร์ฟเวอร์เสมือน:
    • Windows Web Server 2008 R2
     • SQL Server 2008 Web Edition

นอกจากซอฟต์แวร์แล้ว Microsoft WebsiteSpark ยังมอบโอกาสต่อไปนี้ด้วย:
• โอกาสทางธุรกิจ: สร้างโอกาสในการขยายฐานลูกค้าผ่านการนำเสนอตัวอย่างเว็บไซต์
   และติดต่อกับคู่ค้าต่างๆ ผ่านกิจกรรมทางการตลาดของไมโครซอฟท์
• การสนับสนุนและการอบรม – ได้แก่:
     • ให้ความช่วยเหลือสำหรับ professional support incidents ได้ 2 incident
     • ฟรีการอบรมออนไลน์ Managed newsgroups บนเครือข่าย MSDN (ที่มีกลุ่มนักพัฒนาอยู่
        มากกว่า 6 ล้านคน) และทรัพยากรออนไลน์ต่างๆ ของไมโครซอฟท์
     • เข้าถึงการสนับสนุนจากกลุ่ม community ผ่านการเชื่อมต่อกับ Network Partners, Hosting
        Partners และคู่ค้าอื่นๆ ที่มีเซอร์วิสและเทคโนโลยีที่เกี่ยวข้อง

จุดเด่นของโครงการ •คุณสมบัติเพื่อเข้าร่วม: บริษัทที่มีสิทธิเข้าร่วมต้องมีคุณสมบัติครบถ้วนดังต่อไปนี้
     • เป็นบริษัทหรือบุคคลธรรมดาที่เสนอบริการเกี่ยวกับการพัฒนาและออกแบบเว็บไซต์
        ให้แก่ลูกค้า
     • มีพนักงานในองค์กรไม่เกิน 10 คน (ทั้งเจ้าของกิจการและพนักงานรวมกัน)
     •เพิ่มเติม:หากต้องการเข้าร่วมกับโรงการนี้ต่อไป บริษัทผู้เข้าร่วมต้องเปิดเว็บไซต์สาธารณใหม่
        โดยใช้ซอฟต์แวร์ที่อยู่ในโครงการนี้ภายในเวลา 6 เดือนนับจากเข้าร่วมโครงการและส่ง
        รายงานการเปิดเว็บใหม่นั้นผ่านทาง WebsiteSpark Portal

ระยะเวลาของโครงการ: บริษัทที่พัฒนาและออกแบบเว็บไซต์สามารถเข้าร่วมโครงการ WebsiteSpark ได้นานถึง 3 ปี ในรอบปีแรกและปีที่สองของการเข้าร่วม บริษัทต้องอัพเดทรายละเอียดทุกปี (เช่น ยืนยันว่ายังไม่ได้ขายหุ้นเป็นองค์กรมหาชน และสถานภาพของการถือครองกิจการยังไม่เปลี่ยนแปลง)

ค่าธรรมเนียม: ต้องชำระค่าธรรมเนียมโครงการมูลค่า $100 เมื่อองค์กรบอกยกเลิกการเข้าร่วมโครงการ และไม่มีการชำระเงินค่าธรรมเนียมตั้งต้นเมื่อเข้าร่วมโครงการนี้

หากต้องการทราบรายละเอียดฉบับสมบูรณ์ สามารถเข้าไปดูได้ที่ WebsiteSpark Program Guide.


Register ที่นี่ : http://www.microsoft.com/web/websitespark/webpro/signup.aspx

สมัคร http://www.hiderefer.com/?http://www.microsoft.com/web/websitespark/webpro/signup.aspx

http://www.thaiadmin.org/board/index.php?topic=116430.0

93
เป็นอะไรดีครับ   เกี่ยวกับ  sequence ตารางส่งออก(ตารางยา)  หรือเกี่ยวกับ service que รอจ่ายยา หรือว่าอะไรดีเอ่ย  อยากรู้เหมือนกันครับ

ต้องรอท่านผู้รู้มาตอบ

94
เป็นอยู่ 2 ตารางครับ คือ ksklog กับ replicate_log ต้องแก้ไขยังไงบ้าง

ลบทิ้งทั้ง 2 ตาราง
แต่ต้อง BACKUP เก็บไว้ก่อน

95
MySQL / Re: error innodb_file_per_table ใครก๊ได้ช่วยที
« เมื่อ: กุมภาพันธ์ 16, 2010, 18:21:37 PM »
ดูจาก my.cnf แลัวขาด
หลายตัว

[client]
port      = 3306
socket      = /var/lib/mysql/mysql.sock
default-character-set=tis620

[mysqld]
port      = 3306
socket      = /var/lib/mysql/mysql.sock
skip-locking
key_buffer = 300M
max_allowed_packet = 16M
table_cache = 1500
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 1M
myisam_sort_buffer_size = 128M
thread_cache = 8
query_cache_size= 128M
max_heap_table_size = 128M

thread_concurrency = 8
default-character-set=tis620
skip-name-resolve
innodb_file_per_table
skip-character-set-client-handshake
init_connect = 'SET NAMES tis620'
log_bin_trust_function_creators = 1

innodb_file_per_table
innodb_data_home_dir = /var/lib/mysql/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /var/lib/mysql/
#innodb_log_arch_dir = /var/lib/mysql/
innodb_buffer_pool_size = 1200M
innodb_additional_mem_pool_size = 20M
innodb_log_file_size = 134217728
innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 1
innodb_flush_log_at_trx_commit=2
innodb_flush_method=O_DIRECT
innodb_support_xa = 0
innodb_doublewrite = 0
innodb_table_locks = 0
innodb_lock_wait_timeout = 50

[mysqldump]
quick
max_allowed_packet = 16M
allow-keywords

[mysql]
no-auto-rehash
default-character-set=tis620

[isamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M

[myisamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout


แก้

[client]
port      = 3306
socket      = /var/lib/mysql/mysql.sock
default-character-set=tis620

[mysqld]
port      = 3306
socket      = /var/lib/mysql/mysql.sock
default-storage-engine=INNODB
default_table_type = INNODB
skip-locking
key_buffer = 128M
max_allowed_packet = 512M
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 1M
myisam_sort_buffer_size = 128M
thread_cache = 8
query_cache_size= 128M
max_heap_table_size = 512M

thread_concurrency = 32
default-character-set=tis620
skip-name-resolve
innodb_file_per_table = 1
skip-character-set-client-handshake
init_connect = 'SET NAMES tis620'
log_bin_trust_function_creators = 1

innodb_data_home_dir = /var/lib/mysql/
innodb_data_file_path = ibdata1:100M:autoextend
innodb_log_group_home_dir = /var/lib/mysql/
innodb_log_files_in_group = 3
innodb_buffer_pool_size =  5G
innodb_additional_mem_pool_size = 20M
innodb_log_file_size =  1G
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit=2
innodb_flush_method=O_DIRECT
innodb_support_xa = 0
innodb_doublewrite = 0
innodb_table_locks = 0
innodb_lock_wait_timeout = 50

innodb_io_capacity = 10000
innodb_write_io_threads = 32
innodb_read_io_threads = 32
innodb_checksums = 0
table_open_cache = 8000
low_priority_updates=1

[mysqldump]
quick
max_allowed_packet = 1024M
allow-keywords

[mysql]
no-auto-rehash
default-character-set=tis620

[isamchk]
key_buffer = 1024M
sort_buffer_size = 1024M
read_buffer = 8M
write_buffer = 8M

[myisamchk]
key_buffer = 1024M
sort_buffer_size = 1024M
read_buffer = 8M
write_buffer = 8M

[mysqlhotcopy]
interactive-timeout

[mysqld_safe]
open-files-limit = 8192


หน้า: 1 [2]