eBusiness 11i/R12 - Daily Checks (for Apps. DBA) - Admin Node
การที่เราเป็น Apps. DBAที่ดีได้ สิ่งหนึ่งที่เราควรจะทำทุกวันคือ Check System ของเราว่า ทุกอย่าง ยังใช้งานได้ปรกติ เรียบร้อยดี
โดยใช้คำสั่งต่างๆต่อไปนี้ในการ Check...
Listener Status
$ lsnrctl status PROD
File System Space Utilization
$ df -h
Operating System - eBusiness DB and Concurrent Process/es
$ ps -ef |grep pmon|grep -v grep
$ ps -ef |grep FNDLIBR|grep -v grep
eBusiness DB Instance
SQL> SELECT instance_name,host_name,TO_CHAR(startup_time,'DD-MON-YYY HH:MM:SS AM') startedat FROM v$instance;
Invalid Objects
SQL> select owner,object_name,object_type from dba_objects where status<>'VALID';
Inactive Users
SQL> select username,command,status,server,osuser,machine,terminal,program,module,action from v$session where status<>'INACTIVE';
Active Sessions
SQL> select inst_id,count(*) from gv$session group by inst_id;
Active Users Detail
SQL> select username,command,status,osuser,process,machine,terminal,program,module,action from v$session where status<>'ACTIVE';
Data Files Status
SQL> select name,status from v$datafile;
Log Files Status
SQL> select * from v$log;
Archiving Errors
SQL> select error from v$archive_dest;
Tablespace Free Space
SQL> select tablespace_name,round (sum(bytes)/1024/1024) Free_Space_MB from dba_free_space group by (TABLESPACE_NAME);
Invalid Indexes
SQL> select index_name,table_name from dba_indexes where status ='INVALID' and owner='APPS';
eBusiness 11i/R12 - Applications Listener Status
$ sh $COMMON_TOP/admin/scripts/PROD_oracle2/adalnctl.sh status
Checking on the status of Report Server
$ sh $ORACLE_HOME/admin/scripts/PROD_oracle2/adrepctl.sh status
Database Connectivity via Apps. user without Connect String
$ sqlplus -S -M "HTML ON TABLE 'BORDER="2"'" "apps/****" @/oracle/appsprod/AOT/appschk.sql > /oracle/appsprod/AOT/output.html
Saturday, October 31, 2009
Friday, October 30, 2009
[news] ชาว Open source เป็นห่วงอนาคต MySQL
จำนวนกลุ่มคนที่ใช้ Open-source หรือ ซอฟต์แวร์เสรี เริ่มมีเสียงกันมากขึ้น หลังจากที่ Oracle ได้ซื้อ Sun และเข้ารวบกิจการ Open source ของ ฐานข้อมูล MySQL
เป็นที่น่าประหลาดใจว่า กลุ่มของผู้ใช้งาน Open-source เหล่านั้น ไม่ได้มีเสียงคัดค้าน ในการเปลี่ยนแปลงเจ้าของ MySQL จาก Sun Microsystems Inc.ที่เคยเป็นเจ้าของ เปลี่ยนมาเป็น Oracle แทน ซึ่งถูกซื้อไปในราคา 7.4 สิบล้าน US
ซึ่ง Oracle กล่าวว่า การเปลี่ยนแปลงนี้จะไม่ทำให้เกิดการกระทบกระทั่งกับฐานข้อมูล open source แน่นอน
กลุ่มคนผู้สนับสนุน กล่าวว่า มอนตี้ ไวด์เนียส (Monty Widenius) ซึ่งเป็นผู้ก่อตั้ง MySQL ให้ MySQL เป็น open source โดยมี ริชาร์ด สตอลแมน (Richard Stallman) เป็นผู้สนับสนุน
และอื่นๆ ยังไม่มั่นใจในอนาคตของ MySQL ว่าจะผ่านการตรวจสอบจากกรรมาธิการยุโรป (European Commission) หรือไม่ ซึ่ง EU อาจเพิกถอนการจัดการทั้งหมดหรืออย่างน้อยก็บังคับ Oracle ให้ขาย MySQL ออก
"ฉันอาจจะมีความคิดเห็นขัดแย้งในประเด็นนี้แต่ฉันไม่คิดว่า Oracle จะมีพลังพอในด้านการตลาด" มาร์ก ชัทเทิลเวิร์ธ (Mark Shuttleworth) ผู้ก่อตั้งและ CEO ของ Canonical Ltd.,ผู้ผลิตจำหน่ายของอูบุนตูลินุกซ์ (Ubuntu) กล่าว ซึ่งล่าสุดอูบุนตู Server 9.10 ก็ใช้ MySQL อยู่ด้วยเหมือนกัน
อ้างอิง
เป็นที่น่าประหลาดใจว่า กลุ่มของผู้ใช้งาน Open-source เหล่านั้น ไม่ได้มีเสียงคัดค้าน ในการเปลี่ยนแปลงเจ้าของ MySQL จาก Sun Microsystems Inc.ที่เคยเป็นเจ้าของ เปลี่ยนมาเป็น Oracle แทน ซึ่งถูกซื้อไปในราคา 7.4 สิบล้าน US
ซึ่ง Oracle กล่าวว่า การเปลี่ยนแปลงนี้จะไม่ทำให้เกิดการกระทบกระทั่งกับฐานข้อมูล open source แน่นอน
กลุ่มคนผู้สนับสนุน กล่าวว่า มอนตี้ ไวด์เนียส (Monty Widenius) ซึ่งเป็นผู้ก่อตั้ง MySQL ให้ MySQL เป็น open source โดยมี ริชาร์ด สตอลแมน (Richard Stallman) เป็นผู้สนับสนุน
และอื่นๆ ยังไม่มั่นใจในอนาคตของ MySQL ว่าจะผ่านการตรวจสอบจากกรรมาธิการยุโรป (European Commission) หรือไม่ ซึ่ง EU อาจเพิกถอนการจัดการทั้งหมดหรืออย่างน้อยก็บังคับ Oracle ให้ขาย MySQL ออก
"ฉันอาจจะมีความคิดเห็นขัดแย้งในประเด็นนี้แต่ฉันไม่คิดว่า Oracle จะมีพลังพอในด้านการตลาด" มาร์ก ชัทเทิลเวิร์ธ (Mark Shuttleworth) ผู้ก่อตั้งและ CEO ของ Canonical Ltd.,ผู้ผลิตจำหน่ายของอูบุนตูลินุกซ์ (Ubuntu) กล่าว ซึ่งล่าสุดอูบุนตู Server 9.10 ก็ใช้ MySQL อยู่ด้วยเหมือนกัน
อ้างอิง
ข้อเขียนนี้ช่วยฉัน: |
Thursday, October 29, 2009
Real-Time Monitoring SQL กับ Database Control
Feature อีกอันที่ออกมาใหม่พร้อมกับ Oracle Database 11g Release 2 ใน Enterprise Manager คือ Real-Time SQL Monitoring ซึ่งโดยทั่วไป ใน 11g ก็สามารถทำ Real-Time SQL Monitor ได้อยู่แล้ว โดยใช้คำสั่ง
และ
แต่สำหรับใน Enterprise Manage ของ 11gR2 นี้ มี GUI ที่เราสามารถทำการ Mornitor ได้โดยไม่ต้องพิมพ์ command
เราจะลองยกตัวอย่างสาธิตให้ดู โดย...สมมุติว่าเราต้องการ สร้างตารางการขาย ขนาดใหญ่ (560 M) เพื่อ Select statement ซึ่งกินเวลามากกว่า 30 วินาที
ขั้นแรก เราไปที่ Performance page > Top Activity ตามปรกติ
Statement จะมี run หลายครั้งก่อนหน้านี้ ทำให้จะมีตัวเลขมีสถิติแสดงไว้ด้านหลัง
เราสามารถเห็นเวลาในการ run ได้ พร้อมกับในขณะที่ Statement มีการ run อยู่ (20 วินาที) ตามรูปด้านล่าง
หลังจากที่ statement ทำการ run เสร็จเรียบร้อยแล้ว ก็จะแสดงดังภาพข้างล่างนี้
แค่นี้ ก็จะทำให้ เราสามารถรู้ระยะเวลาในการ run real time ได้อย่างง่ายดาย
อ้างอิง
V $ SQL_MONITOR
และ
V $ SQL_PLAN_MONITOR
แต่สำหรับใน Enterprise Manage ของ 11gR2 นี้ มี GUI ที่เราสามารถทำการ Mornitor ได้โดยไม่ต้องพิมพ์ command
เราจะลองยกตัวอย่างสาธิตให้ดู โดย...สมมุติว่าเราต้องการ สร้างตารางการขาย ขนาดใหญ่ (560 M) เพื่อ Select statement ซึ่งกินเวลามากกว่า 30 วินาที
ขั้นแรก เราไปที่ Performance page > Top Activity ตามปรกติ
Statement จะมี run หลายครั้งก่อนหน้านี้ ทำให้จะมีตัวเลขมีสถิติแสดงไว้ด้านหลัง
เราสามารถเห็นเวลาในการ run ได้ พร้อมกับในขณะที่ Statement มีการ run อยู่ (20 วินาที) ตามรูปด้านล่าง
หลังจากที่ statement ทำการ run เสร็จเรียบร้อยแล้ว ก็จะแสดงดังภาพข้างล่างนี้
แค่นี้ ก็จะทำให้ เราสามารถรู้ระยะเวลาในการ run real time ได้อย่างง่ายดาย
อ้างอิง
ข้อเขียนนี้ช่วยฉัน: |
Thursday, October 22, 2009
Ribbit สำหรับ Oracle CRM เปิดให้ทดลองเวอร์ชั่นเบต้า แล้ว
วันนี้เรามี Product ที่เกี่ยวกับ Oracle มาแนะนำอีกแล้ว คือ Ribbit For Oracle CRM ในเวอร์ชั่น Beta
ก่อนอื่นเลย เรามาทำความรู้จักเกี่ยวกับ Ribbit กันก่อนดีกว่า
Ribbit คือ Open Platform สำหรับการติดต่อสื่อสารโดยใช้ Voiceware Application ซึ่ง Oracle ได้เลือก Application นี้ ให้เข้ามามีส่วนร่วมใน Circle Program ของ Oracle โดย Ribbit สำหรับ Oracle นี้ จะเข้ามามีบทบาทในด้าน Oracle CRM On Demand เพราะว่า Ribbit สามารถเปลี่ยนจากเสียง ให้เป็นข้อความแล้วส่งเป็น SMS หรือ Email ให้ลูกค้าได้
สำหรับบริษัทที่ใช้ CRM ในการจัดการธุรกิจ มีมุมมองว่า Application นี้ ไม่ใช่เป็นสิ่งที่ มีหรือไม่มี ใช้หรือไม่ใช้ ก็ได้ แต่มันเป็น “ยิ่งกว่าสิ่งจำเป็น” สำหรับยุคที่โทรศัพท์มือถือ เข้ามามีบทบาทในการดำรงชีวิตมากขึ้น (Mobile Addict) ดังนั้น Application เหล่านี้ จะทำให้องค์กรที่ให้บริการทางด้าน CRM สามารถเพิ่มศักยภาพ ในการบริการและการขายได้มากขึ้น ด้วยการใช้ เทคโนโลยีที่น้อยลง
ผู้ที่ต้องการจะฝากข้อความเสียงส่วนใหญ่ มักจะโทรศัพท์ไปที่เบอร์นั้น แล้วฝากข้อความเสียงไว้ เพราะว่ามันง่ายมากกว่าการพิมพ์หรือส่ง sms แต่ในบางที ผู้ที่ได้รับข้อความจะต้องเสียเวลาเพื่อทำการโทรไปเพื่อฟังข้อความเสียงเหล่านั้น หรือบางทีผู้ที่ได้รับข้อความอาจลบข้อความเสียงไป ซึ่งอาจทำให้พลาดข้อความสำคัญได้
Ribbit For Oracle จะช่วยทำให้ผู้ใช้งาน ไม่สิ้นเปลืองเวลาในการโทรไปฟังข้อความเสียงที่ฝากไว้ในโทรศัพท์หรืออาจะเป็นกังวลกับข้อความเสียงที่ถูกลบ โดย ผู้ใช้งานจะทำการโทรศัพท์โดยออกคำสั่งเป็นเสียงเพื่อจดบันทึกต่างๆแทนการพิมพ์ แล้วข้อมูลเสียงนั้น เช่น การโทรศัพท์ (Calls) การส่งข้อความเสียง (Voicemail) และการบันทึกเสียง (Voice Memo) จะไหลเข้าสู่ระบบ CRM On Demand ของ Oracle พร้อมกับคำอธิบาย
เร็วๆนี้ TMCnet มีข่าวว่า Ribbit ได้ประกาศว่า Application Ribbit สำหรับการประชุม (Conferencing) และ Ribbit สำหรับข้อความเสียง(voice message) ได้ถูกเลือกให้เป็น Feature หนึ่งของ Google Wave ซึ่ง Ribbit สำหรับการประชุม (Conferencing) จะช่วยให้ผู้เข้าร่วมประชุม Conference สามารถสื่อสารโดยส่งเสียงได้พร้อมกันแบบเรียลไทม์(Real-Time) ใน google wave ซึ่ง Application นี้ ทำให้เหมือนกับการประชุมจริงๆ คือคนสามารถใช้เสียงในการพูดได้เหมือนเวลาพิมพ์เลยทีเดียว นอกจากนั้น Ribbitสำหรับการประชุม(Conferencing)นี้ ยังอนุญาตให้ผู้ใช้งาน สามารถสร้างการประชุมใน google wave ได้หลายการประชุม มี feature เสียงเงียบ ถือสายรอ หรือยกเลิกการประชุมได้ด้วยเช่นกัน
อ้างอิง
ข้อเขียนนี้ช่วยฉัน: |
Wednesday, October 21, 2009
การทำ Auto Startup Database, Listener และ Enterprise Manager
ปกติเมื่อทำการ Install Database นั้น เมื่อทำการ Boot OS จะไม่ได้มีการตั้งให้ Auto Startup แต่เราสามารถตั้งค่าให้มีการ Auto Startup ได้ โดยทำตามขั้นตอนต่างๆดังต่อไปนี้
- ขั้นแรก ทำการเข้าสู่ระบบด้วย User Root
- จากนั้น แก้ไขไฟล์ Oratab ซึ่งอยู่ใน /etc/oratab โดยแก้ไขที่บรรทัดล่างสุด จาก N ให้เปลี่ยนเป็น Y จะเป็นการกำหนดให้ Database มีค่า Default เป็น Auto Startup
ORCL:/oracle/db11201:Y
- ทำการสร้าง Script ชื่อ oracle ไว้ที่ /etc/init.d ดังนี้
- ทำการ Add ให้ Oracle เข้าไปอยู่ใน Startup Process โดยใช้คำสั่งต่อไปนี้
- เสร็จสิ้นการทำให้ฐานข้อมูลมีการ Auto Startup เมื่อทำการ Boot OS
- ถ้าต้องการให้มีการ Auto Startup Listener ก็ให้ทำการสร้าง Script ชื่อ Listener ไว้ที่ /etc/init.d เช่นเดิมดังนี้
- จากนั้น ทำการ Add ให้ Listener เข้าไปอยู่ใน Startup Process โดยใช้คำสั่ง
- ถ้าต้องการให้มีการ Auto Startup Enterprise Manager ก็ให้ทำการสร้าง Script ชื่อ EM ไว้ที่ /etc/init.d เช่นเดิมดังนี้
- และ ทำการ Add ให้ EM เข้าไปอยู่ใน Startup Process โดยใช้คำสั่ง
#!/bin/bash # Initial file for auto starting and stopping database # Source function library. . /etc/rc.d/init.d/functions ORACLE_OWNER=”oracle” ORACLE_HOME=”/oracle/db11201″ case “$1″ in start) echo -n $”Starting Oracle DB:” su – $ORACLE_OWNER -c “$ORACLE_HOME/bin/dbstart $ORACLE_HOME” echo “OK” ;; stop) echo -n $”Stopping Oracle DB:” su – $ORACLE_OWNER -c “$ORACLE_HOME/bin/dbshut $ORACLE_HOME” echo “OK” ;; *) echo $”Usage: $0 {start|stop}” esac
chmod 750 oracle chkconfig --add oracle
#!/bin/bash # # Initial file for auto starting and stopping Listener # Source function library. . /etc/rc.d/init.d/functions ORACLE_OWNER=”oracle” ORACLE_HOME=”/oracle/db11201″ case “$1″ in start) echo -n $”Starting Oracle Listener:” su – $ORACLE_OWNER -c “$ORACLE_HOME/bin/lsnrctl start” echo “OK” ;; stop) echo -n $”Stopping Oracle Listener:” su – $ORACLE_OWNER -c “$ORACLE_HOME/bin/lsnrctl stop” echo “OK” ;; *) echo $”Usage: $0 {start|stop}” esac
chmod 750 Listener chkconfig --add Listener
#!/bin/bash # # Initial file for auto starting and stopping Enterprise Manager # Source function library. . /etc/rc.d/init.d/functions ORACLE_OWNER=”oracle” ORACLE_HOME=”/oracle/db11201″ case “$1″ in start) echo -n $”Starting Oracle EM DB Console:” su – $ORACLE_OWNER -c “$ORACLE_HOME/bin/emctl start dbconsole” echo “OK” ;; stop) echo -n $”Stopping Oracle EM DB Console:” su – $ORACLE_OWNER -c “$ORACLE_HOME/bin/emctl stop dbconsole” echo “OK” ;; *) echo $”Usage: $0 {start|stop}” esac
chmod 750 EM chkconfig --add EM
ข้อเขียนนี้ช่วยฉัน: |
Monday, October 19, 2009
มี Slide Practice งาน OpenWorld มาฝาก
วันนี้ เรามี Slide Presentation ที่แสดงในงาน OpenWorld มาฝากกัน โดยหัวข้อของ Slide ของ Presentation คือ Oracle ADF: Oracle Fusion Applications Teams
คุณสามารถ Download Practice ได้ที่นี่ BestPracticesWorkspaces.zip
คุณสามารถ Download Practice ได้ที่นี่ BestPracticesWorkspaces.zip
ข้อเขียนนี้ช่วยฉัน: |
Annotation Part#3 (Final)
บทความสุดท้ายนี้ เราจะกล่าวถึง 3 ตัวที่เหลือ ก็คือ Default Value, Single Value Annotation, และ Marker Annotation ครับ
Default Value
บางครั้ง element ใน annotation เราสามารถกำหนดค่าเริ่มต้นให้กับ element ได้โดยใช้คำสงวนว่า default แล้วตามด้วยค่าที่ต้องการให้เป็นค่าเริ่มต้นของ element ดังตัวอย่างด้านล่าง
Single Value Annotation
ในบางครั้งที่ annotation ของเรามี element แค่เพียง element เดียว ทำให้เราก็ไม่อยากจะมากำกับชื่อของ element ดัง เช่น @Author สังเกตได้ว่ามีเพียงแค่ element เดียวก็จริงแต่เวลาที่เราเรียกใช้นั้นเรายังต้องระบุชื่อในการกำหนด element
Marker Annotation
เป็น annotation ที่ไม่มี element อะไรทั้งสิ้น โดยที่มีไว้เหมือนเป็นจุดมุ่งหมายเพื่อทำการ mark ยกตัวอย่างเช่น
Reference from : dr. Werasak Suengtaworn
Compose by : @plaumkamon
Default Value
บางครั้ง element ใน annotation เราสามารถกำหนดค่าเริ่มต้นให้กับ element ได้โดยใช้คำสงวนว่า default แล้วตามด้วยค่าที่ต้องการให้เป็นค่าเริ่มต้นของ element ดังตัวอย่างด้านล่าง
เราลองไปดูในตัวอย่างใน file CTest.java โดยในนี้จะมีการประกาศ element ให้มีค่าเริ่มต้นไว้ทั้งหมด() default "Default" ;
@Retention(RetentionPolicy.RUNTIME) @interface Author { String name() default "John Rambo" ; String email() default "john@rambo.com"; }จากนั้นลอง run ดูตามใน code ตัวอย่าง
Single Value Annotation
ในบางครั้งที่ annotation ของเรามี element แค่เพียง element เดียว ทำให้เราก็ไม่อยากจะมากำกับชื่อของ element ดัง เช่น @Author สังเกตได้ว่ามีเพียงแค่ element เดียวก็จริงแต่เวลาที่เราเรียกใช้นั้นเรายังต้องระบุชื่อในการกำหนด element
@Author( name = "John Rambo" )แต่เราจะเรียกแบบไม่ระบุชื่อแบบตัวอย่างด้านล่างนี้ไม่ได้
@Author("John Rambo")การที่เรามี element แค่เพียง element เดียว และเราต้องการที่จะไม่ต้องใส่ชื่อของ element ในตอนใช้ annotation เราต้องประกาศ element ที่มีชื่อว่า value
String value();จากนั้นเราลองไปดูในตัวอย่างกัน
@Retention(RetentionPolicy.RUNTIME) @interface Author { String value(); }จากนั้นเราลองเรียกใช้ดู
@Author("John Rambo") class D { } class DTest { public static void main(String args[]) { Author a = D.class.getAnnotation(Author.class); System.out.println(a.value()); } }สังเกตเวลาเราเอาค่าออกมานั้นก็ยังใช้วิธีเหมือนเดิม
NOTE
ลองดูว่าเราสามารถประกาศ element value ปนกับ element อื่นได้ไหม ถ้าได้เราจะยังสามารถประกาศ Annotation แบบที่ไม่ต้องระบุชื่อ element ได้อีกไหม (คำตอบคือได้**แต่ต้องระบุค่า element อื่นให้มีค่าเป็น default ด้วย**)
ลองดูว่าเราสามารถประกาศ element value ปนกับ element อื่นได้ไหม ถ้าได้เราจะยังสามารถประกาศ Annotation แบบที่ไม่ต้องระบุชื่อ element ได้อีกไหม (คำตอบคือได้**แต่ต้องระบุค่า element อื่นให้มีค่าเป็น default ด้วย**)
Marker Annotation
เป็น annotation ที่ไม่มี element อะไรทั้งสิ้น โดยที่มีไว้เหมือนเป็นจุดมุ่งหมายเพื่อทำการ mark ยกตัวอย่างเช่น
// ETest.java Marker @Retention(RetentionPolicy.RUNTIME) @interface John{ } @Retention(RetentionPolicy.RUNTIME) @interface Jack{ } @John class A { @Jack public void f() { } }ในตัวอย่างนี้มี @John และ @Jack ซึ่งเป็น annotation ที่ไว้ใช้ประกาศว่าใครเป็นผู้สร้าง source code อะไรซึ่งคล้ายกับ @Author เพียงแต่การต้องระบุ element name ลงไปเพื่อเป็นการแยกว่าเป็นใคร แต่ Mark Annotation นั้นใช้ annotation เป็นตัวแยกเลย ซึ่งวิธีการใช้ก็จะแตกต่างกันนิดหน่อย
class ETest { public static void main(String args[]) throws Exception { System.out.println(A.class.isAnnotationPresent(John.class)); System.out.println(A.class.isAnnotationPresent(Jack.class)); Method m = A.class.getMethod("f"); System.out.println(m.isAnnotationPresent(John.class)); System.out.println(m.isAnnotationPresent(Jack.class)); } }ของเดิมเราจะเอาค่าของ element ใน annotation มาใช้แต่ในของ Mark Annotation นั้นเราเอา annotation มาใช้เปรียบเทียบดังใน code ตัวอย่าง
Reference from : dr. Werasak Suengtaworn
Compose by : @plaumkamon
ข้อเขียนนี้ช่วยฉัน: |
Labels:
database,
invert prahs,
java,
oracle,
oracle.in.th,
problems
Friday, October 16, 2009
Larry Young
ช่วงนี้กำลังมีงาน OpenWorld จึงได้เห็น Larry Ellison อยู่บ่อย ๆ
วันนี้เข้าไปดู "Photos: Inside Oracle OpenWorld" ที่ C|NET จึงได้เห็นว่า Larry เริ่มดูแก่ตัวลงไปมาก
แต่ก็ยังไม่น่าตกใจ เท่ากับเห็นรูป Steve Jobs ผอมมากหลังจากไปรักษาตัวอยู่ 6 เดือน
จากที่เห็น Larry ในปัจจุบัน, จึงอยากดูรูป Larry สมัยหนุ่ม ๆ ว่าหน้าตาเป็นอย่างไร
ใช้ Google Image Search เจอรูปนี้
สมัยหนุ่ม ๆ ดูหน้าตาใจดีมาก
ส่วนคนข้าง ๆ Larry คือใคร มีใครพอรู้บ้าง?
@chootham, @surachart พอรู้มั้ย?
วันนี้เข้าไปดู "Photos: Inside Oracle OpenWorld" ที่ C|NET จึงได้เห็นว่า Larry เริ่มดูแก่ตัวลงไปมาก
จากที่เห็น Larry ในปัจจุบัน, จึงอยากดูรูป Larry สมัยหนุ่ม ๆ ว่าหน้าตาเป็นอย่างไร
ใช้ Google Image Search เจอรูปนี้
สมัยหนุ่ม ๆ ดูหน้าตาใจดีมาก
ส่วนคนข้าง ๆ Larry คือใคร มีใครพอรู้บ้าง?
@chootham, @surachart พอรู้มั้ย?
ข้อเขียนนี้ช่วยฉัน: |
Thursday, October 15, 2009
[Event] สัมมนา Oracle Technology Network DBA Day
หลังจากที่ Oracle ได้จัด Event เรื่อง “Oracle Technology Summit” ในวันที่ 29 ตุลาคม 2552 นี้แล้ว ในวันรุ่งขึ้น หรือวันที่ 30 ตุลาคม 2552 Oracle ก็ยังจัดสัมมนาอีกเรื่องนึง คือ Oracle Technology Network DBA Day เป็นลงลึกไปทาง Technical feature และ Tools ต่างๆของ Oracle Database 11g Release 2 ซึ่ง Database Administrators ทั้งหลาย ไม่ควรพลาดเลยทีเดียว ซึ่ง event นี้ จัดที่ โรงแรมคอนราด ห้อง แกรนด์บอลลูม 2 และ 3 (CONRAD -Grand Ballroom 2-3) ในวันที่ 30 ตุลาคม 2552 เวลา 08:00 น. - 16:35 น.
ในการสัมมนานี้ จะมี หัวข้อต่างๆที่น่าสนใจ ตั้งแต่...
- อธิบายเกี่ยวกับ Oracle Database 11g R2
- เรียนรู้วิธีการปรับปรุงสมรรถนะของฐานข้อมูลให้ใช้ประสิทธิภาพได้เต็มที่
- เพิ่มความเข้าใจเกี่ยวกับการสร้างกลุ่มของข้อมูล (Cluster) ขนาดใหญ่ด้วยวิธีง่ายๆ
- การรวม Oracle Clusterware อย่างมีประสิทธิภาพ
- เรียนรู้เกี่ยวกับการ ติดต่อกับฐานข้อมูล Oracle RAC กับ Address เดียว (Single Client Access Name)
- ทำความรู้จักอย่างละเอียดของ Feature ใหม่ๆกับ Automatic Storage
- การ Upgrade ง่ายๆ ใน Oracle Database 11g Release 2
http://www.oraclethai.com/dbaday/
สามารถดูรายละเอียดเพิ่มเติมได้ที่
http://www.oracle.com/global/ea/start/th/2009/dbaday/einvite-otn-en.html
ดู Events อื่นๆของ Oracle ได้ที่นี่ More Events
อ้างอิง
ข้อเขียนนี้ช่วยฉัน: |
Wednesday, October 14, 2009
[Event] สัมมนา Oracle Technology Summit
ภายในเดือนตุลาคมนี้ ทาง Oracle มีการจัด Event ที่น่าสนใจในประเทศเรา อยู่หลาย Events แต่ในบทความนี้ เราจะกล่าวถึง สัมมนาฟรี ที่ Oracle จัดขึ้นที่ โรงแรมคอนราด ห้อง แกรนด์บอลลูม (CONRAD - Grand Ballroom) ในวันที่ 29 ตุลาคม 2552 เวลา 08:00 น. - 16:35 น. โดยหัวข้อการสัมมนาครั้งนี้คือ
“Oracle Technology Summit” นวัตกรรมใหม่จาก Oracle เครื่องมือแห่งความสำเร็จที่ผู้นำเช่นคุณควรรู้
เชิญร่วมงาน Oracle Technology Summit เพื่อร่วมเป็นส่วนหนึ่งในการเปิดตัววัตกรรมใหม่ล่าสุด Oracle Database 11gR2 และ Oracle Fusion Middleware 11g
การสัมนาจะอัดแน่นไปด้วยการบรรยายเกี่ยวกับกลยุทธและคุณลักษณะใหม่ล่าสุดของ Oracle Technology นอกจากนี้แล้ว คณะผู้บรรยายจะนำเสนอแนวคิดอันลึกซึ้งที่แสดงให้เห็นถึงความเกี่ยวข้องกันระหว่าง Oracle Database 11gR2 และ Fusion Middleware 11g ที่มีต่อทิศทางและแผนการต่างๆของ ไอทีและองค์กร
นอกจากนั้น คุณจะได้ร่วมเรียนรู้ ว่านวัตกรรมใหม่ล่าสุดของ Oracle จะช่วยให้องค์กรของท่าน
- ทำงานได้อย่างรวดเร็วคล่องตัว และตอบสนองทุกความต้องการได้อย่างรวดเร็ว
- มีการให้บริการที่มีความยืดหยุ่น และมีประสิทธิภาพมากขึ้น ภายใต้ความหลายหลายทางด้านสิ่งแวดล้อมทางไอที
- พัฒนานวัตกรรมใหม่ๆด้วยต้นทุนที่ต่ำลง
- บริหารจัดการงบประมาณทางไอทีและการขยายตัวของฐานข้อมูลได้ดียิ่งขึ้น
- พัฒนากระบวนการทำงานทางไอทีให้ง่ายขึ้นในขณะที่ความปลอดภัยทางด้านไอทีเพิ่มสูงขึ้น
http://www.oraclethai.com/techsummit/
สามารถดูรายละเอียดเพิ่มเติมได้ที่
http://www.oracle.com/global/ea/start/th/2009/10h1techsummit/einvite-10h1techsummit-th.html
…Event ดีๆของ Oracle แบบนี้ ไม่ควรพลาด
ดู Event อื่นๆของ Oracle ได้ที่นี่ More Events
อ้างอิง
ข้อเขียนนี้ช่วยฉัน: |
Labels:
11g,
11gR2,
event,
fusion,
middleware,
oracle,
oracle.in.th
Tuesday, October 13, 2009
[news]แลร์รี่ ท้าแจก $10 ล้าน US ถ้า Oracle ช้ากว่า IBM
หลังจากที่ Oracle ได้ประกาศเผยโฉม Sun+Oracle ตัวใหม่ โดยโฆษณาว่า System ตัวนี้เร็วกว่า IBM หลายเท่า เท่านั้นยังไม่พอ แลร์รี่ ยังได้จัด "Oracle $10 Million Challenge" ให้ ทั่วโลกได้ทดสอบกันว่า Oracle เร็วกว่า IBM จริง
แลร์รี่ เอลิสัน (Larry Ellison) ซีอีโอ ออราเคิลได้กล่าวในงาน Oracle OpenWorld 2009 ว่า เขามั่นใจใน Platforms ของเขา และเขายังประกาศอีกด้วยว่า องค์กรใด ที่สามารถโชว์ได้ว่า Oracle DB ประมวณผลช้ากว่า IBM 2 เท่า ใน Appilcation เดียวกัน เขาจะแจกเลยทันที $10 ล้าน US และไม่เพียงแต่ประกาศให้องค์กรและคนทั่วไปมารวมท้า แต่แลร์รี่ เอง ยังบอก IBM ด้วยว่า "IBM, you're welcome to enter"
ในตอนสุดท้าย แลร์รี่ กล่าวปิดท้ายไว้ว่า "เรากำลังเดินหน้าเพื่อแข่งขันกับ IBM ทางด้านระบบธุรกิจ (Business system) และเราคิดว่าการรวมตัวของ Sun กับ Oracle ครั้งนี้ เป็นการรวมตัวกันอย่างเหมาะสมและครบครัน เพื่อที่จะแข่งขันอย่างประสบความสำเร็จ กับยักษ์ใหญ่อย่าง IBM"
...ต่อจากนี้ไป สงครามระหว่าง Oracle และ IBM คงได้เริ่มขึ้นอย่างจริงจัง!!
สำหรับผู้ที่สนใจ ร่วมพิสูจน์ความเร็ว "Oracle $10 Million Challenge" สามารถอ่านรายละเอียดได้ที่นี่ Your Company Could Win $10 Million!
อ้างอิง
แลร์รี่ เอลิสัน (Larry Ellison) ซีอีโอ ออราเคิลได้กล่าวในงาน Oracle OpenWorld 2009 ว่า เขามั่นใจใน Platforms ของเขา และเขายังประกาศอีกด้วยว่า องค์กรใด ที่สามารถโชว์ได้ว่า Oracle DB ประมวณผลช้ากว่า IBM 2 เท่า ใน Appilcation เดียวกัน เขาจะแจกเลยทันที $10 ล้าน US และไม่เพียงแต่ประกาศให้องค์กรและคนทั่วไปมารวมท้า แต่แลร์รี่ เอง ยังบอก IBM ด้วยว่า "IBM, you're welcome to enter"
ในตอนสุดท้าย แลร์รี่ กล่าวปิดท้ายไว้ว่า "เรากำลังเดินหน้าเพื่อแข่งขันกับ IBM ทางด้านระบบธุรกิจ (Business system) และเราคิดว่าการรวมตัวของ Sun กับ Oracle ครั้งนี้ เป็นการรวมตัวกันอย่างเหมาะสมและครบครัน เพื่อที่จะแข่งขันอย่างประสบความสำเร็จ กับยักษ์ใหญ่อย่าง IBM"
...ต่อจากนี้ไป สงครามระหว่าง Oracle และ IBM คงได้เริ่มขึ้นอย่างจริงจัง!!
สำหรับผู้ที่สนใจ ร่วมพิสูจน์ความเร็ว "Oracle $10 Million Challenge" สามารถอ่านรายละเอียดได้ที่นี่ Your Company Could Win $10 Million!
อ้างอิง
- http://www.oracle.com/features/exadatachallenge.html
- http://www.itnews.com.au/News/158053,ellison-declares-war-on-ibm.aspx
ข้อเขียนนี้ช่วยฉัน: |
Tuesday, October 6, 2009
Create, Drop & Recreate Oracle Enterprise Manager
ในกรณีที่ต้องการทำการสร้าง (Create), ลบ (Drop) หรือ ลบแล้วสร้างใหม่ (Recreate) Enterprise Manager (EM) ไม่ว่าจะมีสาเหตมาจากการ ไม่ได้สร้างไว้ตั้งแต่แรกหรือสร้างไว้แล้วมีปัญหาใดๆก็ตาม สามารถทำได้โดยการใช้คำสั่งต่อไปนี้ครับ
1. การสร้าง Enterprise Manager
เมื่อทำการรันคำสั่งแล้วจะพบข้อความต่างๆดังนี้ ให้ใส่ข้อมูลตามความเป็นจริงลงไป
2. การลบ Enterprise Manager
เมื่อทำการรันคำสั่งแล้วจะพบข้อความต่างๆดังนี้ ให้ใส่ข้อมูลตามความเป็นจริงลงไป
3. การลบและสร้างใหม่ Enterprise Manager
เมื่อทำการรันคำสั่งแล้วจะพบข้อความต่างๆดังนี้ ให้ใส่ข้อมูลตามความเป็นจริงลงไป
ในการสร้างหรือสร้างใหม่ Enterprise Manager นั้น จะใช้เวลาค่อนข้างนานครับ บางทีอาจจะใช้เวลาครึ่งชั่วโมงถึง 1 ชั่วโมงเลยทีเดียว จึงควรจัดสรรเวลาให้เหมาะสมและไม่มีผลกระทบต่อระบบการทำงานด้วยครับ
1. การสร้าง Enterprise Manager
emca -config dbcontrol db -repos create
เมื่อทำการรันคำสั่งแล้วจะพบข้อความต่างๆดังนี้ ให้ใส่ข้อมูลตามความเป็นจริงลงไป
Enter the following information:
Database SID:
Listener port number:
Password for SYS user:
Password for DBSNMP user:
Password for SYSMAN user:
Email address for notifications (optional):
Outgoing Mail (SMTP) server for notifications (optional):
Database SID:
Listener port number:
Password for SYS user:
Password for DBSNMP user:
Password for SYSMAN user:
Email address for notifications (optional):
Outgoing Mail (SMTP) server for notifications (optional):
2. การลบ Enterprise Manager
emca -deconfig dbcontrol db -repos drop
เมื่อทำการรันคำสั่งแล้วจะพบข้อความต่างๆดังนี้ ให้ใส่ข้อมูลตามความเป็นจริงลงไป
Enter the following information:
Database SID:
Listener port number:
Password for SYS user:
Password for SYSMAN user:
Database SID:
Listener port number:
Password for SYS user:
Password for SYSMAN user:
3. การลบและสร้างใหม่ Enterprise Manager
emca -config dbcontrol db -repos recreate
เมื่อทำการรันคำสั่งแล้วจะพบข้อความต่างๆดังนี้ ให้ใส่ข้อมูลตามความเป็นจริงลงไป
Enter the following information:
Database SID:
Database Control is already configured for the database
You have chosen to configure Database Control for managing the database
This will remove the existing configuration and the default settings and perform a fresh configuration
Do you wish to continue? [yes(Y)/no(N)]: Y
Listener port number:
Password for SYS user:
Password for DBSNMP user:
Password for SYSMAN user:
Email address for notifications (optional):
Outgoing Mail (SMTP) server for notifications (optional):
Database SID:
Database Control is already configured for the database
You have chosen to configure Database Control for managing the database
This will remove the existing configuration and the default settings and perform a fresh configuration
Do you wish to continue? [yes(Y)/no(N)]: Y
Listener port number:
Password for SYS user:
Password for DBSNMP user:
Password for SYSMAN user:
Email address for notifications (optional):
Outgoing Mail (SMTP) server for notifications (optional):
ในการสร้างหรือสร้างใหม่ Enterprise Manager นั้น จะใช้เวลาค่อนข้างนานครับ บางทีอาจจะใช้เวลาครึ่งชั่วโมงถึง 1 ชั่วโมงเลยทีเดียว จึงควรจัดสรรเวลาให้เหมาะสมและไม่มีผลกระทบต่อระบบการทำงานด้วยครับ
ข้อเขียนนี้ช่วยฉัน: |
Friday, October 2, 2009
Annotation Part#2
Class Annotation
เราจะมาดูตัวอย่างการใช้กันใน class A
ซึ่งการประกาศ annotation นั้นจะไปประกาศหน้า class เพื่อบอกว่าใครคือผู้สร้าง class นี้และเป็น version อะไร สังเกตว่า annotation จะประกาศกี่อันก็ได้ จากนั้นเราจะมาดูวิธีเรียกใช้ annotation กันว่า ว่ามีวิธีเรียกยังไงใน class ATest
โดยก่อนที่เราจะเรียกใช้เราลอง compile file A.java ดูก่อน โดยเปิด cmd ขึ้นมาแล้วไปยัง directory anno ดังตัวอย่างรูปด้านล่าง
ให้ compile class ใน package mytag ทั้งหมดก่อนโดยใช้คำสั่งดังนี้
จากนั้นลอง compile A.java โดยคำสั่ง
จากนั้นเราลองดูขนาด file A.class กันว่ามีขนาดเท่าไรโดยใช้คำสั่ง
จะพบว่ามันมีขนาดมาถึง 311 byte ถือว่าเยอะมากสำหรับ class ธรรมดาโดยปกติจะประมาณ 100 กว่า byte ทดสอบได้โดย comment annotation ใน A.java ออกแล้วลอง compile ใหม่ดูจะพบว่าเนื้อที่ของ A.class จะเหลือเพียง 176 byte เท่านั้น ที่เป็นเช่นนี้เพราะมันจะเก็บ element ของ annotation เหล่านี้ไว้ใน A.class
ต่อมาลองเรียกใช้ annotation กันซึ่ง class แรกที่เราจะลองนั้นคือ ATest.java
การจะเอา annotation ที่ติดอยู่ใน class ออกมา เราจะเรียกใช้ property class ซึ่งติดอยู่ใน class ทุก class ที่เราสร้างขึ้นมา โดย property class จะไปอ้างถึง file A.class ที่เราได้มาจากการ compile A.java จากนั้นเราใช้ method getAnnotation(Author.class) โดยตอน get นั้นต้องใส่ property class ของ annotation ที่เราต้องการจะอ่านด้วยจากนั้นเมื่อได้ annotation แล้วเราจึง get ค่าต่างๆออกมากตามที่เรากำหนดไว้ใน element ( การที่เราสามารถดึงค่า annotation ที่อยู่ใน class ออกมาได้นั้นเป็นเพราะ เราใช้ Refection API เข้ามาช่วย ในตัวอย่างนี้เป็นเพียงแค่ เศษเสี้ยวของความสามารถของ Reflection API เท่านั้น สามารถศึกษาต่อได้ ที่นี่ )
Class Member Annotation
จากที่เราลองประกาศ annotation บน class แล้ว เราลองประกาศ annotation บน attribute และ method ดูบ้าง ลองไปดูใน code BTest.java ดู ในนั้นจะมี class B อยู่ โดย class B ใน BTest.java จะมีการประกาศ annotation บน attribute และ method ดัง code ด้านล่าง เพื่อเป็นตัวบอกว่า attribute หรือ method เหล่านี้ใครเป็นผู้สร้าง
จากนั้นเราลองดึงเอา annotation ออกมาใช้ โดยวิธีการดึงและการเรียกออกมา จะมีวิธีการเรียกที่แตกต่างกับวิธีของ Class Annotation ดัง code ด้านล่าง
ถ้าลองสังเกตจากตัวอย่างที่แล้ว การดึง annotation ในประเภท Class Annotation เราสามารถดึงออกมาเป็น Object ของ annotation นั้นได้โดยตรงๆ แต่การดึง annotation ในประเภท Class Member Annotation นั้นไม่ใช่ การจะดึงออกมาต้องดึงออกมาเป็น object ของ java.lang.reflect.Field ถ้าหากเราจะดึง annotation ของ attribute แต่ถ้าเป็นการดึง annotation ของ method เราต้องดึงออกมาเป็น object ของ java.lang.reflect.Method
โดยการเรียก object ของ java.lang.reflect.Field และ java.lang.reflect.Method นั้น เราจะเรียกผ่าน method getField() และ getMethod() ตามลำดับโดยต้องระบุชื่อของ attribute หรือ method ที่ต้องการเรียก annotation ของ attribute หรือ method นั้นๆ จากนั้นเราจึงเอา object ของ java.lang.reflect.Field และ java.lang.reflect.Method นั้นมาดึงเอา annotation ออกมาอีกที
ซึ่งจากทั้งสองตัวอย่างคงจะเข้าใจ annotation มากขึ้น ซึ่งเราจะมาเล่นของลูกเล่นใน annotation กันต่อ
คราวหน้า เราจะมาต่อกันด้วย Default Value นะครับ
Reference from : dr. Werasak Suengtaworn
Compose by : @plaumkamon
เราจะมาดูตัวอย่างการใช้กันใน class A
// A.java Class Annotation
import mytag.Author;
import mytag.Version;
@Author( name = "John Rambo" )
@Version( major = 1, minor = 1 )
public class A { }
import mytag.Author;
import mytag.Version;
@Author( name = "John Rambo" )
@Version( major = 1, minor = 1 )
public class A { }
ซึ่งการประกาศ annotation นั้นจะไปประกาศหน้า class เพื่อบอกว่าใครคือผู้สร้าง class นี้และเป็น version อะไร สังเกตว่า annotation จะประกาศกี่อันก็ได้ จากนั้นเราจะมาดูวิธีเรียกใช้ annotation กันว่า ว่ามีวิธีเรียกยังไงใน class ATest
โดยก่อนที่เราจะเรียกใช้เราลอง compile file A.java ดูก่อน โดยเปิด cmd ขึ้นมาแล้วไปยัง directory anno ดังตัวอย่างรูปด้านล่าง
ให้ compile class ใน package mytag ทั้งหมดก่อนโดยใช้คำสั่งดังนี้
javac mytag\*.java
จากนั้นลอง compile A.java โดยคำสั่ง
javac A.java
จากนั้นเราลองดูขนาด file A.class กันว่ามีขนาดเท่าไรโดยใช้คำสั่ง
dir A.class
จะพบว่ามันมีขนาดมาถึง 311 byte ถือว่าเยอะมากสำหรับ class ธรรมดาโดยปกติจะประมาณ 100 กว่า byte ทดสอบได้โดย comment annotation ใน A.java ออกแล้วลอง compile ใหม่ดูจะพบว่าเนื้อที่ของ A.class จะเหลือเพียง 176 byte เท่านั้น ที่เป็นเช่นนี้เพราะมันจะเก็บ element ของ annotation เหล่านี้ไว้ใน A.class
ต่อมาลองเรียกใช้ annotation กันซึ่ง class แรกที่เราจะลองนั้นคือ ATest.java
// ATest.java
import mytag.Author;
import mytag.Version;
class ATest {
public static void main(String args[]) {
Author a = A.class.getAnnotation(Author.class);
System.out.println("Author: " + a.name());
Version v = A.class.getAnnotation(Version.class);
System.out.println("Version: " + v.major() + "." + v.minor());
}
}
import mytag.Author;
import mytag.Version;
class ATest {
public static void main(String args[]) {
Author a = A.class.getAnnotation(Author.class);
System.out.println("Author: " + a.name());
Version v = A.class.getAnnotation(Version.class);
System.out.println("Version: " + v.major() + "." + v.minor());
}
}
การจะเอา annotation ที่ติดอยู่ใน class ออกมา เราจะเรียกใช้ property class ซึ่งติดอยู่ใน class ทุก class ที่เราสร้างขึ้นมา โดย property class จะไปอ้างถึง file A.class ที่เราได้มาจากการ compile A.java จากนั้นเราใช้ method getAnnotation(Author.class) โดยตอน get นั้นต้องใส่ property class ของ annotation ที่เราต้องการจะอ่านด้วยจากนั้นเมื่อได้ annotation แล้วเราจึง get ค่าต่างๆออกมากตามที่เรากำหนดไว้ใน element ( การที่เราสามารถดึงค่า annotation ที่อยู่ใน class ออกมาได้นั้นเป็นเพราะ เราใช้ Refection API เข้ามาช่วย ในตัวอย่างนี้เป็นเพียงแค่ เศษเสี้ยวของความสามารถของ Reflection API เท่านั้น สามารถศึกษาต่อได้ ที่นี่ )
System.out.println("Author: " + a.name());
System.out.println("Version: " + v.major() + "." + v.minor());
System.out.println("Version: " + v.major() + "." + v.minor());
Class Member Annotation
จากที่เราลองประกาศ annotation บน class แล้ว เราลองประกาศ annotation บน attribute และ method ดูบ้าง ลองไปดูใน code BTest.java ดู ในนั้นจะมี class B อยู่ โดย class B ใน BTest.java จะมีการประกาศ annotation บน attribute และ method ดัง code ด้านล่าง เพื่อเป็นตัวบอกว่า attribute หรือ method เหล่านี้ใครเป็นผู้สร้าง
// part of BTest.java
class B {
@Author( name = "John Rambo" )
public int x;
@Author( name = "Jack Ripper" )
public static void f() { }
}
class B {
@Author( name = "John Rambo" )
public int x;
@Author( name = "Jack Ripper" )
public static void f() { }
}
จากนั้นเราลองดึงเอา annotation ออกมาใช้ โดยวิธีการดึงและการเรียกออกมา จะมีวิธีการเรียกที่แตกต่างกับวิธีของ Class Annotation ดัง code ด้านล่าง
// part of BTest.java
public static void main(String args[])
throws NoSuchMethodException, NoSuchFieldException {
Field f = B.class.getField("x");
Author fanno = f.getAnnotation(Author.class);
System.out.println(fanno.name());
Method m = B.class.getMethod("f");
Author manno = m.getAnnotation(Author.class);
System.out.println(manno.name());
}
public static void main(String args[])
throws NoSuchMethodException, NoSuchFieldException {
Field f = B.class.getField("x");
Author fanno = f.getAnnotation(Author.class);
System.out.println(fanno.name());
Method m = B.class.getMethod("f");
Author manno = m.getAnnotation(Author.class);
System.out.println(manno.name());
}
ถ้าลองสังเกตจากตัวอย่างที่แล้ว การดึง annotation ในประเภท Class Annotation เราสามารถดึงออกมาเป็น Object ของ annotation นั้นได้โดยตรงๆ แต่การดึง annotation ในประเภท Class Member Annotation นั้นไม่ใช่ การจะดึงออกมาต้องดึงออกมาเป็น object ของ java.lang.reflect.Field ถ้าหากเราจะดึง annotation ของ attribute แต่ถ้าเป็นการดึง annotation ของ method เราต้องดึงออกมาเป็น object ของ java.lang.reflect.Method
Field f = B.class.getField("x");
Method m = B.class.getMethod("f");
Method m = B.class.getMethod("f");
โดยการเรียก object ของ java.lang.reflect.Field และ java.lang.reflect.Method นั้น เราจะเรียกผ่าน method getField() และ getMethod() ตามลำดับโดยต้องระบุชื่อของ attribute หรือ method ที่ต้องการเรียก annotation ของ attribute หรือ method นั้นๆ จากนั้นเราจึงเอา object ของ java.lang.reflect.Field และ java.lang.reflect.Method นั้นมาดึงเอา annotation ออกมาอีกที
Author fanno = f.getAnnotation(Author.class);
Author manno = m.getAnnotation(Author.class);
Author manno = m.getAnnotation(Author.class);
ซึ่งจากทั้งสองตัวอย่างคงจะเข้าใจ annotation มากขึ้น ซึ่งเราจะมาเล่นของลูกเล่นใน annotation กันต่อ
คราวหน้า เราจะมาต่อกันด้วย Default Value นะครับ
Reference from : dr. Werasak Suengtaworn
Compose by : @plaumkamon
ข้อเขียนนี้ช่วยฉัน: |
Labels:
database,
invert prahs,
java,
oracle,
plaumkamon
Thursday, October 1, 2009
[news] Larry Ellison รวยอันดับ 3 ของ Forbes 400
นิตยสาร Forbes จัดอันดับ 400 มหาเศรษฐีของสหรัฐประจำปีนี้
Larry Ellison CEO ของ Oracle รวยเป็นอันดับที่ 3
ส่วนอันดับที่ 1-2 ก็ยังเป็น Bill Gates และ Warren Buffett เช่นเดิม
คู่หูแห่ง Google ได้เป็นอันดับ 11 ร่วม
Rank | Name | Net Worth ($mil) | Age | Residence | Source |
1 | William Gates III | 50,000 | 53 | Medina | Microsoft |
2 | Warren Buffett | 40,000 | 79 | Omaha | Berkshire Hathaway |
3 | Lawrence Ellison | 27,000 | 65 | Redwood City | Oracle |
4 | Christy Walton & family | 21,500 | 54 | Jackson | Wal-Mart inheritance |
5 | Jim C. Walton | 19,600 | 61 | Bentonville | Wal-Mart |
6 | Alice Walton | 19,300 | 60 | Fort Worth | Wal-Mart |
7 | S. Robson Walton | 19,000 | 65 | Bentonville | Wal-Mart |
8 | Michael Bloomberg | 17,500 | 67 | New York | Bloomberg |
9 | Charles Koch | 16,000 | 73 | Wichita | manufacturing, energy |
9 | David Koch | 16,000 | 69 | New York | manufacturing, energy |
11 | Sergey Brin | 15,300 | 36 | Palo Alto | Google |
11 | Larry Page | 15,300 | 36 | San Francisco | Google |
13 | Michael Dell | 14,500 | 44 | Austin | Dell |
14 | Steven Ballmer | 13,300 | 53 | Seattle | Microsoft |
15 | George Soros | 13,000 | 79 | Westchester | hedge funds |
16 | Donald Bren | 12,000 | 77 | Newport Beach | real estate |
17 | Paul Allen | 11,500 | 56 | Mercer Island | Microsoft, investments |
17 | Abigail Johnson | 11,500 | 47 | Boston | Fidelity |
19 | Forrest Edward Mars | 11,000 | 78 | McLean | candy, pet food |
19 | Jacqueline Mars | 11,000 | 70 | Bedminster | candy, pet food |
19 | John Mars | 11,000 | 73 | Arlington | candy, pet food |
22 | Carl Icahn | 10,500 | 73 | New York | leveraged buyouts |
23 | Ronald Perelman | 10,000 | 66 | New York | leveraged buyouts |
24 | George B. Kaiser | 9,500 | 67 | Tulsa | oil & gas, banking |
24 | Philip Knight | 9,500 | 71 | Beaverton | Nike |
สามารถดูรายละเอียดเพิ่มเติมครบ 400 คนได้ที่นี่ "The 400 Richest Americans 2009"
ข้อเขียนนี้ช่วยฉัน: |
Subscribe to:
Posts (Atom)